Seat list reader: calls the seat mesh-catalog's seat-definitions and hears its changed and removed events, acts on nothing new until read, two runtime tools; bootstrap gains mesh-conditions, operator-channel and the contracts' current files (ADR 0636 §1-§4, §7; issue 1966)
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
This commit is contained in:
@@ -709,6 +709,367 @@
|
||||
"name": "node-engine.events",
|
||||
"max-age-days": 7
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "have",
|
||||
"template": "state",
|
||||
"key-forms": [
|
||||
{
|
||||
"key": "<node>.<module>",
|
||||
"value": {
|
||||
"type": "object",
|
||||
"description": "one module's state on a node: what the engine has built, composed and run",
|
||||
"properties": {
|
||||
"v": {
|
||||
"type": "integer"
|
||||
},
|
||||
"fp": {
|
||||
"type": "string",
|
||||
"description": "the fingerprint held"
|
||||
},
|
||||
"composed": {
|
||||
"type": "string",
|
||||
"description": "the composition's digest"
|
||||
},
|
||||
"build": {
|
||||
"type": "string"
|
||||
},
|
||||
"phase": {
|
||||
"type": "string",
|
||||
"description": "how far it has come"
|
||||
},
|
||||
"health": {
|
||||
"type": "string",
|
||||
"description": "how it is"
|
||||
},
|
||||
"detail": {
|
||||
"type": "string"
|
||||
},
|
||||
"user-list": {
|
||||
"type": "object",
|
||||
"description": "the user list written"
|
||||
},
|
||||
"judgement": {
|
||||
"type": "string"
|
||||
},
|
||||
"waits": {
|
||||
"type": "string",
|
||||
"description": "what it waits for"
|
||||
},
|
||||
"build-alone": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"kept": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"sealed": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"sealed-at": {
|
||||
"type": "object"
|
||||
},
|
||||
"pull-wait": {
|
||||
"type": "object",
|
||||
"description": "a pull the engine waits for"
|
||||
},
|
||||
"handed": {
|
||||
"type": "object",
|
||||
"description": "the accounts handed"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"v",
|
||||
"phase",
|
||||
"health"
|
||||
]
|
||||
},
|
||||
"description": "one module on a node"
|
||||
},
|
||||
{
|
||||
"key": "<node>.node",
|
||||
"value": {
|
||||
"type": "object",
|
||||
"description": "a node's own record",
|
||||
"properties": {
|
||||
"v": {
|
||||
"type": "integer"
|
||||
},
|
||||
"composed": {
|
||||
"type": "string"
|
||||
},
|
||||
"windows": {
|
||||
"type": "object"
|
||||
},
|
||||
"busy": {
|
||||
"type": "object"
|
||||
},
|
||||
"strays": {
|
||||
"type": "object"
|
||||
},
|
||||
"filters": {
|
||||
"type": "object"
|
||||
},
|
||||
"profile": {
|
||||
"type": "object"
|
||||
},
|
||||
"record": {
|
||||
"type": "object",
|
||||
"description": "the node's record: its tunnel and certificate"
|
||||
},
|
||||
"sealed": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"sealed-at": {
|
||||
"type": "object"
|
||||
},
|
||||
"candidates": {
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"composes": {
|
||||
"type": "string",
|
||||
"description": "own, or the controller's"
|
||||
},
|
||||
"composes-why": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"v"
|
||||
]
|
||||
},
|
||||
"description": "the node's own record"
|
||||
}
|
||||
],
|
||||
"history": 20,
|
||||
"description": "what each node has of each module, written by its engine"
|
||||
},
|
||||
{
|
||||
"name": "composed",
|
||||
"template": "state",
|
||||
"key-forms": [
|
||||
{
|
||||
"key": "<node>.<module>.<fingerprint>",
|
||||
"value": {
|
||||
"type": "object",
|
||||
"description": "one composition of a module on a node under a fingerprint",
|
||||
"properties": {
|
||||
"V": {
|
||||
"type": "integer"
|
||||
},
|
||||
"Node": {
|
||||
"type": "string"
|
||||
},
|
||||
"Module": {
|
||||
"type": "string"
|
||||
},
|
||||
"FP": {
|
||||
"type": "string"
|
||||
},
|
||||
"Data": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"Resources": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"Filled": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"Own": {
|
||||
"type": "object",
|
||||
"description": "the node's own adoption, identities, groups, libraries and provisioner account"
|
||||
},
|
||||
"Plan": {
|
||||
"type": "object",
|
||||
"description": "the module's plan"
|
||||
},
|
||||
"Refused": {
|
||||
"type": "string",
|
||||
"description": "why the composition was refused"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"Node",
|
||||
"Module",
|
||||
"FP"
|
||||
]
|
||||
},
|
||||
"description": "one composition"
|
||||
}
|
||||
],
|
||||
"description": "the compositions of one node, kept in a bucket per node named composed-<node>"
|
||||
},
|
||||
{
|
||||
"name": "data",
|
||||
"template": "state",
|
||||
"key-forms": [
|
||||
{
|
||||
"key": "<node>.<module>",
|
||||
"value": {
|
||||
"type": "object",
|
||||
"description": "the data items a module has on a node",
|
||||
"properties": {
|
||||
"v": {
|
||||
"type": "integer"
|
||||
},
|
||||
"node": {
|
||||
"type": "string"
|
||||
},
|
||||
"module": {
|
||||
"type": "string"
|
||||
},
|
||||
"digest": {
|
||||
"type": "string"
|
||||
},
|
||||
"items": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"node",
|
||||
"module",
|
||||
"digest",
|
||||
"items"
|
||||
]
|
||||
},
|
||||
"description": "a module's data on a node"
|
||||
}
|
||||
],
|
||||
"description": "the data items of each module on each node"
|
||||
},
|
||||
{
|
||||
"name": "packages",
|
||||
"template": "state",
|
||||
"key-forms": [
|
||||
{
|
||||
"key": "<node>",
|
||||
"value": {
|
||||
"type": "object",
|
||||
"description": "the packages a node declares",
|
||||
"properties": {
|
||||
"node": {
|
||||
"type": "string"
|
||||
},
|
||||
"packages": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"package": {
|
||||
"type": "string"
|
||||
},
|
||||
"modules": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"absent": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"node",
|
||||
"packages"
|
||||
]
|
||||
},
|
||||
"description": "a node's declared packages"
|
||||
}
|
||||
],
|
||||
"description": "the packages each node declares"
|
||||
},
|
||||
{
|
||||
"name": "health",
|
||||
"template": "state",
|
||||
"key-forms": [
|
||||
{
|
||||
"key": "<node>",
|
||||
"value": {
|
||||
"type": "object",
|
||||
"description": "a node's health as its engine reports it",
|
||||
"properties": {
|
||||
"v": {
|
||||
"type": "integer"
|
||||
},
|
||||
"node": {
|
||||
"type": "string"
|
||||
},
|
||||
"network": {
|
||||
"type": "object"
|
||||
},
|
||||
"peers": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"units": {
|
||||
"type": "object"
|
||||
},
|
||||
"relogin": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"found": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"fallback": {
|
||||
"type": "object"
|
||||
},
|
||||
"root": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"contract": {
|
||||
"type": "integer"
|
||||
},
|
||||
"at": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"v",
|
||||
"node",
|
||||
"at"
|
||||
]
|
||||
},
|
||||
"description": "a node's health"
|
||||
}
|
||||
],
|
||||
"description": "each node's health as its engine reports it"
|
||||
}
|
||||
],
|
||||
"defs": {
|
||||
"Act": {
|
||||
"type": "object",
|
||||
|
||||
Reference in New Issue
Block a user