{"id":30653842,"url":"https://github.com/heschmat/devops-eks-portfolio","last_synced_at":"2026-04-29T23:31:24.119Z","repository":{"id":296950225,"uuid":"994409033","full_name":"heschmat/devops-eks-portfolio","owner":"heschmat","description":"🛠️ A complete DevOps portfolio project deploying a static Go app with Docker, Kubernetes, GitHub Actions, Helm, Argo CD, and EKS — showcasing CI/CD, GitOps, and secure cloud-native practices.","archived":false,"fork":false,"pushed_at":"2025-09-07T18:10:43.000Z","size":92,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-07T19:20:59.344Z","etag":null,"topics":["argocd","docker","docker-compose","eks","helm-charts","kubernetes","terraform","terraform-module"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/heschmat.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2025-06-01T21:44:43.000Z","updated_at":"2025-09-07T18:10:47.000Z","dependencies_parsed_at":"2025-07-03T19:35:09.781Z","dependency_job_id":"29511f8f-3438-48a9-9416-8aa6cabd2ed4","html_url":"https://github.com/heschmat/devops-eks-portfolio","commit_stats":null,"previous_names":["heschmat/devops_eks_portfolio","heschmat/devops-eks-portfolio"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/heschmat/devops-eks-portfolio","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heschmat%2Fdevops-eks-portfolio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heschmat%2Fdevops-eks-portfolio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heschmat%2Fdevops-eks-portfolio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heschmat%2Fdevops-eks-portfolio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/heschmat","download_url":"https://codeload.github.com/heschmat/devops-eks-portfolio/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heschmat%2Fdevops-eks-portfolio/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32448340,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T22:27:22.272Z","status":"ssl_error","status_checked_at":"2026-04-29T22:10:49.234Z","response_time":110,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["argocd","docker","docker-compose","eks","helm-charts","kubernetes","terraform","terraform-module"],"created_at":"2025-08-31T08:08:22.566Z","updated_at":"2026-04-29T23:31:24.103Z","avatar_url":"https://github.com/heschmat.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 DevOps EKS Portfolio\n\n![Terraform](https://img.shields.io/badge/IaC-Terraform-blueviolet)\n![AWS](https://img.shields.io/badge/Cloud-AWS-orange)\n![Kubernetes](https://img.shields.io/badge/Orchestration-Kubernetes-blue)\n![ArgoCD](https://img.shields.io/badge/GitOps-ArgoCD-red)\n![CI/CD](https://img.shields.io/badge/CI%2FCD-GitHub%20Actions-green)\n\n## 📖 Overview\n\nThis repository demonstrates a **production-grade DevOps pipeline** for deploying a containerized Go application onto **Amazon EKS**, using **Terraform** for Infrastructure as Code, **GitOps (Argo CD)** for deployments, and **Kubernetes add-ons** like Cluster Autoscaler and AWS Load Balancer Controller.\n\nIt showcases end-to-end automation:\n\n* **Provisioning** cloud infrastructure (VPC, subnets, EKS, IAM roles)\n* **Deploying** workloads with Helm and GitOps\n* **Scaling** clusters automatically\n* **Exposing** services via AWS ALB\n* **Managing** deployments with ArgoCD\n\nThis project highlights modern **DevOps + Cloud Native practices**: IaC, GitOps, CI/CD, Observability, and Scalability.\n\n---\n\n## 🏗️ Architecture\n\n```\n+------------------------------------------------------------+\n|                        VPC (10.0.0.0/16)                   |\n|                                                            |\n|   🌐 Internet Gateway (IGW)                                |\n|                |                                           |\n|   +----------------------+    +----------------------+     |\n|   | Public Subnet A      |    | Public Subnet B      |     |\n|   | (10.0.0.0/19)        |    | (10.0.32.0/19)       |     |\n|   | Load Balancers (ALB) |    | Load Balancers (ALB) |     |\n|   +----------------------+    +----------------------+     |\n|                |                       |                   |\n|                +-----------+-----------+                   |\n|                            |                               |\n|                      🔄 NAT Gateway                        |\n|                            |                               |\n|   +----------------------+    +----------------------+     |\n|   | Private Subnet A     |    | Private Subnet B     |     |\n|   | (10.0.64.0/19)       |    | (10.0.96.0/19)       |     |\n|   | EKS Worker Nodes     |    | EKS Worker Nodes     |     |\n|   +----------------------+    +----------------------+     |\n|                                                            |\n+------------------------------------------------------------+\n```\n\nComponents:\n\n* **VPC + Subnets** (Terraform `vpc.tf`)\n* **EKS Cluster + Node Groups** (Terraform `eks.tf`)\n* **IAM Roles for Service Accounts** (IRSA for Autoscaler \u0026 ALB Controller)\n* **Cluster Autoscaler** (Helm chart)\n* **AWS Load Balancer Controller** (Helm chart)\n* **Argo CD** (GitOps controller for app deployments)\n\n---\n\n## ⚙️ Tools \u0026 Technologies\n\n* **Terraform** → Infrastructure as Code (VPC, EKS, IAM, etc.)\n* **AWS EKS** → Managed Kubernetes control plane\n* **Helm** → Kubernetes package management\n* **Argo CD** → GitOps-based Continuous Delivery\n* **Cluster Autoscaler** → Dynamic scaling of worker nodes\n* **AWS Load Balancer Controller** → ALB/NLB for Kubernetes Ingress\n* **GitHub Actions** → CI/CD pipeline automation\n\n---\n\n## 🚀 Getting Started\n\n### 1️⃣ Prerequisites\n\n* AWS CLI v2 installed \u0026 configured\n* Terraform \u003e= 1.13.0\n* kubectl \u003e= 1.32\n* helm \u003e= 3.0\n\n### 2️⃣ Clone the Repo\n\n```bash\ngit clone https://github.com/heschmat/devops-eks-portfolio.git\ncd devops-eks-portfolio\n```\n\n### 3️⃣ Deploy the Infrastructure\n\n```bash\nterraform init\nterraform apply -var=\"eks_admin_principal_arn=arn:aws:iam::\u003caccount_id\u003e:user/\u003cusername\u003e\"\n```\n\nThis provisions:\n\n* VPC with public/private subnets\n* EKS cluster with managed node groups\n* IAM roles for autoscaler + ALB\n\n### 4️⃣ Update kubeconfig\n\n```bash\naws eks update-kubeconfig --name static-go-app --region us-east-1\n```\n\n### 5️⃣ Deploy Add-ons\n\nTerraform will install via Helm:\n\n* Cluster Autoscaler\n* AWS Load Balancer Controller\n* Argo CD\n\n---\n\n## 📦 CI/CD Pipeline\n\n* **GitHub Actions** pipeline builds \u0026 pushes Docker images to ghcr.io\n* Argo CD pulls manifests from GitHub and deploys to EKS.\n* Autoscaler adjusts worker nodes based on workload.\n* ALB exposes services externally.\n\n---\n\n## 📊 Future Enhancements\n\n* 🔐 **DevSecOps**: Add security scanning (Trivy, Snyk).\n* 📈 **Observability**: Add Prometheus + Grafana dashboards.\n* 🤖 **AI/Ops**: Experiment with AI-driven anomaly detection \u0026 auto-remediation.\n* 🌍 **Multi-cloud**: Extend Terraform to Azure/GCP for hybrid workloads!!!\n\n---\n\n## 👤 Author\n\n**Heschmat**\nDevOps Engineer | Cloud | Kubernetes | Terraform | GitOps\n\n📫 Connect with me: [LinkedIn](https://www.linkedin.comheschmat/) | [GitHub](https://github.com/heschmat)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheschmat%2Fdevops-eks-portfolio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fheschmat%2Fdevops-eks-portfolio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheschmat%2Fdevops-eks-portfolio/lists"}