{"id":15178816,"url":"https://github.com/hanyhm/devops-project","last_synced_at":"2026-03-01T19:33:33.378Z","repository":{"id":252230446,"uuid":"839814089","full_name":"hanyhm/DevOps-Project","owner":"hanyhm","description":"DevOps Project to create complete pipeline ","archived":false,"fork":false,"pushed_at":"2024-08-16T19:17:14.000Z","size":775,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-05T11:42:34.373Z","etag":null,"topics":["actions","ansible","aws","docker","eks","grafana","grafana-dashboard","jenkins","prometheus","terraform"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hanyhm.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":"2024-08-08T11:30:12.000Z","updated_at":"2024-09-09T13:32:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"874f4f66-fb1b-4002-97b0-097818d54902","html_url":"https://github.com/hanyhm/DevOps-Project","commit_stats":{"total_commits":35,"total_committers":1,"mean_commits":35.0,"dds":0.0,"last_synced_commit":"b006268c368769c7497d5d01150d6a70e6021a3a"},"previous_names":["hanyhm/devops-project"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hanyhm%2FDevOps-Project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hanyhm%2FDevOps-Project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hanyhm%2FDevOps-Project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hanyhm%2FDevOps-Project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hanyhm","download_url":"https://codeload.github.com/hanyhm/DevOps-Project/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240365949,"owners_count":19790005,"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","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":["actions","ansible","aws","docker","eks","grafana","grafana-dashboard","jenkins","prometheus","terraform"],"created_at":"2024-09-27T15:23:22.009Z","updated_at":"2026-03-01T19:33:33.330Z","avatar_url":"https://github.com/hanyhm.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DevOps Mastery Project\n\n## Project Summary\n\nThis project demonstrates a comprehensive, end-to-end DevOps pipeline for a sample web application.\nIt showcases the implementation of modern DevOps practices and tools, focusing on automation,\ncontinuous integration, continuous deployment, infrastructure as code, and monitoring.\n\nThe pipeline is designed to streamline the development process, ensure code quality, \nand enable rapid, reliable deployments.\n\n## 1. Project Overview\n\n### 1.1 Objective\n\nThe primary objective of this project is to create a robust, scalable, \nand automated DevOps pipeline that demonstrates proficiency in key DevOps tools and practices.\nThis pipeline will support the full lifecycle of a web application, \nfrom development to production deployment and monitoring.\n\n### 1.2 Architecture \u0026 Scope \n\n\u003cimg src=\"./diagram.png\" alt=\"Project Diagram\" width=\"700\" height=\"400\"\u003e\n\nThe project scope encompasses:\n\n1. Setting up a version control system for source code management\n2. Implementing a CI/CD pipeline for automated testing and deployment\n3. Utilizing infrastructure as code for provisioning and managing cloud resources\n4. Containerizing the application and orchestrating it with Kubernetes\n5. Implementing configuration management for consistent environment setup\n6. Setting up comprehensive monitoring and observability solutions\n\n### 1.3 Key Features\n\n- Automated build and test processes\n- Infrastructure provisioning using code\n- Containerized application deployment\n- Multi-environment support (development, staging, production)\n- Automated deployment with zero downtime\n- Real-time monitoring and alerting\n- Scalable and fault-tolerant architecture\n\n### 1.4 Technologies Used\n\n- Version Control: **GitHub**\n- CI/CD: **GitHub Actions**, **Jenkins**\n- Infrastructure as Code: **Terraform**\n- Configuration Management: **Ansible**\n- Containerization: **Docker**\n- Container Orchestration: Kubernetes (**Amazon EKS**)\n- Monitoring and Observability: **Prometheus**, **Grafana**\n- Cloud Provider: **AWS**\n\n## 2. Pipeline Overview\n\nThe DevOps pipeline consists of the following stages:\n\n1. **Code Commit**: Developers push code to GitHub repository\n2. **Continuous Integration**: \n   - GitHub Actions triggers automated tests\n   - Build Docker image\n3. **Artifact Storage**: Push Docker image to Amazon ECR\n4. **Continuous Deployment**:\n   - Jenkins pulls the latest image\n   - Deploy to Kubernetes cluster (EKS)\n5. **Infrastructure Management**:\n   - Terraform provisions and updates AWS resources\n   - Ansible configures instances and applications\n6. **Monitoring and Feedback**:\n   - Prometheus collects metrics\n   - Grafana visualizes performance data\n   - Alerts sent for any issues\n\n## 3. How to use this Project\n\n1- Clone the project repo. to get the source code locally.\n\n```sh\ngit clone https://github.com/hanyhm/DevOps-Project.git\n```\n\n2- Install and configure Amazon CLI\n\n```bash\n$ sudo apt-get install python3-pip\n$ sudo apt install pipx\n$ pipx install awscli\n$ pipx ensurepath\n\n$ aws configure\n$ AWS Access Key ID [None]: // Input your aws access key\n$ AWS Secret Access Key [None]: // Input your secret access key\n$ Default region name [None]: us-east-1\n$ Default output format [None]: json\n```\n\n3- Test the CI Cycle\n   a. Create \u003ca href=\"https://github.com\"\u003eGitHub\u003c/a\u003e repo. and upload the project source code.\n   b. Upload the source code to your repo.\n   c. Go to the repo. settings and add the following parameters:\n\n```bash\nAWS_ACCESS_KEY_ID = \"your_access_key\"\nAWS_SECRET_ACCESS_KEY = \"your_secret_key\"\nAWS_REGION = \"your_region\"\nECR_REGISTRY = \"your ecr registry\"\n```\n\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhanyhm%2Fdevops-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhanyhm%2Fdevops-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhanyhm%2Fdevops-project/lists"}