chore(compose): remove bigtable emulator from demo stack#296
Draft
haileyok wants to merge 1 commit into
Draft
Conversation
Bigtable is optional in osprey: the BigTable client is lazily constructed and only used when OSPREY_EXECUTION_RESULT_STORAGE_BACKEND is set to BIGTABLE. The demo stack uses MINIO, so the bigtable emulator + initializer just slow down boot for no functional value. Removes the bigtable and bigtable-initializer services, drops the BIGTABLE_EMULATOR_HOST env from osprey-worker and osprey-ui-api, and updates the demo-stack listing in AGENTS.md. Closes #96 (per @vinaysrao1 comment). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Contributor
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Removes the
bigtableandbigtable-initializerservices fromdocker-compose.yaml, along with theBIGTABLE_EMULATOR_HOSTenv var onosprey-workerandosprey-ui-api. The demo stack uses MinIO for execution-result storage (OSPREY_EXECUTION_RESULT_STORAGE_BACKEND=minio), so the bigtable emulator was unused dead weight slowing down boot for demo users.Closes #96 — per @vinaysrao1:
Why this is safe (investigation findings)
Bigtable is optional in osprey — not load-bearing at boot:
_stdlibplugin/sink_register.pyselects an execution-result store viaOSPREY_EXECUTION_RESULT_STORAGE_BACKEND. Demo is set tominio, which returnsStoredExecutionResultMinIO.StoredExecutionResultBigTableis only constructed when the backend isBIGTABLE.osprey_bigtableinlib/storage/bigtable.pyis a lazy singleton. Its_setup_client_instance()(which callsClient(...)) only runs when.table()or.bootstrap()is invoked. Importing the module is side-effect-free beyond registering a config callback._bootstrap_bigtable()incli/sinks.pyonly runs whenrun-rules-sink --bootstrap-bigtableis passed. The worker entrypoint (entrypoint.sh→cli-osprey-worker) does not pass that flag.access_audit_log.pyreferences bigtable, but all of those lines are commented out.bigtableorbigtable-initializerindepends_on, so nothing else needed editing.docker compose -f docker-compose.yaml config --quietpasses after the change.Scope
docker-compose.yaml: remove two services + two env vars.AGENTS.md: update the demo-stack listing comment to drop "Bigtable emulator".Out-of-scope follow-ups (intentionally not addressed here)
init-bigtable.shis now orphaned (only referenced by the removedbigtable-initializerservice). Left in place to keep the diff scoped; safe to delete in a follow-up.docker-compose.test.yamlandexample_docker_compose/run_osprey_with_coordinator/docker-compose.coordinator.yamlstill reference bigtable. Out of scope for the demo-stack issue.google-cloud-bigtable==2.10.0is still inpyproject.tomlbecauseStoredExecutionResultBigTableremains a valid backend choice for non-demo deployments.Checklist
uv run ruff check .— n/a (no Python changes)uv tool run fawltydeps --check-unused --pyenv .venv— n/a (no dep changes)CHANGELOG.mdwith my changes, if applicable — n/a (compose-only demo cleanup)