This repository provides a general set of Cluster API and system components required for provisioning of Kubernetes clusters for different providers. It is inherited by other tenant repositories. Mainly, it is designed to be managed by administrators, DevOps engineers, SREs.
To get started with cluster-deps.bootstrap.infra, ensure you have all the necessary tools and dependencies installed. Detailed information about requirements and installation instructions can be found in the Requirements section.
- Git
- Note: K3D v5.x.x requires at least Docker v20.10.5 (runc >= v1.0.0-rc93) to work properly
- RMK CLI
This repository uses the Environment branches with GitLab flow approach, where each stable or ephemeral branches is a separate environment with its own Kubernetes cluster.
Release schema:
develop ------> staging ------> production
\ / \ /
release/vN.N.N-rc release/vN.N.N
Note: The generated project structure using the RMK tools is mandatory and is required for the interaction of the RMK with the code base. All generated files have example content and can be supplemented according to project requirements.
This example shows how the following options are configured and interact with each other:
- etc/deps/<environment>/secrets/.spec.yaml.gotmpl
- etc/deps/<environment>/values/*.yaml.gotmpl
- etc/deps/<environment>/globals.yaml.gotmpl
- etc/deps/<environment>/releases.yaml
- .gitignore
- helmfile.yaml.gotmpl
- project.yaml
- deps
rmk project generate \
--environment=develop.root-domain=localhost \
--owners=user \
--scopes=deps
rmk config init
rmk cluster capi create
rmk release sync
Note: A complete list of RMK commands and capabilities can be found at the link