Repository navigation
Conversation
Add executor-initdb, which creates the `executor` database, and point EXECUTOR_DATABASE_URL at it instead of postgres's default database. Add executor to the CI diagnostics container list.
bb212b1 to
0fa8783
Compare
arkana-ai-bot
left a comment
There was a problem hiding this comment.
Arkana review — infra/devops, no protocol code
Changes: docker/compose.ark.yml, .github/workflows/ci.yml, README.md.
Overall
Clean, low-risk infrastructure change. The executor-initdb service is an exact structural copy of the established bucket-sync-initdb pattern, it's idempotent (checks before creating), and the executor service correctly gates on service_completed_successfully. No protocol code, no VTXO/signing/round/exit paths touched.
Specific findings
Minor: executor-initdb absent from CI failure-diagnostics loop
docker/compose.ark.yml — executor-initdb service
.github/workflows/ci.yml:248
The loop was updated to add executor but not executor-initdb. If initdb fails (e.g., can't reach postgres, bad credentials), the CI dump won't capture its logs and the root cause will be invisible. executor will be Created but never started (dependency failed), so its own log line will be empty — the useful log is on executor-initdb. Same gap already exists for bucket-sync-initdb on failure, but adding executor-initdb alongside executor here would close it for the new service.
Nit: stale delegatee service still uses the default postgres database
docker/compose.ark.yml:291–304
Pre-existing, not introduced by this PR, but worth flagging while context is warm: the old delegatee service (profile delegatee) still points DELEGATEE_DATABASE_URL at postgres://postgres@postgres:5432/postgres (the default database), while every other service that needs postgres has either autocreate or its own initdb. If delegatee is dead code pending removal it's harmless; if it's still exercised anywhere it would need the same treatment as executor got here.
Observation: executor image is still a release-candidate tag (v0.0.4-rc.1)
docker/compose.ark.yml:321
Pre-existing pin, not changed by this PR. Flagging so it doesn't get forgotten once a stable tag ships.
Summary
One small actionable item (add executor-initdb to the CI diagnostics loop); everything else is contextual. The core pattern is correct and the change is safe to land.
Master already renamed delegatee to executor. This adds what the executor expects on top:
executor-initdbone-shot creates theexecutordatabase;EXECUTOR_DATABASE_URLuses it instead of postgres's default oneexecutoradded to the CI failure-diagnostics container list