[Docs] Explain source-controlled environment definitions - #1171
[Docs] Explain source-controlled environment definitions#1171roomote-roomote[bot] wants to merge 2 commits into
Conversation
|
2 issues outstanding. See task
Reviewed ab1a0bd |
| environments/ | ||
| web.yaml | ||
| api.yaml | ||
| docker-compose.override.yml |
There was a problem hiding this comment.
The documented docker-compose.override.yml is not loaded by the supported self-host commands in SELF_HOSTING.md: they invoke Compose with an explicit -f list, which disables automatic override-file discovery. Following this layout therefore leaves the API without both the bind mount and ROOMOTE_ENVIRONMENTS_DIR; show the required extra -f docker-compose.override.yml (or a config file included in the deployment command) so the files actually apply.
| </Warning> | ||
|
|
||
| After deployment, open **Settings > Environments** and confirm that each | ||
| environment has the **Managed from file** badge. API startup logs also report |
There was a problem hiding this comment.
The bootstrap code logs only aggregate counts for created, updated, and unchanged definitions; it names individual sources only when they are skipped. This wording promises per-definition outcome logging that operators cannot get, so please describe the startup summary as counts and retain the detailed log claim only for skipped definitions.
What changed
Added an end-to-end guide for keeping Roomote environment definitions in source control. It clearly separates the hosted workflow (review in git, then manually paste the YAML into the environment editor) from self-hosted automatic file reconciliation, including a recommended repository layout, read-only Compose mount, startup configuration, deployment lifecycle, verification steps, and secret-handling guidance.
Also corrected the related declarative-environment documentation to match runtime behavior: repositories must be linked before a definition can apply, skipped definitions are retried at startup, and removing a definition returns its environment to manual management without deleting it.
Why this change was made
The existing docs mentioned that definitions could live in git but did not explain how to apply checked-in files safely or distinguish the hosted and self-hosted workflows. Teams need a concrete workflow that does not imply Roomote Cloud automatically reads or syncs environment files from their repositories.
Impact
Hosted teams can use git and pull requests as the review source while applying changes manually through the YAML editor. Self-hosted operators also get clear automatic reconciliation, deployment, and verification steps. This is documentation-only and does not change runtime behavior.