infra/docs/plans
Viktor Barzin f793a5f50b [forgejo] Phase 0 of registry consolidation: prepare Forgejo OCI registry
Stage 1 of moving private images off the registry:2 container at
registry.viktorbarzin.me:5050 (which has hit distribution#3324 corruption
3x in 3 weeks) onto Forgejo's built-in OCI registry. No cutover risk —
pods still pull from the existing registry until Phase 3.

What changes:
* Forgejo deployment: memory 384Mi→1Gi, PVC 5Gi→15Gi (cap 50Gi).
  Explicit FORGEJO__packages__ENABLED + CHUNKED_UPLOAD_PATH (defensive,
  v11 default-on).
* ingress_factory: max_body_size variable was declared but never wired
  in after the nginx→Traefik migration. Now creates a per-ingress
  Buffering middleware when set; default null = no limit (preserves
  existing behavior). Forgejo ingress sets max_body_size=5g to allow
  multi-GB layer pushes.
* Cluster-wide registry-credentials Secret: 4th auths entry for
  forgejo.viktorbarzin.me, populated from Vault secret/viktor/
  forgejo_pull_token (cluster-puller PAT, read:package). Existing
  Kyverno ClusterPolicy syncs cluster-wide — no policy edits.
* Containerd hosts.toml redirect: forgejo.viktorbarzin.me → in-cluster
  Traefik LB 10.0.20.200 (avoids hairpin NAT for in-cluster pulls).
  Cloud-init for new VMs + scripts/setup-forgejo-containerd-mirror.sh
  for existing nodes.
* Forgejo retention CronJob (0 4 * * *): keeps newest 10 versions per
  package + always :latest. First 7 days dry-run (DRY_RUN=true);
  flip the local in cleanup.tf after log review.
* Forgejo integrity probe CronJob (*/15): same algorithm as the
  existing registry-integrity-probe. Existing Prometheus alerts
  (RegistryManifestIntegrityFailure et al) made instance-aware so
  they cover both registries during the bake.
* Docs: design+plan in docs/plans/, setup runbook in docs/runbooks/.

Operational note — the apply order is non-trivial because the new
Vault keys (forgejo_pull_token, forgejo_cleanup_token,
secret/ci/global/forgejo_*) must exist BEFORE terragrunt apply in the
kyverno + monitoring + forgejo stacks. The setup runbook documents
the bootstrap sequence.

Phase 1 (per-project dual-push pipelines) follows in subsequent
commits. Bake clock starts when the last project goes dual-push.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 23:29:33 +00:00
..
2026-02-22-anti-ai-scraping-design.md [docs] Update anti-AI and rybbit docs after rewrite-body removal 2026-04-17 21:43:13 +00:00
2026-02-22-anti-ai-scraping-plan.md [ci skip] Add anti-AI scraping implementation plan 2026-02-22 19:41:39 +00:00
2026-02-22-node-drift-quick-wins-design.md [ci skip] Reduce node config drift: GPU label, OIDC idempotency, node-exporter, rebuild docs 2026-02-22 22:59:38 +00:00
2026-02-22-talos-linux-migration-evaluation.md [ci skip] Reduce node config drift: GPU label, OIDC idempotency, node-exporter, rebuild docs 2026-02-22 22:59:38 +00:00
2026-02-23-mailserver-hardening-design.md mailserver: overhaul inbound delivery, monitoring, CrowdSec, and migrate to Brevo relay 2026-04-12 22:24:38 +01:00
2026-02-23-mailserver-hardening-plan.md mailserver: overhaul inbound delivery, monitoring, CrowdSec, and migrate to Brevo relay 2026-04-12 22:24:38 +01:00
2026-02-28-ci-build-caching-design.md [ci skip] add CI build caching design doc 2026-02-28 17:43:42 +00:00
2026-02-28-ci-build-caching-plan.md [ci skip] update CI caching plan: add Terraform provisioning for private registry 2026-02-28 17:51:55 +00:00
2026-02-28-network-visualization-design.md [ci skip] add network traffic visualization design doc 2026-02-28 18:14:42 +00:00
2026-02-28-network-visualization-plan.md [ci skip] add network visualization implementation plan 2026-02-28 18:19:36 +00:00
2026-02-28-storage-reliability-design.md [ci skip] expand k8s worker nodes to 256G, update inventory and extend script 2026-02-28 16:00:16 +00:00
2026-03-01-nfs-csi-migration-design.md [ci skip] add NFS CSI migration design doc and implementation plan 2026-03-01 23:30:27 +00:00
2026-03-01-nfs-csi-migration-plan.md [ci skip] add NFS CSI migration design doc and implementation plan 2026-03-01 23:30:27 +00:00
2026-03-01-traefik-resilience-design.md [ci skip] add Traefik resilience hardening design doc 2026-03-01 13:50:00 +00:00
2026-03-01-traefik-resilience-plan.md [ci skip] add Traefik resilience hardening implementation plan 2026-03-01 13:53:50 +00:00
2026-03-02-security-observability-design.md [ci skip] add security observability layer design document 2026-03-02 21:13:01 +00:00
2026-03-03-cluster-hardening-design.md [ci skip] add auto-generated tiers.tf, planning docs, and helm chart cache 2026-03-06 23:55:57 +00:00
2026-03-07-k8s-portal-onboarding-plan.md [ci skip] k8s portal: fix setup script + add onboarding hub (5 new pages) 2026-03-07 15:06:26 +00:00
2026-03-07-sops-migration-design.md [ci skip] add SOPS multi-user secrets migration design (v3, reviewed 3x) 2026-03-07 13:55:05 +00:00
2026-03-28-storage-migration-truenas-elimination.md migrate ebooks-calibre to proxmox-lvm, update storage docs [ci skip] 2026-04-03 19:45:34 +03:00
2026-04-03-proxmox-csi-cleanup-todo.md add proxmox-csi cleanup TODO for post-migration tasks [ci skip] 2026-04-03 20:02:14 +03:00
2026-04-25-nfs-hostile-migration-design.md vault: migrate vault-0 storage to proxmox-lvm-encrypted 2026-04-25 16:19:49 +00:00
2026-04-25-nfs-hostile-migration-plan.md vault: record Phase 3 vault Released-PV cleanup 2026-04-25 23:08:45 +00:00
2026-05-07-forgejo-registry-consolidation-design.md [forgejo] Phase 0 of registry consolidation: prepare Forgejo OCI registry 2026-05-07 23:29:33 +00:00
2026-05-07-forgejo-registry-consolidation-plan.md [forgejo] Phase 0 of registry consolidation: prepare Forgejo OCI registry 2026-05-07 23:29:33 +00:00