chore: sync railiance deployment workplan tasks
Some checks failed
Build and Deploy / build-push-deploy (push) Has been cancelled

Adds explicit task blocks and State Hub task IDs for IHUB-WP-0018 so WSJF triage no longer treats the active deployment workplan as empty or close-out-ready.
This commit is contained in:
2026-06-04 08:26:19 +02:00
parent 4381768045
commit a3d980c8c6

View File

@@ -4,11 +4,11 @@ type: workplan
title: "Railiance01 Deployment — Production Operations Scaffold"
domain: inter_hub
repo: inter-hub
status: open
status: active
owner: custodian
topic_slug: inter_hub
created: "2026-04-29"
updated: "2026-04-29"
updated: "2026-06-04"
depends_on: IHUB-WP-0015
state_hub_workstream_id: "080d841a-3acd-4adf-b684-2d1890a5e986"
---
@@ -61,10 +61,23 @@ git push → Gitea Actions
→ PostgreSQL: database 'interhub' on railiance-platform HA cluster
```
## Close-out Audit - 2026-06-04
WSJF triage flagged this workplan as a close-out candidate because State Hub had
no indexed task rows for it. The deployment work is not complete; this file now
contains explicit task blocks so the hub can track the remaining Railiance01
deployment work instead of treating the workplan as empty.
## Tasks
### R1 — Add OCI image build to flake.nix
```task
id: IHUB-WP-0018-T01
status: todo
priority: high
state_hub_task_id: "27420bd7-0f70-4793-8805-393d8d5cacfd"
```
Add a `packages.docker` output to `flake.nix` using `pkgs.dockerTools.buildLayeredImage`.
The image wraps the IHP production binary produced by `nix build .#default`.
@@ -97,6 +110,12 @@ machine with the Nix store populated for GHC 9.10.3.
### R2 — Verify container runs correctly
```task
id: IHUB-WP-0018-T02
status: todo
priority: high
state_hub_task_id: "5ab45e4e-16bc-4feb-8b1b-e8eeb05bf39a"
```
On haskelseed, run the container image against the existing `interhub` database.
Confirm:
- `curl http://localhost:8000/` returns 200 (LandingAction)
@@ -110,6 +129,12 @@ image via `dockerTools.buildLayeredImage` `contents` or a NixOS module.
### R3 — Verify Railiance01 readiness (gate)
```task
id: IHUB-WP-0018-T03
status: blocked
priority: high
state_hub_task_id: "79b5cf2c-3a5b-4b4b-8f84-f635cb6891c1"
```
This is a dependency gate. Before proceeding, confirm:
```bash
@@ -129,6 +154,12 @@ Do not proceed until all checks pass.
### R4 — Provision inter-hub database on railiance-platform
```task
id: IHUB-WP-0018-T04
status: blocked
priority: high
state_hub_task_id: "c937cf36-3850-4ab3-aa83-2d846e1a378e"
```
On the PostgreSQL HA cluster, create the inter-hub database and user:
```sql
@@ -143,6 +174,12 @@ migration procedure in `deploy/railiance/RUNBOOK.md`.
### R5 — SOPS-encrypted secrets
```task
id: IHUB-WP-0018-T05
status: blocked
priority: high
state_hub_task_id: "926f82d1-15cd-425d-8a41-3d6b51c07f0b"
```
Create `deploy/railiance/secrets/inter-hub.env.sops.yaml` with:
```yaml
@@ -163,6 +200,12 @@ using the age key from a Kubernetes Secret (bootstrapped once manually).
### R6 — Helm chart in railiance-apps
```task
id: IHUB-WP-0018-T06
status: blocked
priority: high
state_hub_task_id: "4c4acc98-5773-4289-ad57-03f3fd5c381c"
```
Create `helm/inter-hub/` in the `railiance-apps` repository following the
Railiance app.toml contract. Minimal chart:
@@ -193,6 +236,12 @@ namespace = "inter-hub"
### R7 — Gitea Actions CI/CD pipeline
```task
id: IHUB-WP-0018-T07
status: blocked
priority: medium
state_hub_task_id: "ec25c67c-3cb0-4534-9fb0-9bd6578a2def"
```
Create `.gitea/workflows/deploy.yaml` in the inter-hub repo:
```yaml
@@ -230,6 +279,12 @@ deploy step directly without the SSH hop to coulombcore.
### R8 — Staged deployment and smoke test
```task
id: IHUB-WP-0018-T08
status: blocked
priority: high
state_hub_task_id: "2b02ae5c-47b9-4f09-88f0-a4af7900b38f"
```
Follow the Railiance staged promotion lifecycle:
1. **Local verify** (done in R2 — container runs correctly)
@@ -254,6 +309,12 @@ Follow the Railiance staged promotion lifecycle:
### R9 — Document and register
```task
id: IHUB-WP-0018-T09
status: blocked
priority: medium
state_hub_task_id: "4d1e55c7-8dbb-480f-b07b-6c5e39a04218"
```
- Write `deploy/railiance/RUNBOOK.md`: image build, migration procedure,
secret rotation, rollback (`railiance rollback inter-hub`), log access
(`kubectl logs -n inter-hub -l app=inter-hub --tail=100`)