134 lines
3.0 KiB
YAML
134 lines
3.0 KiB
YAML
{
|
|
"apiVersion": "hub.example.com/v1alpha1",
|
|
"kind": "ToolManifest",
|
|
"metadata": {
|
|
"name": "Unraid Container Inspect",
|
|
"slug": "unraid-container-inspect"
|
|
},
|
|
"spec": {
|
|
"canonicalName": "unraid.container.inspect",
|
|
"version": "1.0.0",
|
|
"connectorType": "unraid",
|
|
"description": "Inspect a registered container through the purpose-built broker.",
|
|
"riskClass": "R1",
|
|
"readOnly": true,
|
|
"idempotent": true,
|
|
"inputSchema": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"containerRef": {
|
|
"type": "string",
|
|
"pattern": "^[a-z0-9][a-z0-9-]{0,127}$"
|
|
}
|
|
},
|
|
"required": [
|
|
"containerRef"
|
|
]
|
|
},
|
|
"outputSchema": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"containerRef": {
|
|
"type": "string",
|
|
"pattern": "^[a-z0-9][a-z0-9-]{0,127}$"
|
|
},
|
|
"service": {
|
|
"type": "string",
|
|
"maxLength": 200
|
|
},
|
|
"image": {
|
|
"type": "string",
|
|
"maxLength": 500
|
|
},
|
|
"imageDigest": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"maxLength": 200
|
|
},
|
|
"state": {
|
|
"type": "string",
|
|
"maxLength": 100
|
|
},
|
|
"health": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
],
|
|
"maxLength": 100
|
|
},
|
|
"ports": {
|
|
"type": "array",
|
|
"maxItems": 100,
|
|
"items": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"containerPort": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 65535
|
|
},
|
|
"hostPort": {
|
|
"type": [
|
|
"integer",
|
|
"null"
|
|
],
|
|
"minimum": 1,
|
|
"maximum": 65535,
|
|
"default": null
|
|
},
|
|
"protocol": {
|
|
"enum": [
|
|
"tcp",
|
|
"udp"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"containerPort",
|
|
"hostPort",
|
|
"protocol"
|
|
]
|
|
}
|
|
},
|
|
"networks": {
|
|
"type": "array",
|
|
"maxItems": 50,
|
|
"items": {
|
|
"type": "string",
|
|
"maxLength": 200
|
|
}
|
|
},
|
|
"generatedAt": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"required": [
|
|
"containerRef",
|
|
"service",
|
|
"image",
|
|
"imageDigest",
|
|
"state",
|
|
"health",
|
|
"ports",
|
|
"networks",
|
|
"generatedAt"
|
|
]
|
|
},
|
|
"limits": {
|
|
"timeoutMs": 10000,
|
|
"maxOutputBytes": 262144,
|
|
"maxItems": 100
|
|
},
|
|
"redactionProfile": "metadata",
|
|
"requiredScopes": [
|
|
"project:{project}:read"
|
|
]
|
|
}
|
|
}
|