mirror of
https://git.sr.ht/~goorzhel/turboprop
synced 2024-12-14 11:37:37 +00:00
No description
charts | ||
lib | ||
.gitignore | ||
flake.lock | ||
flake.nix | ||
LICENSE | ||
Makefile | ||
README.md |
Kubernetes flake
Usage
lib
flake builders
charts
Signature, etc.
Architecture
Services expected to provide custom APIs (e.g.: Gateway API,
Istio, Longhorn) go in ./system
. All others in ./services
,
including system-service charts dependent on other APIs.
This prevents infinite recursion when gathering APIs.
Each of the leaves of the services
attrsets is a derivation
(explained better in lib/flake-builders.nix
).
Here, they are gathered into one mega-derivation, with Kustomizations
at each level for usage with k apply -k $path
.
namespaces
Assign extra metadata in namespaces.nix
. For example,
svc = {labels."istio.io/rev" = "1-18-1"}
is the equivalent of
k label ns/svc istio.io/rev=1-18-1
Prior art
Immense debt of gratitude to farcaller's "Nix and Kubernetes: Deployments Done Right" (notes)
- heywoodlh's Kubernetes flake