Files
homelab-infra/apps/backstage/README.md
T
panxiao81andClaude Opus 5.5 7f5bef829f
yaml / yaml (pull_request) Successful in 23s
feat: deploy backstage latest via Flux image automation
Install image-reflector and image-automation controllers, track the digest
behind backstage:latest, and let flux-bot commit digest updates to main.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-01 16:05:13 +00:00

1.5 KiB

Backstage

Backstage 作为 homelab 的只读开发者门户运行。应用源码、插件、测试和镜像构建归 panxiao81/backstage 仓库管理;本目录只保存 Kubernetes/Flux 部署声明,并通过 OCI digest 固定镜像。

外部前置

  • OpenBao kv/k8s/backstage 必须包含以下与容器环境变量同名的字段: BACKEND_SECRET、AUTH_SESSION_SECRET、AUTH_OIDC_CLIENT_ID、 AUTH_OIDC_CLIENT_SECRET、POSTGRES_PASSWORD、GITEA_TOKEN。
  • PostgreSQL 需要在共享集群中预先创建由 backstage 角色拥有的 backstage 数据库;密码必须与 OpenBao 中的 POSTGRES_PASSWORD 一致。
  • Authelia OIDC 客户端回调地址为 https://backstage.ad.ddupan.top/api/auth/oidc/handler/frame。
  • AD DNS 需要将 backstage.ad.ddupan.top 指向 Envoy Gateway 192.168.10.127。

Flux 等待 ExternalSecret 和 Deployment 就绪;任何前置缺失都会使该 Kustomization 保持 NotReady,而不会回退到明文 Secret。

镜像更新

panxiao81/backstage 的 CI 在 main push 后只推送 :latest。 platform/flux-image-automation 跟踪 latest 背后的 digest,由 flux-bot 直接提交到本仓库 main,不经过 PR。deployment.yaml 中 image 行的 $imagepolicy 注释是 setter 标记,删除后自动更新会静默停止。

旧 digest 失去 tag 后会被 zot GC 回收(24h),因此不要把 Deployment 手工固定到 一个已不是 latest 的 digest 并长期保留。