Merge branch 'feat/47-G-recover-host' into feat/47-G-join8

# Conflicts:
#	internal/selfcompose/entries.go
#	module.json
This commit is contained in:
2026-11-12 00:27:57 +01:00
27 changed files with 1716 additions and 11 deletions
+24 -1
View File
@@ -41,13 +41,18 @@
],
"invokes": [
"seat:mesh-catalog.entry",
"seat:mesh-catalog.seat-definitions"
"seat:mesh-catalog.seat-definitions",
"seat:mesh-recovery.kept-points",
"seat:mesh-recovery.restore-kept",
"seat:mesh-recovery.snapshot-kept"
],
"consumes": [
"mesh-catalog.seat-definition-changed",
"mesh-catalog.seat-definition-removed",
"mesh-conditions.findings-asked",
"mesh-delivery-view.settled",
"mesh-recovery.ended",
"mesh-recovery.restored",
"node-engine.running",
"restic.backed-up"
],
@@ -71,9 +76,20 @@
},
{
"name": "packages"
},
{
"name": "bounds",
"history": 1,
"key-ttl": true
}
],
"config": {
"recovery-wait-minutes": {
"type": "number",
"description": "How long the node agent waits for the recovery module to end an act it asked before a module moves across a change of a kept data's form, or at a revert, in minutes, counted from its first ask; past it the have says the wait (design 47 G section 554).",
"minimum": 1,
"default": 90
},
"operator-signers": {
"type": "string",
"description": "The operator's public keys, ed25519 in base64, one a line: the node applies a composition made by hand only when one of these signed it (ADR 0539 clause 3). Public keys, no secret. Empty trusts no operator key.",
@@ -108,6 +124,13 @@
"path": "/var/lib/mesh-host/operator-keys",
"mode": "0644",
"content": "${config:operator-signers}\n"
},
{
"id": "recovery-wait",
"type": "file",
"path": "/var/lib/mesh-host/recovery-wait-minutes",
"mode": "0644",
"content": "${config:recovery-wait-minutes}\n"
}
]
}