Skip to content

feat: give executor its own postgres database - #86

Open
pietro909 wants to merge 1 commit into
masterfrom
feat/executor-rename
Open

pietro909 wants to merge 1 commit into
masterfrom
feat/executor-rename

Conversation

@pietro909

@pietro909 pietro909 commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

Master already renamed delegatee to executor. This adds what the executor expects on top:

  • executor-initdb one-shot creates the executor database; EXECUTOR_DATABASE_URL uses it instead of postgres's default one
  • executor added to the CI failure-diagnostics container list

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.
@pietro909
pietro909 force-pushed the feat/executor-rename branch from bb212b1 to 0fa8783 Compare November 12, 2026 16:02
@pietro909 pietro909 changed the title feat: rename delegatee to executor feat: give executor its own postgres database Nov 12, 2026

@arkana-ai-bot arkana-ai-bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

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.

2 participants