Files
homelab-infra/README.md
panxiao81 88a02ababa
lint / yaml (push) Has been cancelled
lint / ansible (push) Has been cancelled
lint / terraform (push) Has been cancelled
Establish clean homelab infrastructure baseline
Reorganize the brownfield repository, remove retired and generated artifacts, harden ignore rules, and record the GitOps/IaC redesign.
2026-09-09 16:47:20 +00:00

32 lines
1.4 KiB
Markdown

# homelab-infra
Infrastructure and service configuration for the homelab. Git is the source of
intent; the live estate is being adopted gradually, so a file being present does
not yet imply that Flux or CI owns the corresponding resource.
## Layout
| directory | purpose |
|---|---|
| `clusters/homelab/` | Flux composition and cluster-specific reconciliation entrypoint |
| `platform/` | cluster-wide controllers, ingress, storage and observability |
| `apps/` | user-facing and supporting applications |
| `infrastructure/` | Proxmox, local hosts/VMs, identity, secrets, Cloudflare and OCI |
| `archive/` | retired implementations retained for operational history |
| `docs/` | architecture decisions, migration plans and runbooks |
Each component remains independently deployable. There is no shared root package
or Terraform root, and service-specific Terraform states must remain isolated.
## Safety
- Treat the homelab as household production.
- Run Terraform plan and Ansible check/diff before mutation.
- Existing resources require a zero-change adoption plan before CI may apply.
- Never commit Terraform plans/states, live Kubernetes Secrets or plaintext keys.
- Kubernetes will be reconciled by Flux; Backstage is a portal, not a deployer.
- Recovery of PVE, OpenBao and Git must not depend on k3s being healthy.
See [the redesign record](docs/homelab-gitops-redesign.md) for the target
architecture and phased migration.