ADR 0010: Database dump seed for new and ephemeral environments¶
- Status: Accepted (partially superseded — see Consequences)
- Date: 2026-07-21
- Superseded-by (attach scope only): Phase 8 / ATTACH-02 — brownfield-attach.md
Context¶
Agencies and small e-merchants need static and ephemeral environments seeded from a known Magento database dump (catalog, CMS, sample B2B data). MageLift already creates greenfield infrastructure; without a seed path, every new environment starts empty and burns operator time.
Decision¶
magelift env create --dump <path>recordsenvironments.<name>.seedDumpas a local path (or later a secret-ref URI) inmagelift.yaml.- The path is validated for readability at create time. Import into the managed MySQL/Aurora instance runs after the environment’s first successful infrastructure deploy and Magento install/upgrade candidate — not during Pulumi resource create.
- AWS ECS Fargate is the first import implementation target (one-off migrate-style
task or
magelift exechelper). Other providers follow the same config field. - Until the import runner ships, the CLI records the dump and surfaces
seedDumpStatusso operators know the contract without a silent no-op.
Consequences¶
- Ephemeral preview envs can be created with
--dump+ TTL (expiresAt) and swept later. - Dumps must not be committed when they contain PII; operators keep them outside git or use sanitized fixtures.
- ~~Brownfield “attach existing DB” remains out of scope (nice-to-have later).~~
Superseded (Phase 8 / ATTACH-02): AWS RDS MySQL adopt via
target.aws.existing.databaseis in scope — see brownfield-attach.md. Dump-seed decision (items 1–4 above) is otherwise unchanged. Cloud SQL and non-AWS DB attach remain out of scope this milestone.
Alternatives¶
- Import inside Pulumi: rejected — dumps are large, slow, and not IaC state.
- Only document manual
mysql < dump.sql: rejected — too weak for the persona.
Provenance¶
Product audit roadmap (July 2026); Chantelle / agency multi-env workflows.