Correct deploy guide for the Gitea registry retirement (REUSE-WP-0020-T05)
The guide described gitea.coulomb.social as the live registry and its manual
build commands still pushed there. CoulombCore is switched off 2026-08-31.
Also record what the registry actually contains: authenticated tags/list shows
latest, main-bca7165, main-f9d957a and no e3ae22e — so the tag pinned in
railiance-apps/helm/reuse-surface-values.yaml cannot be pulled today, making
ImagePullBackOff a present risk on any restart rather than a future one.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
0c6b1e2538
commit
b035664890
2 changed files with 50 additions and 20 deletions
|
|
@ -4,20 +4,30 @@ Companion to **RAILIANCE-WP-0007** (`railiance-apps` Helm release).
|
||||||
|
|
||||||
## Image
|
## Image
|
||||||
|
|
||||||
This repo's own canonical remote migrated to Forgejo in REUSE-WP-0019-T03
|
**`gitea.coulomb.social` is going away.** CoulombCore, which hosts it, is
|
||||||
(`origin` → `forgejo-remote:coulomb/reuse-surface.git`; the old Gitea copy
|
switched off **2026-08-31**. Do not push images there and do not deploy
|
||||||
is kept read-only, not deleted). Currently deployed production image is
|
anything that references it. Tracked as **REUSE-WP-0020**.
|
||||||
still `gitea.coulomb.social/coulomb/reuse-surface:e3ae22e` (built manually
|
|
||||||
before the migration, per RAILIANCE-WP-0007) — this doc's manual build
|
This repo's canonical remote migrated to Forgejo in REUSE-WP-0019-T03
|
||||||
commands still target that registry since that's what's actually live.
|
(`origin` → `forgejo-remote:coulomb/reuse-surface.git`; the old Gitea copy is
|
||||||
The repo also builds `forgejo.coulomb.social/coulomb/reuse-surface:latest`
|
read-only, not deleted). `.forgejo/workflows/image.yaml` builds and pushes
|
||||||
automatically on every push via `.forgejo/workflows/image.yaml`; switching
|
`forgejo.coulomb.social/coulomb/reuse-surface:latest` and `:main-<short-sha>`
|
||||||
the deployed registry over is a deliberate follow-up, not done as part of
|
on every push that touches `Dockerfile`/`reuse_surface/**`/`schemas/**`/
|
||||||
T06.
|
`pyproject.toml`. Prefer promoting a CI-built tag over building by hand.
|
||||||
|
|
||||||
|
`railiance-apps@04be416` already repointed `charts/reuse-surface/values.yaml`
|
||||||
|
to the Forgejo repository, but `helm/reuse-surface-values.yaml` still pins
|
||||||
|
`image.tag: "e3ae22e"` — a commit from 2026-07-07 18:25, whereas CI only began
|
||||||
|
publishing to Forgejo at 21:25 that day. **A Forgejo `:e3ae22e` tag most likely
|
||||||
|
never existed**, so the deployment as written risks `ImagePullBackOff` on any
|
||||||
|
restart or reschedule today, not only after the retirement date. Verify the tag
|
||||||
|
exists before relying on the current manifest. See REUSE-WP-0020-T05.
|
||||||
|
|
||||||
|
If you must build by hand:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker build -t gitea.coulomb.social/coulomb/reuse-surface:<tag> .
|
docker build -t forgejo.coulomb.social/coulomb/reuse-surface:<tag> .
|
||||||
docker push gitea.coulomb.social/coulomb/reuse-surface:<tag>
|
docker push forgejo.coulomb.social/coulomb/reuse-surface:<tag>
|
||||||
```
|
```
|
||||||
|
|
||||||
## Required environment
|
## Required environment
|
||||||
|
|
@ -115,9 +125,9 @@ cert-manager / companion operator logs.
|
||||||
1. Tag image from CI commit. `.forgejo/workflows/image.yaml` already builds
|
1. Tag image from CI commit. `.forgejo/workflows/image.yaml` already builds
|
||||||
and pushes `forgejo.coulomb.social/coulomb/reuse-surface:main-<short-sha>`
|
and pushes `forgejo.coulomb.social/coulomb/reuse-surface:main-<short-sha>`
|
||||||
automatically on every push that touches `Dockerfile`/`reuse_surface/**`/
|
automatically on every push that touches `Dockerfile`/`reuse_surface/**`/
|
||||||
`schemas/**`/`pyproject.toml` — verify it's green rather than building
|
`schemas/**`/`pyproject.toml` — verify it's green rather than building by
|
||||||
by hand, unless promoting from the still-live `gitea.coulomb.social`
|
hand. Confirm the tag exists in the registry before bumping the manifest;
|
||||||
registry (current production posture).
|
`GET /v2/coulomb/reuse-surface/tags/list` needs registry credentials.
|
||||||
2. Run `pytest -q` and `reuse-surface validate` on that commit (CI already
|
2. Run `pytest -q` and `reuse-surface validate` on that commit (CI already
|
||||||
does this; re-verify locally if promoting outside CI).
|
does this; re-verify locally if promoting outside CI).
|
||||||
3. Update Helm values image tag in `railiance-apps`
|
3. Update Helm values image tag in `railiance-apps`
|
||||||
|
|
|
||||||
|
|
@ -154,12 +154,32 @@ priority: high
|
||||||
|
|
||||||
Deadline-bound: must land before **2026-08-31**.
|
Deadline-bound: must land before **2026-08-31**.
|
||||||
|
|
||||||
1. Verify which tags actually exist in
|
1. ~~Verify which tags actually exist.~~ **Done 2026-08-20.** Authenticated
|
||||||
`forgejo.coulomb.social/coulomb/reuse-surface` (registry API needs auth;
|
against the registry with the workstation's stored Forgejo credentials:
|
||||||
anonymous `GET /v2/.../tags/list` returns `401`) and that
|
|
||||||
`.forgejo/workflows/image.yaml` is green on `main`.
|
```
|
||||||
|
GET /v2/coulomb/reuse-surface/tags/list
|
||||||
|
→ {"tags": ["latest", "main-bca7165", "main-f9d957a"]}
|
||||||
|
```
|
||||||
|
|
||||||
|
**There is no `e3ae22e` tag.** The pinned manifest cannot pull today — this
|
||||||
|
is confirmed, not inferred. `main-f9d957a` (2026-07-08, REUSE-WP-0019-T06)
|
||||||
|
is the newest build; the 10 commits between it and HEAD were docs, workplans,
|
||||||
|
and licence changes that do not match the image workflow's path filters, so
|
||||||
|
no newer image exists yet.
|
||||||
2. Bump `image.tag` in `railiance-apps/helm/reuse-surface-values.yaml` from
|
2. Bump `image.tag` in `railiance-apps/helm/reuse-surface-values.yaml` from
|
||||||
`e3ae22e` to a verified Forgejo tag at current HEAD.
|
`e3ae22e` to a verified Forgejo tag.
|
||||||
|
|
||||||
|
**Prefer a build of current HEAD over `main-f9d957a`.** T02's compose
|
||||||
|
hardening is not in `main-f9d957a`, and without it re-enabling
|
||||||
|
`evidence-binder` (T04) would take production to HTTP 500 again. Pushing
|
||||||
|
HEAD touches `reuse_surface/**`, so CI will produce `main-<short-sha>`;
|
||||||
|
deploy that tag. Not pushed yet — pushing to the shared remote needs an
|
||||||
|
explicit go-ahead.
|
||||||
|
|
||||||
|
Left deliberately unmodified for now: writing a tag that has not been built
|
||||||
|
is worse than leaving the current wrong one, since it converts a latent
|
||||||
|
failure into an immediate one on the next reconcile.
|
||||||
3. Correct `docs/deploy/reuse-kubernetes.md`, which still describes Gitea as
|
3. Correct `docs/deploy/reuse-kubernetes.md`, which still describes Gitea as
|
||||||
the live registry and its manual `docker build`/`push` commands still
|
the live registry and its manual `docker build`/`push` commands still
|
||||||
target `gitea.coulomb.social`.
|
target `gitea.coulomb.social`.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue