Skip to content
EgyKode

Cloud-Native DevOps Platform

A self-managed Kubernetes platform on AWS — provisioned with Terraform, configured with Ansible, delivered through Jenkins and Argo CD.

  • terraform
  • ansible
  • kubernetes
  • aws
  • jenkins
  • argocd
  • prometheus
  • grafana

Author

Waleed Darwesh

Cloud & DevOps Engineer

Why it exists

Managed Kubernetes hides the parts worth understanding. This cluster was built without one: three control plane nodes, an etcd quorum, containerd and Calico, provisioned and configured from scratch. Two small applications run on it, but they are not the point — they exist to exercise the delivery path end to end. The platform is the artifact.

What's inside

  • 12 Terraform modules across dev, staging and prod environments
  • 13 Ansible roles, from baseline hardening to the full cluster
  • kubeadm HA control plane with an etcd quorum across three AZs
  • Jenkins pipeline with an enforced SonarQube quality gate and Trivy image scan
  • Argo CD app-of-apps with self-heal and drift detection
  • kube-prometheus-stack with alert routing

Decisions worth explaining

Why kubeadm instead of EKS?
Because the goal was to understand what EKS abstracts away. EKS is the right production answer for most teams; it is the wrong learning answer if you have never seen an etcd quorum lose a member.