Completes the migration begun on 2026-08-25, which covered active workplans only. The archived copies kept their historical identifiers, and three repositories shared one number space — so their task identifiers collided, blocking task-level projection reset for those workplans. Numbering continues each repository's active sequence rather than restarting, so no identifier is reused. Projection UUIDs are re-derived from the new canonical ids. Refs CUST-WP-0068, STATE-WP-0083-T06 Assistant: claude-code Assistant-Model: opus Assistant-Process: 2583210@bnt-lap001 Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
105 lines
No EOL
3.5 KiB
Markdown
105 lines
No EOL
3.5 KiB
Markdown
---
|
|
id: RAPPS-WP-0013
|
|
type: workplan
|
|
title: "Core Hub Helm cutover and vergabe-teilnahme image refresh"
|
|
domain: financials
|
|
repo: railiance-apps
|
|
status: finished
|
|
owner: codex
|
|
topic_slug: railiance
|
|
created: "2026-07-10"
|
|
updated: "2026-07-11"
|
|
state_hub_workstream_id: "3cded0ad-2e42-50a4-88a4-e432fe7b42ba"
|
|
---
|
|
|
|
# Core Hub Helm cutover and vergabe-teilnahme image refresh
|
|
|
|
Follow-up to `RAILIANCE-WP-0012` and custodian inbox `3ced85c7`. The S5 Helm
|
|
chart, values, Makefile targets, and runbook exist; the live cluster may still
|
|
run Core Hub from `core-hub/k8s/railiance-production/` manifests.
|
|
|
|
Separately, the 2026-07-10 delivery-lane snapshot shows `vergabe-teilnahme`
|
|
deployed at `f95de14` while the source repo head is `1061f3e` (14-commit drift).
|
|
|
|
Production-touching deploy steps require explicit image tags and operator
|
|
approval. Do not store secrets in workplans.
|
|
|
|
## Core Hub server dry-run on CoulombCore
|
|
|
|
```task
|
|
id: RAPPS-WP-0013-T01
|
|
status: done
|
|
priority: high
|
|
state_hub_task_id: "9c5be78e-4993-5f13-97eb-f98a87cf07fb"
|
|
```
|
|
|
|
CoulombCore production cluster confirmed. `core-hub-server-dry-run` passed after
|
|
`make core-hub-helm-adopt` and configMap name alignment (`core-hub-prod-runtime`).
|
|
Live image `gitea.coulomb.social/coulomb/core-hub:a33191a` verified.
|
|
|
|
## Adopt Helm-managed Core Hub release
|
|
|
|
```task
|
|
id: RAPPS-WP-0013-T02
|
|
status: done
|
|
priority: high
|
|
state_hub_task_id: "adfc9f66-4370-5e17-9190-89b3e6ef3616"
|
|
```
|
|
|
|
`CORE_HUB_IMAGE_TAG=a33191a make core-hub-deploy` installed Helm release
|
|
`core-hub` revision 1 on CoulombCore. Resources carry Helm ownership metadata.
|
|
Service-repo `k8s/railiance-production/` path is now superseded for operations.
|
|
|
|
## Verify Core Hub post-cutover smoke
|
|
|
|
```task
|
|
id: RAPPS-WP-0013-T03
|
|
status: done
|
|
priority: high
|
|
state_hub_task_id: "f2605fb0-7c50-5f34-abc3-fa3c9992d879"
|
|
```
|
|
|
|
Post-deploy `make core-hub-status` and `make core-hub-smoke` passed on
|
|
`https://hub.coulomb.social` after Helm rollout (2026-07-10).
|
|
|
|
## Refresh vergabe-teilnahme production image
|
|
|
|
```task
|
|
id: RAPPS-WP-0013-T04
|
|
status: done
|
|
priority: medium
|
|
state_hub_task_id: "10955d78-fd8a-5b85-ae33-4511737233c5"
|
|
```
|
|
|
|
2026-07-11: Migrated deploy target to **Forgejo OCI** (`forgejo.coulomb.social`).
|
|
Added `.forgejo/workflows/image.yaml` in `vergabe-teilnahme`; Makefile
|
|
`check-vergabe-image` gates deploy. `helm/vergabe-teilnahme-values.yaml` targets
|
|
Forgejo repository + tag `dfbc13a`.
|
|
|
|
2026-07-12: **CI root cause fixed** — Forgejo Actions run failed because
|
|
`uv sync` resolved `issue-core` from Forgejo PyPI (404). Fix: `uv sync --frozen`
|
|
in `vergabe-teilnahme` Dockerfile (`dfbc13a`); workflow aligned with
|
|
`railiance-enablement` container-build template. Local docker build verified.
|
|
`issue-core` gained `publish-forgejo` + `.forgejo/workflows/publish-python-package.yml`
|
|
so PyPI can move off Gitea (`uv.lock` still pins Gitea wheel URLs until publish).
|
|
|
|
**Deployed 2026-07-12:** operator `docker login forgejo.coulomb.social`; image
|
|
`forgejo.coulomb.social/coulomb/vergabe-teilnahme:dfbc13a` pushed manually;
|
|
`VERGABE_IMAGE_TAG=dfbc13a make vergabe-deploy` (Helm rev 3). Pod healthy;
|
|
`https://vergabe-teilnahme.whywhynot.de/health/` → 200. Gitea image retired
|
|
for this workload.
|
|
|
|
## Post-deploy vergabe smoke and runbook evidence
|
|
|
|
```task
|
|
id: RAPPS-WP-0013-T05
|
|
status: done
|
|
priority: medium
|
|
state_hub_task_id: "fb182909-6f6a-5351-b2d3-a949dc541db3"
|
|
```
|
|
|
|
After deploy, run `make vergabe-status`, migrations if required, and HTTPS smoke
|
|
against `vergabe-teilnahme.whywhynot.de`. Update `docs/vergabe-teilnahme.md`
|
|
with the deployed tag, date, and smoke result (non-secret).
|
|
|
|
Blocked on: `RAPPS-WP-0013-T04`. |