Skip to content

Add isolated worker lifecycle foundation - #144

Merged
vitormattos merged 3 commits into
mainfrom
feat/worker-lifecycle-foundation
Oct 3, 2026
Merged

vitormattos merged 3 commits into
mainfrom
feat/worker-lifecycle-foundation

Conversation

@vitormattos

Copy link
Copy Markdown
Member

Summary

Introduce the foundation required by #140 before adding the SQLite and MariaDB-specific layers from #141 and #142.

This PR does not close #140 yet.

Changes

  • separate database backend selection (DB_TYPE) from the database connection hostname (DB_HOST);
  • preserve the existing DB_HOST=pgsql docker compose up compatibility path;
  • parameterize mutable bind-mount state with WORKER_VOLUMES_DIR;
  • add a deterministic dev-worker lifecycle for MySQL/PostgreSQL workers;
  • isolate each worker under .workers/<worker-id>/volumes and a dedicated Compose project;
  • provide up, exec, logs, config, status and destroy operations;
  • add Bats contract tests and include them in the existing unit-test workflow;
  • document the new worker contract and the current backend boundary.

SQLite and MariaDB are deliberately rejected by this foundation helper until their dedicated implementations land, so automation cannot accidentally start a partial environment and report it as supported.

Compatibility

The Compose interpolation keeps MySQL as the default and preserves legacy PostgreSQL selection through DB_HOST=pgsql.

Validation

Part of #140

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
@vitormattos
vitormattos merged commit bf0ceb6 into main Oct 3, 2026
8 checks passed
@vitormattos
vitormattos deleted the feat/worker-lifecycle-foundation branch October 3, 2026 17:47
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.

Add an automated isolated test-worker lifecycle with full database matrix support

1 participant