GitOps (using Kustomize)

An example repo structure for GitOps with:

Directory structure

kustomize
├── base                        # base kustomizations             
│   ├── cert-manager            # logical grouping of resources
│   │ └── helmreleases          # base Helmreleases (may be layered with kustomisations)
│   │ └── kustomization.yaml    # Kustomization file which pulls in releases and patches, etc
├── dev                         # Directory per env which pulls from base and extends/overrides helmreleases

Resources are organised per environment in the kustomize directory.

Pre-requisites

A list of pre-requisites can be found here.

Setup

  1. To configure this to work with your repository first read the steps here.

  2. Create a cluster using make cluster

  3. Install Flux and the Helm Operator using make install-flux

  4. After following the prompts, flux will establish a connection to your repository and start reconciling.

Continuous Integration

A deep-dive into running checks locally and the CircleCI configuration, read here.

Kustomize directory structure

A deep-dive into the kustomize setup can be found here