You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
mirror_worker: implement the add-entries submission API
Stream and verify entry packages against the target pending checkpoint,
persist them as tlog-tiles entry bundles and hash tiles (see commit.rs),
and advance the persisted-entry frontier. A complete upload cosigns the
mirror checkpoint and returns 200; a client-truncated upload persists the
verified prefix and returns 202 with the advanced next entry so the
client can resume (C2SP/C2SP#253).
Persist incrementally every `commit_packages` packages (default 32) so a
long or interrupted upload advances the frontier as it streams rather
than only at the end; each flush commits from the last persisted frontier
and is resumable.
Includes body-decoding (transparent gzip), a streaming buffer adapter,
per-origin prefixed R2 storage, and the ticket-sealer for recovering a
past pending checkpoint on resume.
Copy file name to clipboardExpand all lines: crates/mirror_worker/config.dev.json
+1Lines changed: 1 addition & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,7 @@
5
5
"submission_prefix": "http://localhost:8787/",
6
6
"monitoring_prefix": "http://localhost:8787/",
7
7
"clean_interval_secs": 5,
8
+
"commit_packages": 2,
8
9
"logs": {
9
10
"oid/1.3.6.1.4.1.32473.2": {
10
11
"description": "Dev-only MTC CA cosigner. Key name is the CA ID; the mirror serves log numbers 1-6 as origins oid/1.3.6.1.4.1.32473.2.0.<N>. log_public_keys holds a dev-only ML-DSA-44 SPKI.",
Copy file name to clipboardExpand all lines: crates/mirror_worker/config.schema.json
+7Lines changed: 7 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -30,6 +30,13 @@
30
30
"default": 3600,
31
31
"description": "How often (in seconds) the per-origin partial-tile cleaner wakes to clean orphaned partial tiles from object storage. Defaults to 3600 (one hour) when omitted."
32
32
},
33
+
"commit_packages": {
34
+
"type": "integer",
35
+
"minimum": 1,
36
+
"maximum": 1024,
37
+
"default": 32,
38
+
"description": "How many entry packages add-entries verifies before flushing them to storage and advancing the persisted-entry frontier. Bounds in-memory buffering and gives durable mid-request progress on large uploads. Defaults to 32 (the recommended per-request package budget) when omitted; capped at 1024 to bound worst-case buffering."
39
+
},
33
40
"logs": {
34
41
"type": "object",
35
42
"description": "CAs this mirror mirrors, keyed by log_key_name: the CA cosigner's note-signature name (the CA ID) on the checkpoints it ingests. Used as a signed-note key name at runtime, so per c2sp.org/signed-note it MUST NOT contain '+', whitespace, or control characters.",
0 commit comments