refactor: drop compose profiles — osa start/stop manage the whole stack - #18
Merged
Conversation
Profiles added indirection for no benefit now that the dashboard is a default service. Remove them so `osa start` brings up every service in the compose template and `osa stop` (docker compose down, which is project-wide) tears them all down. - compose: drop `profiles: - ui` from the dashboard; comment out the out-of-date `web` service (uncomment to re-enable once it's updated). - instance: `_build_compose_command` no longer takes/emits profiles; `start_instance` drops the `with_ui` param and always reports the dashboard URL. Fix the stale `--with-ui` note in the .env template. - main: remove the `--no-ui` flag. - tests: assert `--profile` is never emitted; drop the with_ui/no-ui cases.
Greptile SummaryThe PR removes Compose profile bookkeeping so
Confidence Score: 5/5The PR appears safe to merge, with profile removal applied consistently across the CLI, Compose template, and tests. No concrete changed-code-triggered failure remains; removed parameters have no stale callers, and the supported Compose services align with the new unconditional startup behavior.
|
| Filename | Overview |
|---|---|
| osa/cli/instance.py | Removes profile command construction and conditional dashboard handling without leaving dangling callers or abstractions. |
| osa/cli/main.py | Removes the --no-ui option and consistently delegates startup of the full supported stack. |
| osa/cli/templates/docker-compose.yml | Makes the dashboard unconditional and excludes the stale web service by commenting out its complete definition. |
| tests/test_instance.py | Replaces profile-specific cases with assertions that default and source-based startup never emits profile arguments. |
| uv.lock | Updates only the editable root package version; reported vulnerable transitive versions are unchanged from the base revision. |
Reviews (1): Last reviewed commit: "refactor: drop compose profiles — osa st..." | Re-trigger Greptile
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.
What
Removes docker compose profiles from the local stack. Now
osa startbrings up every service in the compose template, andosa stop(docker compose down, which operates project-wide) tears them all down — no profile bookkeeping.Profiles were gating two services:
dashboard(profileui) — already started by default, so the profile bought nothing.web(profileweb) — the out-of-date end-user app, deliberately excluded.Changes
profiles: - uifromdashboard; comment out thewebservice (uncomment to re-enable once it's updated — it no longer needs a profile).instance.py:_build_compose_commandno longer takes or emits--profile;start_instancedrops thewith_uiparam and always prints the dashboard URL. Fixed the stale--with-uireference in the.envtemplate comment.main.py: remove the--no-uiflag;osa startdocstring is now "(API + dashboard)".--profileis never emitted (base command, default start,--sourcestart); dropped thewith_ui/--no-uicases.Behavior note
There's no longer a headless/API-only mode —
osa startalways requires the dashboard image to be pullable. Easy to add a--no-dashboardflag back if CI needs it.Verification
uv run pytest tests/— 379 passedruff check/ruff format/ty check— cleandocker compose config --serviceslists exactlydb,docker-socket-proxy,server,dashboard(web excluded, dashboard always present)docker compose down(no profile) removes a profiled container, soosa stopfully tears the stack downThe first commit (
chore: sync uv.lock to 0.8.0) resolves pre-existing lock drift —main'suv.lockwas stale at 0.7.0, which thetypre-commit hook kept regenerating.