Skip to content

fix(compose): stop creating config.toml as a directory - #260

Open
floze-the-genius wants to merge 1 commit into
absmach:mainfrom
floze-the-genius:fix/258-config-bind-path
Open

fix(compose): stop creating config.toml as a directory#260
floze-the-genius wants to merge 1 commit into
absmach:mainfrom
floze-the-genius:fix/258-config-bind-path

Conversation

@floze-the-genius

Copy link
Copy Markdown

What does this do?

Closes #258.

The provision wizard writes docker/config.toml as a regular file, but the Propeller Compose file used short bind-mount syntax for that path. If Compose is started before provisioning, Docker creates a missing bind source as a directory. The wizard then cannot replace that directory with the generated TOML file and reports failed to create docker/config.toml file.

This converts all three config mounts (manager, proplet, and proxy) to long bind syntax with bind.create_host_path: false.

Compose will now fail clearly when the provisioned config is missing instead of mutating the host path into a directory. Existing mount targets and runtime behavior are unchanged once the file exists.

Users who already have an empty docker/config.toml/ directory still need to remove it once before running the provision command; Compose will not recreate it afterward.

Verification

  • Parsed docker/compose.propeller.yaml with Docker Compose v5.1.2.
  • Inspected normalized Compose JSON and verified all 3 config mounts have bind.create_host_path == false.
  • Ran go test ./... successfully.
  • Ran git diff --check successfully.

Prevent Docker Compose from creating docker/config.toml as a directory when the provisioned file is missing. Preserve all three existing bind targets while disabling automatic host-path creation.
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.

Bug: Provision wizard fails to create docker/config.toml file

1 participant