2.2 KiB
2.2 KiB
Concelier LNM Release Plan (DEVOPS-LNM-21-101-REL / 102-REL / 103-REL)
Scope: package and publish Link-Not-Merge migrations/backfill/object-store seeds for release and offline kits.
Artefacts
- Migration bundles:
- 21-101 shard/index migrations (
EnsureLinkNotMergeShardingAndTtlMigration) - 21-102 backfill/tombstone/rollback scripts
- 21-103 object-store seed bundle (once contract final)
- 21-101 shard/index migrations (
- Checksums (
SHA256SUMS, signed) - SBOMs (spdx.json) for migration runner image/tooling
- Cosign attestations for images/bundles
- Offline kit slice tarball with all above + DSSE manifest
Pipeline outline
- Build migration runner image (dotnet) with migrations baked; generate SBOM; pin digest.
- Export migration scripts/bundles to
artifacts/lnm/. - Create offline bundle:
migrations/21-101/(DLLs, scripts, README)migrations/21-102/(backfill, rollback, README)seeds/object-store/(placeholder until 21-103 dev output)SHA256SUMS+.sig- SBOMs + cosign attestations
- Verification stage:
dotnet teston migration runnercosign verify-blobfor bundlessha256sum --check
- Publish:
- Upload to release bucket + offline kit
- Record manifest (hashes, versions, digests)
Runbook (apply in staging → prod)
- Take Mongo backup; freeze Concelier ingest.
- Apply 21-101 migrations (shards/TTL) — idempotent; record duration.
- Run 21-102 backfill with
--batch-size=500 --stop-on-error; capture report hash. - Validate counts (observations/linksets/events) and shard balance.
- Enable outbox publishers; monitor lag and errors.
- (When ready) apply 21-103 object-store migration: move raw payloads to object store; verify CAS URIs; keep GridFS read-only during move.
Rollback
- 21-101: restore from backup if shard layout breaks; migrations are idempotent.
- 21-102: run rollback script (
ops/devops/scripts/rollback-lnm-backfill.js); if inconsistent, restore backup. - 21-103: switch back to GridFS URI map; restore seeds.
Monitoring/alerts
- Migration error count > 0
- Mongo oplog lag > 60s during backfill
- Outbox backlog growth post-unfreeze
Owners
- DevOps Guild (pipeline + rollout)
- Concelier Storage Guild (migration content)
- Platform Security (signing policy)