Skip to content

codest40/kubapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kubapp

Project Goals

Kubapp aims to provide a simplified but production-oriented Kubernetes platform on AWS. Each Section of the project has its own readme file, so this is outline.

The project was built to:

  • Automate Kubernetes infrastructure provisioning and management
  • Simplify cloud-native operations without overengineering the architecture
  • Enable reproducible deployments through Infrastructure as Code and GitOps workflows
  • Improve operational visibility with integrated monitoring and observability
  • Provide a maintainable file-based platform that is easy to operate, debug, and extend

The project focuses on:

  • Infrastructure as Code
  • GitOps workflows
  • Observability
  • Secure cross-account access
  • Automated provisioning
  • Operational simplicity

Extra Documentation

Repository Structure

kubapp/
├── .github/                          # CI/CD automation and GitHub Actions pipelines
│   ├── workflows/                    # Terraform, GitOps, validation, drift, rollback, deployment workflows
│   └── docs/                         # Documentation for CI/CD workflows and pipelines
│
├── docs/                             # Core system documentation
│   ├── execution_flow.md            # End-to-end platform execution flow
│   ├── extra_info.md                # Extended technical notes
│   ├── structure                    # Repository structure notes
│   ├── gitops.md                    # GitOps design and ArgoCD behavior
│   ├── challenges.md                # Engineering tradeoffs and design decisions
│   ├── architecture.md             # System architecture overview
│   ├── security.md                 # Security model (IAM, secrets, policies)
│   ├── observability.md            # Monitoring and SRE design
│   └── README.md                   # Documentation entry point
│
├── scripts/                          # Platform automation and operational control layer
│   ├── functions/                   # Shared shell utilities (logging, validation, checks)
│   ├── activate.sh                 # Full platform bootstrap entrypoint
│   ├── run_tf.sh                   # Terraform execution wrapper
│   ├── bootstrap_gitops.sh         # GitOps initialization (ArgoCD + repo wiring)
│   ├── setup_argocd.sh             # ArgoCD installation and setup
│   ├── validate.sh                 # Pre-deployment validation pipeline
│   ├── drift_state.sh              # Terraform state drift detection
│   ├── drift_gitops.sh             # GitOps drift detection and reconciliation check
│   ├── promote.sh                  # Environment promotion workflow (dev → stage → prod)
│   ├── register_new_svc.sh         # Service onboarding automation
│   ├── remove_app.sh               # Application teardown automation
│   ├── sync_route53.sh             # DNS synchronization (Route53 updates)
│   ├── clean_cluster.sh            # Kubernetes cluster cleanup
│   ├── setup_argocd_local.sh       # Local ArgoCD setup
│   ├── commit.sh                   # Commit helper utility
│   ├── delete_leftovers.sh         # Cleanup of residual resources
│   ├── clean_final.sh              # Final system cleanup workflow
│   ├── aws_cleanup.sh              # AWS resource cleanup automation
│   ├── argocd_login.sh             # ArgoCD authentication helper
│   ├── validate_registry.sh        # Application registry validation
│   ├── tag_stable_deploy.sh        # Stable release tagging
│   ├── encrypt_secrets.sh          # Secret encryption workflow (SOPS)
│   ├── setup_sops.sh               # SOPS setup bootstrap
│   ├── cleanup_logs.sh             # Log cleanup automation
│   ├── unlock_tf.sh                # Terraform state unlock utility
│   ├── get_state_file.sh           # Terraform state inspection
│   ├── validate_gitops.sh          # GitOps validation pipeline
│   ├── create_secrets.sh           # Secret creation workflow
│   ├── apply_argo_secret.py        # ArgoCD secret automation (Python)
│   ├── create_values.sh            # Helm values generation helper
│   ├── validate_vars.sh            # Variable validation utility
│   ├── logger.sh                   # Logging utility
│   ├── check_data.sh               # Data validation utility
│   ├── prechecks.sh                # Pre-deployment checks
│   ├── postchecks.sh               # Post-deployment verification
│   ├── cluster_steps.sh            # Cluster lifecycle orchestration
│   ├── verify_cleanup.sh           # Cleanup verification
│   ├── del_argocd.sh               # ArgoCD deletion utility
│   ├── check_cluster.sh            # Cluster health validation
│   ├── get_cert.sh                 # Certificate retrieval utility
│   ├── find.sh                     # Repo search helper
│   ├── R.md                        # Script reference notes
│   ├── docs/scripts_use.md         # Script usage documentation
│   └── __pycache__/               # Python cache artifacts (apply_argo_secret.py)
│
├── gitops/                           # GitOps declarative deployment layer (ArgoCD + Helm)
│   ├── argocd/                      # ArgoCD applications and appsets
│   ├── charts/                      # Reusable Helm charts
│   │   ├── apps/                   # Generic application deployment chart
│   │   ├── ingress/                # Ingress controller chart
│   │   └── postgres/               # PostgreSQL database chart
│   │
│   ├── registry/                    # Application registry definitions (source of truth)
│   │   └── dev/                    # Dev environment app definitions
│   │       ├── alertmanager.json
│   │       ├── argocd.json
│   │       ├── weather_app.json
│   │       ├── prometheus.json
│   │       ├── admin_app.json
│   │       ├── url_shortener.json
│   │       ├── metrics_app.json
│   │       └── grafana.json
│   │
│   ├── envs/                        # Environment-specific Helm values (dev/stage)
│   ├── ingress/                     # Ingress routing configuration per environment
│   ├── secrets/                    # Encrypted GitOps secrets (SOPS)
│   ├── state/                      # GitOps reconciliation state tracking
│   └── README.md                   # GitOps documentation
│
├── docker/                           # Application layer (microservices platform)
│   ├── weather_app/                # FastAPI weather service + SRE instrumentation
│   ├── admin_app/                  # Node.js admin panel service
│   ├── metrics_app/                # Metrics collector + worker service
│   ├── url_shortener/              # Full-stack URL shortener (frontend + backend)
│   ├── docker-compose.yml          # Local multi-service orchestration
│   └── README.md                   # Docker environment documentation
│
├── sys_monitor/                      # Observability + SRE intelligence platform
│   ├── observability/
│   │   ├── grafana/                # Dashboards (GitOps, GitHub, Codebase, System)
│   │   └── prometheus/             # Metrics + alerting configuration
│   │
│   ├── exporters/
│   │   ├── github/                 # GitHub event streaming exporter
│   │   └── gitops/                 # Kubernetes / GitOps metrics exporter
│   │
│   ├── codebase/                   # Internal platform analysis engine
│   │   ├── runners/               # Modular analysis scripts (drift, security, metrics)
│   │   ├── lib/                   # Runtime utilities (JSON, helpers)
│   │   └── evidence/              # Generated outputs (metrics, drift, validation, etc.)
│   │
│   ├── cloud/                      # Cloud environment testing & real AWS Terraform runs
│   │   ├── aws/                    # Production AWS infrastructure scripts
│   │   └── test/                   # Terraform sandbox / experimental environment
│   │
│   ├── docker-compose.yml         # Monitoring stack local runtime
│   ├── .env                       # Environment variables for monitoring stack
│   └── README.md                  # Observability system documentation
│
├── iac/                             # Infrastructure-as-Code (Terraform platform layer)
│   ├── boot/                      # Terraform backend bootstrap (S3 + DynamoDB)
│   ├── infra/                     # Core AWS infrastructure modules (EKS, IAM, networking)
│   ├── k8s/                       # Kubernetes platform configuration layer
│   ├── manifests/                # Kubernetes manifests + alert rules
│   └── README.md                 # Infrastructure documentation
│
├── .trivyignore                    # Vulnerability scan exclusions
├── .checkov.yaml                   # Security policy enforcement rules
├── .sops.yaml                      # Secret encryption configuration
├── .gitignore                      # Git ignore rules
└── README.md                       # This file

About

A self-operating GitOps platform that automates Kubernetes infrastructure, application delivery, runtime validation, and drift recovery using Terraform, ArgoCD, and GitHub Actions

Topics

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors