Edit upstreams, added swagger docs

This commit is contained in:
Jamie Curnow
2023-01-09 16:19:23 +10:00
parent 6147ee925e
commit f5b3568893
8 changed files with 304 additions and 0 deletions

View File

@ -91,6 +91,11 @@
"$ref": "file://./paths/hosts/hostID/delete.json"
}
},
"/hosts/{hostID}/nginx-config": {
"get": {
"$ref": "file://./paths/hosts/hostID/nginx-config/get.json"
}
},
"/nginx-templates": {
"get": {
"$ref": "file://./paths/nginx-templates/get.json"
@ -170,10 +175,18 @@
"get": {
"$ref": "file://./paths/upstreams/upstreamID/get.json"
},
"put": {
"$ref": "file://./paths/upstreams/upstreamID/put.json"
},
"delete": {
"$ref": "file://./paths/upstreams/upstreamID/delete.json"
}
},
"/upstreams/{upstreamID}/nginx-config": {
"get": {
"$ref": "file://./paths/upstreams/upstreamID/nginx-config/get.json"
}
},
"/users": {
"get": {
"$ref": "file://./paths/users/get.json"

View File

@ -0,0 +1,42 @@
{
"operationId": "getHostNginxConfig",
"summary": "Get a Host Nginx Config object by ID",
"tags": ["Hosts"],
"parameters": [
{
"in": "path",
"name": "hostID",
"schema": {
"type": "integer",
"minimum": 1
},
"required": true,
"description": "ID of the Host",
"example": 1
}
],
"responses": {
"200": {
"description": "200 response",
"content": {
"application/json": {
"schema": {
"required": ["result"],
"properties": {
"result": {
"type": "string"
}
}
},
"examples": {
"default": {
"value": {
"result": "# ------------------------------------------------------------\n# a.example.com\n# ------------------------------------------------------------\nserver {\n listen 80;\n server_name a.example.com ;\n access_log /data/logs/host-1_access.log proxy;\n error_log /data/logs/host-1_error.log warn;\n # locations ?\n # default location:\n location / {\n # Access Rules ? todo\n # Access checks must...? todo\n # Proxy!\n add_header X-Served-By $host;\n proxy_set_header Host $host;\n proxy_set_header X-Forwarded-Scheme $scheme;\n proxy_set_header X-Forwarded-Proto $scheme;\n proxy_set_header X-Forwarded-For $remote_addr;\n proxy_http_version 1.1;\n # proxy a single host\n proxy_pass http://192.168.0.10:80;\n }\n # Legacy Custom Configuration\n include /data/nginx/custom/server_proxy[.]conf;\n}\n"
}
}
}
}
}
}
}
}

View File

@ -0,0 +1,42 @@
{
"operationId": "getUpstreamNginxConfig",
"summary": "Get a Upstream Nginx Config object by ID",
"tags": ["Upstreams"],
"parameters": [
{
"in": "path",
"name": "upstreamID",
"schema": {
"type": "integer",
"minimum": 1
},
"required": true,
"description": "ID of the Upstream",
"example": 1
}
],
"responses": {
"200": {
"description": "200 response",
"content": {
"application/json": {
"schema": {
"required": ["result"],
"properties": {
"result": {
"type": "string"
}
}
},
"examples": {
"default": {
"value": {
"result": "# ------------------------------------------------------------\n# Upstream 1: API servers\n# ------------------------------------------------------------\nupstream npm_upstream_1 {\nserver 192.168.0.10:80 weight=100 ;\n server 192.168.0.11:80 weight=50 ;\n}\n"
}
}
}
}
}
}
}
}

View File

@ -0,0 +1,93 @@
{
"operationId": "updateUpstream",
"summary": "Update an existing Upstream",
"tags": ["Upstreams"],
"parameters": [
{
"in": "path",
"name": "upstreamID",
"schema": {
"type": "integer",
"minimum": 1
},
"required": true,
"description": "ID of the Upstream",
"example": 1
}
],
"requestBody": {
"description": "Upstream details to update",
"required": true,
"content": {
"application/json": {
"schema": "{{schema.UpdateUpstream}}"
}
}
},
"responses": {
"200": {
"description": "200 response",
"content": {
"application/json": {
"schema": {
"required": ["result"],
"properties": {
"result": {
"$ref": "#/components/schemas/UpstreamObject"
}
}
},
"examples": {
"default": {
"value": {
"result": {
"id": 1,
"created_on": 1673234177,
"modified_on": 1673244559,
"user_id": 2,
"name": "API servers 2",
"nginx_template_id": 5,
"ip_hash": false,
"ntlm": false,
"keepalive": 0,
"keepalive_requests": 0,
"keepalive_time": "",
"keepalive_timeout": "",
"advanced_config": "",
"status": "ready",
"error_message": "",
"servers": [
{
"id": 1,
"created_on": 1673234177,
"modified_on": 1673244559,
"upstream_id": 1,
"server": "192.168.0.10:80",
"weight": 100,
"max_conns": 0,
"max_fails": 0,
"fail_timeout": 0,
"backup": false
},
{
"id": 2,
"created_on": 1673234177,
"modified_on": 1673244559,
"upstream_id": 1,
"server": "192.168.0.11:80",
"weight": 50,
"max_conns": 0,
"max_fails": 0,
"fail_timeout": 0,
"backup": false
}
]
}
}
}
}
}
}
}
}
}