mirror of
https://github.com/yusing/godoxy.git
synced 2026-01-11 21:10:30 +01:00
Rename icon-related types in swagger docs: - homepage.FetchResult → iconfetch.Result - homepage.IconMetaSearch → iconlist.IconMetaSearch - homepage.IconSource → icons.Source - Shorten enum varnames (IconSourceAbsolute → SourceAbsolute, etc.) - Add x-nullable: true to rules arrays
5718 lines
142 KiB
JSON
5718 lines
142 KiB
JSON
{
|
|
"swagger": "2.0",
|
|
"info": {
|
|
"description": "GoDoxy API",
|
|
"title": "GoDoxy API",
|
|
"termsOfService": "https://github.com/yusing/godoxy/blob/main/LICENSE",
|
|
"contact": {
|
|
"name": "Yusing",
|
|
"url": "https://github.com/yusing/godoxy/issues"
|
|
},
|
|
"license": {
|
|
"name": "MIT",
|
|
"url": "https://github.com/yusing/godoxy/blob/main/LICENSE"
|
|
},
|
|
"version": "1.0"
|
|
},
|
|
"basePath": "/api/v1",
|
|
"paths": {
|
|
"/agent/create": {
|
|
"post": {
|
|
"description": "Create a new agent and return the docker compose file, encrypted CA and client PEMs\nThe returned PEMs are encrypted with a random key and will be used for verification when adding a new agent",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"agent"
|
|
],
|
|
"summary": "Create a new agent",
|
|
"parameters": [
|
|
{
|
|
"description": "Request",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/NewAgentRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/NewAgentResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"409": {
|
|
"description": "Conflict",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "create",
|
|
"operationId": "create"
|
|
}
|
|
},
|
|
"/agent/list": {
|
|
"get": {
|
|
"description": "List agents",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"agent",
|
|
"websocket"
|
|
],
|
|
"summary": "List agents",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/Agent"
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "list",
|
|
"operationId": "list"
|
|
}
|
|
},
|
|
"/agent/verify": {
|
|
"post": {
|
|
"description": "Verify a new agent and return the number of routes added",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"agent"
|
|
],
|
|
"summary": "Verify a new agent",
|
|
"parameters": [
|
|
{
|
|
"description": "Request",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/VerifyNewAgentRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/SuccessResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "verify",
|
|
"operationId": "verify"
|
|
}
|
|
},
|
|
"/auth/callback": {
|
|
"post": {
|
|
"description": "Handles the callback from the provider after successful authentication",
|
|
"produces": [
|
|
"text/plain"
|
|
],
|
|
"tags": [
|
|
"auth"
|
|
],
|
|
"summary": "Auth Callback",
|
|
"parameters": [
|
|
{
|
|
"description": "Userpass only",
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/auth.UserPassAuthCallbackRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Userpass: OK",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"302": {
|
|
"description": "OIDC: Redirects to home page",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Userpass: invalid request / credentials",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "callback",
|
|
"operationId": "callback"
|
|
}
|
|
},
|
|
"/auth/check": {
|
|
"head": {
|
|
"description": "Checks if the user is authenticated by validating their token",
|
|
"produces": [
|
|
"text/plain"
|
|
],
|
|
"tags": [
|
|
"auth"
|
|
],
|
|
"summary": "Check authentication status",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"302": {
|
|
"description": "Redirects to login page or IdP",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "check",
|
|
"operationId": "check"
|
|
}
|
|
},
|
|
"/auth/login": {
|
|
"post": {
|
|
"description": "Initiates the login process by redirecting the user to the provider's login page",
|
|
"produces": [
|
|
"text/plain"
|
|
],
|
|
"tags": [
|
|
"auth"
|
|
],
|
|
"summary": "Login",
|
|
"responses": {
|
|
"302": {
|
|
"description": "Redirects to login page or IdP",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"429": {
|
|
"description": "Too Many Requests",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "login",
|
|
"operationId": "login"
|
|
}
|
|
},
|
|
"/auth/logout": {
|
|
"get": {
|
|
"description": "Logs out the user by invalidating the token",
|
|
"produces": [
|
|
"text/plain"
|
|
],
|
|
"tags": [
|
|
"auth"
|
|
],
|
|
"summary": "Logout",
|
|
"responses": {
|
|
"302": {
|
|
"description": "Redirects to home page",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "logout",
|
|
"operationId": "logout"
|
|
},
|
|
"post": {
|
|
"description": "Logs out the user by invalidating the token",
|
|
"produces": [
|
|
"text/plain"
|
|
],
|
|
"tags": [
|
|
"auth"
|
|
],
|
|
"summary": "Logout",
|
|
"responses": {
|
|
"302": {
|
|
"description": "Redirects to home page",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "logout",
|
|
"operationId": "logout"
|
|
}
|
|
},
|
|
"/cert/info": {
|
|
"get": {
|
|
"description": "Get cert info",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"cert"
|
|
],
|
|
"summary": "Get cert info",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/CertInfo"
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Unauthorized",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "No certificates found or autocert is not enabled",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "info",
|
|
"operationId": "info"
|
|
}
|
|
},
|
|
"/cert/renew": {
|
|
"get": {
|
|
"description": "Renew cert",
|
|
"produces": [
|
|
"text/plain"
|
|
],
|
|
"tags": [
|
|
"cert",
|
|
"websocket"
|
|
],
|
|
"summary": "Renew cert",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/SuccessResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "renew",
|
|
"operationId": "renew"
|
|
}
|
|
},
|
|
"/docker/container/{id}": {
|
|
"get": {
|
|
"description": "Get container by container id",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"docker"
|
|
],
|
|
"summary": "Get container",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Container ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/ContainerResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "ID is required",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Container not found",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "container",
|
|
"operationId": "container"
|
|
}
|
|
},
|
|
"/docker/containers": {
|
|
"get": {
|
|
"description": "Get containers",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"docker"
|
|
],
|
|
"summary": "Get containers",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/ContainerResponse"
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "containers",
|
|
"operationId": "containers"
|
|
}
|
|
},
|
|
"/docker/info": {
|
|
"get": {
|
|
"description": "Get docker info",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"docker"
|
|
],
|
|
"summary": "Get docker info",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/ServerInfo"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "info",
|
|
"operationId": "info"
|
|
}
|
|
},
|
|
"/docker/logs/{id}": {
|
|
"get": {
|
|
"description": "Get docker container logs by container id",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"docker",
|
|
"websocket"
|
|
],
|
|
"summary": "Get docker container logs",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "container id",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "boolean",
|
|
"description": "show stdout",
|
|
"name": "stdout",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "boolean",
|
|
"description": "show stderr",
|
|
"name": "stderr",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "from timestamp",
|
|
"name": "from",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "to timestamp",
|
|
"name": "to",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "levels",
|
|
"name": "levels",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK"
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "server not found or container not found",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "logs",
|
|
"operationId": "logs"
|
|
}
|
|
},
|
|
"/docker/restart": {
|
|
"post": {
|
|
"description": "Restart container by container id",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"docker"
|
|
],
|
|
"summary": "Restart container",
|
|
"parameters": [
|
|
{
|
|
"description": "Request",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/dockerapi.RestartRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/SuccessResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Container not found",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "restart",
|
|
"operationId": "restart"
|
|
}
|
|
},
|
|
"/docker/start": {
|
|
"post": {
|
|
"description": "Start container by container id",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"docker"
|
|
],
|
|
"summary": "Start container",
|
|
"parameters": [
|
|
{
|
|
"description": "Request",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/dockerapi.StartRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/SuccessResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Container not found",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "start",
|
|
"operationId": "start"
|
|
}
|
|
},
|
|
"/docker/stop": {
|
|
"post": {
|
|
"description": "Stop container by container id",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"docker"
|
|
],
|
|
"summary": "Stop container",
|
|
"parameters": [
|
|
{
|
|
"description": "Request",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/dockerapi.StopRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/SuccessResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Container not found",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "stop",
|
|
"operationId": "stop"
|
|
}
|
|
},
|
|
"/favicon": {
|
|
"get": {
|
|
"description": "Get favicon",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"image/svg+xml",
|
|
"image/x-icon",
|
|
"image/png",
|
|
"image/webp"
|
|
],
|
|
"tags": [
|
|
"v1"
|
|
],
|
|
"summary": "Get favicon",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "URL of the route",
|
|
"name": "url",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Alias of the route",
|
|
"name": "alias",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/iconfetch.Result"
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request: alias is empty or route is not HTTPRoute",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden: unauthorized",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found: route or icon not found",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error: internal error",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "favicon",
|
|
"operationId": "favicon"
|
|
}
|
|
},
|
|
"/file/content": {
|
|
"get": {
|
|
"description": "Get file content",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json",
|
|
"application/godoxy+yaml"
|
|
],
|
|
"tags": [
|
|
"file"
|
|
],
|
|
"summary": "Get file content",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"format": "filename",
|
|
"name": "filename",
|
|
"in": "query",
|
|
"required": true
|
|
},
|
|
{
|
|
"enum": [
|
|
"config",
|
|
"provider",
|
|
"middleware"
|
|
],
|
|
"type": "string",
|
|
"x-enum-varnames": [
|
|
"FileTypeConfig",
|
|
"FileTypeProvider",
|
|
"FileTypeMiddleware"
|
|
],
|
|
"name": "type",
|
|
"in": "query",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "get",
|
|
"operationId": "get"
|
|
},
|
|
"put": {
|
|
"description": "Set file content",
|
|
"consumes": [
|
|
"text/plain"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"file"
|
|
],
|
|
"summary": "Set file content",
|
|
"parameters": [
|
|
{
|
|
"enum": [
|
|
"config",
|
|
"provider",
|
|
"middleware"
|
|
],
|
|
"type": "string",
|
|
"description": "Type",
|
|
"name": "type",
|
|
"in": "query",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Filename",
|
|
"name": "filename",
|
|
"in": "query",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "File",
|
|
"name": "file",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/SuccessResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "set",
|
|
"operationId": "set"
|
|
}
|
|
},
|
|
"/file/list": {
|
|
"get": {
|
|
"description": "List files",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"file"
|
|
],
|
|
"summary": "List files",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/ListFilesResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "list",
|
|
"operationId": "list"
|
|
}
|
|
},
|
|
"/file/validate": {
|
|
"post": {
|
|
"description": "Validate file",
|
|
"consumes": [
|
|
"text/plain"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"file"
|
|
],
|
|
"summary": "Validate file",
|
|
"parameters": [
|
|
{
|
|
"enum": [
|
|
"config",
|
|
"provider",
|
|
"middleware"
|
|
],
|
|
"type": "string",
|
|
"description": "Type",
|
|
"name": "type",
|
|
"in": "query",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "File content",
|
|
"name": "file",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "File validated",
|
|
"schema": {
|
|
"$ref": "#/definitions/SuccessResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"417": {
|
|
"description": "Validation failed",
|
|
"schema": {}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "validate",
|
|
"operationId": "validate"
|
|
}
|
|
},
|
|
"/health": {
|
|
"get": {
|
|
"description": "Get health info by route name",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v1",
|
|
"websocket"
|
|
],
|
|
"summary": "Get routes health info",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Health info by route name",
|
|
"schema": {
|
|
"$ref": "#/definitions/HealthMap"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "health",
|
|
"operationId": "health"
|
|
}
|
|
},
|
|
"/homepage/categories": {
|
|
"get": {
|
|
"description": "List homepage categories",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"homepage"
|
|
],
|
|
"summary": "List homepage categories",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "categories",
|
|
"operationId": "categories"
|
|
}
|
|
},
|
|
"/homepage/item_click": {
|
|
"post": {
|
|
"description": "Increment item click.",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"homepage"
|
|
],
|
|
"summary": "Increment item click",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"name": "which",
|
|
"in": "query",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/SuccessResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "item-click",
|
|
"operationId": "item-click"
|
|
}
|
|
},
|
|
"/homepage/items": {
|
|
"get": {
|
|
"description": "Homepage items",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"homepage",
|
|
"websocket"
|
|
],
|
|
"summary": "Homepage items",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Category filter",
|
|
"name": "category",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Provider filter",
|
|
"name": "provider",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Search query",
|
|
"name": "search",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"enum": [
|
|
"clicks",
|
|
"alphabetical",
|
|
"custom"
|
|
],
|
|
"type": "string",
|
|
"default": "alphabetical",
|
|
"description": "Sort method",
|
|
"name": "sort_method",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/HomepageCategory"
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "items",
|
|
"operationId": "items"
|
|
}
|
|
},
|
|
"/homepage/set/category_order": {
|
|
"post": {
|
|
"description": "Set homepage category order.",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"homepage"
|
|
],
|
|
"summary": "Set homepage category order",
|
|
"parameters": [
|
|
{
|
|
"description": "Override category order",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/HomepageOverrideCategoryOrderParams"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/SuccessResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "set-category-order",
|
|
"operationId": "set-category-order"
|
|
}
|
|
},
|
|
"/homepage/set/item": {
|
|
"post": {
|
|
"description": "Override single homepage item.",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"homepage"
|
|
],
|
|
"summary": "Override single homepage item",
|
|
"parameters": [
|
|
{
|
|
"description": "Override single item",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/HomepageOverrideItemParams"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/SuccessResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "set-item",
|
|
"operationId": "set-item"
|
|
}
|
|
},
|
|
"/homepage/set/item_all_sort_order": {
|
|
"post": {
|
|
"description": "Set homepage item all sort order.",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"homepage"
|
|
],
|
|
"summary": "Set homepage item all sort order",
|
|
"parameters": [
|
|
{
|
|
"description": "Set item all sort order",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/HomepageOverrideItemAllSortOrderParams"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/SuccessResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "set-item-all-sort-order",
|
|
"operationId": "set-item-all-sort-order"
|
|
}
|
|
},
|
|
"/homepage/set/item_fav_sort_order": {
|
|
"post": {
|
|
"description": "Set homepage item fav sort order.",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"homepage"
|
|
],
|
|
"summary": "Set homepage item fav sort order",
|
|
"parameters": [
|
|
{
|
|
"description": "Set item fav sort order",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/HomepageOverrideItemFavSortOrderParams"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/SuccessResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "set-item-fav-sort-order",
|
|
"operationId": "set-item-fav-sort-order"
|
|
}
|
|
},
|
|
"/homepage/set/item_favorite": {
|
|
"post": {
|
|
"description": "Set homepage item favorite.",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"homepage"
|
|
],
|
|
"summary": "Set homepage item favorite",
|
|
"parameters": [
|
|
{
|
|
"description": "Set item favorite",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/HomepageOverrideItemFavoriteParams"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/SuccessResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "set-item-favorite",
|
|
"operationId": "set-item-favorite"
|
|
}
|
|
},
|
|
"/homepage/set/item_sort_order": {
|
|
"post": {
|
|
"description": "Set homepage item sort order.",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"homepage"
|
|
],
|
|
"summary": "Set homepage item sort order",
|
|
"parameters": [
|
|
{
|
|
"description": "Set item sort order",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/HomepageOverrideItemSortOrderParams"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/SuccessResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "set-item-sort-order",
|
|
"operationId": "set-item-sort-order"
|
|
}
|
|
},
|
|
"/homepage/set/item_visible": {
|
|
"post": {
|
|
"description": "POST list of item ids and visibility value.",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"homepage"
|
|
],
|
|
"summary": "Set homepage item visibility",
|
|
"parameters": [
|
|
{
|
|
"description": "Set item visibility",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/HomepageOverrideItemVisibleParams"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/SuccessResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "set-item-visible",
|
|
"operationId": "set-item-visible"
|
|
}
|
|
},
|
|
"/homepage/set/items_batch": {
|
|
"post": {
|
|
"description": "Override multiple homepage items.",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"homepage"
|
|
],
|
|
"summary": "Override multiple homepage items",
|
|
"parameters": [
|
|
{
|
|
"description": "Override multiple items",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/HomepageOverrideItemsBatchParams"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/SuccessResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "set-items-batch",
|
|
"operationId": "set-items-batch"
|
|
}
|
|
},
|
|
"/icons": {
|
|
"get": {
|
|
"description": "List icons",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v1"
|
|
],
|
|
"summary": "List icons",
|
|
"parameters": [
|
|
{
|
|
"type": "integer",
|
|
"description": "Limit",
|
|
"name": "limit",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Keyword",
|
|
"name": "keyword",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/iconlist.IconMetaSearch"
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "icons",
|
|
"operationId": "icons"
|
|
}
|
|
},
|
|
"/metrics/all_system_info": {
|
|
"get": {
|
|
"description": "Get system info",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"metrics",
|
|
"websocket"
|
|
],
|
|
"summary": "Get system info",
|
|
"parameters": [
|
|
{
|
|
"enum": [
|
|
"cpu_average",
|
|
"memory_usage",
|
|
"memory_usage_percent",
|
|
"disks_read_speed",
|
|
"disks_write_speed",
|
|
"disks_iops",
|
|
"disk_usage",
|
|
"network_speed",
|
|
"network_transfer",
|
|
"sensor_temperature"
|
|
],
|
|
"type": "string",
|
|
"x-enum-varnames": [
|
|
"SystemInfoAggregateModeCPUAverage",
|
|
"SystemInfoAggregateModeMemoryUsage",
|
|
"SystemInfoAggregateModeMemoryUsagePercent",
|
|
"SystemInfoAggregateModeDisksReadSpeed",
|
|
"SystemInfoAggregateModeDisksWriteSpeed",
|
|
"SystemInfoAggregateModeDisksIOPS",
|
|
"SystemInfoAggregateModeDiskUsage",
|
|
"SystemInfoAggregateModeNetworkSpeed",
|
|
"SystemInfoAggregateModeNetworkTransfer",
|
|
"SystemInfoAggregateModeSensorTemperature"
|
|
],
|
|
"name": "aggregate",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"format": "duration",
|
|
"name": "interval",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"enum": [
|
|
"5m",
|
|
"15m",
|
|
"1h",
|
|
"1d",
|
|
"1mo"
|
|
],
|
|
"type": "string",
|
|
"x-enum-varnames": [
|
|
"MetricsPeriod5m",
|
|
"MetricsPeriod15m",
|
|
"MetricsPeriod1h",
|
|
"MetricsPeriod1d",
|
|
"MetricsPeriod1mo"
|
|
],
|
|
"name": "period",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "period specified, aggregated system info by agent name",
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/SystemInfoAggregate"
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "all_system_info",
|
|
"operationId": "all_system_info"
|
|
}
|
|
},
|
|
"/metrics/system_info": {
|
|
"get": {
|
|
"description": "Get system info",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"metrics",
|
|
"websocket"
|
|
],
|
|
"summary": "Get system info",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"name": "agentAddr",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"name": "agentName",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"enum": [
|
|
"cpu_average",
|
|
"memory_usage",
|
|
"memory_usage_percent",
|
|
"disks_read_speed",
|
|
"disks_write_speed",
|
|
"disks_iops",
|
|
"disk_usage",
|
|
"network_speed",
|
|
"network_transfer",
|
|
"sensor_temperature"
|
|
],
|
|
"type": "string",
|
|
"x-enum-varnames": [
|
|
"SystemInfoAggregateModeCPUAverage",
|
|
"SystemInfoAggregateModeMemoryUsage",
|
|
"SystemInfoAggregateModeMemoryUsagePercent",
|
|
"SystemInfoAggregateModeDisksReadSpeed",
|
|
"SystemInfoAggregateModeDisksWriteSpeed",
|
|
"SystemInfoAggregateModeDisksIOPS",
|
|
"SystemInfoAggregateModeDiskUsage",
|
|
"SystemInfoAggregateModeNetworkSpeed",
|
|
"SystemInfoAggregateModeNetworkTransfer",
|
|
"SystemInfoAggregateModeSensorTemperature"
|
|
],
|
|
"name": "aggregate",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"enum": [
|
|
"5m",
|
|
"15m",
|
|
"1h",
|
|
"1d",
|
|
"1mo"
|
|
],
|
|
"type": "string",
|
|
"x-enum-varnames": [
|
|
"MetricsPeriod5m",
|
|
"MetricsPeriod15m",
|
|
"MetricsPeriod1h",
|
|
"MetricsPeriod1d",
|
|
"MetricsPeriod1mo"
|
|
],
|
|
"name": "period",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "period specified",
|
|
"schema": {
|
|
"$ref": "#/definitions/SystemInfoAggregate"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "system_info",
|
|
"operationId": "system_info"
|
|
}
|
|
},
|
|
"/metrics/uptime": {
|
|
"get": {
|
|
"description": "Get uptime",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"metrics",
|
|
"websocket"
|
|
],
|
|
"summary": "Get uptime",
|
|
"parameters": [
|
|
{
|
|
"enum": [
|
|
"5m",
|
|
"15m",
|
|
"1h",
|
|
"1d",
|
|
"1mo"
|
|
],
|
|
"type": "string",
|
|
"example": "1m",
|
|
"x-enum-varnames": [
|
|
"MetricsPeriod5m",
|
|
"MetricsPeriod15m",
|
|
"MetricsPeriod1h",
|
|
"MetricsPeriod1d",
|
|
"MetricsPeriod1mo"
|
|
],
|
|
"name": "interval",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"example": "",
|
|
"name": "keyword",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"default": 0,
|
|
"example": 10,
|
|
"name": "limit",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"default": 0,
|
|
"example": 10,
|
|
"name": "offset",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "period specified",
|
|
"schema": {
|
|
"$ref": "#/definitions/UptimeAggregate"
|
|
}
|
|
},
|
|
"204": {
|
|
"description": "No Content",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "uptime",
|
|
"operationId": "uptime"
|
|
}
|
|
},
|
|
"/reload": {
|
|
"post": {
|
|
"description": "Reload config",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v1"
|
|
],
|
|
"summary": "Reload config",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/SuccessResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "reload",
|
|
"operationId": "reload"
|
|
}
|
|
},
|
|
"/route/by_provider": {
|
|
"get": {
|
|
"description": "List routes by provider",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"route"
|
|
],
|
|
"summary": "List routes by provider",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/routeApi.RoutesByProvider"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "byProvider",
|
|
"operationId": "byProvider"
|
|
}
|
|
},
|
|
"/route/list": {
|
|
"get": {
|
|
"description": "List routes",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"route",
|
|
"websocket"
|
|
],
|
|
"summary": "List routes",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Provider",
|
|
"name": "provider",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/Route"
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "routes",
|
|
"operationId": "routes"
|
|
}
|
|
},
|
|
"/route/playground": {
|
|
"post": {
|
|
"description": "Test rules against mock request/response",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"route"
|
|
],
|
|
"summary": "Rule Playground",
|
|
"parameters": [
|
|
{
|
|
"description": "Playground request",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/PlaygroundRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/PlaygroundResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "playground",
|
|
"operationId": "playground"
|
|
}
|
|
},
|
|
"/route/providers": {
|
|
"get": {
|
|
"description": "List route providers",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"route",
|
|
"websocket"
|
|
],
|
|
"summary": "List route providers",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/RouteProvider"
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "providers",
|
|
"operationId": "providers"
|
|
}
|
|
},
|
|
"/route/{which}": {
|
|
"get": {
|
|
"description": "List route",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"route"
|
|
],
|
|
"summary": "List route",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Route name",
|
|
"name": "which",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/Route"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "route",
|
|
"operationId": "route"
|
|
}
|
|
},
|
|
"/stats": {
|
|
"get": {
|
|
"description": "Get stats",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"v1",
|
|
"websocket"
|
|
],
|
|
"summary": "Get GoDoxy stats",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/StatsResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/ErrorResponse"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "stats",
|
|
"operationId": "stats"
|
|
}
|
|
},
|
|
"/version": {
|
|
"get": {
|
|
"description": "Get the version of the GoDoxy",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"text/plain"
|
|
],
|
|
"tags": [
|
|
"v1"
|
|
],
|
|
"summary": "Get version",
|
|
"responses": {
|
|
"200": {
|
|
"description": "version",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"x-id": "version",
|
|
"operationId": "version"
|
|
}
|
|
}
|
|
},
|
|
"definitions": {
|
|
"Agent": {
|
|
"type": "object",
|
|
"properties": {
|
|
"addr": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"runtime": {
|
|
"$ref": "#/definitions/agent.ContainerRuntime",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"supports_tcp_stream": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"supports_udp_stream": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"version": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"CIDR": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ip": {
|
|
"description": "network number",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"mask": {
|
|
"description": "network mask",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"CertInfo": {
|
|
"type": "object",
|
|
"properties": {
|
|
"dns_names": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"email_addresses": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"issuer": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"not_after": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"not_before": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"subject": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"Container": {
|
|
"type": "object",
|
|
"properties": {
|
|
"agent": {
|
|
"$ref": "#/definitions/agentpool.Agent",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"aliases": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"container_id": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"container_name": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"docker_cfg": {
|
|
"$ref": "#/definitions/DockerProviderConfig",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"errors": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"idlewatcher_config": {
|
|
"$ref": "#/definitions/IdlewatcherConfig",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"image": {
|
|
"$ref": "#/definitions/ContainerImage",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"is_excluded": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"is_explicit": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"is_host_network_mode": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"labels": {
|
|
"description": "for displaying in UI",
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"mounts": {
|
|
"description": "source:destination",
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"network": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"private_hostname": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"private_ports": {
|
|
"description": "privatePort:types.Port",
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/types.PortMapping"
|
|
}
|
|
],
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"public_hostname": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"public_ports": {
|
|
"description": "non-zero publicPort:types.Port",
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/types.PortMapping"
|
|
}
|
|
],
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"running": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"state": {
|
|
"$ref": "#/definitions/container.ContainerState",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"ContainerImage": {
|
|
"type": "object",
|
|
"properties": {
|
|
"author": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"sha256": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"tag": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"version": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"ContainerResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"image": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"server": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"state": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/ContainerState"
|
|
}
|
|
],
|
|
"x-nullable": true
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"ContainerState": {
|
|
"type": "string",
|
|
"enum": [
|
|
"created",
|
|
"running",
|
|
"paused",
|
|
"restarting",
|
|
"removing",
|
|
"exited",
|
|
"dead"
|
|
],
|
|
"x-enum-comments": {
|
|
"StateCreated": "StateCreated indicates the container is created, but not (yet) started.",
|
|
"StateDead": "StateDead indicates that the container failed to be deleted. Containers in this state are attempted to be cleaned up when the daemon restarts.",
|
|
"StateExited": "StateExited indicates that the container exited.",
|
|
"StatePaused": "StatePaused indicates that the container's current state is paused.",
|
|
"StateRemoving": "StateRemoving indicates that the container is being removed.",
|
|
"StateRestarting": "StateRestarting indicates that the container is currently restarting.",
|
|
"StateRunning": "StateRunning indicates that the container is running."
|
|
},
|
|
"x-enum-descriptions": [
|
|
"StateCreated indicates the container is created, but not (yet) started.",
|
|
"StateRunning indicates that the container is running.",
|
|
"StatePaused indicates that the container's current state is paused.",
|
|
"StateRestarting indicates that the container is currently restarting.",
|
|
"StateRemoving indicates that the container is being removed.",
|
|
"StateExited indicates that the container exited.",
|
|
"StateDead indicates that the container failed to be deleted. Containers in this state are attempted to be cleaned up when the daemon restarts."
|
|
],
|
|
"x-enum-varnames": [
|
|
"StateCreated",
|
|
"StateRunning",
|
|
"StatePaused",
|
|
"StateRestarting",
|
|
"StateRemoving",
|
|
"StateExited",
|
|
"StateDead"
|
|
],
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"ContainerStats": {
|
|
"type": "object",
|
|
"properties": {
|
|
"paused": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"running": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"stopped": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"total": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"ContainerStopMethod": {
|
|
"type": "string",
|
|
"enum": [
|
|
"pause",
|
|
"stop",
|
|
"kill"
|
|
],
|
|
"x-enum-varnames": [
|
|
"ContainerStopMethodPause",
|
|
"ContainerStopMethodStop",
|
|
"ContainerStopMethodKill"
|
|
],
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"DockerConfig": {
|
|
"type": "object",
|
|
"required": [
|
|
"container_id",
|
|
"container_name",
|
|
"docker_cfg"
|
|
],
|
|
"properties": {
|
|
"container_id": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"container_name": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"docker_cfg": {
|
|
"$ref": "#/definitions/DockerProviderConfig",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"DockerProviderConfig": {
|
|
"type": "object",
|
|
"properties": {
|
|
"tls": {
|
|
"$ref": "#/definitions/DockerTLSConfig",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"DockerTLSConfig": {
|
|
"type": "object",
|
|
"required": [
|
|
"ca_file"
|
|
],
|
|
"properties": {
|
|
"ca_file": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"cert_file": {
|
|
"type": "string"
|
|
},
|
|
"key_file": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"ErrorResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"error": {
|
|
"type": "string",
|
|
"x-nullable": true
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"FileType": {
|
|
"type": "string",
|
|
"enum": [
|
|
"config",
|
|
"provider",
|
|
"middleware"
|
|
],
|
|
"x-enum-varnames": [
|
|
"FileTypeConfig",
|
|
"FileTypeProvider",
|
|
"FileTypeMiddleware"
|
|
],
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"FinalRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"body": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"headers": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"host": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"method": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"path": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"query": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"FinalResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"body": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"headers": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"statusCode": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"HTTPHeader": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"value": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"HealthCheckConfig": {
|
|
"type": "object",
|
|
"properties": {
|
|
"disable": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"interval": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"path": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"retries": {
|
|
"description": "<0: immediate, 0: default, >0: threshold",
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"timeout": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"use_get": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"HealthExtra": {
|
|
"type": "object",
|
|
"properties": {
|
|
"config": {
|
|
"$ref": "#/definitions/LoadBalancerConfig",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"pool": {
|
|
"type": "object",
|
|
"additionalProperties": {},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"HealthInfoWithoutDetail": {
|
|
"type": "object",
|
|
"properties": {
|
|
"latency": {
|
|
"description": "latency in microseconds",
|
|
"type": "number",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": [
|
|
"healthy",
|
|
"unhealthy",
|
|
"napping",
|
|
"starting",
|
|
"error",
|
|
"unknown"
|
|
],
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"uptime": {
|
|
"description": "uptime in milliseconds",
|
|
"type": "number",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"HealthJSON": {
|
|
"type": "object",
|
|
"properties": {
|
|
"config": {
|
|
"$ref": "#/definitions/HealthCheckConfig",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"detail": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"extra": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/HealthExtra"
|
|
}
|
|
],
|
|
"x-nullable": true
|
|
},
|
|
"lastSeen": {
|
|
"description": "unix timestamp in seconds",
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"latency": {
|
|
"description": "latency in milliseconds",
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"started": {
|
|
"description": "unix timestamp in seconds",
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"status": {
|
|
"$ref": "#/definitions/HealthStatusString",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"uptime": {
|
|
"description": "uptime in seconds",
|
|
"type": "number",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"HealthMap": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/HealthStatusString"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"HealthStatusString": {
|
|
"type": "string",
|
|
"enum": [
|
|
"unknown",
|
|
"healthy",
|
|
"napping",
|
|
"starting",
|
|
"unhealthy",
|
|
"error"
|
|
],
|
|
"x-enum-varnames": [
|
|
"StatusUnknownStr",
|
|
"StatusHealthyStr",
|
|
"StatusNappingStr",
|
|
"StatusStartingStr",
|
|
"StatusUnhealthyStr",
|
|
"StatusErrorStr"
|
|
],
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"HomepageCategory": {
|
|
"type": "object",
|
|
"properties": {
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/HomepageItem"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"HomepageItem": {
|
|
"type": "object",
|
|
"properties": {
|
|
"alias": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"all_sort_order": {
|
|
"description": "sort order in all",
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"category": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"clicks": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"container_id": {
|
|
"type": "string",
|
|
"x-nullable": true
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"fav_sort_order": {
|
|
"description": "sort order in favorite",
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"favorite": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"name": {
|
|
"description": "display name",
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"origin_url": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"provider": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"show": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"sort_order": {
|
|
"description": "sort order in category",
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"widget_config": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/widgets.Config"
|
|
}
|
|
],
|
|
"x-nullable": true
|
|
},
|
|
"widgets": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/HomepageItemWidget"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"HomepageItemConfig": {
|
|
"type": "object",
|
|
"properties": {
|
|
"category": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"favorite": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"name": {
|
|
"description": "display name",
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"show": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"widget_config": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/widgets.Config"
|
|
}
|
|
],
|
|
"x-nullable": true
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"HomepageItemWidget": {
|
|
"type": "object",
|
|
"properties": {
|
|
"label": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"value": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"HomepageOverrideCategoryOrderParams": {
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"which": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"HomepageOverrideItemAllSortOrderParams": {
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"which": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"HomepageOverrideItemFavSortOrderParams": {
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"which": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"HomepageOverrideItemFavoriteParams": {
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"which": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"HomepageOverrideItemParams": {
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"$ref": "#/definitions/HomepageItemConfig",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"which": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"HomepageOverrideItemSortOrderParams": {
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"which": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"HomepageOverrideItemVisibleParams": {
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"which": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"HomepageOverrideItemsBatchParams": {
|
|
"type": "object",
|
|
"properties": {
|
|
"value": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/HomepageItemConfig"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"IdlewatcherConfig": {
|
|
"type": "object",
|
|
"properties": {
|
|
"depends_on": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"docker": {
|
|
"$ref": "#/definitions/DockerConfig",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"idle_timeout": {
|
|
"description": "0: no idle watcher.\nPositive: idle watcher with idle timeout.\nNegative: idle watcher as a dependency.\tIdleTimeout time.Duration `json:\"idle_timeout\" json_ext:\"duration\"`",
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/time.Duration"
|
|
}
|
|
],
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"no_loading_page": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"proxmox": {
|
|
"$ref": "#/definitions/ProxmoxConfig",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"start_endpoint": {
|
|
"description": "Optional path that must be hit to start container",
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"stop_method": {
|
|
"$ref": "#/definitions/ContainerStopMethod",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"stop_signal": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"stop_timeout": {
|
|
"$ref": "#/definitions/time.Duration",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"wake_timeout": {
|
|
"$ref": "#/definitions/time.Duration",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"ListFilesResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"config": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"middleware": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"provider": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"LoadBalancerConfig": {
|
|
"type": "object",
|
|
"properties": {
|
|
"link": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"mode": {
|
|
"$ref": "#/definitions/LoadBalancerMode",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"options": {
|
|
"type": "object",
|
|
"additionalProperties": {},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"sticky": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"sticky_max_age": {
|
|
"$ref": "#/definitions/time.Duration",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"weight": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"LoadBalancerMode": {
|
|
"type": "string",
|
|
"enum": [
|
|
"",
|
|
"roundrobin",
|
|
"leastconn",
|
|
"iphash"
|
|
],
|
|
"x-enum-varnames": [
|
|
"LoadbalanceModeUnset",
|
|
"LoadbalanceModeRoundRobin",
|
|
"LoadbalanceModeLeastConn",
|
|
"LoadbalanceModeIPHash"
|
|
],
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"LogFilter-CIDR": {
|
|
"type": "object",
|
|
"properties": {
|
|
"negative": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"values": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/CIDR"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"LogFilter-HTTPHeader": {
|
|
"type": "object",
|
|
"properties": {
|
|
"negative": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"values": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/HTTPHeader"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"LogFilter-HTTPMethod": {
|
|
"type": "object",
|
|
"properties": {
|
|
"negative": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"values": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"LogFilter-Host": {
|
|
"type": "object",
|
|
"properties": {
|
|
"negative": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"values": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"LogFilter-StatusCodeRange": {
|
|
"type": "object",
|
|
"properties": {
|
|
"negative": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"values": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/StatusCodeRange"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"LogRetention": {
|
|
"type": "object",
|
|
"properties": {
|
|
"days": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"keep_size": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"last": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"MetricsPeriod": {
|
|
"type": "string",
|
|
"enum": [
|
|
"5m",
|
|
"15m",
|
|
"1h",
|
|
"1d",
|
|
"1mo"
|
|
],
|
|
"x-enum-varnames": [
|
|
"MetricsPeriod5m",
|
|
"MetricsPeriod15m",
|
|
"MetricsPeriod1h",
|
|
"MetricsPeriod1d",
|
|
"MetricsPeriod1mo"
|
|
],
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"MockCookie": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"value": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"MockRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"body": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"cookies": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/MockCookie"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"headers": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"host": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"method": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"path": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"query": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"remoteIP": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"MockResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"body": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"headers": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"statusCode": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"NewAgentRequest": {
|
|
"type": "object",
|
|
"required": [
|
|
"host",
|
|
"name",
|
|
"port",
|
|
"type"
|
|
],
|
|
"properties": {
|
|
"container_runtime": {
|
|
"default": "docker",
|
|
"enum": [
|
|
"docker",
|
|
"podman"
|
|
],
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/agent.ContainerRuntime"
|
|
}
|
|
]
|
|
},
|
|
"host": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"nightly": {
|
|
"type": "boolean"
|
|
},
|
|
"port": {
|
|
"type": "integer",
|
|
"maximum": 65535,
|
|
"minimum": 1,
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": [
|
|
"docker",
|
|
"system"
|
|
],
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"NewAgentResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ca": {
|
|
"$ref": "#/definitions/PEMPairResponse",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"client": {
|
|
"$ref": "#/definitions/PEMPairResponse",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"compose": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"PEMPairResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cert": {
|
|
"type": "string",
|
|
"format": "base64",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"format": "base64",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"ParsedRule": {
|
|
"type": "object",
|
|
"properties": {
|
|
"do": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"isResponseRule": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"on": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"validationError": {
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"PlaygroundRequest": {
|
|
"type": "object",
|
|
"required": [
|
|
"rules"
|
|
],
|
|
"properties": {
|
|
"mockRequest": {
|
|
"$ref": "#/definitions/MockRequest"
|
|
},
|
|
"mockResponse": {
|
|
"$ref": "#/definitions/MockResponse"
|
|
},
|
|
"rules": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/routeApi.RawRule"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"PlaygroundResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"executionError": {
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"finalRequest": {
|
|
"$ref": "#/definitions/FinalRequest",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"finalResponse": {
|
|
"$ref": "#/definitions/FinalResponse",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"matchedRules": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"parsedRules": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/ParsedRule"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"upstreamCalled": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"Port": {
|
|
"type": "object",
|
|
"properties": {
|
|
"listening": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"proxy": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"ProviderStats": {
|
|
"type": "object",
|
|
"properties": {
|
|
"reverse_proxies": {
|
|
"$ref": "#/definitions/RouteStats",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"streams": {
|
|
"$ref": "#/definitions/RouteStats",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"total": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"type": {
|
|
"$ref": "#/definitions/ProviderType",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"ProviderType": {
|
|
"type": "string",
|
|
"enum": [
|
|
"docker",
|
|
"file",
|
|
"agent"
|
|
],
|
|
"x-enum-varnames": [
|
|
"ProviderTypeDocker",
|
|
"ProviderTypeFile",
|
|
"ProviderTypeAgent"
|
|
],
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"ProxmoxConfig": {
|
|
"type": "object",
|
|
"required": [
|
|
"node",
|
|
"vmid"
|
|
],
|
|
"properties": {
|
|
"node": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"vmid": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"ProxyStats": {
|
|
"type": "object",
|
|
"properties": {
|
|
"providers": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/ProviderStats"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"reverse_proxies": {
|
|
"$ref": "#/definitions/RouteStats",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"streams": {
|
|
"$ref": "#/definitions/RouteStats",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"total": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"RequestLoggerConfig": {
|
|
"type": "object",
|
|
"properties": {
|
|
"buffer_size": {
|
|
"description": "Deprecated: buffer size is adjusted dynamically",
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"fields": {
|
|
"$ref": "#/definitions/accesslog.Fields",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"filters": {
|
|
"$ref": "#/definitions/accesslog.Filters",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"format": {
|
|
"type": "string",
|
|
"enum": [
|
|
"common",
|
|
"combined",
|
|
"json"
|
|
],
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"path": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"retention": {
|
|
"$ref": "#/definitions/LogRetention",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"rotate_interval": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"stdout": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"Route": {
|
|
"type": "object",
|
|
"properties": {
|
|
"access_log": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/RequestLoggerConfig"
|
|
}
|
|
],
|
|
"x-nullable": true
|
|
},
|
|
"agent": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"alias": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"bind": {
|
|
"description": "for TCP and UDP routes, bind address to listen on",
|
|
"type": "string",
|
|
"x-nullable": true
|
|
},
|
|
"container": {
|
|
"description": "Docker only",
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/Container"
|
|
}
|
|
],
|
|
"x-nullable": true
|
|
},
|
|
"disable_compression": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"excluded": {
|
|
"type": "boolean",
|
|
"x-nullable": true
|
|
},
|
|
"excluded_reason": {
|
|
"type": "string",
|
|
"x-nullable": true
|
|
},
|
|
"health": {
|
|
"description": "for swagger",
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/HealthJSON"
|
|
}
|
|
],
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"healthcheck": {
|
|
"description": "null on load-balancer routes",
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/HealthCheckConfig"
|
|
}
|
|
],
|
|
"x-nullable": true
|
|
},
|
|
"homepage": {
|
|
"$ref": "#/definitions/HomepageItemConfig",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"host": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"idlewatcher": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/IdlewatcherConfig"
|
|
}
|
|
],
|
|
"x-nullable": true
|
|
},
|
|
"index": {
|
|
"description": "Index file to serve for single-page app mode",
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"load_balance": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/LoadBalancerConfig"
|
|
}
|
|
],
|
|
"x-nullable": true
|
|
},
|
|
"lurl": {
|
|
"description": "private fields",
|
|
"type": "string",
|
|
"x-nullable": true
|
|
},
|
|
"middlewares": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/types.LabelMap"
|
|
},
|
|
"x-nullable": true
|
|
},
|
|
"no_tls_verify": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"path_patterns": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"x-nullable": true
|
|
},
|
|
"port": {
|
|
"$ref": "#/definitions/Port",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"provider": {
|
|
"description": "for backward compatibility",
|
|
"type": "string",
|
|
"x-nullable": true
|
|
},
|
|
"purl": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"response_header_timeout": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"root": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"rule_file": {
|
|
"type": "string",
|
|
"x-nullable": true
|
|
},
|
|
"rules": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/rules.Rule"
|
|
},
|
|
"x-nullable": true
|
|
},
|
|
"scheme": {
|
|
"type": "string",
|
|
"enum": [
|
|
"http",
|
|
"https",
|
|
"h2c",
|
|
"tcp",
|
|
"udp",
|
|
"fileserver"
|
|
],
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"spa": {
|
|
"description": "Single-page app mode: serves index for non-existent paths",
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"ssl_certificate": {
|
|
"description": "Path to client certificate",
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"ssl_certificate_key": {
|
|
"description": "Path to client certificate key",
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"ssl_protocols": {
|
|
"description": "Allowed TLS protocols",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"ssl_server_name": {
|
|
"description": "SSL/TLS proxy options (nginx-like)",
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"ssl_trusted_certificate": {
|
|
"description": "Path to trusted CA certificates",
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"RouteProvider": {
|
|
"type": "object",
|
|
"properties": {
|
|
"full_name": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"short_name": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"RouteStats": {
|
|
"type": "object",
|
|
"properties": {
|
|
"error": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"healthy": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"napping": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"total": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"unhealthy": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"unknown": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"RouteStatus": {
|
|
"type": "object",
|
|
"properties": {
|
|
"latency": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": [
|
|
"healthy",
|
|
"unhealthy",
|
|
"unknown",
|
|
"napping",
|
|
"starting"
|
|
],
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"timestamp": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"RouteStatusesByAlias": {
|
|
"type": "object",
|
|
"properties": {
|
|
"statuses": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/HealthInfoWithoutDetail"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"timestamp": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"RouteUptimeAggregate": {
|
|
"type": "object",
|
|
"properties": {
|
|
"alias": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"avg_latency": {
|
|
"type": "number",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"current_status": {
|
|
"type": "string",
|
|
"enum": [
|
|
"healthy",
|
|
"unhealthy",
|
|
"unknown",
|
|
"napping",
|
|
"starting"
|
|
],
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"display_name": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"downtime": {
|
|
"type": "number",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"idle": {
|
|
"type": "number",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"is_docker": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"is_excluded": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"statuses": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/RouteStatus"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"uptime": {
|
|
"type": "number",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"ServerInfo": {
|
|
"type": "object",
|
|
"properties": {
|
|
"containers": {
|
|
"$ref": "#/definitions/ContainerStats",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"images": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"memory": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"n_cpu": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"version": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"StatsResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"proxies": {
|
|
"$ref": "#/definitions/ProxyStats",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"uptime": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"StatusCodeRange": {
|
|
"type": "object",
|
|
"properties": {
|
|
"end": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"start": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"SuccessResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"details": {
|
|
"type": "object",
|
|
"additionalProperties": {},
|
|
"x-nullable": true
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"SystemInfo": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cpu_average": {
|
|
"type": "number",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"disks": {
|
|
"description": "disk usage by partition",
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/disk.UsageStat"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"disks_io": {
|
|
"description": "disk IO by device",
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/disk.IOCountersStat"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"memory": {
|
|
"$ref": "#/definitions/mem.VirtualMemoryStat",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"network": {
|
|
"$ref": "#/definitions/net.IOCountersStat",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"sensors": {
|
|
"description": "sensor temperature by key",
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/sensors.TemperatureStat"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"timestamp": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"SystemInfoAggregate": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"additionalProperties": {}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"total": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"SystemInfoAggregateMode": {
|
|
"type": "string",
|
|
"enum": [
|
|
"cpu_average",
|
|
"memory_usage",
|
|
"memory_usage_percent",
|
|
"disks_read_speed",
|
|
"disks_write_speed",
|
|
"disks_iops",
|
|
"disk_usage",
|
|
"network_speed",
|
|
"network_transfer",
|
|
"sensor_temperature"
|
|
],
|
|
"x-enum-varnames": [
|
|
"SystemInfoAggregateModeCPUAverage",
|
|
"SystemInfoAggregateModeMemoryUsage",
|
|
"SystemInfoAggregateModeMemoryUsagePercent",
|
|
"SystemInfoAggregateModeDisksReadSpeed",
|
|
"SystemInfoAggregateModeDisksWriteSpeed",
|
|
"SystemInfoAggregateModeDisksIOPS",
|
|
"SystemInfoAggregateModeDiskUsage",
|
|
"SystemInfoAggregateModeNetworkSpeed",
|
|
"SystemInfoAggregateModeNetworkTransfer",
|
|
"SystemInfoAggregateModeSensorTemperature"
|
|
],
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"UptimeAggregate": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/RouteUptimeAggregate"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"total": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"VerifyNewAgentRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ca": {
|
|
"$ref": "#/definitions/PEMPairResponse",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"client": {
|
|
"$ref": "#/definitions/PEMPairResponse",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"container_runtime": {
|
|
"$ref": "#/definitions/agent.ContainerRuntime",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"host": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"accesslog.FieldConfig": {
|
|
"type": "object",
|
|
"properties": {
|
|
"config": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/accesslog.FieldMode"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"default": {
|
|
"enum": [
|
|
"keep",
|
|
"drop",
|
|
"redact"
|
|
],
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/accesslog.FieldMode"
|
|
}
|
|
],
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"accesslog.FieldMode": {
|
|
"type": "string",
|
|
"enum": [
|
|
"keep",
|
|
"drop",
|
|
"redact"
|
|
],
|
|
"x-enum-varnames": [
|
|
"FieldModeKeep",
|
|
"FieldModeDrop",
|
|
"FieldModeRedact"
|
|
],
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"accesslog.Fields": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cookies": {
|
|
"$ref": "#/definitions/accesslog.FieldConfig",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"headers": {
|
|
"$ref": "#/definitions/accesslog.FieldConfig",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"query": {
|
|
"$ref": "#/definitions/accesslog.FieldConfig",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"accesslog.Filters": {
|
|
"type": "object",
|
|
"properties": {
|
|
"cidr": {
|
|
"$ref": "#/definitions/LogFilter-CIDR",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"headers": {
|
|
"description": "header exists or header == value",
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/LogFilter-HTTPHeader"
|
|
}
|
|
],
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"host": {
|
|
"$ref": "#/definitions/LogFilter-Host",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"method": {
|
|
"$ref": "#/definitions/LogFilter-HTTPMethod",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"status_codes": {
|
|
"$ref": "#/definitions/LogFilter-StatusCodeRange",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"agent.ContainerRuntime": {
|
|
"type": "string",
|
|
"enum": [
|
|
"docker",
|
|
"podman"
|
|
],
|
|
"x-enum-varnames": [
|
|
"ContainerRuntimeDocker",
|
|
"ContainerRuntimePodman"
|
|
],
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"agentpool.Agent": {
|
|
"type": "object",
|
|
"properties": {
|
|
"addr": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"runtime": {
|
|
"$ref": "#/definitions/agent.ContainerRuntime",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"supports_tcp_stream": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"supports_udp_stream": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"version": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"auth.UserPassAuthCallbackRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"password": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"container.ContainerState": {
|
|
"type": "string",
|
|
"enum": [
|
|
"created",
|
|
"running",
|
|
"paused",
|
|
"restarting",
|
|
"removing",
|
|
"exited",
|
|
"dead"
|
|
],
|
|
"x-enum-comments": {
|
|
"StateCreated": "StateCreated indicates the container is created, but not (yet) started.",
|
|
"StateDead": "StateDead indicates that the container failed to be deleted. Containers in this state are attempted to be cleaned up when the daemon restarts.",
|
|
"StateExited": "StateExited indicates that the container exited.",
|
|
"StatePaused": "StatePaused indicates that the container's current state is paused.",
|
|
"StateRemoving": "StateRemoving indicates that the container is being removed.",
|
|
"StateRestarting": "StateRestarting indicates that the container is currently restarting.",
|
|
"StateRunning": "StateRunning indicates that the container is running."
|
|
},
|
|
"x-enum-descriptions": [
|
|
"StateCreated indicates the container is created, but not (yet) started.",
|
|
"StateRunning indicates that the container is running.",
|
|
"StatePaused indicates that the container's current state is paused.",
|
|
"StateRestarting indicates that the container is currently restarting.",
|
|
"StateRemoving indicates that the container is being removed.",
|
|
"StateExited indicates that the container exited.",
|
|
"StateDead indicates that the container failed to be deleted. Containers in this state are attempted to be cleaned up when the daemon restarts."
|
|
],
|
|
"x-enum-varnames": [
|
|
"StateCreated",
|
|
"StateRunning",
|
|
"StatePaused",
|
|
"StateRestarting",
|
|
"StateRemoving",
|
|
"StateExited",
|
|
"StateDead"
|
|
],
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"container.PortSummary": {
|
|
"type": "object",
|
|
"properties": {
|
|
"IP": {
|
|
"description": "Host IP address that the container's port is mapped to",
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/netip.Addr"
|
|
}
|
|
],
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"PrivatePort": {
|
|
"description": "Port on the container\nRequired: true",
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"PublicPort": {
|
|
"description": "Port exposed on the host",
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"Type": {
|
|
"description": "type\nRequired: true\nEnum: [\"tcp\",\"udp\",\"sctp\"]",
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"disk.IOCountersStat": {
|
|
"type": "object",
|
|
"properties": {
|
|
"iops": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"name": {
|
|
"description": "ReadCount uint64 `json:\"readCount\"`\nMergedReadCount uint64 `json:\"mergedReadCount\"`\nWriteCount uint64 `json:\"writeCount\"`\nMergedWriteCount uint64 `json:\"mergedWriteCount\"`\nReadBytes uint64 `json:\"readBytes\"`\nWriteBytes uint64 `json:\"writeBytes\"`\nReadTime uint64 `json:\"readTime\"`\nWriteTime uint64 `json:\"writeTime\"`\nIopsInProgress uint64 `json:\"iopsInProgress\"`\nIoTime uint64 `json:\"ioTime\"`\nWeightedIO uint64 `json:\"weightedIO\"`",
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"read_bytes": {
|
|
"description": "SerialNumber string `json:\"serialNumber\"`\nLabel string `json:\"label\"`",
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"read_count": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"read_speed": {
|
|
"type": "number",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"write_bytes": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"write_count": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"write_speed": {
|
|
"type": "number",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"disk.UsageStat": {
|
|
"type": "object",
|
|
"properties": {
|
|
"free": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"fstype": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"path": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"total": {
|
|
"type": "number",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"used": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"used_percent": {
|
|
"type": "number",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"dockerapi.RestartRequest": {
|
|
"type": "object",
|
|
"required": [
|
|
"id"
|
|
],
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"signal": {
|
|
"description": "Signal (optional) is the signal to send to the container to (gracefully)\nstop it before forcibly terminating the container with SIGKILL after the\ntimeout expires. If no value is set, the default (SIGTERM) is used.",
|
|
"type": "string"
|
|
},
|
|
"timeout": {
|
|
"description": "Timeout (optional) is the timeout (in seconds) to wait for the container\nto stop gracefully before forcibly terminating it with SIGKILL.\n\n- Use nil to use the default timeout (10 seconds).\n- Use '-1' to wait indefinitely.\n- Use '0' to not wait for the container to exit gracefully, and\n immediately proceeds to forcibly terminating the container.\n- Other positive values are used as timeout (in seconds).",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"dockerapi.StartRequest": {
|
|
"type": "object",
|
|
"required": [
|
|
"id"
|
|
],
|
|
"properties": {
|
|
"checkpointDir": {
|
|
"type": "string"
|
|
},
|
|
"checkpointID": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"dockerapi.StopRequest": {
|
|
"type": "object",
|
|
"required": [
|
|
"id"
|
|
],
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"signal": {
|
|
"description": "Signal (optional) is the signal to send to the container to (gracefully)\nstop it before forcibly terminating the container with SIGKILL after the\ntimeout expires. If no value is set, the default (SIGTERM) is used.",
|
|
"type": "string"
|
|
},
|
|
"timeout": {
|
|
"description": "Timeout (optional) is the timeout (in seconds) to wait for the container\nto stop gracefully before forcibly terminating it with SIGKILL.\n\n- Use nil to use the default timeout (10 seconds).\n- Use '-1' to wait indefinitely.\n- Use '0' to not wait for the container to exit gracefully, and\n immediately proceeds to forcibly terminating the container.\n- Other positive values are used as timeout (in seconds).",
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"iconfetch.Result": {
|
|
"type": "object",
|
|
"properties": {
|
|
"icon": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"statusCode": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"iconlist.IconMetaSearch": {
|
|
"type": "object",
|
|
"properties": {
|
|
"Dark": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"Light": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"PNG": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"Ref": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"SVG": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"Source": {
|
|
"$ref": "#/definitions/icons.Source",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"WebP": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"icons.Source": {
|
|
"type": "string",
|
|
"enum": [
|
|
"https://",
|
|
"@target",
|
|
"@walkxcode",
|
|
"@selfhst"
|
|
],
|
|
"x-enum-varnames": [
|
|
"SourceAbsolute",
|
|
"SourceRelative",
|
|
"SourceWalkXCode",
|
|
"SourceSelfhSt"
|
|
],
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"mem.VirtualMemoryStat": {
|
|
"type": "object",
|
|
"properties": {
|
|
"available": {
|
|
"description": "RAM available for programs to allocate\n\nThis value is computed from the kernel specific values.",
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"total": {
|
|
"description": "Total amount of RAM on this system",
|
|
"type": "number",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"used": {
|
|
"description": "RAM used by programs\n\nThis value is computed from the kernel specific values.",
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"used_percent": {
|
|
"description": "Percentage of RAM used by programs\n\nThis value is computed from the kernel specific values.",
|
|
"type": "number",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"net.IOCountersStat": {
|
|
"type": "object",
|
|
"properties": {
|
|
"bytes_recv": {
|
|
"description": "number of bytes received",
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"bytes_sent": {
|
|
"description": "Name string `json:\"name\"` // interface name",
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"download_speed": {
|
|
"description": "godoxy",
|
|
"type": "number",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"upload_speed": {
|
|
"description": "godoxy",
|
|
"type": "number",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"netip.Addr": {
|
|
"anyOf": [
|
|
{
|
|
"type": "string",
|
|
"format": "ipv4"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"format": "ipv6"
|
|
}
|
|
],
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"route.Route": {
|
|
"type": "object",
|
|
"properties": {
|
|
"access_log": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/RequestLoggerConfig"
|
|
}
|
|
],
|
|
"x-nullable": true
|
|
},
|
|
"agent": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"alias": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"bind": {
|
|
"description": "for TCP and UDP routes, bind address to listen on",
|
|
"type": "string",
|
|
"x-nullable": true
|
|
},
|
|
"container": {
|
|
"description": "Docker only",
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/Container"
|
|
}
|
|
],
|
|
"x-nullable": true
|
|
},
|
|
"disable_compression": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"excluded": {
|
|
"type": "boolean",
|
|
"x-nullable": true
|
|
},
|
|
"excluded_reason": {
|
|
"type": "string",
|
|
"x-nullable": true
|
|
},
|
|
"health": {
|
|
"description": "for swagger",
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/HealthJSON"
|
|
}
|
|
],
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"healthcheck": {
|
|
"description": "null on load-balancer routes",
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/HealthCheckConfig"
|
|
}
|
|
],
|
|
"x-nullable": true
|
|
},
|
|
"homepage": {
|
|
"$ref": "#/definitions/HomepageItemConfig",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"host": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"idlewatcher": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/IdlewatcherConfig"
|
|
}
|
|
],
|
|
"x-nullable": true
|
|
},
|
|
"index": {
|
|
"description": "Index file to serve for single-page app mode",
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"load_balance": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/LoadBalancerConfig"
|
|
}
|
|
],
|
|
"x-nullable": true
|
|
},
|
|
"lurl": {
|
|
"description": "private fields",
|
|
"type": "string",
|
|
"x-nullable": true
|
|
},
|
|
"middlewares": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/types.LabelMap"
|
|
},
|
|
"x-nullable": true
|
|
},
|
|
"no_tls_verify": {
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"path_patterns": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"x-nullable": true
|
|
},
|
|
"port": {
|
|
"$ref": "#/definitions/Port",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"provider": {
|
|
"description": "for backward compatibility",
|
|
"type": "string",
|
|
"x-nullable": true
|
|
},
|
|
"purl": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"response_header_timeout": {
|
|
"type": "integer",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"root": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"rule_file": {
|
|
"type": "string",
|
|
"x-nullable": true
|
|
},
|
|
"rules": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/rules.Rule"
|
|
},
|
|
"x-nullable": true
|
|
},
|
|
"scheme": {
|
|
"type": "string",
|
|
"enum": [
|
|
"http",
|
|
"https",
|
|
"h2c",
|
|
"tcp",
|
|
"udp",
|
|
"fileserver"
|
|
],
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"spa": {
|
|
"description": "Single-page app mode: serves index for non-existent paths",
|
|
"type": "boolean",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"ssl_certificate": {
|
|
"description": "Path to client certificate",
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"ssl_certificate_key": {
|
|
"description": "Path to client certificate key",
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"ssl_protocols": {
|
|
"description": "Allowed TLS protocols",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"ssl_server_name": {
|
|
"description": "SSL/TLS proxy options (nginx-like)",
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"ssl_trusted_certificate": {
|
|
"description": "Path to trusted CA certificates",
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"routeApi.RawRule": {
|
|
"type": "object",
|
|
"properties": {
|
|
"do": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"on": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"routeApi.RoutesByProvider": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/route.Route"
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"rules.Rule": {
|
|
"type": "object",
|
|
"properties": {
|
|
"do": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"on": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"sensors.TemperatureStat": {
|
|
"type": "object",
|
|
"properties": {
|
|
"critical": {
|
|
"type": "number",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"high": {
|
|
"type": "number",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"temperature": {
|
|
"type": "number",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"time.Duration": {
|
|
"type": "integer",
|
|
"format": "int64",
|
|
"enum": [
|
|
-9223372036854775808,
|
|
9223372036854775807,
|
|
1,
|
|
1000,
|
|
1000000,
|
|
1000000000,
|
|
60000000000,
|
|
3600000000000
|
|
],
|
|
"x-enum-varnames": [
|
|
"minDuration",
|
|
"maxDuration",
|
|
"Nanosecond",
|
|
"Microsecond",
|
|
"Millisecond",
|
|
"Second",
|
|
"Minute",
|
|
"Hour"
|
|
],
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"types.LabelMap": {
|
|
"type": "object",
|
|
"additionalProperties": {},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"types.PortMapping": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/container.PortSummary"
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"widgets.Config": {
|
|
"type": "object",
|
|
"properties": {
|
|
"config": {
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
},
|
|
"provider": {
|
|
"type": "string",
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"x-nullable": false,
|
|
"x-omitempty": false
|
|
}
|
|
},
|
|
"externalDocs": {
|
|
"description": "GoDoxy Docs",
|
|
"url": "https://docs.godoxy.dev"
|
|
}
|
|
} |