A fully automated CI/CD pipeline and Kubernetes deployment platform designed to simulate real-world production infrastructure. This project demonstrates end-to-end DevOps best practices, including GitOps workflows, automated testing, container security, infrastructure automation, and AI-ready deployment patterns.
Purpose: Build a production-grade platform that enables developers to ship applications faster, safer, and with zero manual intervention.
| Capability | Description | Impact |
|---|---|---|
| GitHub Actions CI/CD | Automated linting, testing, security scans, and release pipelines | 🚀 Reduce deployment effort by ~90% |
| Kubernetes Deployment (K3d / Kustomize) | Environment-specific overlays with GitOps compatibility | ✅ Zero-drift deployments |
| Container Security (Trivy) | Automated image scanning during pipeline | 🔒 Shift-left security |
| Semantic Releases (Release Please) | Versioning & changelog automation | 📦 Production-ready cadence |
| Fully Containerized Dev Environments | DevContainers for consistent onboarding | 🧪 No more “works on my machine” |
| AI/LLM Infrastructure Ready | Architecture supports GPU scheduling & inference workloads | 🤖 Future-proof infra |
flowchart LR
Dev(Developer Commit) --> CI[GitHub Actions CI Pipeline]
CI --> Build[Docker Build & Trivy Scan]
Build --> Test[PyTest Integration Tests]
Test --> Release[Semantic Release Publish]
Release --> Deploy[FluxCD / K8s Apply]
Deploy --> K3d[K3d Local Cluster / K3s Remote]
- Languages & Frameworks: Python 3.13, Jinja2
- Containerization: Docker, Docker Compose
- Orchestration: Kubernetes (K3d), Kustomize, GitOps-ready with FluxCD
- CI/CD: GitHub Actions, Trivy, PyTest, Release Please, DevContainers
- Tooling: Mise (environment automation), K3d (lightweight k8s)
- Future Ready: GPU scheduling + AI model deployment support (LLM inference through containers)
.
├── src/ # Application code for backend & frontend
│ ├── backend/ # API/service, logic, tests
│ └── frontend/ # Jinja2 templates, Dockerfile
├── kubernetes/ # Kustomize overlays, deployment scripts
├── scripts/ # Automation scripts
├── dev-keys/ # Example SSH keys for GitOps (do not use in prod)
├── docker-compose.yaml # Local orchestration
├── mise.toml # Managed dev environment
└── release-please-config.json # Automated release pipeline config
- ✅ Lint & Format: Ruff, pre-commit
- ✅ Unit Tests: PyTest with coverage
- ✅ Security Scan: Trivy image scanning
- ✅ Build & Push Docker Image
- ✅ Semantic Release: Tags, changelogs & GitHub releases
- ✅ K8s Integration Testing: Deploy to K3d for full E2E validation
- ✅ GitOps-Ready: Integrate FluxCD for continuous reconciliation
| Environment | Platform | Deployment Mechanism |
|---|---|---|
| Local | K3d | Kustomize + GitHub Actions |
| Remote | K3s / EKS | GitOps (FluxCD) or direct apply |
✔ Demonstrates real DevOps maturity – from code to production ✔ Teaches platform engineering fundamentals (GitOps, IaC, observability) ✔ Validates AI infrastructure readiness via Kubernetes-native patterns ✔ Enables scalable, reproducible deployments for any cloud-native app
- 🔄 FluxCD GitOps automation (in progress)
- 🤖 AI/LLM inference workload integration
- 🔐 SOPS + Sealed Secrets for key management
- 🔎 Distributed tracing & advanced observability (OpenTelemetry)
If you’re interested in DevOps, Kubernetes, Cloud Native development, or AI infrastructure — let’s connect!
📧 Email: [email protected] 🔗 LinkedIn: https://linkedin.com/in/babu-macharia 🌐 Blog: https://babumacharia.com