... managed by Flux and serviced with RenovateBot 🤖
This repository utilizes Flux. Flux is a tool for keeping Kubernetes clusters in sync with sources of configuration (like Git repositories), and automating updates to configuration when there is new code to deploy. Please have a look at the docs.
Also have a look at this great chart:
cluster/
├── base/flux-system/ # Flux controllers, GitRepository, HelmRepositories, encrypted secrets
├── crds/ # Custom Resource Definitions
├── core/ # Infrastructure components
└── apps/ # Applications, organized by namespace
Flux reconciles in order: base → crds → core → apps.
Secrets are encrypted at rest using SOPS + age. Files matching *.sops.yaml are automatically decrypted by Flux during reconciliation. The age key is expected at ~/.config/sops/age/keys.txt.
| Tool | Why? |
|---|---|
| age | Modern encryption tool used by SOPS |
| sops | Simple and flexible tool for managing secrets |
| kustomize | Customization of kubernetes YAML configurations |
| direnv | Unclutter your .profile |
| go-task | A task runner / simpler Make alternative written in Go |
| flux | Continuous and progressive delivery solutions for Kubernetes |
| pre-commit | A framework for managing and maintaining multi-language pre-commit hooks |
Before you start simply do this:
$ brew bundle
$ task pre-commit:init
