Some checks failed
AOC Guard CI / aoc-guard (push) Has been cancelled
AOC Guard CI / aoc-verify (push) Has been cancelled
Concelier Attestation Tests / attestation-tests (push) Has been cancelled
Docs CI / lint-and-preview (push) Has been cancelled
Policy Lint & Smoke / policy-lint (push) Has been cancelled
Scanner Analyzers / Discover Analyzers (push) Has been cancelled
Scanner Analyzers / Build Analyzers (push) Has been cancelled
Scanner Analyzers / Test Language Analyzers (push) Has been cancelled
Scanner Analyzers / Validate Test Fixtures (push) Has been cancelled
Scanner Analyzers / Verify Deterministic Output (push) Has been cancelled
wine-csp-build / Build Wine CSP Image (push) Has been cancelled
- Implemented PqSoftCryptoProvider for software-only post-quantum algorithms (Dilithium3, Falcon512) using BouncyCastle. - Added PqSoftProviderOptions and PqSoftKeyOptions for configuration. - Created unit tests for Dilithium3 and Falcon512 signing and verification. - Introduced EcdsaPolicyCryptoProvider for compliance profiles (FIPS/eIDAS) with explicit allow-lists. - Added KcmvpHashOnlyProvider for KCMVP baseline compliance. - Updated project files and dependencies for new libraries and testing frameworks.
3.1 KiB
3.1 KiB
Concelier Backfill & Rollback Plan (STORE-AOC-19-005-DEV)
Objective
Prepare and rehearse the raw-linkset backfill/rollback so Concelier Mongo reflects Link-Not-Merge data deterministically across dev/stage. This runbook unblocks STORE-AOC-19-005-DEV.
Inputs
- Source dataset: staging export tarball
linksets-stage-backfill.tar.zst. - Expected placement:
out/linksets/linksets-stage-backfill.tar.zst. - Hash: record SHA-256 in this file once available (example below).
Example hash capture (replace with real):
$ sha256sum out/linksets/linksets-stage-backfill.tar.zst
3ac7d1c8f4f7b5c5b27c1c7ac6d6e9b2a2d6d7a1a1c3f4e5b6c7d8e9f0a1b2c3 out/linksets/linksets-stage-backfill.tar.zst
Preflight
- Environment variables:
CONCELIER_MONGO_URIpointing to the target (dev or staging) Mongo.CONCELIER_DB(defaultconcelier).
- Take a snapshot of affected collections:
mongodump --uri "$CONCELIER_MONGO_URI" --db "$CONCELIER_DB" --collection linksets --collection advisory_chunks --out out/backups/pre-run - Ensure write lock is acceptable for the maintenance window.
Backfill steps
- Extract dataset:
mkdir -p out/linksets/extracted tar -xf out/linksets/linksets-stage-backfill.tar.zst -C out/linksets/extracted - Import linksets + chunks (bypass validation to preserve upstream IDs):
mongoimport --uri "$CONCELIER_MONGO_URI" --db "$CONCELIER_DB" \ --collection linksets --file out/linksets/extracted/linksets.ndjson --mode=upsert --upsertFields=_id mongoimport --uri "$CONCELIER_MONGO_URI" --db "$CONCELIER_DB" \ --collection advisory_chunks --file out/linksets/extracted/advisory_chunks.ndjson --mode=upsert --upsertFields=_id - Verify counts vs manifest:
jq '.' out/linksets/extracted/manifest.json mongo --quiet "$CONCELIER_MONGO_URI/$CONCELIER_DB" --eval "db.linksets.countDocuments()" mongo --quiet "$CONCELIER_MONGO_URI/$CONCELIER_DB" --eval "db.advisory_chunks.countDocuments()" - Dry-run rollback marker (no-op unless
ENABLE_ROLLBACK=1set):ENABLE_ROLLBACK=0 python scripts/concelier/backfill/rollback.py --manifest out/linksets/extracted/manifest.json
Rollback procedure
- If validation fails, restore from preflight dump:
mongorestore --uri "$CONCELIER_MONGO_URI" --drop out/backups/pre-run - If partial write detected, rerun mongoimport for the affected collection only with
--mode=upsert.
Validation checklist
- Hash of tarball matches recorded SHA-256.
- Post-import counts align with
manifest.json. - Linkset cursor pagination smoke test:
dotnet test src/Concelier/StellaOps.Concelier.WebService.Tests --filter LinksetsEndpoint_SupportsCursorPagination - Storage metrics (if enabled) show non-zero
concelier_storage_import_totalfor this window.
Artefacts to record
- Tarball SHA-256 and size.
manifest.jsoncopy stored alongside tarball.- Import log (
out/linksets/import.log) and validation results. - Decision: maintenance window and rollback outcome.
Owners
- Concelier Storage Guild (Mongo)
- AirGap/Backfill reviewers for sign-off