ask-bound-seconds and view-waits-seconds are read by the keeper's own code at its start (settings.go ReadSettings, stdio.Config), so the manifest marks them runtime: true; go.mod requires meshcatalogclient at the zero version, which cmd/mesh-conditions/branches.go imports (the requiredmodules check). Builds: design 47 G §557 Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
109 lines
2.5 KiB
JSON
109 lines
2.5 KiB
JSON
{
|
|
"module": "mesh-conditions",
|
|
"version": "0.1",
|
|
"runs-as": "mesh-conditions",
|
|
"claims": [
|
|
{
|
|
"name": "mesh-conditions",
|
|
"scope": "mesh",
|
|
"serves": [
|
|
"conditions",
|
|
"silence",
|
|
"resync"
|
|
]
|
|
}
|
|
],
|
|
"reads": [
|
|
"mesh-healers.attempts",
|
|
"node-engine.have"
|
|
],
|
|
"invokes": [
|
|
"mesh-delivery-assigner.assigner_read_wants",
|
|
"mesh-delivery-assigner.assigner_read_assignments",
|
|
"seat:mesh-hand-acts.hand-act",
|
|
"seat:mesh-wants.revision",
|
|
"seat:mesh-catalog.registrations",
|
|
"seat:mesh-catalog.revision",
|
|
"seat:mesh-broker.list"
|
|
],
|
|
"consumes": [
|
|
"mesh-delivery-assigner.views.wants",
|
|
"mesh-delivery-assigner.views.assignments",
|
|
"*.finding-written",
|
|
"*.finding-cleared",
|
|
"*.findings-stated",
|
|
"mesh-watchdogs.machine-away",
|
|
"mesh-watchdogs.machine-back",
|
|
"mesh-wants.assignment-revision",
|
|
"mesh-catalog.registration-changed",
|
|
"mesh-catalog.catalog-revision",
|
|
"mesh-broker.created",
|
|
"node-engine.running"
|
|
],
|
|
"state": [
|
|
"conditions",
|
|
{
|
|
"name": "history",
|
|
"ttl-seconds": 7776000
|
|
},
|
|
"held",
|
|
"findings-views",
|
|
{
|
|
"name": "bounds",
|
|
"key-ttl": true
|
|
}
|
|
],
|
|
"config": {
|
|
"ask-bound-seconds": {
|
|
"type": "number",
|
|
"description": "How long an observer has to state its findings after an ask, in seconds, before the keeper raises findings-unstated for it: 300 is five minutes.",
|
|
"minimum": 1,
|
|
"default": 300,
|
|
"runtime": true
|
|
},
|
|
"view-waits-seconds": {
|
|
"type": "number",
|
|
"description": "How long a first view may stay unanswered, in seconds, before the keeper raises view-waits for it: 300 is five minutes.",
|
|
"minimum": 1,
|
|
"default": 300,
|
|
"runtime": true
|
|
}
|
|
},
|
|
"own-secrets": {
|
|
"broker": "${dir:state}/broker"
|
|
},
|
|
"secrets-owner": "mesh-conditions",
|
|
"resources": [
|
|
{
|
|
"id": "account",
|
|
"type": "user",
|
|
"name": "mesh-conditions",
|
|
"shell": "/usr/bin/nologin",
|
|
"home": "/var/lib/mesh-conditions"
|
|
},
|
|
{
|
|
"id": "state",
|
|
"type": "directory",
|
|
"mode": "0700",
|
|
"owner": "mesh-conditions",
|
|
"place": ".",
|
|
"unknown": "program"
|
|
}
|
|
],
|
|
"build": {
|
|
"artifacts": [
|
|
{
|
|
"name": "tools",
|
|
"kind": "bundle",
|
|
"language": "go",
|
|
"system": "arch",
|
|
"from": "cmd/mesh-conditions",
|
|
"binary": "mesh-conditions",
|
|
"loads": [
|
|
"mesh-conditions"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|