This repository contains the infrastructure definitions for our Kubernetes management and workload clusters. We use CAPI with the OpenStack provider (CAPO) to declaratively manage cluster lifecycle across production and non-production environments.
clusters/- Environment-specific cluster configurationsmanagement/- Management cluster Flux configurationhors-prod/- Non-production environmentprod/- Production environment
infrastructure/- Platform componentsbootstrap/- CAPI operator and base providersopenstack/- OpenStack provider and credentials
workload-clusters/- Workload cluster definitionshors-prod/- Non-production workload clustersprod/- Production workload clusters
- Management cluster with Flux installed
- OpenStack credentials configured
- kubectl and clusterctl CLI tools
The management cluster automatically reconciles changes via Flux. To add a new workload cluster:
- Create cluster manifests in
workload-clusters/{env}/ - Add kustomization reference in
clusters/{env}/kustomization.yaml - Commit and push - Flux handles the rest
All clusters use Calico CNI and are configured with appropriate ClusterResourceSets for bootstrapping. OpenStack credentials are managed as sealed secrets per environment.