21 lines
1.0 KiB
JSON
21 lines
1.0 KiB
JSON
|
|
{
|
||
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||
|
|
"$id": "hms/schemas/cluster/cluster_message_v1.schema.json",
|
||
|
|
"title": "HMS Cluster Message v1",
|
||
|
|
"description": "PLAN.md §6.5: Jede Cluster-Nachricht enthält mindestens cluster_id, node_id, command_id, Sequenz, Projekt-Revision, Absenderzeit und Trace-ID.",
|
||
|
|
"type": "object",
|
||
|
|
"required": ["cluster_id", "node_id", "command_id", "sequence", "project_revision", "sender_time_ns", "trace_id"],
|
||
|
|
"properties": {
|
||
|
|
"cluster_id": {"type": "string", "format": "uuid"},
|
||
|
|
"node_id": {"type": "string", "format": "uuid"},
|
||
|
|
"command_id": {"type": "string", "format": "uuid"},
|
||
|
|
"sequence": {"type": "integer", "minimum": 0},
|
||
|
|
"project_revision": {"type": "integer", "minimum": 0},
|
||
|
|
"sender_time_ns": {"type": "integer", "minimum": 0},
|
||
|
|
"trace_id": {"type": "string", "format": "uuid"},
|
||
|
|
"execute_at_show_time_ns": {"type": ["integer", "null"], "minimum": 0},
|
||
|
|
"status": {"enum": ["accepted", "armed", "executed", "failed"]},
|
||
|
|
"payload": {"type": "object"}
|
||
|
|
}
|
||
|
|
}
|