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: babu.macharia@protonmail.com π LinkedIn: https://linkedin.com/in/babu-macharia π Blog: https://babumacharia.com