This monorepo is a structured workspace for my continuous learning and experimentation in DevOps, Platform & Cloud Infrastructure.
Each major component in the repository is scoped to an area of practice and includes (or will include) its own README for detailed usage, configuration, and implementation notes.
Path: .github/workflows
Workflow automation for CI/CD pipelines. Demonstrates selective workflow triggering based on modified files in a commit.
Path: infra-as-code/providers/aws/modules
eks.tf: EKS cluster provisioningvpc.tf: Custom VPC definitionebs.tf,iam.tf,karpenter.tf,metrics-server.tf,s3-state.tf: Supporting infrastructure modules
Path: infra-as-code/providers/gcp/modules
gke.tf: GKE production-grade cluster- Modules for networking, bastion, firewall rules, NAT, Traefik, Cloud Armor, service accounts
Path: infra-as-code/providers/azure/modules
aks.tf: AKS cluster provisioning- Modules for PostgreSQL, App Gateway, VNet, DNS zones, and storage
Path: infra-as-code/environments
azure-template/: Base backend and main Terraform configsgcp-template/: Similar structure for GCP deployments
Path: kubernetes/helm
- Parent Helm chart (
Chart.yaml) - Microservice subcharts:
kafka,opensearch,postgresql,rabbitmq,redis,tika
- Shared chart templates (
_*.tpl) for deployments, services, configmaps, etc. - Global templates:
global-ingress.yaml,openshift-routes.yaml,secrets.yaml - Test manifest:
tests/test-connection.yaml
This structure supports consistent Helm chart composition across services using DRY principles.
Path: scripts
utils.sh: Shared utility functionsformat_all.sh: Format source codelint_all.sh: Run linters on the repositorytest_args.sh: Validateutils.shargument handlingclean_local_docker.sh: Cleanup script for Dockertunnel_service.sh: Port forwarding or tunneling logicwait_for_pod.sh: Waits for a Kubernetes pod to be readymigrate_repo.sh: Misc support script for repository migrationsite_status.sh: Checks the status of a site or service
Path: tools
Path: tools/slack_alert
Sends Slack notifications from CI/CD pipelines for build status or other triggers.
Path: tools/tavisod
Python package for fetching secrets from Google Secret Manager.
- Python module under
tavisod/ setup.pyand tests included
Path: tools/google_sql_migrator
Transfers data between Google Cloud SQL instances using local Postgres and Docker.
- Includes Dockerfile, database scripts, CLI, and requirements
Path: tools/resources
Calculates chart resource usage (calc_chart_resources.py).
Path: tools/vulnerabilities
Scripted vulnerability scanner and report generator with PDF and HTML template output.
nginx.conf: NGINX server configuration filegit.config: Git configuration used locallyrequirements.txt: Python dependencies for repo-wide toolszshrc: Custom shell configuration
These are other repositories I maintain separately from this monorepo you can find on my GitHub
- Each directory is self-contained and designed for modular usage or reuse.
- Terraform code follows provider/environment separation for flexibility.
- Scripts and tools are aligned with real-world DevOps automation tasks.
git clone https://github.com/justmike1/devops-platform.git
cd devops-platform