Overview
The cluster represents the heart of this project. As Kubernetes distribution I'm using Talos.
State inside the cluster is managed by Flux in a GitOps based manner. To provide a clean separation of concerns the cluster is divided into several sections reflected as folders in the repository.

The base directory serves as an entrypoint from which all other sections are executed. It is called by the Flux Operator which manages the Flux instance and it's related components. Afterwards the following Kustomization overlays are reconciled in exactly this order:
overlays/crds.yaml— Custom Resource Definitions for specific applicationsoverlays/charts.yaml— Helm chart repositories for all applicationsoverlays/config.yaml— Cluster-wide configuration valuesoverlays/core.yaml— Core applications which depend onoverlays/config.yaml,overlays/charts.yaml&overlays/crds.yamloverlays/services.yaml— Regular applications which depend onoverlays/config.yaml,overlays/charts.yaml,overlays/crds.yaml&overlays/core.yaml