Add v16.8.0

This commit is contained in:
Jan Stabenow
2022-06-03 17:21:52 +02:00
parent c8bebd95ef
commit 9746248c10
431 changed files with 14782 additions and 13944 deletions

View File

@@ -1,32 +1,23 @@
// GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
// This file was generated by swaggo/swag at
// 2022-03-31 16:22:16.716974 +0200 CEST m=+0.265947626
// Package docs GENERATED BY SWAG; DO NOT EDIT
// This file was generated by swaggo/swag
package docs
import (
"bytes"
"encoding/json"
"strings"
import "github.com/swaggo/swag"
"github.com/alecthomas/template"
"github.com/swaggo/swag"
)
var doc = `{
const docTemplate = `{
"schemes": {{ marshal .Schemes }},
"swagger": "2.0",
"info": {
"description": "{{.Description}}",
"description": "{{escape .Description}}",
"title": "{{.Title}}",
"contact": {
"name": "datarheiCORE Support",
"name": "datarhei Core Support",
"url": "https://www.datarhei.com",
"email": "hello@datarhei.com"
},
"license": {
"name": "???",
"url": "nothing"
"name": "Apache 2.0",
"url": "https://github.com/datarhei/core/blob/main/LICENSE"
},
"version": "{{.Version}}"
},
@@ -70,7 +61,9 @@ var doc = `{
"summary": "Load GraphQL playground",
"operationId": "graph-playground",
"responses": {
"200": {}
"200": {
"description": ""
}
}
}
},
@@ -787,9 +780,7 @@ var doc = `{
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/api.Metadata"
}
"schema": {}
},
"400": {
"description": "Bad Request",
@@ -830,17 +821,13 @@ var doc = `{
"name": "data",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/api.Metadata"
}
"schema": {}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/api.Metadata"
}
"schema": {}
},
"400": {
"description": "Bad Request",
@@ -1247,9 +1234,7 @@ var doc = `{
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/api.Metadata"
}
"schema": {}
},
"400": {
"description": "Bad Request",
@@ -1297,17 +1282,13 @@ var doc = `{
"name": "data",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/api.Metadata"
}
"schema": {}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/api.Metadata"
}
"schema": {}
},
"400": {
"description": "Bad Request",
@@ -1849,12 +1830,6 @@ var doc = `{
"schema": {
"$ref": "#/definitions/api.SessionsSummary"
}
},
"404": {
"description": "Not Found",
"schema": {
"$ref": "#/definitions/api.Error"
}
}
}
}
@@ -1886,12 +1861,6 @@ var doc = `{
"schema": {
"$ref": "#/definitions/api.SessionsActive"
}
},
"404": {
"description": "Not Found",
"schema": {
"$ref": "#/definitions/api.Error"
}
}
}
}
@@ -2233,14 +2202,12 @@ var doc = `{
"type": "string"
},
"input": {
"type": "object",
"$ref": "#/definitions/api.AVstreamIO"
},
"looping": {
"type": "boolean"
},
"output": {
"type": "object",
"$ref": "#/definitions/api.AVstreamIO"
},
"queue": {
@@ -2294,7 +2261,6 @@ var doc = `{
"type": "integer"
},
"version": {
"type": "object",
"$ref": "#/definitions/api.Version"
}
}
@@ -2319,17 +2285,467 @@ var doc = `{
"api.Config": {
"type": "object",
"properties": {
"client": {
"config": {
"$ref": "#/definitions/api.ConfigData"
},
"created_at": {
"type": "string"
},
"token": {
"loaded_at": {
"type": "string"
},
"url": {
"overrides": {
"type": "array",
"items": {
"type": "string"
}
},
"updated_at": {
"type": "string"
}
}
},
"api.ConfigData": {
"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/config.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"
}
}
},
"created_at": {
"type": "string"
},
"db": {
"type": "object",
"properties": {
"dir": {
"type": "string"
}
}
},
"debug": {
"type": "object",
"properties": {
"force_gc": {
"type": "integer"
},
"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"
},
"log": {
"type": "object",
"properties": {
"max_history": {
"type": "integer"
},
"max_lines": {
"type": "integer"
}
}
},
"max_processes": {
"type": "integer"
}
}
},
"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"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"metrics": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"enable_prometheus": {
"type": "boolean"
},
"interval_sec": {
"description": "seconds",
"type": "integer"
},
"range_sec": {
"description": "seconds",
"type": "integer"
}
}
},
"name": {
"type": "string"
},
"playout": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"max_port": {
"type": "integer"
},
"min_port": {
"type": "integer"
}
}
},
"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"
},
"app": {
"type": "string"
},
"enable": {
"type": "boolean"
},
"enable_tls": {
"type": "boolean"
},
"token": {
"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"
},
"max_sessions": {
"type": "integer"
},
"persist": {
"type": "boolean"
},
"persist_interval_sec": {
"type": "integer"
},
"session_timeout_sec": {
"type": "integer"
}
}
},
"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"
},
"max_size_mbytes": {
"type": "integer"
},
"ttl_seconds": {
"type": "integer"
},
"types": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"dir": {
"type": "string"
},
"max_size_mbytes": {
"type": "integer"
}
}
},
"memory": {
"type": "object",
"properties": {
"auth": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"password": {
"type": "string"
},
"username": {
"type": "string"
}
}
},
"max_size_mbytes": {
"type": "integer"
},
"purge": {
"type": "boolean"
}
}
},
"mimetypes_file": {
"type": "string"
}
}
},
"tls": {
"type": "object",
"properties": {
"address": {
"type": "string"
},
"auto": {
"type": "boolean"
},
"cert_file": {
"type": "string"
},
"enable": {
"type": "boolean"
},
"key_file": {
"type": "string"
}
}
},
"update_check": {
"type": "boolean"
},
"version": {
"type": "integer"
}
}
},
"api.ConfigError": {
"type": "object",
"additionalProperties": {
@@ -2376,22 +2792,16 @@ var doc = `{
"query": {
"type": "string"
},
"variables": {
"type": "object"
}
"variables": {}
}
},
"api.GraphResponse": {
"type": "object",
"properties": {
"data": {
"type": "object"
},
"data": {},
"errors": {
"type": "array",
"items": {
"type": "object"
}
"items": {}
}
}
},
@@ -2433,9 +2843,6 @@ var doc = `{
}
}
},
"api.Metadata": {
"type": "object"
},
"api.MetricsQuery": {
"type": "object",
"properties": {
@@ -2448,7 +2855,7 @@ var doc = `{
"$ref": "#/definitions/api.MetricsQueryMetric"
}
},
"timeframe_sec": {
"timerange_sec": {
"type": "integer"
}
}
@@ -2470,11 +2877,17 @@ var doc = `{
"api.MetricsResponse": {
"type": "object",
"properties": {
"interval_sec": {
"type": "integer"
},
"metrics": {
"type": "array",
"items": {
"$ref": "#/definitions/api.MetricsResponseMetric"
}
},
"timerange_sec": {
"type": "integer"
}
}
},
@@ -2493,23 +2906,29 @@ var doc = `{
"values": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "number"
}
"$ref": "#/definitions/api.MetricsResponseValue"
}
}
}
},
"api.MetricsResponseValue": {
"type": "object",
"properties": {
"ts": {
"type": "string"
},
"value": {
"type": "number"
}
}
},
"api.PlayoutStatus": {
"type": "object",
"properties": {
"aqueue": {
"type": "integer"
},
"debug": {
"type": "object"
},
"debug": {},
"drop": {
"type": "integer"
},
@@ -2529,14 +2948,12 @@ var doc = `{
"type": "string"
},
"input": {
"type": "object",
"$ref": "#/definitions/api.PlayoutStatusIO"
},
"looping": {
"type": "boolean"
},
"output": {
"type": "object",
"$ref": "#/definitions/api.PlayoutStatusIO"
},
"queue": {
@@ -2546,7 +2963,6 @@ var doc = `{
"type": "integer"
},
"swap": {
"type": "object",
"$ref": "#/definitions/api.PlayoutStatusSwap"
},
"url": {
@@ -2672,7 +3088,6 @@ var doc = `{
"type": "object",
"properties": {
"config": {
"type": "object",
"$ref": "#/definitions/api.ProcessConfig"
},
"created_at": {
@@ -2681,19 +3096,14 @@ var doc = `{
"id": {
"type": "string"
},
"metadata": {
"type": "object",
"$ref": "#/definitions/api.Metadata"
},
"metadata": {},
"reference": {
"type": "string"
},
"report": {
"type": "object",
"$ref": "#/definitions/api.ProcessReport"
},
"state": {
"type": "object",
"$ref": "#/definitions/api.ProcessState"
},
"type": {
@@ -2704,10 +3114,8 @@ var doc = `{
"api.ProcessConfig": {
"type": "object",
"required": [
"id",
"input",
"output",
"type"
"output"
],
"properties": {
"autostart": {
@@ -2723,7 +3131,6 @@ var doc = `{
}
},
"limits": {
"type": "object",
"$ref": "#/definitions/api.ProcessConfigLimits"
},
"options": {
@@ -2753,7 +3160,8 @@ var doc = `{
"type": {
"type": "string",
"enum": [
"ffmpeg"
"ffmpeg",
""
]
}
}
@@ -2761,13 +3169,18 @@ var doc = `{
"api.ProcessConfigIO": {
"type": "object",
"required": [
"address",
"id"
"address"
],
"properties": {
"address": {
"type": "string"
},
"cleanup": {
"type": "array",
"items": {
"$ref": "#/definitions/api.ProcessConfigIOCleanup"
}
},
"id": {
"type": "string"
},
@@ -2779,6 +3192,26 @@ var doc = `{
}
}
},
"api.ProcessConfigIOCleanup": {
"type": "object",
"required": [
"pattern"
],
"properties": {
"max_file_age_seconds": {
"type": "integer"
},
"max_files": {
"type": "integer"
},
"pattern": {
"type": "string"
},
"purge_on_delete": {
"type": "boolean"
}
}
},
"api.ProcessConfigLimits": {
"type": "object",
"properties": {
@@ -2870,7 +3303,6 @@ var doc = `{
"type": "string"
},
"progress": {
"type": "object",
"$ref": "#/definitions/api.Progress"
},
"reconnect_seconds": {
@@ -2938,7 +3370,6 @@ var doc = `{
},
"avstream": {
"description": "avstream",
"type": "object",
"$ref": "#/definitions/api.AVstream"
},
"bitrate_kbit": {
@@ -3091,11 +3522,9 @@ var doc = `{
"type": "object",
"properties": {
"active": {
"type": "object",
"$ref": "#/definitions/api.SessionSummaryActive"
},
"summary": {
"type": "object",
"$ref": "#/definitions/api.SessionSummarySummary"
}
}
@@ -3406,9 +3835,11 @@ var doc = `{
"type": "boolean"
},
"interval_sec": {
"description": "seconds",
"type": "integer"
},
"range_sec": {
"description": "seconds",
"type": "integer"
}
}
@@ -3444,6 +3875,9 @@ var doc = `{
"additionalProperties": {
"type": "string"
}
},
"ui_path": {
"type": "string"
}
}
},
@@ -3481,7 +3915,7 @@ var doc = `{
}
}
},
"stats": {
"sessions": {
"type": "object",
"properties": {
"enable": {
@@ -3608,6 +4042,9 @@ var doc = `{
}
}
},
"update_check": {
"type": "boolean"
},
"version": {
"type": "integer"
}
@@ -3919,49 +4356,18 @@ var doc = `{
}
}`
type swaggerInfo struct {
Version string
Host string
BasePath string
Schemes []string
Title string
Description string
}
// SwaggerInfo holds exported Swagger Info so clients can modify it
var SwaggerInfo = swaggerInfo{
Version: "6.0",
Host: "",
BasePath: "/",
Schemes: []string{},
Title: "datarhei Core API",
Description: "Expose REST API for the datarheiCORE",
}
type s struct{}
func (s *s) ReadDoc() string {
sInfo := SwaggerInfo
sInfo.Description = strings.Replace(sInfo.Description, "\n", "\\n", -1)
t, err := template.New("swagger_info").Funcs(template.FuncMap{
"marshal": func(v interface{}) string {
a, _ := json.Marshal(v)
return string(a)
},
}).Parse(doc)
if err != nil {
return doc
}
var tpl bytes.Buffer
if err := t.Execute(&tpl, sInfo); err != nil {
return doc
}
return tpl.String()
var SwaggerInfo = &swag.Spec{
Version: "3.0",
Host: "",
BasePath: "/",
Schemes: []string{},
Title: "datarhei Core API",
Description: "Expose REST API for the datarhei Core",
InfoInstanceName: "swagger",
SwaggerTemplate: docTemplate,
}
func init() {
swag.Register(swag.Name, &s{})
swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo)
}

View File

@@ -4,15 +4,15 @@
"description": "Expose REST API for the datarhei Core",
"title": "datarhei Core API",
"contact": {
"name": "datarhei.com",
"name": "datarhei Core Support",
"url": "https://www.datarhei.com",
"email": "support@datarhei.com"
"email": "hello@datarhei.com"
},
"license": {
"name": "Apache License Version 2.0",
"name": "Apache 2.0",
"url": "https://github.com/datarhei/core/blob/main/LICENSE"
},
"version": "6.0"
"version": "3.0"
},
"basePath": "/",
"paths": {
@@ -53,7 +53,9 @@
"summary": "Load GraphQL playground",
"operationId": "graph-playground",
"responses": {
"200": {}
"200": {
"description": ""
}
}
}
},
@@ -770,9 +772,7 @@
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/api.Metadata"
}
"schema": {}
},
"400": {
"description": "Bad Request",
@@ -813,17 +813,13 @@
"name": "data",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/api.Metadata"
}
"schema": {}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/api.Metadata"
}
"schema": {}
},
"400": {
"description": "Bad Request",
@@ -1230,9 +1226,7 @@
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/api.Metadata"
}
"schema": {}
},
"400": {
"description": "Bad Request",
@@ -1280,17 +1274,13 @@
"name": "data",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/api.Metadata"
}
"schema": {}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/api.Metadata"
}
"schema": {}
},
"400": {
"description": "Bad Request",
@@ -1832,12 +1822,6 @@
"schema": {
"$ref": "#/definitions/api.SessionsSummary"
}
},
"404": {
"description": "Not Found",
"schema": {
"$ref": "#/definitions/api.Error"
}
}
}
}
@@ -1869,12 +1853,6 @@
"schema": {
"$ref": "#/definitions/api.SessionsActive"
}
},
"404": {
"description": "Not Found",
"schema": {
"$ref": "#/definitions/api.Error"
}
}
}
}
@@ -2216,14 +2194,12 @@
"type": "string"
},
"input": {
"type": "object",
"$ref": "#/definitions/api.AVstreamIO"
},
"looping": {
"type": "boolean"
},
"output": {
"type": "object",
"$ref": "#/definitions/api.AVstreamIO"
},
"queue": {
@@ -2277,7 +2253,6 @@
"type": "integer"
},
"version": {
"type": "object",
"$ref": "#/definitions/api.Version"
}
}
@@ -2302,17 +2277,467 @@
"api.Config": {
"type": "object",
"properties": {
"client": {
"config": {
"$ref": "#/definitions/api.ConfigData"
},
"created_at": {
"type": "string"
},
"token": {
"loaded_at": {
"type": "string"
},
"url": {
"overrides": {
"type": "array",
"items": {
"type": "string"
}
},
"updated_at": {
"type": "string"
}
}
},
"api.ConfigData": {
"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/config.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"
}
}
},
"created_at": {
"type": "string"
},
"db": {
"type": "object",
"properties": {
"dir": {
"type": "string"
}
}
},
"debug": {
"type": "object",
"properties": {
"force_gc": {
"type": "integer"
},
"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"
},
"log": {
"type": "object",
"properties": {
"max_history": {
"type": "integer"
},
"max_lines": {
"type": "integer"
}
}
},
"max_processes": {
"type": "integer"
}
}
},
"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"
},
"topics": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"metrics": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"enable_prometheus": {
"type": "boolean"
},
"interval_sec": {
"description": "seconds",
"type": "integer"
},
"range_sec": {
"description": "seconds",
"type": "integer"
}
}
},
"name": {
"type": "string"
},
"playout": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"max_port": {
"type": "integer"
},
"min_port": {
"type": "integer"
}
}
},
"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"
},
"app": {
"type": "string"
},
"enable": {
"type": "boolean"
},
"enable_tls": {
"type": "boolean"
},
"token": {
"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"
},
"max_sessions": {
"type": "integer"
},
"persist": {
"type": "boolean"
},
"persist_interval_sec": {
"type": "integer"
},
"session_timeout_sec": {
"type": "integer"
}
}
},
"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"
},
"max_size_mbytes": {
"type": "integer"
},
"ttl_seconds": {
"type": "integer"
},
"types": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"dir": {
"type": "string"
},
"max_size_mbytes": {
"type": "integer"
}
}
},
"memory": {
"type": "object",
"properties": {
"auth": {
"type": "object",
"properties": {
"enable": {
"type": "boolean"
},
"password": {
"type": "string"
},
"username": {
"type": "string"
}
}
},
"max_size_mbytes": {
"type": "integer"
},
"purge": {
"type": "boolean"
}
}
},
"mimetypes_file": {
"type": "string"
}
}
},
"tls": {
"type": "object",
"properties": {
"address": {
"type": "string"
},
"auto": {
"type": "boolean"
},
"cert_file": {
"type": "string"
},
"enable": {
"type": "boolean"
},
"key_file": {
"type": "string"
}
}
},
"update_check": {
"type": "boolean"
},
"version": {
"type": "integer"
}
}
},
"api.ConfigError": {
"type": "object",
"additionalProperties": {
@@ -2359,22 +2784,16 @@
"query": {
"type": "string"
},
"variables": {
"type": "object"
}
"variables": {}
}
},
"api.GraphResponse": {
"type": "object",
"properties": {
"data": {
"type": "object"
},
"data": {},
"errors": {
"type": "array",
"items": {
"type": "object"
}
"items": {}
}
}
},
@@ -2416,9 +2835,6 @@
}
}
},
"api.Metadata": {
"type": "object"
},
"api.MetricsQuery": {
"type": "object",
"properties": {
@@ -2431,7 +2847,7 @@
"$ref": "#/definitions/api.MetricsQueryMetric"
}
},
"timeframe_sec": {
"timerange_sec": {
"type": "integer"
}
}
@@ -2453,11 +2869,17 @@
"api.MetricsResponse": {
"type": "object",
"properties": {
"interval_sec": {
"type": "integer"
},
"metrics": {
"type": "array",
"items": {
"$ref": "#/definitions/api.MetricsResponseMetric"
}
},
"timerange_sec": {
"type": "integer"
}
}
},
@@ -2476,23 +2898,29 @@
"values": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "number"
}
"$ref": "#/definitions/api.MetricsResponseValue"
}
}
}
},
"api.MetricsResponseValue": {
"type": "object",
"properties": {
"ts": {
"type": "string"
},
"value": {
"type": "number"
}
}
},
"api.PlayoutStatus": {
"type": "object",
"properties": {
"aqueue": {
"type": "integer"
},
"debug": {
"type": "object"
},
"debug": {},
"drop": {
"type": "integer"
},
@@ -2512,14 +2940,12 @@
"type": "string"
},
"input": {
"type": "object",
"$ref": "#/definitions/api.PlayoutStatusIO"
},
"looping": {
"type": "boolean"
},
"output": {
"type": "object",
"$ref": "#/definitions/api.PlayoutStatusIO"
},
"queue": {
@@ -2529,7 +2955,6 @@
"type": "integer"
},
"swap": {
"type": "object",
"$ref": "#/definitions/api.PlayoutStatusSwap"
},
"url": {
@@ -2655,7 +3080,6 @@
"type": "object",
"properties": {
"config": {
"type": "object",
"$ref": "#/definitions/api.ProcessConfig"
},
"created_at": {
@@ -2664,19 +3088,14 @@
"id": {
"type": "string"
},
"metadata": {
"type": "object",
"$ref": "#/definitions/api.Metadata"
},
"metadata": {},
"reference": {
"type": "string"
},
"report": {
"type": "object",
"$ref": "#/definitions/api.ProcessReport"
},
"state": {
"type": "object",
"$ref": "#/definitions/api.ProcessState"
},
"type": {
@@ -2687,10 +3106,8 @@
"api.ProcessConfig": {
"type": "object",
"required": [
"id",
"input",
"output",
"type"
"output"
],
"properties": {
"autostart": {
@@ -2706,7 +3123,6 @@
}
},
"limits": {
"type": "object",
"$ref": "#/definitions/api.ProcessConfigLimits"
},
"options": {
@@ -2736,7 +3152,8 @@
"type": {
"type": "string",
"enum": [
"ffmpeg"
"ffmpeg",
""
]
}
}
@@ -2744,13 +3161,18 @@
"api.ProcessConfigIO": {
"type": "object",
"required": [
"address",
"id"
"address"
],
"properties": {
"address": {
"type": "string"
},
"cleanup": {
"type": "array",
"items": {
"$ref": "#/definitions/api.ProcessConfigIOCleanup"
}
},
"id": {
"type": "string"
},
@@ -2762,6 +3184,26 @@
}
}
},
"api.ProcessConfigIOCleanup": {
"type": "object",
"required": [
"pattern"
],
"properties": {
"max_file_age_seconds": {
"type": "integer"
},
"max_files": {
"type": "integer"
},
"pattern": {
"type": "string"
},
"purge_on_delete": {
"type": "boolean"
}
}
},
"api.ProcessConfigLimits": {
"type": "object",
"properties": {
@@ -2853,7 +3295,6 @@
"type": "string"
},
"progress": {
"type": "object",
"$ref": "#/definitions/api.Progress"
},
"reconnect_seconds": {
@@ -2921,7 +3362,6 @@
},
"avstream": {
"description": "avstream",
"type": "object",
"$ref": "#/definitions/api.AVstream"
},
"bitrate_kbit": {
@@ -3074,11 +3514,9 @@
"type": "object",
"properties": {
"active": {
"type": "object",
"$ref": "#/definitions/api.SessionSummaryActive"
},
"summary": {
"type": "object",
"$ref": "#/definitions/api.SessionSummarySummary"
}
}
@@ -3389,9 +3827,11 @@
"type": "boolean"
},
"interval_sec": {
"description": "seconds",
"type": "integer"
},
"range_sec": {
"description": "seconds",
"type": "integer"
}
}
@@ -3427,6 +3867,9 @@
"additionalProperties": {
"type": "string"
}
},
"ui_path": {
"type": "string"
}
}
},
@@ -3464,7 +3907,7 @@
}
}
},
"stats": {
"sessions": {
"type": "object",
"properties": {
"enable": {
@@ -3591,6 +4034,9 @@
}
}
},
"update_check": {
"type": "boolean"
},
"version": {
"type": "integer"
}
@@ -3900,4 +4346,4 @@
"type": "basic"
}
}
}
}

View File

@@ -16,12 +16,10 @@ definitions:
type: string
input:
$ref: '#/definitions/api.AVstreamIO'
type: object
looping:
type: boolean
output:
$ref: '#/definitions/api.AVstreamIO'
type: object
queue:
type: integer
type: object
@@ -57,7 +55,6 @@ definitions:
type: integer
version:
$ref: '#/definitions/api.Version'
type: object
type: object
api.Command:
properties:
@@ -73,13 +70,305 @@ definitions:
type: object
api.Config:
properties:
client:
config:
$ref: '#/definitions/api.ConfigData'
created_at:
type: string
token:
loaded_at:
type: string
url:
overrides:
items:
type: string
type: array
updated_at:
type: string
type: object
api.ConfigData:
properties:
address:
type: string
api:
properties:
access:
properties:
http:
properties:
allow:
items:
type: string
type: array
block:
items:
type: string
type: array
type: object
https:
properties:
allow:
items:
type: string
type: array
block:
items:
type: string
type: array
type: object
type: object
auth:
properties:
auth0:
properties:
enable:
type: boolean
tenants:
items:
$ref: '#/definitions/config.Auth0Tenant'
type: array
type: object
disable_localhost:
type: boolean
enable:
type: boolean
jwt:
properties:
secret:
type: string
type: object
password:
type: string
username:
type: string
type: object
read_only:
type: boolean
type: object
created_at:
type: string
db:
properties:
dir:
type: string
type: object
debug:
properties:
force_gc:
type: integer
profiling:
type: boolean
type: object
ffmpeg:
properties:
access:
properties:
input:
properties:
allow:
items:
type: string
type: array
block:
items:
type: string
type: array
type: object
output:
properties:
allow:
items:
type: string
type: array
block:
items:
type: string
type: array
type: object
type: object
binary:
type: string
log:
properties:
max_history:
type: integer
max_lines:
type: integer
type: object
max_processes:
type: integer
type: object
host:
properties:
auto:
type: boolean
name:
items:
type: string
type: array
type: object
id:
type: string
log:
properties:
level:
enum:
- debug
- info
- warn
- error
- silent
type: string
max_lines:
type: integer
topics:
items:
type: string
type: array
type: object
metrics:
properties:
enable:
type: boolean
enable_prometheus:
type: boolean
interval_sec:
description: seconds
type: integer
range_sec:
description: seconds
type: integer
type: object
name:
type: string
playout:
properties:
enable:
type: boolean
max_port:
type: integer
min_port:
type: integer
type: object
router:
properties:
blocked_prefixes:
items:
type: string
type: array
routes:
additionalProperties:
type: string
type: object
ui_path:
type: string
type: object
rtmp:
properties:
address:
type: string
app:
type: string
enable:
type: boolean
enable_tls:
type: boolean
token:
type: string
type: object
service:
properties:
enable:
type: boolean
token:
type: string
url:
type: string
type: object
sessions:
properties:
enable:
type: boolean
ip_ignorelist:
items:
type: string
type: array
max_bitrate_mbit:
type: integer
max_sessions:
type: integer
persist:
type: boolean
persist_interval_sec:
type: integer
session_timeout_sec:
type: integer
type: object
storage:
properties:
cors:
properties:
origins:
items:
type: string
type: array
type: object
disk:
properties:
cache:
properties:
enable:
type: boolean
max_file_size_mbytes:
type: integer
max_size_mbytes:
type: integer
ttl_seconds:
type: integer
types:
items:
type: string
type: array
type: object
dir:
type: string
max_size_mbytes:
type: integer
type: object
memory:
properties:
auth:
properties:
enable:
type: boolean
password:
type: string
username:
type: string
type: object
max_size_mbytes:
type: integer
purge:
type: boolean
type: object
mimetypes_file:
type: string
type: object
tls:
properties:
address:
type: string
auto:
type: boolean
cert_file:
type: string
enable:
type: boolean
key_file:
type: string
type: object
update_check:
type: boolean
version:
type: integer
type: object
api.ConfigError:
additionalProperties:
items:
@@ -110,16 +399,13 @@ definitions:
properties:
query:
type: string
variables:
type: object
variables: {}
type: object
api.GraphResponse:
properties:
data:
type: object
data: {}
errors:
items:
type: object
items: {}
type: array
type: object
api.JWT:
@@ -147,8 +433,6 @@ definitions:
- password
- username
type: object
api.Metadata:
type: object
api.MetricsQuery:
properties:
interval_sec:
@@ -157,7 +441,7 @@ definitions:
items:
$ref: '#/definitions/api.MetricsQueryMetric'
type: array
timeframe_sec:
timerange_sec:
type: integer
type: object
api.MetricsQueryMetric:
@@ -171,10 +455,14 @@ definitions:
type: object
api.MetricsResponse:
properties:
interval_sec:
type: integer
metrics:
items:
$ref: '#/definitions/api.MetricsResponseMetric'
type: array
timerange_sec:
type: integer
type: object
api.MetricsResponseMetric:
properties:
@@ -186,17 +474,21 @@ definitions:
type: string
values:
items:
items:
type: number
type: array
$ref: '#/definitions/api.MetricsResponseValue'
type: array
type: object
api.MetricsResponseValue:
properties:
ts:
type: string
value:
type: number
type: object
api.PlayoutStatus:
properties:
aqueue:
type: integer
debug:
type: object
debug: {}
drop:
type: integer
dup:
@@ -211,19 +503,16 @@ definitions:
type: string
input:
$ref: '#/definitions/api.PlayoutStatusIO'
type: object
looping:
type: boolean
output:
$ref: '#/definitions/api.PlayoutStatusIO'
type: object
queue:
type: integer
stream:
type: integer
swap:
$ref: '#/definitions/api.PlayoutStatusSwap'
type: object
url:
type: string
type: object
@@ -307,22 +596,17 @@ definitions:
properties:
config:
$ref: '#/definitions/api.ProcessConfig'
type: object
created_at:
type: integer
id:
type: string
metadata:
$ref: '#/definitions/api.Metadata'
type: object
metadata: {}
reference:
type: string
report:
$ref: '#/definitions/api.ProcessReport'
type: object
state:
$ref: '#/definitions/api.ProcessState'
type: object
type:
type: string
type: object
@@ -338,7 +622,6 @@ definitions:
type: array
limits:
$ref: '#/definitions/api.ProcessConfigLimits'
type: object
options:
items:
type: string
@@ -358,17 +641,20 @@ definitions:
type:
enum:
- ffmpeg
- ""
type: string
required:
- id
- input
- output
- type
type: object
api.ProcessConfigIO:
properties:
address:
type: string
cleanup:
items:
$ref: '#/definitions/api.ProcessConfigIOCleanup'
type: array
id:
type: string
options:
@@ -377,7 +663,19 @@ definitions:
type: array
required:
- address
- id
type: object
api.ProcessConfigIOCleanup:
properties:
max_file_age_seconds:
type: integer
max_files:
type: integer
pattern:
type: string
purge_on_delete:
type: boolean
required:
- pattern
type: object
api.ProcessConfigLimits:
properties:
@@ -440,7 +738,6 @@ definitions:
type: string
progress:
$ref: '#/definitions/api.Progress'
type: object
reconnect_seconds:
type: integer
runtime_seconds:
@@ -486,7 +783,6 @@ definitions:
avstream:
$ref: '#/definitions/api.AVstream'
description: avstream
type: object
bitrate_kbit:
description: kbit/s
type: number
@@ -589,10 +885,8 @@ definitions:
properties:
active:
$ref: '#/definitions/api.SessionSummaryActive'
type: object
summary:
$ref: '#/definitions/api.SessionSummarySummary'
type: object
type: object
api.SessionSummaryActive:
properties:
@@ -795,8 +1089,10 @@ definitions:
enable_prometheus:
type: boolean
interval_sec:
description: seconds
type: integer
range_sec:
description: seconds
type: integer
type: object
name:
@@ -820,6 +1116,8 @@ definitions:
additionalProperties:
type: string
type: object
ui_path:
type: string
type: object
rtmp:
properties:
@@ -843,7 +1141,7 @@ definitions:
url:
type: string
type: object
stats:
sessions:
properties:
enable:
type: boolean
@@ -925,6 +1223,8 @@ definitions:
key_file:
type: string
type: object
update_check:
type: boolean
version:
type: integer
type: object
@@ -1114,14 +1414,14 @@ definitions:
info:
contact:
email: hello@datarhei.com
name: datarheiCORE Support
name: datarhei Core Support
url: https://www.datarhei.com
description: Expose REST API for the datarheiCORE
description: Expose REST API for the datarhei Core
license:
name: ???
url: nothing
name: Apache 2.0
url: https://github.com/datarhei/core/blob/main/LICENSE
title: datarhei Core API
version: "6.0"
version: "3.0"
paths:
/{path}:
get:
@@ -1173,7 +1473,8 @@ paths:
produces:
- text/html
responses:
"200": {}
"200":
description: ""
security:
- ApiKeyAuth: []
summary: Load GraphQL playground
@@ -1639,8 +1940,7 @@ paths:
responses:
"200":
description: OK
schema:
$ref: '#/definitions/api.Metadata'
schema: {}
"400":
description: Bad Request
schema:
@@ -1667,15 +1967,13 @@ paths:
in: body
name: data
required: true
schema:
$ref: '#/definitions/api.Metadata'
schema: {}
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/api.Metadata'
schema: {}
"400":
description: Bad Request
schema:
@@ -1943,8 +2241,7 @@ paths:
responses:
"200":
description: OK
schema:
$ref: '#/definitions/api.Metadata'
schema: {}
"400":
description: Bad Request
schema:
@@ -1977,15 +2274,13 @@ paths:
in: body
name: data
required: true
schema:
$ref: '#/definitions/api.Metadata'
schema: {}
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/api.Metadata'
schema: {}
"400":
description: Bad Request
schema:
@@ -2340,10 +2635,6 @@ paths:
description: Sessions summary
schema:
$ref: '#/definitions/api.SessionsSummary'
"404":
description: Not Found
schema:
$ref: '#/definitions/api.Error'
security:
- ApiKeyAuth: []
summary: Get a summary of all active and past sessions
@@ -2364,10 +2655,6 @@ paths:
description: Active sessions listing
schema:
$ref: '#/definitions/api.SessionsActive'
"404":
description: Not Found
schema:
$ref: '#/definitions/api.Error'
security:
- ApiKeyAuth: []
summary: Get a minimal summary of all active sessions