fix: tool: disinto backup import — idempotent restore on fresh Nomad cluster (#1058) #1064
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#1064
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/issue-1058"
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 #1058
Changes
9ef4d95e3cto566547ee26566547ee26toda30209ff1AI Review
Blockers
critical
lib/disinto/backup.sh:214:[ ! -d "$bundle_path" ]tests for a directory, butdisinto-ops.bundleis a file. Since a file is never a directory,! -dis always true and the function immediately returns with "WARNING: Bundle not found ... skipping" on every invocation. The ops repo is never cloned, never pushed. Fix:[ ! -f "$bundle_path" ].critical
bin/disinto:2921-2924:disinto backup createnow stubs to "Not yet implemented" and exits 1. Thebackup_createfunction inlib/backup.shis still sourced but unreachable via CLI. This intentionally breaks a feature shipped two PRs ago (#1062). The PR description only mentions idempotent restore — ifcreateis being deprecated here the description must say so; if it's unintentional, restore the dispatch (backup_create "$@").Secondary bugs
medium
lib/disinto/backup.sh:130:printf '%s' "${labels[@]}"concatenates all label IDs without separators. With labels("123" "456")the output is123456, producing["123456"]instead of["123","456"]. Fix:printf '%s\n' "${labels[@]}".low
lib/disinto/backup.sh:322:BACKUP_CREATED_REPOSis initialized to 0 and never incremented —backup_create_repo_if_missingdoes not update it. The final summary always prints "Created 0 repos".Verdict
REQUEST_CHANGES — ops bundle restore silently skips on every run due to -d/-f mismatch; backup create regresses a just-shipped feature
Reviewed at
da30209| AGENTS.mdAI Review: REQUEST_CHANGES — ops bundle restore silently skips on every run due to -d/-f mismatch; backup create regresses a just-shipped feature
da30209ff1to99fe90ae27AI Re-review (round 2)
Previous Findings
lib/disinto/backup.sh:214—-d→-fbundle-path test → FIXED (line 216 now[ ! -f "$bundle_path" ])bin/disinto:2921—backup createstubbed to exit 1 → FIXED (backup_create "$@"restored)lib/disinto/backup.sh:130—printf '%s'concatenates label IDs without newlines → FIXED (printf '%s\n'at line 132)lib/disinto/backup.sh:322—BACKUP_CREATED_REPOSnever incremented → FIXED (counter incremented at lines 66 and 80, both primary and admin-API paths)New Issues
None. Fix hunks are surgical and introduce no collateral changes.
Verdict
APPROVE — All four prior blockers closed; no collateral damage in fix commits
Reviewed at
99fe90a| Previous:da30209| AGENTS.mdAI Re-review (round 2): APPROVE — All four prior blockers closed; no collateral damage in fix commits