26 lines
1.4 KiB
JSON
26 lines
1.4 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://nexus.cezen.local/schemas/edge-agent-registry-v1.json",
|
|
"title": "Nexus centrally managed edge-agent registration",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["agentId", "deviceId", "agentType", "certificateFingerprint", "capabilities", "status", "enrolledAt"],
|
|
"properties": {
|
|
"agentId": {"type": "string", "format": "uuid"},
|
|
"deviceId": {"type": "string", "format": "uuid"},
|
|
"agentType": {"enum": ["coding", "meeting"]},
|
|
"certificateFingerprint": {"type": "string", "pattern": "^sha256:[0-9a-f]{64}$"},
|
|
"capabilities": {"type": "array", "uniqueItems": true, "items": {"type": "string", "pattern": "^[a-z][a-z0-9.-]{1,63}$"}},
|
|
"status": {"enum": ["pending", "enrolled", "suspended", "revoked"]},
|
|
"enrolledAt": {"type": "string", "format": "date-time"},
|
|
"lastSeenAt": {"type": ["string", "null"], "format": "date-time"},
|
|
"licenseAllocation": {
|
|
"type": "object", "additionalProperties": false,
|
|
"required": ["profile", "seatUnits"],
|
|
"properties": {"profile": {"type": "string"}, "seatUnits": {"type": "integer", "minimum": 0}}
|
|
},
|
|
"auditContext": {"type": "object", "description": "Content-free correlation metadata only"}
|
|
},
|
|
"$comment": "Contract reserved for post-RC1 use. RC1 exposes no Coding or Meeting agent runtime."
|
|
}
|