Skip to content

Fix archived plugin migration and preserve runtime project identity - #184

Open
mstrhakr wants to merge 9 commits into
devfrom
fix/183-legacy-plugin-migration
Open

mstrhakr wants to merge 9 commits into
devfrom
fix/183-legacy-plugin-migration

Conversation

@mstrhakr

Copy link
Copy Markdown
Owner

Summary

Fixes #183. Explicitly support migration from the archived dcflachs Compose Manager without silently changing Docker project identity or effective Compose inputs.

  • Preserve exact valid historical PHP/event-script identities, including hyphens and repeated separators; probe running/stopped containers, volumes and networks, corroborating container working directories.
  • Record original-plugin provenance from runtime files or parsed active/removed manifests. Preserve older compose.yml, Name, envToUse and envPath metadata without overriding current settings.
  • Recover and pin ordered Compose inputs from runtime config_files labels. Block conflicting/partial evidence, missing inputs and duplicate ownership instead of guessing.
  • Use locked/atomic identity receipts, preserve replaced pins, audit old incorrect pins once, and expose all valid recovery candidates in the existing chooser.
  • Prevent managed-stack lookup/update fallbacks from bypassing failed migrations. Deferred schedules retain retry eligibility.
  • Add actual autostart/shutdown integration tests, scheduler/manual-update guards, concurrent receipt tests, isolated browser coverage and disposable real-Docker migration cases.

Validation

  • Full PHPUnit suite: 1,181 tests, 5,429 assertions, no failures; one deprecation and eight skips.
  • Opt-in real-Docker matrix: 4 cases, 94 assertions passed, covering running/stopped/volume-only stacks, reversed file precedence, explicit container names and bind-backed data. Generated test resources cleaned up.
  • Bats helper/wrapper suites: 63 tests passed.
  • Isolated Chromium identity-chooser regression passed.
  • Scoped PHPStan, shell syntax/error-level lint, JS syntax and documentation-link checks passed.

Release Gates

Local implementation gaps are addressed; PR is ready for code review, not a claim that host acceptance is complete. Version/release metadata is unchanged.

  • Verify real Community Applications reinstall with custom roots and temporarily unavailable storage.
  • Verify original-to-Plus installation/reboot on supported Unraid versions, including obsolete events/packages and legacy WebUI patches.
  • Exercise host-level autostart, scheduled updates and shutdown with external env files/relative bind mounts.
  • Verify complete live conflict recovery and rollback using backed-up metadata.

See docs/legacy-migration.md for archived-history/installer audit, recovery limitations and acceptance gates. No automatic resource renaming, stack recreation or destructive migration is performed.

Signed-off-by: mstrhakr <mstrhakr@gmail.com>
Signed-off-by: mstrhakr <mstrhakr@gmail.com>
Copilot AI balanced review requested due to automatic review settings October 22, 2026 19:10

This comment was marked as resolved.

Signed-off-by: mstrhakr <mstrhakr@gmail.com>
Signed-off-by: mstrhakr <mstrhakr@gmail.com>
Signed-off-by: mstrhakr <mstrhakr@gmail.com>
Signed-off-by: mstrhakr <mstrhakr@gmail.com>
Signed-off-by: mstrhakr <mstrhakr@gmail.com>
Signed-off-by: mstrhakr <mstrhakr@gmail.com>
Signed-off-by: mstrhakr <mstrhakr@gmail.com>
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.

2 participants