The desired state of OneLiteFeather's Kubernetes cluster feather-core, as code.
This repository holds no application source — only Kubernetes configuration: Flux
Kustomizations, Kustomize overlays, Helm values, and a few charts maintained here. The cluster
continuously reconciles itself against main, so a change takes effect once it is merged, not
when it is applied by hand.
Documentation lives in Outline, under Infrastruktur → Kubernetes-FLUX — architecture, runbooks, secrets handling, incidents and the operational knowledge that is not visible in the manifests.
| Path | Contents |
|---|---|
clusters/feather-core/ |
The Flux control plane. Each file here is one Kustomization — a layer. |
infrastructure/ |
Cluster plumbing: Flux sources, controllers and operators, and configs (databases, storage, PKI). |
apps/ |
The workloads. |
helm/ |
Charts maintained in this repository: outline, shlink, vikunja, and micronaut — the generic chart several Micronaut services share. |
scripts/ |
Validation and SBOM tooling, all of it also run by CI. |
Everything follows a base + overlay pattern: */base/<name>/ holds the portable definition,
*/clusters/feather-core/<layer>/<name>/ patches it for this cluster and attaches its secrets.
Layers depend on each other, and most wait for their dependencies to report healthy before they start — so a layer blocks everything downstream of it while it settles.
graph LR
base-sources --> base-controllers
base-controllers --> controllers
base-controllers --> base-configs
base-sources & base-configs & controllers --> rook
rook --> rook-fr01
base-configs & controllers & rook --> configs
controllers --> internal-certs
configs --> base-apps --> apps
configs --> monitoring
configs --> security
rbac
base-sources and rbac have no dependencies and start immediately.
# Validate everything the way CI does.
./scripts/validate.sh
# Render a single overlay while iterating.
kubectl kustomize infrastructure/clusters/feather-core/controllers/<name>
# Inspect the cluster's view of this repository.
flux get kustomizations -ACommits follow Conventional Commits; CI lints both the commits and the pull-request title. Renovate opens the version bumps.
Conventions, pitfalls and the reasoning behind the layout are documented in Outline — start at the repository overview.
Flux · Kustomize · Helm · SOPS · Trivy · Dependency-Track · Renovate