-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathopenapi.json
1 lines (1 loc) · 20.2 KB
/
openapi.json
1
{"openapi": "3.0.2", "info": {"title": "FastAPI", "version": "0.1.0"}, "paths": {"/": {"get": {"summary": "Get Root", "operationId": "get_root__get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}}}}, "/clusters/": {"get": {"tags": ["clusters"], "summary": "Cluster List", "operationId": "cluster_list_clusters__get", "parameters": [{"required": false, "schema": {"title": "Page", "minimum": 1.0, "type": "integer", "default": 1}, "name": "page", "in": "query"}, {"required": false, "schema": {"title": "Size", "maximum": 100.0, "minimum": 1.0, "type": "integer", "default": 50}, "name": "size", "in": "query"}, {"required": false, "schema": {"title": "X-Forwarded-User", "type": "string"}, "name": "x-forwarded-user", "in": "header"}, {"required": false, "schema": {"title": "X-Forwarded-Groups", "type": "string"}, "name": "x-forwarded-groups", "in": "header"}, {"required": false, "schema": {"title": "X-Forwarded-Email", "type": "string"}, "name": "x-forwarded-email", "in": "header"}, {"required": false, "schema": {"title": "X-Forwarded-Preferred-Username", "type": "string"}, "name": "x-forwarded-preferred-username", "in": "header"}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Page_ClusterStateResponse_"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "post": {"tags": ["clusters"], "summary": "Cluster Create", "operationId": "cluster_create_clusters__post", "parameters": [{"required": false, "schema": {"title": "X-Forwarded-User", "type": "string"}, "name": "x-forwarded-user", "in": "header"}, {"required": false, "schema": {"title": "X-Forwarded-Groups", "type": "string"}, "name": "x-forwarded-groups", "in": "header"}, {"required": false, "schema": {"title": "X-Forwarded-Email", "type": "string"}, "name": "x-forwarded-email", "in": "header"}, {"required": false, "schema": {"title": "X-Forwarded-Preferred-Username", "type": "string"}, "name": "x-forwarded-preferred-username", "in": "header"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/ClusterRequest"}, "example": {"name": "hello", "parameters": [{"name": "K8S_VERSION", "value": "1.26.0"}, {"name": "PORTS", "value": ["80:80", "443:443"]}, {"name": "NODE_COUNT", "value": 1}, {"name": "LIFETIME", "value": "1h"}, {"name": "SESSION_TIMEOUT", "value": "5m"}]}}}, "required": true}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ClusterStateResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/clusters/{cluster_id}": {"get": {"tags": ["clusters"], "summary": "Cluster Info", "operationId": "cluster_info_clusters__cluster_id__get", "parameters": [{"required": true, "schema": {"title": "Cluster Id", "type": "string"}, "name": "cluster_id", "in": "path"}, {"required": false, "schema": {"title": "X-Forwarded-User", "type": "string"}, "name": "x-forwarded-user", "in": "header"}, {"required": false, "schema": {"title": "X-Forwarded-Groups", "type": "string"}, "name": "x-forwarded-groups", "in": "header"}, {"required": false, "schema": {"title": "X-Forwarded-Email", "type": "string"}, "name": "x-forwarded-email", "in": "header"}, {"required": false, "schema": {"title": "X-Forwarded-Preferred-Username", "type": "string"}, "name": "x-forwarded-preferred-username", "in": "header"}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ClusterInfoResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["clusters"], "summary": "Cluster Delete", "operationId": "cluster_delete_clusters__cluster_id__delete", "parameters": [{"required": true, "schema": {"title": "Cluster Id", "type": "string"}, "name": "cluster_id", "in": "path"}, {"required": false, "schema": {"title": "X-Forwarded-User", "type": "string"}, "name": "x-forwarded-user", "in": "header"}, {"required": false, "schema": {"title": "X-Forwarded-Groups", "type": "string"}, "name": "x-forwarded-groups", "in": "header"}, {"required": false, "schema": {"title": "X-Forwarded-Email", "type": "string"}, "name": "x-forwarded-email", "in": "header"}, {"required": false, "schema": {"title": "X-Forwarded-Preferred-Username", "type": "string"}, "name": "x-forwarded-preferred-username", "in": "header"}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/clusters/{cluster_id}/heartbeat": {"post": {"tags": ["clusters"], "summary": "Cluster Heartbeat", "operationId": "cluster_heartbeat_clusters__cluster_id__heartbeat_post", "parameters": [{"required": true, "schema": {"title": "Cluster Id", "type": "string"}, "name": "cluster_id", "in": "path"}, {"required": false, "schema": {"title": "X-Forwarded-User", "type": "string"}, "name": "x-forwarded-user", "in": "header"}, {"required": false, "schema": {"title": "X-Forwarded-Groups", "type": "string"}, "name": "x-forwarded-groups", "in": "header"}, {"required": false, "schema": {"title": "X-Forwarded-Email", "type": "string"}, "name": "x-forwarded-email", "in": "header"}, {"required": false, "schema": {"title": "X-Forwarded-Preferred-Username", "type": "string"}, "name": "x-forwarded-preferred-username", "in": "header"}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ClusterStateResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/clusters/{cluster_id}/kubeconfig": {"get": {"tags": ["clusters"], "summary": "Cluster Kubeconfig", "operationId": "cluster_kubeconfig_clusters__cluster_id__kubeconfig_get", "parameters": [{"required": true, "schema": {"title": "Cluster Id", "type": "string"}, "name": "cluster_id", "in": "path"}, {"required": false, "schema": {"title": "X-Forwarded-User", "type": "string"}, "name": "x-forwarded-user", "in": "header"}, {"required": false, "schema": {"title": "X-Forwarded-Groups", "type": "string"}, "name": "x-forwarded-groups", "in": "header"}, {"required": false, "schema": {"title": "X-Forwarded-Email", "type": "string"}, "name": "x-forwarded-email", "in": "header"}, {"required": false, "schema": {"title": "X-Forwarded-Preferred-Username", "type": "string"}, "name": "x-forwarded-preferred-username", "in": "header"}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/clusters/ws/{cluster_id}": {"get": {"tags": ["clusters"], "summary": "Get", "operationId": "get_clusters_ws__cluster_id__get", "parameters": [{"required": true, "schema": {"title": "Cluster Id", "type": "string"}, "name": "cluster_id", "in": "path"}, {"required": false, "schema": {"title": "X-Forwarded-User", "type": "string"}, "name": "x-forwarded-user", "in": "header"}, {"required": false, "schema": {"title": "X-Forwarded-Groups", "type": "string"}, "name": "x-forwarded-groups", "in": "header"}, {"required": false, "schema": {"title": "X-Forwarded-Email", "type": "string"}, "name": "x-forwarded-email", "in": "header"}, {"required": false, "schema": {"title": "X-Forwarded-Preferred-Username", "type": "string"}, "name": "x-forwarded-preferred-username", "in": "header"}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/connections/{cluster_id}/ghostunnel/": {"get": {"tags": ["connections"], "summary": "Ghostunnel", "operationId": "ghostunnel_connections__cluster_id__ghostunnel__get", "parameters": [{"required": true, "schema": {"title": "Cluster Id", "type": "string"}, "name": "cluster_id", "in": "path"}, {"required": false, "schema": {"title": "X-Forwarded-User", "type": "string"}, "name": "x-forwarded-user", "in": "header"}, {"required": false, "schema": {"title": "X-Forwarded-Groups", "type": "string"}, "name": "x-forwarded-groups", "in": "header"}, {"required": false, "schema": {"title": "X-Forwarded-Email", "type": "string"}, "name": "x-forwarded-email", "in": "header"}, {"required": false, "schema": {"title": "X-Forwarded-Preferred-Username", "type": "string"}, "name": "x-forwarded-preferred-username", "in": "header"}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GhostunnelResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/configs/selected/": {"get": {"tags": ["configs"], "summary": "Config Selected", "operationId": "config_selected_configs_selected__get", "parameters": [{"required": false, "schema": {"title": "X-Forwarded-User", "type": "string"}, "name": "x-forwarded-user", "in": "header"}, {"required": false, "schema": {"title": "X-Forwarded-Groups", "type": "string"}, "name": "x-forwarded-groups", "in": "header"}, {"required": false, "schema": {"title": "X-Forwarded-Email", "type": "string"}, "name": "x-forwarded-email", "in": "header"}, {"required": false, "schema": {"title": "X-Forwarded-Preferred-Username", "type": "string"}, "name": "x-forwarded-preferred-username", "in": "header"}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ConfigInfoResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/configs/default/": {"get": {"tags": ["configs"], "summary": "Config Default", "operationId": "config_default_configs_default__get", "parameters": [{"required": false, "schema": {"title": "X-Forwarded-User", "type": "string"}, "name": "x-forwarded-user", "in": "header"}, {"required": false, "schema": {"title": "X-Forwarded-Groups", "type": "string"}, "name": "x-forwarded-groups", "in": "header"}, {"required": false, "schema": {"title": "X-Forwarded-Email", "type": "string"}, "name": "x-forwarded-email", "in": "header"}, {"required": false, "schema": {"title": "X-Forwarded-Preferred-Username", "type": "string"}, "name": "x-forwarded-preferred-username", "in": "header"}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ConfigInfoResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/configs/{name}/": {"get": {"tags": ["configs"], "summary": "Config Custom", "operationId": "config_custom_configs__name___get", "parameters": [{"required": true, "schema": {"title": "Name", "type": "string"}, "name": "name", "in": "path"}, {"required": false, "schema": {"title": "X-Forwarded-User", "type": "string"}, "name": "x-forwarded-user", "in": "header"}, {"required": false, "schema": {"title": "X-Forwarded-Groups", "type": "string"}, "name": "x-forwarded-groups", "in": "header"}, {"required": false, "schema": {"title": "X-Forwarded-Email", "type": "string"}, "name": "x-forwarded-email", "in": "header"}, {"required": false, "schema": {"title": "X-Forwarded-Preferred-Username", "type": "string"}, "name": "x-forwarded-preferred-username", "in": "header"}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/debug/headers": {"get": {"tags": ["debug"], "summary": "Get Headers", "operationId": "get_headers_debug_headers_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}}}}, "/debug/sentry": {"get": {"tags": ["debug"], "summary": "Trigger Error", "operationId": "trigger_error_debug_sentry_get", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}}}}}, "components": {"schemas": {"BeibootState": {"title": "BeibootState", "enum": ["REQUESTED", "CREATING", "PENDING", "RUNNING", "READY", "TERMINATING", "ERROR"], "description": "An enumeration."}, "ClusterInfoResponse": {"title": "ClusterInfoResponse", "required": ["id", "namespace"], "type": "object", "properties": {"id": {"title": "Id", "type": "string"}, "name": {"title": "Name", "type": "string"}, "namespace": {"title": "Namespace", "type": "string"}, "state": {"$ref": "#/components/schemas/BeibootState"}, "parameters": {"title": "Parameters", "type": "array", "items": {"$ref": "#/components/schemas/Parameter"}}}}, "ClusterParameter": {"title": "ClusterParameter", "enum": ["K8S_VERSION", "PORTS", "NODE_COUNT", "LIFETIME", "SESSION_TIMEOUT", "CLUSTER_READY_TIMEOUT", "SERVER_RESOURCES_REQUESTS_CPU", "SERVER_RESOURCES_REQUESTS_MEMORY", "SERVER_RESOURCES_LIMITS_CPU", "SERVER_RESOURCES_LIMITS_MEMORY", "SERVER_STORAGE_REQUESTS", "NODE_RESOURCES_REQUESTS_CPU", "NODE_RESOURCES_REQUESTS_MEMORY", "NODE_RESOURCES_LIMITS_CPU", "NODE_RESOURCES_LIMITS_MEMORY", "NODE_STORAGE_REQUESTS", "GEFYRA_ENABLED", "GEFYRA_ENDPOINT", "TUNNEL_ENABLED", "TUNNEL_ENDPOINT"], "description": "An enumeration."}, "ClusterRequest": {"title": "ClusterRequest", "required": ["name"], "type": "object", "properties": {"name": {"title": "Name", "type": "string"}, "parameters": {"title": "Parameters", "type": "array", "items": {"$ref": "#/components/schemas/Parameter"}}, "labels": {"$ref": "#/components/schemas/Labels"}}}, "ClusterStateResponse": {"title": "ClusterStateResponse", "required": ["id"], "type": "object", "properties": {"id": {"title": "Id", "type": "string"}, "name": {"title": "Name", "type": "string"}, "state": {"$ref": "#/components/schemas/BeibootState"}}}, "Config": {"title": "Config", "type": "object", "properties": {"k8s_versions": {"title": "K8S Versions", "type": "array", "items": {"type": "string"}, "env": "cd_k8s_versions"}, "node_count_min": {"title": "Node Count Min", "type": "integer", "default": 1, "env": "cd_node_count_min"}, "node_count_max": {"title": "Node Count Max", "type": "integer", "default": 3, "env": "cd_node_count_max"}, "lifetime_limit": {"title": "Lifetime Limit", "type": "number", "format": "time-delta", "default": 3600.0, "env": "cd_lifetime_limit"}, "session_timeout_limit": {"title": "Session Timeout Limit", "type": "number", "format": "time-delta", "default": 1800.0, "env": "cd_session_timeout_limit"}, "cluster_request_timeout_limit": {"title": "Cluster Request Timeout Limit", "type": "number", "format": "time-delta", "default": 300.0, "env": "cd_cluster_request_timeout_limit"}, "server_resources_requests_cpu_min": {"title": "Server Resources Requests Cpu Min", "type": "number", "env": "cd_server_resources_requests_cpu_min"}, "server_resources_requests_cpu_max": {"title": "Server Resources Requests Cpu Max", "type": "number", "env": "cd_server_resources_requests_cpu_max"}, "server_resources_requests_memory_min": {"title": "Server Resources Requests Memory Min", "type": "number", "env": "cd_server_resources_requests_memory_min"}, "server_resources_requests_memory_max": {"title": "Server Resources Requests Memory Max", "type": "number", "env": "cd_server_resources_requests_memory_max"}, "server_resources_limits_cpu_min": {"title": "Server Resources Limits Cpu Min", "type": "number", "env": "cd_server_resources_limits_cpu_min"}, "server_resources_limits_cpu_max": {"title": "Server Resources Limits Cpu Max", "type": "number", "env": "cd_server_resources_limits_cpu_max"}, "server_resources_limits_memory_min": {"title": "Server Resources Limits Memory Min", "type": "number", "env": "cd_server_resources_limits_memory_min"}, "server_resources_limits_memory_max": {"title": "Server Resources Limits Memory Max", "type": "number", "env": "cd_server_resources_limits_memory_max"}, "server_storage_requests_min": {"title": "Server Storage Requests Min", "type": "number", "env": "cd_server_storage_requests_min"}, "server_storage_requests_max": {"title": "Server Storage Requests Max", "type": "number", "env": "cd_server_storage_requests_max"}, "node_resources_requests_cpu_min": {"title": "Node Resources Requests Cpu Min", "type": "number", "env": "cd_node_resources_requests_cpu_min"}, "node_resources_requests_cpu_max": {"title": "Node Resources Requests Cpu Max", "type": "number", "env": "cd_node_resources_requests_cpu_max"}, "node_resources_requests_memory_min": {"title": "Node Resources Requests Memory Min", "type": "number", "env": "cd_node_resources_requests_memory_min"}, "node_resources_requests_memory_max": {"title": "Node Resources Requests Memory Max", "type": "number", "env": "cd_node_resources_requests_memory_max"}, "node_resources_limits_cpu_min": {"title": "Node Resources Limits Cpu Min", "type": "number", "env": "cd_node_resources_limits_cpu_min"}, "node_resources_limits_cpu_max": {"title": "Node Resources Limits Cpu Max", "type": "number", "env": "cd_node_resources_limits_cpu_max"}, "node_resources_limits_memory_min": {"title": "Node Resources Limits Memory Min", "type": "number", "env": "cd_node_resources_limits_memory_min"}, "node_resources_limits_memory_max": {"title": "Node Resources Limits Memory Max", "type": "number", "env": "cd_node_resources_limits_memory_max"}, "node_storage_requests_min": {"title": "Node Storage Requests Min", "type": "number", "env": "cd_node_storage_requests_min"}, "node_storage_requests_max": {"title": "Node Storage Requests Max", "type": "number", "env": "cd_node_storage_requests_max"}}}, "ConfigInfoResponse": {"title": "ConfigInfoResponse", "type": "object", "properties": {"default": {"title": "Default", "type": "boolean", "default": true}, "name": {"title": "Name", "type": "string", "default": "default"}, "config": {"$ref": "#/components/schemas/Config"}}}, "GhostunnelPort": {"title": "GhostunnelPort", "required": ["endpoint", "target"], "type": "object", "properties": {"endpoint": {"title": "Endpoint", "type": "string"}, "target": {"title": "Target", "type": "integer"}}}, "GhostunnelResponse": {"title": "GhostunnelResponse", "required": ["mtls"], "type": "object", "properties": {"mtls": {"title": "Mtls", "type": "object"}, "ports": {"title": "Ports", "type": "array", "items": {"$ref": "#/components/schemas/GhostunnelPort"}}}}, "HTTPValidationError": {"title": "HTTPValidationError", "type": "object", "properties": {"detail": {"title": "Detail", "type": "array", "items": {"$ref": "#/components/schemas/ValidationError"}}}}, "Labels": {"title": "Labels", "type": "object", "properties": {"name": {"title": "Name", "type": "string"}, "user": {"title": "User", "type": "string"}}}, "Page_ClusterStateResponse_": {"title": "Page[ClusterStateResponse]", "required": ["items", "total"], "type": "object", "properties": {"items": {"title": "Items", "type": "array", "items": {"$ref": "#/components/schemas/ClusterStateResponse"}}, "total": {"title": "Total", "minimum": 0.0, "type": "integer"}, "page": {"title": "Page", "minimum": 1.0, "type": "integer"}, "size": {"title": "Size", "minimum": 1.0, "type": "integer"}, "pages": {"title": "Pages", "minimum": 0.0, "type": "integer"}}}, "Parameter": {"title": "Parameter", "required": ["name"], "type": "object", "properties": {"name": {"$ref": "#/components/schemas/ClusterParameter"}, "value": {"title": "Value", "anyOf": [{"type": "string"}, {"type": "integer"}, {"type": "array", "items": {"type": "string"}}, {"type": "array", "items": {"type": "integer"}}]}}}, "ValidationError": {"title": "ValidationError", "required": ["loc", "msg", "type"], "type": "object", "properties": {"loc": {"title": "Location", "type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "integer"}]}}, "msg": {"title": "Message", "type": "string"}, "type": {"title": "Error Type", "type": "string"}}}}}}