panxiao81 5e2e28e275
lint / yaml (push) Successful in 14s
lint / yaml (pull_request) Successful in 14s
lint / terraform (pull_request) Successful in 34s
lint / terraform (push) Successful in 29s
lint / ansible (pull_request) Successful in 3m12s
lint / ansible (push) Successful in 3m57s
feat(gitops): 启用 Gitea Actions Helm 接管
2026-09-10 05:22:30 +00:00
2026-09-09 18:35:09 +00:00

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 for the target architecture and phased migration.

S
Description
No description provided
Readme
5.4 MiB
Languages
Python 40.9%
HCL 28.2%
Jinja 22.1%
Shell 5.4%
Clojure 1.8%
Other 1.6%