Skip to content

Latest commit

 

History

History
64 lines (50 loc) · 3.15 KB

File metadata and controls

64 lines (50 loc) · 3.15 KB

GitOps System

This directory contains all of the manifests which define the GitOps systems for the management cluster and each of the workload clusters.

Structure

clusters

Stores the Flux entrypoint definitions for each of the clusters (including the management cluster). Each of the subdirectories corresponds 1:1 with a cluster. The mgmt cluster represents the management cluster, whereas all other clusters are represented by their name. Within their respective subdirectory, each cluster has a flux-system directory to store the Flux CD configuration manifests (CRDs, Deployments, etc.) and also a reference to the gitops-system manifest Git repository and a Kustomization for its own resources (which points to the cluster subdirectory). You can think of this subdirectory as the entrypoint for all of the other Flux CD Kustomizations and Helm Releases to be deployed into the environment.

clusters-config

Stores the cluster and tool configuration for each of the workload clusters. The def subdirectory contains the EKS cluster definition, as represented by a Crossplane custom resource (the XRD defined in tools). The external-secrets subdirectory installs the External Secrets Helm chart. The initialization subdirectory contains the flux-system namespace. This is required so that the Kustomization which installs the tools into the cluster (External Secrets, Flux CD) can depend on it to ensure that the Namespace exists. The secrets subdirectory contains the secrets required by the local Flux CD installation to connect to its workload and manifest Git repositories (sealed with the common Sealed Secrets certificate). The other files in this directory install the tools required by the cluster - External Secrets, Flux, Sealed Secrets - and their respective configurations.

tools

Stores the configuration for any tools required by workload clusters. The crossplane subdirectory contains the core Crossplane installation, configuration for the Crossplane AWS Provider, configuration for authenticating the AWS provider with credentials and Crossplane composite resource definitions and compositions for an EKS cluster. The external-secrets subdirectory contains a HelmRelease for installing the External Secrets operator (used only by the management cluster).

tools-config

Stores optional configuration for any tools required by the workload cluster. Currently this directory only contains configuration for the common signing key required by Sealed Secrets to decrypt each of the secrets.

workloads

Stores the workload configuration manifests for each of the clusters. Each of the subdirectories corresponds 1:1 with a workload cluster. Within their respective subdirectory, each cluster has references to Git repositories and Kustomizations for any of the workloads that should be installed into the cluster.