{"id":26986731,"url":"https://github.com/tks-devops/yolo-object-detection-api---devops-deployment","last_synced_at":"2025-10-29T12:03:50.547Z","repository":{"id":285801463,"uuid":"959373550","full_name":"Tks-Devops/YOLO-Object-Detection-API---DevOps-Deployment","owner":"Tks-Devops","description":"This project automates the deployment of a YOLO Object Detection API using Helm, Kubernetes, and implements logging and monitoring with the ELK stack (Elasticsearch, Logstash, Kibana) and Prometheus \u0026 Grafana.","archived":false,"fork":false,"pushed_at":"2025-04-02T19:58:20.000Z","size":1166,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-08T11:03:47.275Z","etag":null,"topics":["docker","dockerdesktop","dockerfile","elk-stack","flask","graphana","helm","helm-chart","k8s-deployment","kubernetes","minikube","prometheus","python3","shell-script","yaml-configuration","yolo"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Tks-Devops.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-04-02T17:28:17.000Z","updated_at":"2025-05-29T05:23:06.000Z","dependencies_parsed_at":"2025-04-09T16:14:16.653Z","dependency_job_id":null,"html_url":"https://github.com/Tks-Devops/YOLO-Object-Detection-API---DevOps-Deployment","commit_stats":null,"previous_names":["tks-devops/yolo-object-detection-api---devops-deployment"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Tks-Devops/YOLO-Object-Detection-API---DevOps-Deployment","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tks-Devops%2FYOLO-Object-Detection-API---DevOps-Deployment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tks-Devops%2FYOLO-Object-Detection-API---DevOps-Deployment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tks-Devops%2FYOLO-Object-Detection-API---DevOps-Deployment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tks-Devops%2FYOLO-Object-Detection-API---DevOps-Deployment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Tks-Devops","download_url":"https://codeload.github.com/Tks-Devops/YOLO-Object-Detection-API---DevOps-Deployment/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tks-Devops%2FYOLO-Object-Detection-API---DevOps-Deployment/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267677283,"owners_count":24126313,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-29T02:00:12.549Z","response_time":2574,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","dockerdesktop","dockerfile","elk-stack","flask","graphana","helm","helm-chart","k8s-deployment","kubernetes","minikube","prometheus","python3","shell-script","yaml-configuration","yolo"],"created_at":"2025-04-03T19:32:22.883Z","updated_at":"2025-10-29T12:03:50.537Z","avatar_url":"https://github.com/Tks-Devops.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![image](https://github.com/user-attachments/assets/6f3a86d2-7689-4c37-9eee-e24b84558236)\n\n# YOLO-Object-Detection-API---DevOps-Deployment\nThis project automates the deployment of a YOLO Object Detection API using Helm, Kubernetes, and implements logging and monitoring with the ELK stack (Elasticsearch, Logstash, Kibana) and Prometheus \u0026 Grafana.\n\n## Prerequisites\n\n- Minikube or Kubernetes Cluster\n- Helm Installed\n- Docker Installed\n- kubectl Installed\n\n## Setup Steps\n\n1. Clone the Repository\n\n    ```sh\n    https://github.com/Tks-Devops/YOLO-Object-Detection-API---DevOps-Deployment.git\n    cd yolo-devops\n    ```\n\n2. Start Minikube (Optional, if using Minikube)\n\n    ```sh\n    minikube start --memory=6g --cpus=2 --disk-size=20g\n    ```\n\n3. Deploy ELK Stack\n\n    ```sh\n    kubectl apply -f logging/elasticsearch/\n    kubectl apply -f logging/logstash/\n    kubectl apply -f logging/kibana/\n    ```\n\n4. Deploy Monitoring Stack (Prometheus \u0026 Grafana)\n\n    ```sh\n    kubectl apply -f monitoring/prometheus/\n    kubectl apply -f monitoring/grafana/\n    ```\n\n5. Deploy YOLO API with Helm\n\n    ```sh\n    helm install yolo-api ./yolo-api-chart/\n    ```\n\n6. Verify Deployments\n\n    ```sh\n    kubectl get pods\n    kubectl get svc\n    ```\n\n## Access Services\n\n- YOLO API: `http://\u003cminikube-ip\u003e:32132`\n- Kibana (ELK UI): `http://\u003cminikube-ip\u003e:5601`\n- Grafana Dashboard: `http://\u003cminikube-ip\u003e:3000`\n- Prometheus UI: `http://\u003cminikube-ip\u003e:9090`\n\n## Screenshots\n![image](https://github.com/user-attachments/assets/aa313568-59e2-4813-a9f1-a23ca08824c8)\n\n\n## Troubleshooting Guide\n\n### Elasticsearch Fails to Start:\n\n```sh\nkubectl logs -f pod/elasticsearch-xxxxx\n\n\nEnsure memory and disk space are sufficient.\nGrafana Not Loading:\nsh\n\nkubectl get pods -n monitoring\n\nRestart Grafana pod if needed.\nSubmission Instructions\n\nEnsure all components are running correctly.\n\nPush the final code and documentation to GitHub:\nsh\n\ngit add .\ngit commit -m \"Final submission\"\ngit push origin main\n\nCode\nIf you want to include yolov3.weights in your project but avoid GitHub's 100MB limit, you should:\n\n    Store the file externally (Google Drive, AWS S3, or any other cloud storage).\n\n    Modify README.md to provide a download link.\n\n📌 Steps to Handle Large Files in GitHub\n1️⃣ Upload yolov3.weights to Cloud Storage\n\nChoose one of these options:\n\n    Google Drive: Upload the file and generate a public link.\n\n    AWS S3: Upload it to an S3 bucket and create a pre-signed URL for download.\n\n    Dropbox / Any Other Storage: Upload and share the download link.\n\n2️⃣ Update Your README.md with Instructions\n\nModify your README.md to guide users on how to download the weights file. Example:\n\n# YOLO Object Detection API - DevOps Deployment\n\n## 📂 Download YOLO Weights\n\nTo run the object detection API, you need the `yolov3.weights` file. Since GitHub restricts file sizes over 100MB, you can download it from:\n\n👉 **[Download yolov3.weights](https://your-cloud-storage-link.com/yolov3.weights)**  \n\nAfter downloading, place it in the `yolo-api/` directory:\n\n```bash\nmkdir -p yolo-api\nmv yolov3.weights yolo-api/\n\n\n---\n\n### **3️⃣ Ignore `yolov3.weights` in Git**\nSince the file is too large, tell Git to ignore it:\n\n```bash\necho \"yolo-api/yolov3.weights\" \u003e\u003e .gitignore\ngit add .gitignore\ngit commit -m \"Ignore yolov3.weights file\"\ngit push origin master\n\n✅ Final Steps\n\n    Upload yolov3.weights to Google Drive, S3, or any cloud storage.\n\n    Add the download link in README.md.\n\n    Push your repo to GitHub.\n\nNow, users can download the model separately and still use your project. 🚀\n\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftks-devops%2Fyolo-object-detection-api---devops-deployment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftks-devops%2Fyolo-object-detection-api---devops-deployment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftks-devops%2Fyolo-object-detection-api---devops-deployment/lists"}