Flux proof of concept for bootstraping core infrastructure and the tenants that sit on top of it.
- Create a new cluster with KIND:
./scripts/kind.sh
-
Place your TLS certificate and private key at in the
certs/
directory. -
Fork this repository and then execute this commands to install Flux and bootstrap the cluster:
export GITHUB_USER=<user>
export GITHUB_TOKEN=<personal-access-token>
./scripts/bootstrap.sh
The current setup supports bootstrapping multiple clusters just by adding Kustomization
resources on the clusters folder.
Core infrastructure will be reconciled respecting the order of the dependencies defined in the infrastructure folder:
- sources:
GitRepository
andHelmRepository
CRDs used by Flux - rbac: Common role based access control resources
- nginx: Ingress controller to handle the
Ingress
resources - sealed-secrets: Sealed secrets controller to manage
SealedSecret
CRDs
A tenant is a set of resources deployed on top of the core infrastructure in multiple clusters. They can be configured by adding Kustomization
resources on the tenants folder:
- podinfo: Example Go application