Skip to content

bmacharia/devops-study-app

Repository files navigation

πŸš€ DevOps Study App: Cloud-Native CI/CD & Kubernetes Platform

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.


πŸ”₯ Tech Stack

AWS Cloudflare Docker Kubernetes K3s K3d FluxCD Kustomize Terraform GitHub Actions Trivy Semantic Release DevContainers Python Go Prometheus Grafana


πŸ”§ Key Features & Capabilities

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

πŸ— Architecture Overview

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]
Loading

🧠 Technology Stack

  • 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)

πŸ“ Repository Structure

.
β”œβ”€β”€ 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

βš™οΈ CI/CD Pipeline Flow

πŸ”„ On Every Commit / PR

  • βœ… 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

πŸš€ Deployment Options

Environment Platform Deployment Mechanism
Local K3d Kustomize + GitHub Actions
Remote K3s / EKS GitOps (FluxCD) or direct apply

🌟 Outcomes & Learning Value

βœ” 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


πŸ“Œ Future Enhancements (Roadmap)

  • πŸ”„ FluxCD GitOps automation (in progress)
  • πŸ€– AI/LLM inference workload integration
  • πŸ” SOPS + Sealed Secrets for key management
  • πŸ”Ž Distributed tracing & advanced observability (OpenTelemetry)

πŸ“« Contact & Collaboration

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors