A5 Migration from an existing stack
- Area
- A — Getting started
- Audience
- operator
- Kind
- feature
- Status
- accepted
- Maturity
- building
- Labels
- ux, storage
The feature in the specification · Read at
Requirements
Migration MUST begin with a read-only survey that modifies nothing.
- locked by
- 0.13.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/migration.rscrates/lemonfiber-core/src/migration/standing.rscrates/lemonfiber-core/src/migration/carrying.rscrates/lemonfiber-core/src/migration/mode.rscrates/lemonfiber-core/src/migration/image.rscrates/lemonfiber-core/src/migration/run.rs
- cited by
- lemonfiber@50a9bc0d07
The survey MUST report every detected service, config source, and library location before any plan is proposed.
- locked by
- 0.13.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/migration.rscrates/lemonfiber-core/src/migration/standing.rscrates/lemonfiber-core/src/migration/carrying.rscrates/lemonfiber-core/src/migration/mode.rscrates/lemonfiber-core/src/migration/image.rscrates/lemonfiber-core/src/migration/run.rs
- cited by
- lemonfiber@5e717c267elemonfiber@50a9bc0d07
Adopt MUST be the default mode; replacement MUST NOT be preselected.
- locked by
- 0.13.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/migration/mode.rscrates/lemonfiber-core/src/app/adopt.rscrates/lemonfiber-core/src/app/beside.rscrates/lemonfiber-core/src/app/replace.rscrates/lemonfiber-core/src/app/import.rscrates/lemonfiber/tests/architecture/what_a_migration_may_reach.rs
- cited by
- lemonfiber@e6cd57b374lemonfiber@a9df5816b8lemonfiber@7cf38d6010lemonfiber@5e717c267e
lemonfiber MUST NOT move, rename, or reorganise existing media as part of migration.
Side-by-side evaluation on alternative ports MUST be supported.
- locked by
- 0.13.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/migration/mode.rscrates/lemonfiber-core/src/app/adopt.rscrates/lemonfiber-core/src/app/beside.rscrates/lemonfiber-core/src/app/replace.rscrates/lemonfiber-core/src/app/import.rscrates/lemonfiber/tests/architecture/what_a_migration_may_reach.rs
- cited by
- lemonfiber@52a7cb5ff4lemonfiber@ac759019d1
lemonfiber MUST refuse to downgrade an existing arr database and MUST explain why.
An upgrade of an existing arr database MUST require a backup first.
Items that could not be migrated MUST be enumerated explicitly.
A failed or abandoned migration MUST leave the pre-existing setup functional.
- locked by
- 0.13.0 uncited
- recorded done
- lemonfibercrates/lemonfiber-core/src/migration/mode.rscrates/lemonfiber-core/src/app/adopt.rscrates/lemonfiber-core/src/app/beside.rscrates/lemonfiber-core/src/app/replace.rscrates/lemonfiber-core/src/app/import.rscrates/lemonfiber/tests/architecture/what_a_migration_may_reach.rs
An existing layout that breaks hardlinks MUST be reported with its cost quantified, and a remedy offered but not forced.
- locked by
- 0.13.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/migration/linking.rs
- cited by
- lemonfiber@39931b1757
Port conflicts with existing services MUST be detected before any plan is proposed.
- locked by
- 0.13.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/migration.rscrates/lemonfiber-core/src/migration/standing.rscrates/lemonfiber-core/src/migration/carrying.rscrates/lemonfiber-core/src/migration/mode.rscrates/lemonfiber-core/src/migration/image.rscrates/lemonfiber-core/src/migration/run.rs
- cited by
- lemonfiber@52a7cb5ff4lemonfiber@50a9bc0d07
Unsupported existing components MUST be named as unsupported rather than silently ignored.
- locked by
- 0.13.0 uncited
- recorded done
- lemonfibercrates/lemonfiber-core/src/migration.rscrates/lemonfiber-core/src/migration/standing.rscrates/lemonfiber-core/src/migration/carrying.rscrates/lemonfiber-core/src/migration/mode.rscrates/lemonfiber-core/src/migration/image.rscrates/lemonfiber-core/src/migration/run.rs
Reading what a replacement would stop MUST answer with an offer naming what it would stop; the replacement MUST take that offer as its yes, alike at the command line and over the web API (ARCH-R48), MUST build it again from what is running when it acts, and MUST be refused, naming what moved, where the two differ (N7-R18).
The survey's migration envelope MUST carry, for each service it found, where that service's configuration is read from and where its library is, or MUST say that either could not be read, so that no surface works them out from a service's name or ports (A5-R2, N7-R11).
- locked by
- 0.18.0 open