Skip to content

[Docs] Explain source-controlled environment definitions - #1171

Draft
roomote-roomote[bot] wants to merge 2 commits into
developfrom
feature/environment-yaml-source-control-1lpahey0lpxoe
Draft

[Docs] Explain source-controlled environment definitions#1171
roomote-roomote[bot] wants to merge 2 commits into
developfrom
feature/environment-yaml-source-control-1lpahey0lpxoe

Conversation

@roomote-roomote

@roomote-roomote roomote-roomote Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Opened on behalf of Matt Rubens. Follow up by mentioning @roomote-roomote, in the web UI, or in Slack.

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.

@roomote-community

roomote-community Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

2 issues outstanding. See task

  • apps/docs/environments/definition.mdx:47 Include the override file in the documented Compose command so the mount and environment variable are applied.
  • apps/docs/environments/definition.mdx:83 Correct the claim that startup logs identify every created, updated, and unchanged definition.

Reviewed ab1a0bd

environments/
web.yaml
api.yaml
docker-compose.override.yml

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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.

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.

1 participant