Repository navigation
Conversation
A data store migrated with recreate or managed keeps its source container running, so a writable bind mount it owns would be written by the source and the target at the same time. Live apply now refuses such plans before any target mutation, and status points at moving the data to a named volume instead of suggesting the strategy that triggered the refusal. Resuming a legacy run whose first project creation has no known outcome now fails closed as writer-authority ambiguous. A creation explicitly rejected without mutation still retries under the current plan. The migration guide documents the refusal and how to recover preserved bind mounts before restarting the source.
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.
A data store migrated with
recreateormanagedkeeps its source container running. If that store writes to a bind mount, the target would mount the same host paths while the source still writes them. Live apply now refuses those plans before it touches the target, andstatuspoints at moving the store's data to a named volume instead of suggesting the strategy that caused the refusal. Read-only binds and stores usingmigrateare unaffected. The refusal also applies when resuming an older run with this layout, because the remaining steps would still run the target against the shared paths. Rollback and source cleanup have no push step, so they are not blocked.Resuming a legacy run whose first project creation started or failed without a known outcome now fails closed as writer-authority ambiguous, since Bort cannot tell whether a target project exists. A creation explicitly rejected without mutation still takes the fresh-retry path from #44.
The migration guide documents the refusal and adds recovery guidance for preserved bind mounts: remove every target container mounting the shared paths before restarting the source, and keep future target deployments from mounting them again.