Files
core/cluster/docs/ClusterAPI_docs.go
2025-07-11 13:54:58 +02:00

2827 lines
97 KiB
Go

// Package docs Code generated by swaggo/swag. DO NOT EDIT
package docs
import "github.com/swaggo/swag"
const docTemplateClusterAPI = `{
"schemes": {{ marshal .Schemes }},
"swagger": "2.0",
"info": {
"description": "{{escape .Description}}",
"title": "{{.Title}}",
"contact": {
"name": "datarhei Core Support",
"url": "https://www.datarhei.com",
"email": "hello@datarhei.com"
},
"license": {
"name": "Apache 2.0",
"url": "https://github.com/datarhei/core/v16/blob/main/LICENSE"
},
"version": "{{.Version}}"
},
"host": "{{.Host}}",
"basePath": "{{.BasePath}}",
"paths": {
"/": {
"get": {
"description": "The cluster version",
"produces": [
"application/json"
],
"tags": [
"v1.0.0"
],
"summary": "The cluster version",
"operationId": "cluster-1-version",
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "string"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
}
}
}
},
"/v1/about": {
"get": {
"description": "The cluster version",
"produces": [
"application/json"
],
"tags": [
"v1.0.0"
],
"summary": "The cluster version",
"operationId": "cluster-1-about",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/client.AboutResponse"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
}
}
}
},
"/v1/barrier/{name}": {
"get": {
"description": "Has the barrier already has been passed",
"produces": [
"application/json"
],
"tags": [
"v1.0.0"
],
"summary": "Has the barrier already has been passed",
"operationId": "cluster-1-barrier",
"parameters": [
{
"type": "string",
"description": "Barrier name",
"name": "name",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "string"
}
},
"404": {
"description": "Not Found",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
}
}
}
},
"/v1/core": {
"get": {
"description": "Core API address and login of this node",
"produces": [
"application/json"
],
"tags": [
"v1.0.0"
],
"summary": "Core API address and login",
"operationId": "cluster-1-core-api-address",
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "string"
}
}
}
}
},
"/v1/core/config": {
"get": {
"description": "Core config of this node",
"produces": [
"application/json"
],
"tags": [
"v1.0.0"
],
"summary": "Core config",
"operationId": "cluster-1-core-config",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/config.Config"
}
}
}
}
},
"/v1/core/skills": {
"get": {
"description": "Core skills of this node",
"produces": [
"application/json"
],
"tags": [
"v1.0.0"
],
"summary": "Core skills",
"operationId": "cluster-1-core-skills",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/skills.Skills"
}
}
}
}
},
"/v1/iam/user": {
"post": {
"description": "Add an identity to the cluster DB",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"v1.0.0"
],
"summary": "Add an identity",
"operationId": "cluster-1-add-identity",
"parameters": [
{
"description": "Identity config",
"name": "config",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/client.AddIdentityRequest"
}
},
{
"type": "string",
"description": "Origin ID of request",
"name": "X-Cluster-Origin",
"in": "header"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "string"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
},
"508": {
"description": "Loop Detected",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
}
}
}
},
"/v1/iam/user/{name}": {
"put": {
"description": "Replace an existing identity in the cluster DB",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"v1.0.0"
],
"summary": "Replace an existing identity",
"operationId": "cluster-1-update-identity",
"parameters": [
{
"type": "string",
"description": "Process ID",
"name": "name",
"in": "path",
"required": true
},
{
"description": "Identity config",
"name": "config",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/client.UpdateIdentityRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "string"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
},
"508": {
"description": "Loop Detected",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
}
}
},
"delete": {
"description": "Remove an identity from the cluster DB",
"produces": [
"application/json"
],
"tags": [
"v1.0.0"
],
"summary": "Remove an identity",
"operationId": "cluster-1-remove-identity",
"parameters": [
{
"type": "string",
"description": "Identity name",
"name": "name",
"in": "path",
"required": true
},
{
"type": "string",
"description": "Origin ID of request",
"name": "X-Cluster-Origin",
"in": "header"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "string"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
},
"508": {
"description": "Loop Detected",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
}
}
}
},
"/v1/iam/user/{name}/policies": {
"put": {
"description": "Set policies for an identity in the cluster DB. Any existing policies will be replaced.",
"produces": [
"application/json"
],
"tags": [
"v1.0.0"
],
"summary": "Set identity policies",
"operationId": "cluster-3-set-identity-policies",
"parameters": [
{
"type": "string",
"description": "Process ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "Policies for that user",
"name": "data",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/client.SetPoliciesRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "string"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
},
"508": {
"description": "Loop Detected",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
}
}
}
},
"/v1/kv": {
"post": {
"description": "Store value under key",
"produces": [
"application/json"
],
"tags": [
"v1.0.0"
],
"summary": "Store value under key",
"operationId": "cluster-1-kv-set",
"parameters": [
{
"description": "Set KV request",
"name": "data",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/client.SetKVRequest"
}
},
{
"type": "string",
"description": "Origin ID of request",
"name": "X-Cluster-Origin",
"in": "header"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "string"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
},
"508": {
"description": "Loop Detected",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
}
}
}
},
"/v1/kv/{key}": {
"get": {
"description": "Fetch a key",
"produces": [
"application/json"
],
"tags": [
"v1.0.0"
],
"summary": "Fetch a key",
"operationId": "cluster-1-kv-get",
"parameters": [
{
"type": "string",
"description": "Key name",
"name": "name",
"in": "path",
"required": true
},
{
"type": "string",
"description": "Origin ID of request",
"name": "X-Cluster-Origin",
"in": "header"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "string"
}
},
"404": {
"description": "Not Found",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
},
"508": {
"description": "Loop Detected",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
}
}
},
"delete": {
"description": "Remove a key",
"produces": [
"application/json"
],
"tags": [
"v1.0.0"
],
"summary": "Remove a key",
"operationId": "cluster-1-kv-unset",
"parameters": [
{
"type": "string",
"description": "Key name",
"name": "name",
"in": "path",
"required": true
},
{
"type": "string",
"description": "Origin ID of request",
"name": "X-Cluster-Origin",
"in": "header"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "string"
}
},
"404": {
"description": "Not Found",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
},
"508": {
"description": "Loop Detected",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
}
}
}
},
"/v1/lock": {
"post": {
"description": "Acquire a named lock",
"produces": [
"application/json"
],
"tags": [
"v1.0.0"
],
"summary": "Acquire a named lock",
"operationId": "cluster-1-lock",
"parameters": [
{
"description": "LockCreate request",
"name": "data",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/client.LockRequest"
}
},
{
"type": "string",
"description": "Origin ID of request",
"name": "X-Cluster-Origin",
"in": "header"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "string"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
},
"508": {
"description": "Loop Detected",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
}
}
}
},
"/v1/lock/{name}": {
"delete": {
"description": "Remove a lock",
"produces": [
"application/json"
],
"tags": [
"v1.0.0"
],
"summary": "Remove a lock",
"operationId": "cluster-1-unlock",
"parameters": [
{
"type": "string",
"description": "Lock name",
"name": "name",
"in": "path",
"required": true
},
{
"type": "string",
"description": "Origin ID of request",
"name": "X-Cluster-Origin",
"in": "header"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "string"
}
},
"404": {
"description": "Not Found",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
},
"508": {
"description": "Loop Detected",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
}
}
}
},
"/v1/node/{id}/state": {
"get": {
"description": "Set a state for a node",
"produces": [
"application/json"
],
"tags": [
"v1.0.0"
],
"summary": "Set a state for a node",
"operationId": "cluster-1-node-set-state",
"parameters": [
{
"description": "Set node state request",
"name": "data",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/client.SetNodeStateRequest"
}
},
{
"type": "string",
"description": "Origin ID of request",
"name": "X-Cluster-Origin",
"in": "header"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "string"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
},
"508": {
"description": "Loop Detected",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
}
}
}
},
"/v1/process": {
"post": {
"description": "Add a process to the cluster DB",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"v1.0.0"
],
"summary": "Add a process",
"operationId": "cluster-1-add-process",
"parameters": [
{
"description": "Process config",
"name": "config",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/client.AddProcessRequest"
}
},
{
"type": "string",
"description": "Origin ID of request",
"name": "X-Cluster-Origin",
"in": "header"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "string"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
},
"508": {
"description": "Loop Detected",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
}
}
}
},
"/v1/process/{id}": {
"get": {
"description": "Get a process from the cluster DB",
"produces": [
"application/json"
],
"tags": [
"v1.0.0"
],
"summary": "Get a process",
"operationId": "cluster-1-get-process",
"parameters": [
{
"type": "string",
"description": "Process ID",
"name": "id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "Domain to act on",
"name": "domain",
"in": "query"
},
{
"type": "string",
"description": "Origin ID of request",
"name": "X-Cluster-Origin",
"in": "header"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/client.GetProcessResponse"
}
},
"404": {
"description": "Not Found",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
},
"508": {
"description": "Loop Detected",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
}
}
},
"put": {
"description": "Replace an existing process in the cluster DB",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"v1.0.0"
],
"summary": "Replace an existing process",
"operationId": "cluster-1-update-process",
"parameters": [
{
"type": "string",
"description": "Process ID",
"name": "id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "Domain to act on",
"name": "domain",
"in": "query"
},
{
"description": "Process config",
"name": "config",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/client.UpdateProcessRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "string"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
},
"508": {
"description": "Loop Detected",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
}
}
},
"delete": {
"description": "Remove a process from the cluster DB",
"produces": [
"application/json"
],
"tags": [
"v1.0.0"
],
"summary": "Remove a process",
"operationId": "cluster-1-remove-process",
"parameters": [
{
"type": "string",
"description": "Process ID",
"name": "id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "Domain to act on",
"name": "domain",
"in": "query"
},
{
"type": "string",
"description": "Origin ID of request",
"name": "X-Cluster-Origin",
"in": "header"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "string"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
},
"508": {
"description": "Loop Detected",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
}
}
}
},
"/v1/process/{id}/command": {
"put": {
"description": "Set the order for a process.",
"produces": [
"application/json"
],
"tags": [
"v1.0.0"
],
"summary": "Set the order for a process",
"operationId": "cluster-3-set-process-order",
"parameters": [
{
"type": "string",
"description": "Process ID",
"name": "id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "Domain to act on",
"name": "domain",
"in": "query"
},
{
"description": "Process order",
"name": "data",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/client.SetProcessCommandRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "string"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
},
"508": {
"description": "Loop Detected",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
}
}
}
},
"/v1/process/{id}/metadata/{key}": {
"put": {
"description": "Add arbitrary JSON metadata under the given key. If the key exists, all already stored metadata with this key will be overwritten. If the key doesn't exist, it will be created.",
"produces": [
"application/json"
],
"tags": [
"v1.0.0"
],
"summary": "Add JSON metadata with a process under the given key",
"operationId": "cluster-3-set-process-metadata",
"parameters": [
{
"type": "string",
"description": "Process ID",
"name": "id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "Key for data store",
"name": "key",
"in": "path",
"required": true
},
{
"type": "string",
"description": "Domain to act on",
"name": "domain",
"in": "query"
},
{
"description": "Arbitrary JSON data. The null value will remove the key and its contents",
"name": "data",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/client.SetProcessMetadataRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "string"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
},
"508": {
"description": "Loop Detected",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
}
}
}
},
"/v1/relocate": {
"put": {
"description": "Relocate processes to another node.",
"produces": [
"application/json"
],
"tags": [
"v1.0.0"
],
"summary": "Relocate processes to another node",
"operationId": "cluster-3-relocate-processes",
"parameters": [
{
"description": "List of processes to relocate",
"name": "data",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/client.RelocateProcessesRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "string"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
},
"508": {
"description": "Loop Detected",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
}
}
}
},
"/v1/server": {
"post": {
"description": "Add a new server to the cluster",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"v1.0.0"
],
"summary": "Add a new server",
"operationId": "cluster-1-add-server",
"parameters": [
{
"description": "Server ID and address",
"name": "config",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/client.JoinRequest"
}
},
{
"type": "string",
"description": "Origin ID of request",
"name": "X-Cluster-Origin",
"in": "header"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "string"
}
},
"400": {
"description": "Bad Request",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
},
"508": {
"description": "Loop Detected",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
}
}
}
},
"/v1/server/{id}": {
"delete": {
"description": "Remove a server from the cluster",
"produces": [
"application/json"
],
"tags": [
"v1.0.0"
],
"summary": "Remove a server",
"operationId": "cluster-1-remove-server",
"parameters": [
{
"type": "string",
"description": "Server ID",
"name": "id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "Origin ID of request",
"name": "X-Cluster-Origin",
"in": "header"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "string"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
},
"508": {
"description": "Loop Detected",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
}
}
}
},
"/v1/snapshot": {
"get": {
"description": "Current snapshot of the clusterDB",
"produces": [
"application/octet-stream"
],
"tags": [
"v1.0.0"
],
"summary": "Cluster DB snapshot",
"operationId": "cluster-1-snapshot",
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "file"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
}
}
}
},
"/v1/transfer/{id}": {
"put": {
"description": "Transfer leadership",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"v1.0.0"
],
"summary": "Transfer leadership",
"operationId": "cluster-1-transfer-leadership",
"parameters": [
{
"type": "string",
"description": "Origin ID of request",
"name": "X-Cluster-Origin",
"in": "header"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "string"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
},
"508": {
"description": "Loop Detected",
"schema": {
"$ref": "#/definitions/cluster.Error"
}
}
}
}
}
},
"definitions": {
"app.Config": {
"type": "object",
"properties": {
"autostart": {
"type": "boolean"
},
"binary": {
"type": "string"
},
"domain": {
"type": "string"
},
"ffversion": {
"type": "string"
},
"id": {
"type": "string"
},
"input": {
"type": "array",
"items": {
"$ref": "#/definitions/app.ConfigIO"
}
},
"limitCPU": {
"description": "percent",
"type": "number"
},
"limitGPU": {
"description": "GPU limits",
"allOf": [
{
"$ref": "#/definitions/app.ConfigLimitGPU"
}
]
},
"limitMemory": {
"description": "bytes",
"type": "integer"
},
"limitWaitFor": {
"description": "seconds",
"type": "integer"
},
"logPatterns": {
"description": "will be interpreted as regular expressions",
"type": "array",
"items": {
"type": "string"
}
},
"options": {
"type": "array",
"items": {
"type": "string"
}
},
"output": {
"type": "array",
"items": {
"$ref": "#/definitions/app.ConfigIO"
}
},
"owner": {
"type": "string"
},
"reconnect": {
"type": "boolean"
},
"reconnectDelay": {
"description": "seconds",
"type": "integer"
},
"reference": {
"type": "string"
},
"scheduler": {
"description": "crontab pattern or RFC3339 timestamp",
"type": "string"
},
"staleTimeout": {
"description": "seconds",
"type": "integer"
},
"timeout": {
"description": "seconds",
"type": "integer"
}
}
},
"app.ConfigIO": {
"type": "object",
"properties": {
"address": {
"type": "string"
},
"cleanup": {
"type": "array",
"items": {
"$ref": "#/definitions/app.ConfigIOCleanup"
}
},
"id": {
"type": "string"
},
"options": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"app.ConfigIOCleanup": {
"type": "object",
"properties": {
"maxFileAge": {
"type": "integer"
},
"maxFiles": {
"type": "integer"
},
"pattern": {
"type": "string"
},
"purgeOnDelete": {
"type": "boolean"
}
}
},
"app.ConfigLimitGPU": {
"type": "object",
"properties": {
"decoder": {
"description": "percent 0-100",
"type": "number"
},
"encoder": {
"description": "percent 0-100",
"type": "number"
},
"memory": {
"description": "bytes",
"type": "integer"
},
"usage": {
"description": "percent 0-100",
"type": "number"
}
}
},
"client.AboutResponse": {
"type": "object",
"properties": {
"address": {
"type": "string"
},
"id": {
"type": "string"
},
"resources": {
"$ref": "#/definitions/client.AboutResponseResources"
},
"started_at": {
"type": "string"
},
"version": {
"type": "string"
}
}
},
"client.AboutResponseGPUResources": {
"type": "object",
"properties": {
"decoder": {
"description": "Current decoder usage, 0-100",
"type": "number"
},
"encoder": {
"description": "Current encoder usage, 0-100",
"type": "number"
},
"memory_bytes": {
"description": "Currently used memory in bytes",
"type": "integer"
},
"memory_limit_bytes": {
"description": "Defined memory limit in bytes",
"type": "integer"
},
"memory_total_bytes": {
"description": "Total available memory in bytes",
"type": "integer"
},
"usage": {
"description": "Current general usage, 0-100",
"type": "number"
},
"usage_limit": {
"description": "Defined general usage limit, 0-100",
"type": "number"
}
}
},
"client.AboutResponseResources": {
"type": "object",
"properties": {
"cpu": {
"description": "Current CPU load, 0-100*ncpu",
"type": "number"
},
"cpu_core": {
"description": "Current CPU load of the core itself, 0-100*ncpu",
"type": "number"
},
"cpu_limit": {
"description": "Defined CPU load limit, 0-100*ncpu",
"type": "number"
},
"error": {
"description": "Last error",
"type": "string"
},
"gpu": {
"description": "Currently used GPU resources",
"type": "array",
"items": {
"$ref": "#/definitions/client.AboutResponseGPUResources"
}
},
"is_throttling": {
"description": "Whether this core is currently throttling",
"type": "boolean"
},
"memory_bytes": {
"description": "Currently used memory in bytes",
"type": "integer"
},
"memory_core_bytes": {
"description": "Current used memory of the core itself in bytes",
"type": "integer"
},
"memory_limit_bytes": {
"description": "Defined memory limit in bytes",
"type": "integer"
},
"memory_total_bytes": {
"description": "Total available memory in bytes",
"type": "integer"
},
"ncpu": {
"description": "Number of CPU on this node",
"type": "number"
}
}
},
"client.AddIdentityRequest": {
"type": "object",
"properties": {
"identity": {
"$ref": "#/definitions/identity.User"
}
}
},
"client.AddProcessRequest": {
"type": "object",
"properties": {
"config": {
"$ref": "#/definitions/app.Config"
}
}
},
"client.GetProcessResponse": {
"type": "object",
"properties": {
"nodeid": {
"type": "string"
},
"process": {
"$ref": "#/definitions/github_com_datarhei_core_v16_cluster_store.Process"
}
}
},
"client.JoinRequest": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"raft_address": {
"type": "string"
}
}
},
"client.LockRequest": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"valid_until": {
"type": "string"
}
}
},
"client.RelocateProcessesRequest": {
"type": "object",
"properties": {
"map": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
},
"client.SetKVRequest": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
},
"client.SetNodeStateRequest": {
"type": "object",
"properties": {
"state": {
"type": "string"
}
}
},
"client.SetPoliciesRequest": {
"type": "object",
"properties": {
"policies": {
"type": "array",
"items": {
"$ref": "#/definitions/policy.Policy"
}
}
}
},
"client.SetProcessCommandRequest": {
"type": "object",
"properties": {
"order": {
"type": "string"
}
}
},
"client.SetProcessMetadataRequest": {
"type": "object",
"properties": {
"metadata": {}
}
},
"client.UpdateIdentityRequest": {
"type": "object",
"properties": {
"identity": {
"$ref": "#/definitions/identity.User"
}
}
},
"client.UpdateProcessRequest": {
"type": "object",
"properties": {
"config": {
"$ref": "#/definitions/app.Config"
}
}
},
"cluster.Error": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int"
},
"details": {
"type": "array",
"items": {
"type": "string"
}
},
"message": {
"type": "string"
}
}
},
"config.Config": {
"type": "object",
"properties": {
"address": {
"type": "string"
},
"api": {
"type": "object",
"properties": {
"access": {
"type": "object",
"properties": {
"http": {
"type": "object",
"properties": {
"allow": {
"type": "array",
"items": {
"type": "string"
}
},
"block": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"https": {
"type": "object",
"properties": {
"allow": {
"type": "array",
"items": {
"type": "string"
}
},
"block": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
},
"auth": {
"type": "object",
"properties": {
"auth0": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"tenants": {
"type": "array",
"items": {
"$ref": "#/definitions/value.Auth0Tenant"
}
}
}
},
"disable_localhost": {
"type": "boolean"
},
"enable": {
"type": "boolean"
},
"jwt": {
"type": "object",
"properties": {
"secret": {
"type": "string"
}
}
},
"password": {
"type": "string"
},
"username": {
"type": "string"
}
}
},
"read_only": {
"type": "boolean"
}
}
},
"cluster": {
"type": "object",
"properties": {
"address": {
"description": "ip:port",
"type": "string"
},
"debug": {
"type": "object",
"properties": {
"disable_ffmpeg_check": {
"type": "boolean"
}
}
},
"emergency_leader_timeout_sec": {
"description": "seconds",
"type": "integer",
"format": "int64"
},
"enable": {
"type": "boolean"
},
"id": {
"type": "string"
},
"node_recover_timeout_sec": {
"description": "seconds",
"type": "integer",
"format": "int64"
},
"peers": {
"type": "array",
"items": {
"type": "string"
}
},
"recover_timeout_sec": {
"description": "seconds",
"type": "integer",
"format": "int64"
},
"startup_timeout_sec": {
"description": "seconds",
"type": "integer",
"format": "int64"
},
"sync_interval_sec": {
"description": "seconds",
"type": "integer",
"format": "int64"
}
}
},
"compress": {
"type": "object",
"properties": {
"encoding": {
"type": "array",
"items": {
"type": "string"
}
},
"mimetypes": {
"type": "array",
"items": {
"type": "string"
}
},
"min_length": {
"type": "integer"
}
}
},
"created_at": {
"description": "When this config has been persisted",
"type": "string"
},
"db": {
"type": "object",
"properties": {
"dir": {
"type": "string"
}
}
},
"debug": {
"type": "object",
"properties": {
"agent_address": {
"type": "string"
},
"auto_max_procs": {
"type": "boolean"
},
"force_gc": {
"description": "deprecated, use MemoryLimit instead",
"type": "integer",
"format": "int"
},
"memory_limit_mbytes": {
"type": "integer",
"format": "int64"
},
"profiling": {
"type": "boolean"
}
}
},
"ffmpeg": {
"type": "object",
"properties": {
"access": {
"type": "object",
"properties": {
"input": {
"type": "object",
"properties": {
"allow": {
"type": "array",
"items": {
"type": "string"
}
},
"block": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"output": {
"type": "object",
"properties": {
"allow": {
"type": "array",
"items": {
"type": "string"
}
},
"block": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
},
"binary": {
"type": "string"
},
"disable_throttling": {
"type": "boolean"
},
"log": {
"type": "object",
"properties": {
"max_history": {
"type": "integer",
"format": "int"
},
"max_lines": {
"type": "integer",
"format": "int"
},
"max_minimal_history": {
"type": "integer",
"format": "int"
}
}
},
"max_processes": {
"type": "integer",
"format": "int64"
}
}
},
"host": {
"type": "object",
"properties": {
"auto": {
"type": "boolean"
},
"name": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"id": {
"type": "string"
},
"log": {
"type": "object",
"properties": {
"level": {
"type": "string",
"enum": [
"debug",
"info",
"warn",
"error",
"silent"
]
},
"max_lines": {
"type": "integer",
"format": "int"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"metrics": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"enable_prometheus": {
"type": "boolean"
},
"interval_sec": {
"description": "seconds",
"type": "integer",
"format": "int64"
},
"range_sec": {
"description": "seconds",
"type": "integer",
"format": "int64"
}
}
},
"name": {
"type": "string"
},
"playout": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"max_port": {
"type": "integer",
"format": "int"
},
"min_port": {
"type": "integer",
"format": "int"
}
}
},
"resources": {
"type": "object",
"properties": {
"max_cpu_usage": {
"description": "percent 0-100",
"type": "number"
},
"max_gpu_memory_usage": {
"description": "percent 0-100",
"type": "number"
},
"max_gpu_usage": {
"description": "percent 0-100",
"type": "number"
},
"max_memory_usage": {
"description": "percent 0-100",
"type": "number"
}
}
},
"router": {
"type": "object",
"properties": {
"blocked_prefixes": {
"type": "array",
"items": {
"type": "string"
}
},
"routes": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"ui_path": {
"type": "string"
}
}
},
"rtmp": {
"type": "object",
"properties": {
"address": {
"type": "string"
},
"address_tls": {
"type": "string"
},
"app": {
"type": "string"
},
"enable": {
"type": "boolean"
},
"enable_tls": {
"type": "boolean"
},
"token": {
"description": "Deprecated, use IAM",
"type": "string"
}
}
},
"service": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"token": {
"type": "string"
},
"url": {
"type": "string"
}
}
},
"sessions": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"ip_ignorelist": {
"type": "array",
"items": {
"type": "string"
}
},
"max_bitrate_mbit": {
"type": "integer",
"format": "uint64"
},
"max_sessions": {
"type": "integer",
"format": "uint64"
},
"persist": {
"type": "boolean"
},
"persist_interval_sec": {
"type": "integer",
"format": "int"
},
"session_log_buffer_sec": {
"type": "integer",
"format": "int"
},
"session_log_path_pattern": {
"type": "string"
},
"session_timeout_sec": {
"type": "integer",
"format": "int"
}
}
},
"srt": {
"type": "object",
"properties": {
"address": {
"type": "string"
},
"enable": {
"type": "boolean"
},
"log": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"passphrase": {
"type": "string"
},
"token": {
"description": "Deprecated, use IAM",
"type": "string"
}
}
},
"storage": {
"type": "object",
"properties": {
"cors": {
"type": "object",
"properties": {
"origins": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"disk": {
"type": "object",
"properties": {
"cache": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"max_file_size_mbytes": {
"type": "integer",
"format": "uint64"
},
"max_size_mbytes": {
"type": "integer",
"format": "uint64"
},
"ttl_seconds": {
"type": "integer",
"format": "int64"
},
"types": {
"type": "object",
"properties": {
"allow": {
"type": "array",
"items": {
"type": "string"
}
},
"block": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
},
"dir": {
"type": "string"
},
"max_size_mbytes": {
"type": "integer",
"format": "int64"
}
}
},
"memory": {
"type": "object",
"properties": {
"auth": {
"description": "Deprecated, use IAM",
"type": "object",
"properties": {
"enable": {
"description": "Deprecated, use IAM",
"type": "boolean"
},
"password": {
"description": "Deprecated, use IAM",
"type": "string"
},
"username": {
"description": "Deprecated, use IAM",
"type": "string"
}
}
},
"backup": {
"type": "object",
"properties": {
"dir": {
"type": "string"
},
"patterns": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"max_size_mbytes": {
"type": "integer",
"format": "int64"
},
"purge": {
"type": "boolean"
}
}
},
"mimetypes": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"mimetypes_file": {
"type": "string"
},
"s3": {
"type": "array",
"items": {
"$ref": "#/definitions/value.S3Storage"
}
}
}
},
"tls": {
"type": "object",
"properties": {
"address": {
"type": "string"
},
"auto": {
"type": "boolean"
},
"cert_file": {
"type": "string"
},
"email": {
"type": "string"
},
"enable": {
"type": "boolean"
},
"key_file": {
"type": "string"
},
"secret": {
"type": "string"
},
"staging": {
"type": "boolean"
}
}
},
"update_check": {
"type": "boolean"
},
"version": {
"type": "integer",
"format": "int64"
}
}
},
"github_com_datarhei_core_v16_cluster_store.Process": {
"type": "object",
"properties": {
"config": {
"$ref": "#/definitions/app.Config"
},
"createdAt": {
"type": "string"
},
"error": {
"type": "string"
},
"metadata": {
"type": "object",
"additionalProperties": true
},
"order": {
"type": "string"
},
"updatedAt": {
"type": "string"
}
}
},
"identity.Auth0Tenant": {
"type": "object",
"properties": {
"audience": {
"type": "string"
},
"client_id": {
"type": "string"
},
"domain": {
"type": "string"
}
}
},
"identity.User": {
"type": "object",
"properties": {
"alias": {
"type": "string"
},
"auth": {
"$ref": "#/definitions/identity.UserAuth"
},
"created_at": {
"type": "string"
},
"name": {
"type": "string"
},
"superuser": {
"type": "boolean"
},
"updated_at": {
"type": "string"
}
}
},
"identity.UserAuth": {
"type": "object",
"properties": {
"api": {
"$ref": "#/definitions/identity.UserAuthAPI"
},
"services": {
"$ref": "#/definitions/identity.UserAuthServices"
}
}
},
"identity.UserAuthAPI": {
"type": "object",
"properties": {
"auth0": {
"$ref": "#/definitions/identity.UserAuthAPIAuth0"
},
"password": {
"type": "string"
}
}
},
"identity.UserAuthAPIAuth0": {
"type": "object",
"properties": {
"tenant": {
"$ref": "#/definitions/identity.Auth0Tenant"
},
"user": {
"type": "string"
}
}
},
"identity.UserAuthServices": {
"type": "object",
"properties": {
"basic": {
"description": "Passwords for BasicAuth",
"type": "array",
"items": {
"type": "string"
}
},
"session": {
"description": "Secrets for session JWT",
"type": "array",
"items": {
"type": "string"
}
},
"token": {
"description": "Tokens/Streamkey for RTMP and SRT",
"type": "array",
"items": {
"type": "string"
}
}
}
},
"policy.Policy": {
"type": "object",
"properties": {
"actions": {
"type": "array",
"items": {
"type": "string"
}
},
"domain": {
"type": "string"
},
"name": {
"type": "string"
},
"resource": {
"type": "string"
},
"types": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"skills.Codec": {
"type": "object",
"properties": {
"decoders": {
"type": "array",
"items": {
"type": "string"
}
},
"encoders": {
"type": "array",
"items": {
"type": "string"
}
},
"id": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"skills.Device": {
"type": "object",
"properties": {
"devices": {
"type": "array",
"items": {
"$ref": "#/definitions/skills.HWDevice"
}
},
"id": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"skills.Filter": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"skills.Format": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"skills.HWAccel": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"skills.HWDevice": {
"type": "object",
"properties": {
"extra": {
"type": "string"
},
"id": {
"type": "string"
},
"media": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"skills.Library": {
"type": "object",
"properties": {
"compiled": {
"type": "string"
},
"linked": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"skills.Protocol": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"skills.Skills": {
"type": "object",
"properties": {
"codecs": {
"$ref": "#/definitions/skills.ffCodecs"
},
"devices": {
"$ref": "#/definitions/skills.ffDevices"
},
"ffmpeg": {
"$ref": "#/definitions/skills.ffmpeg"
},
"filters": {
"type": "array",
"items": {
"$ref": "#/definitions/skills.Filter"
}
},
"formats": {
"$ref": "#/definitions/skills.ffFormats"
},
"hwaccels": {
"type": "array",
"items": {
"$ref": "#/definitions/skills.HWAccel"
}
},
"protocols": {
"$ref": "#/definitions/skills.ffProtocols"
}
}
},
"skills.ffCodecs": {
"type": "object",
"properties": {
"audio": {
"type": "array",
"items": {
"$ref": "#/definitions/skills.Codec"
}
},
"subtitle": {
"type": "array",
"items": {
"$ref": "#/definitions/skills.Codec"
}
},
"video": {
"type": "array",
"items": {
"$ref": "#/definitions/skills.Codec"
}
}
}
},
"skills.ffDevices": {
"type": "object",
"properties": {
"demuxers": {
"type": "array",
"items": {
"$ref": "#/definitions/skills.Device"
}
},
"muxers": {
"type": "array",
"items": {
"$ref": "#/definitions/skills.Device"
}
}
}
},
"skills.ffFormats": {
"type": "object",
"properties": {
"demuxers": {
"type": "array",
"items": {
"$ref": "#/definitions/skills.Format"
}
},
"muxers": {
"type": "array",
"items": {
"$ref": "#/definitions/skills.Format"
}
}
}
},
"skills.ffProtocols": {
"type": "object",
"properties": {
"input": {
"type": "array",
"items": {
"$ref": "#/definitions/skills.Protocol"
}
},
"output": {
"type": "array",
"items": {
"$ref": "#/definitions/skills.Protocol"
}
}
}
},
"skills.ffmpeg": {
"type": "object",
"properties": {
"compiler": {
"type": "string"
},
"configuration": {
"type": "string"
},
"libraries": {
"type": "array",
"items": {
"$ref": "#/definitions/skills.Library"
}
},
"version": {
"type": "string"
}
}
},
"value.Auth0Tenant": {
"type": "object",
"properties": {
"audience": {
"type": "string"
},
"clientid": {
"type": "string"
},
"domain": {
"type": "string"
},
"users": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"value.S3Storage": {
"type": "object",
"properties": {
"access_key_id": {
"type": "string"
},
"auth": {
"description": "Deprecated, use IAM",
"allOf": [
{
"$ref": "#/definitions/value.S3StorageAuth"
}
]
},
"bucket": {
"type": "string"
},
"endpoint": {
"type": "string"
},
"mountpoint": {
"type": "string"
},
"name": {
"type": "string"
},
"region": {
"type": "string"
},
"secret_access_key": {
"type": "string"
},
"use_ssl": {
"type": "boolean"
}
}
},
"value.S3StorageAuth": {
"type": "object",
"properties": {
"enable": {
"description": "Deprecated, use IAM",
"type": "boolean"
},
"password": {
"description": "Deprecated, use IAM",
"type": "string"
},
"username": {
"description": "Deprecated, use IAM",
"type": "string"
}
}
}
}
}`
// SwaggerInfoClusterAPI holds exported Swagger Info so clients can modify it
var SwaggerInfoClusterAPI = &swag.Spec{
Version: "1.0",
Host: "",
BasePath: "/",
Schemes: []string{},
Title: "datarhei Core Cluster API",
Description: "Internal REST API for the datarhei Core cluster",
InfoInstanceName: "ClusterAPI",
SwaggerTemplate: docTemplateClusterAPI,
LeftDelim: "{{",
RightDelim: "}}",
}
func init() {
swag.Register(SwaggerInfoClusterAPI.InstanceName(), SwaggerInfoClusterAPI)
}