Task: Roll out per-service containers to the remaining 17 services
Table of Contents
This page documents a task in the Containerize the ORE Studio service runtime and verify it on a remote WSL host story. It captures the goal, current status, acceptance, and any notes or results.
Goal
Apply the proven IAM pilot pattern (parameterised
docker/service-runtime.Dockerfile + stage-runtime.sh --service +
per-service HEALTHCHECK) to the other 17 service binaries, replace
the single-container fleet with one podman pod/compose spec running
18 per-service containers wired via the dependency-graph generator and
podman-events watcher (both separate tasks), and verify the full fleet
reaches steady state end-to-end – the story's own original acceptance
criterion.
Status
| Field | Value |
|---|---|
| State | ABANDONED |
| Parent story | Containerize the ORE Studio service runtime and verify it on a remote WSL host |
| Now | Superseded – see Notes. |
| Waiting on | Nothing. |
| Next | Nothing – superseded. |
| Last touched | 2026-07-31 |
Acceptance
- All 18 service binaries run as PID 1 of their own per-service container, not spawned by the controller.
- The full fleet starts, reaches steady state – all 18 services
healthy, 22 containers counting
ores.compute.wrapper's 5 replicas (each its own container in this architecture, vs. 5 child processes under one controller previously) – and survives killing/restarting one service container without taking down the others. - Startup ordering and readiness gating come from the orchestration
layer (via the dependency-graph generator task), not from
process_supervisor.
Plan
(Implementation strategy. Written when work starts; key decisions
are distilled into the parent story's * Decisions at close, but the
plan itself stays — it is the historical record of what we did.)
Notes
ABANDONED 2026-07-31: this task's plan (one podman pod/compose spec
running 18 per-service containers, wired via a separate podman
orchestration layer) predates the story's pivot to systemd as the
single orchestration substrate (see story.org's Goal, and the
dependency-graph-generator task's scope expansion). Rolling out
per-service containers to the remaining 17 services is now the
Quadlet generator task's job: it reads the same
service_definition~/~service_dependency tables the plain-systemd
generator already does and renders Quadlet .container units –
already-parameterised (docker/service-runtime.Dockerfile's ARG
SERVICE_NAME) – for every service, not just IAM. No separate manual
pod/compose rollout is needed.
Test Scenarios
Manual QA scenarios (scaffolded via compass add test_scenario, run
through the QA Validation Runner panel) that verify this task. Link
new ones here as they're created; the scenario doc itself links back
via its "Verifies task" field.
| Scenario | State | Notes |
|---|---|---|
PRs
| PR | Title |
|---|---|
Review
| Comment summary | File | Decision | Notes |
|---|---|---|---|