Skip to content

fix(self-host): repair dev compose generation, kitchen-sink serverful runner, and postgres/udb bootstrap#5340

Open
MasterPtato wants to merge 1 commit into
stack/slop-claude-opus-4-8-high-feat-universaldb-graceful-postgres-leader-handoff-on-shutdown-mvxpzxslfrom
stack/slopfix-fix-self-host-repair-dev-compose-generation-kitchen-sink-serverful-runner-and-postgres-udb-bootstrap-wpvkrymu
Open

fix(self-host): repair dev compose generation, kitchen-sink serverful runner, and postgres/udb bootstrap#5340
MasterPtato wants to merge 1 commit into
stack/slop-claude-opus-4-8-high-feat-universaldb-graceful-postgres-leader-handoff-on-shutdown-mvxpzxslfrom
stack/slopfix-fix-self-host-repair-dev-compose-generation-kitchen-sink-serverful-runner-and-postgres-udb-bootstrap-wpvkrymu

Conversation

@MasterPtato

Copy link
Copy Markdown
Contributor

No description provided.

… serverful runner, and postgres/udb bootstrap
@MasterPtato

MasterPtato commented Jun 25, 2026

Copy link
Copy Markdown
Contributor Author

Stack for rivet-dev/rivet

Current stack:

Dependencies:

Get stack: forklift get 5340
Push local edits: forklift submit
Merge when ready: forklift merge 5340

@claude

claude Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

PR Review

Overall this is a solid infrastructure cleanup. The build context path correction (../../..../..), structural rename from self-host/compose/{variant}/ to self-host/{variant}/, and the runner-config-init approach to bootstrapping the no_runner_config dependency are all sensible. A few items worth flagging:


Breaking change: metrics namespace prefix

engine/packages/metrics/src/registry.rs — changing None to Some("rivet".to_string()) prepends rivet_ to every metric name in the engine. Any existing Prometheus rules, Grafana dashboards, or alerting queries that reference metric names directly will silently break. If this prefix was missing intentionally or these consumers don't exist yet, fine — but the change should be noted in the PR description so operators of existing installs know to update their dashboards.


Breaking migration: postgres volume path

Changing postgres-data:/var/lib/postgresql/datapostgres-data:/var/lib/postgresql means existing named volumes that stored data under the /data subdirectory will appear empty after pulling this change. Anyone with an existing dev environment will silently lose their local state. This is likely acceptable for a dev environment, but a one-line migration note (e.g. docker volume rm <project>_postgres-data) in the PR description would help.


Non-deterministic image pin in runner-config-init

All compose files add:

image: curlimages/curl:latest

Using latest is non-deterministic. This is probably fine for a dev self-host workflow, but a pinned tag (e.g. curlimages/curl:8.12.1) would make the setup more reproducible across machines and time. Low priority, but worth tracking.


Multi-DC runner-config-init dependency

In dev-multidc and dev-multidc-multinode, the init container only depends_on: rivet-engine-dc-a, yet runners in dc-b and dc-c also depend on it completing. This is functionally correct if the single PUT /runner-configs/... call to dc-a propagates the config to all engines (since the payload includes all DCs). If that propagation ever becomes async or conditional, dc-b/dc-c runners could start before their config is visible. Worth a brief comment in the compose file explaining the assumption.


CLAUDE.md reference is now stale

CLAUDE.md says:

Do not edit self-host/compose/dev* configs directly. Edit the template in self-host/compose/template/ and rerun.

After this PR the generated files live at self-host/{variant}/ (not self-host/compose/{variant}/). The instruction's path reference should be updated to self-host/dev*/ to stay accurate.


Minor: prod-file-system removal

The prod-file-system compose variant is deleted with no explanation in the PR description. If this was a published/documented variant, a note about what replaces it (or that it's simply retired) would help future readers of the git log.


Overall the mechanical work here looks correct — the build context fix, the structural rename, the serverful kitchen-sink pivot, and the postgres max_connections=500 bump are all reasonable. The metrics prefix and postgres volume changes are the ones most likely to affect existing operators and deserve a callout.

@NathanFlurry NathanFlurry changed the title [slopfix] fix(self-host): repair dev compose generation, kitchen-sink serverful runner, and postgres/udb bootstrap fix(self-host): repair dev compose generation, kitchen-sink serverful runner, and postgres/udb bootstrap Jun 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant