Repository navigation
Conversation
Details: TC-2713
Details: TC-2713
Integrate main 23969d8 for the network-create tests exercised by CI; preserve barrier behavior while forwarding the current backend binding and identity arguments. Details: TC-2713
Merged
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds an injectable second storage-root generation and resumable, fenced storage re-encryption with durable bounded verification. Production root acquisition and serving-key configuration remain unchanged.
Deployment restriction: this PR ships ONLY as part of the TC-2713 rotation event. Do not deploy it standalone to a node holding v1 network-key or seed rows. A production-integrated runner, verified manifest and custody record, and an offline migration window must exist first; migrate and verify before resuming serving. Unmigrated v1 operations return HTTP 503 with an actionable
migration_requiredresponse.One canonical, separately hash-pinned manifest covers network and named-key identities from a dated trusted backup.
VerifiedManifestvalidates the file hash, snapshot date, custody metadata, canonical encoding and identities; raw maps cannot bypass it. Network ceremonies are additional consistency checks. Includes a read-only local-snapshot exporter, manifest format/procedure documentation, and an offline library runner that verifies the file and pin before database access or fence activation. Production root wiring and stopping/resuming serving remain rotation-integration prerequisites.Preflight reports missing/mismatched identities only as blocking counts. It checks both directions for snapshot network and seed identities, including allocated public identities with NULL seeds. Networks retain their exact version, public key and stored seal; seeds retain their exact network, path, version and public key. Missing snapshot rows block activation. Existing deterministic or deleted key rows may retain schema-valid NULL seeds. Post-snapshot identities require a fresh trusted snapshot; no target-row fallback exists. Activation and step helpers are crate-private; integrations use the preflighted offline runner. Client-wrap protocols are unchanged.
The exporter requires a lowercase PostgreSQL URI prefix, a single explicit local destination, a validated port and no query overrides. The designated rotation custodian separately records the digest in TC-2713 and TinyCloud Secrets for independent operator retrieval and comparison. The procedure requires restoring the exact checked archive to an isolated local database, with no tunnels/proxies/forwarding. Archive-to-PostgreSQL correspondence remains a custodian-verified operational prerequisite.
CI integration repair at
5ca6ea7a70c05c0aecb73e769e149aa1506f8ada:18696d02with main23969d80. That main history introducedBarrierKeyBackendwith five old trait signatures, causing E0050/E0061. The failing checks were not rerun to confirm the report.23969d80without rebasing or force-pushing. No unrelated S0.6 tinycloud-threshold: durable share store (candidate persistence, positive-proof retirement) #539 threshold-store changes were imported. Full delta from18696d02: three files, 396 insertions/6 deletions, primarily the existing network-create conflict handling and race regressions from Return conflict for duplicate encryption-network creation #540.Current exact-source local validation:
cargo test -p tinycloud-core encryption_network --lib --offline: 242 passed, including SQLite/PostgreSQL network-create races and cleanup-failure behavior.cargo test -p tinycloud-core reencrypt --lib --offline: 50 passed, including SQLite/PostgreSQL migration and exporter integration.TINYCLOUD_ALLOW_LOCAL_PG=1.cargo check -p tinycloud-node --lib --offline,cargo fmt --all --check, andgit diff --check: passed./tmp/tc2713-ci-target; owned PostgreSQL stopped and task artifacts cleaned. Shared target untouched.Exact-head CI run 42850460988 is in progress as last independently checked by the node lead; no CI-green/readiness claim is made from the local results. Exact-head delta review is coordinated through the existing node lead.
Earlier validation at
18696d02: five Python exporter guard tests passed; atde92d462: 253 core encryption and 101 node encryption/HTTP tests passed. Those earlier broader suites were not rerun locally for this focused CI repair.Draft; no standalone merge, deployment, restart, or production access performed.
Details: TC-2713