scripts: rename local-up.py → sunbeam.py; add Gitea bootstrap + registry mirroring

- Rename local-up.py → sunbeam.py; update docstring and argparser description
- Add setup_lima_vm_registry(): installs mkcert root CA into Lima VM system trust
  store and writes k3s registries.yaml (Gitea auth); restarts k3s if changed
- Add bootstrap_gitea(): waits for pod Running+Ready, sets admin password via
  gitea CLI, clears must_change_password via Postgres UPDATE (Gitea enforces
  this flag at API level regardless of auth method), creates studio/internal orgs
- Add mirror_amd64_images(): pulls amd64-only images, patches OCI index with an
  arm64 alias pointing at the same manifest (Rosetta runs it transparently),
  imports patched image into k3s containerd, pushes to Gitea container registry
- Add AMD64_ONLY_IMAGES list (currently: lasuite/people-{backend,frontend})
- Add --gitea partial flag: registry trust + Gitea bootstrap + mirror
- Add --status flag: pod health table across all managed namespaces
- Fix create_secret to use --field-manager=sunbeam so kustomize apply (manager
  kubectl) never wipes data fields written by the seed script
- Add people-frontend to SERVICES_TO_RESTART (was missing)
This commit is contained in:
2026-03-01 21:04:39 +00:00
parent 5c119e2b26
commit 6110c33b48
2 changed files with 1027 additions and 551 deletions

1027
scripts/sunbeam.py Executable file

File diff suppressed because it is too large Load Diff