Harvester¶
GitOps repository for Crossplane claims and infrastructure resources managed by the stuttgart-things platform team.
Sections¶
| Section | |
|---|---|
| Edge cluster | single-node k3s for the table-tennis stack: architecture, runbook, k3s + Cilium, from scratch, lab testing, notes |
| Architecture | overview, claim lifecycle, claim registry, dev image chain |
| Services | claims CLI, claim registry API, claim status collector |
| Guides | Workstation setup -- Docker, the Dagger CLI and the cluster CLIs as Ansible code · SOPS + age -- secrets in git: what you need, the age key, encrypt/decrypt with the CLI or our Dagger modules, kubeconfigs |
| Runbooks | Harvester reinstall |
| Demo | self-service on bare metal |
| Roadmap |
The system inventory (lab address book): stuttgart-things.github.io/harvester/inventory.
What is Harvester?¶
Harvester is the central GitOps repository where all Crossplane claim manifests, Flux kustomizations, and Backstage catalog metadata live. It serves as the single source of truth for infrastructure resources provisioned through the claim-machinery platform.
How It Works¶
Resources are created and deleted through a toolchain of independent services:
| Component | Purpose | Repository |
|---|---|---|
| claim-machinery-api | Renders KCL-based Crossplane claim templates | stuttgart-things/claim-machinery-api |
| claims CLI | Creates and deletes claims via terminal or CI/CD | stuttgart-things/claims |
| claim-registry API | Serves the inventory of existing claims | stuttgart-things/claim-registry |
| claim-status-collector | Monitors deployed claim health and updates catalog | stuttgart-things/claim-status-collector |
| Backstage | Developer portal UI for self-service provisioning | stuttgart-things/backstage-resources |
Repository Structure¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |