fix: infra: disinto up should regenerate compose/Caddyfile from lib/generators.sh and reconcile orphans before docker compose up -d (#770) #783
No reviewers
Labels
No labels
action
backlog
blocked
bug-report
cannot-reproduce
in-progress
in-triage
needs-triage
prediction/actioned
prediction/dismissed
prediction/unreviewed
priority
rejected
reproduced
tech-debt
underspecified
vision
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: disinto-admin/disinto#783
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/issue-770"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Fixes #770
Changes
disinto upshould regenerate compose/Caddyfile from lib/generators.sh and reconcile orphans beforedocker compose up -d(#770)_regen_filedoes not restore stash if generator fails — compose file lost at temp path #784AI Review
Summary
This PR wires
disinto upto regeneratedocker-compose.ymlanddocker/Caddyfilefromlib/generators.shon every run, and adds--remove-orphansto the compose invocation. Both changes directly address #770 and are correctly implemented.Scope
Tight single-file diff matching the stated issue. No scope creep.
Findings
bin/disinto:1439:_regen_filemoves the target file to a temp stash before calling the generator, but does not restore it if the generator fails. Underset -euo pipefail, a generator failure exits the script immediately, leaving the original file stranded at${target}.stash.XXXXXXwith no automatic recovery. The user would have to find and rename the hidden temp file manually. Filed as tech-debt in #784.Checks
lib/generators.sh:238-240andlib/generators.sh:660-662. The_regen_filemove-aside trick is necessary and correct.--buildalways passed — benign when no localbuild:sections exist in compose; no-op in that case.${compose_args[@]+"${compose_args[@]}"}pattern — correct safe empty-array idiom underset -u.--no-regenescape hatch — well-designed; prints a drift warning and passes remaining args through cleanly.forge_portextraction — uses same sed logic asdisinto_init; pre-existing edge case (URL without explicit port) is out of scope here.disinto upbehavior is not documented there; no doc update required.Verdict
APPROVE — Correctly regenerates compose/Caddyfile and adds --remove-orphans; one medium tech-debt filed separately (#784)
Reviewed at
53ce7ad| AGENTS.mdAI Review: APPROVE — Correctly regenerates compose/Caddyfile and adds --remove-orphans; one medium tech-debt filed separately (#784)