{ "schemes": [ "http" ], "swagger": "2.0", "info": { "title": "Config Tool Editor API", "contact": { "name": "Jonathan King", "email": "joking@redhat.com" }, "license": {}, "version": "0.0" }, "basePath": "/api/v1", "paths": { "/config": { "get": { "description": "This endpoint will load the config bundle mounted by the config-tool into memory. This state can then be modified, validated, downloaded, and optionally committed to a Quay operator instance.", "produces": [ "application/json" ], "summary": "Returns the mounted config bundle.", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/editor.ConfigBundle" } } } } }, "/config/download": { "post": { "description": "This endpoint will download the config bundle in the request body as a tar.gz", "consumes": [ "application/json" ], "produces": [ "multipart/form-data" ], "summary": "Downloads a config bundle as a tar.gz", "parameters": [ { "description": "JSON Representing Config Bundle", "name": "configBundle", "in": "body", "required": true, "schema": { "$ref": "#/definitions/editor.ConfigBundle" } } ], "responses": { "200": {} } } }, "/config/operator": { "post": { "description": "Handles an HTTP POST request containing a new `config.yaml`, adds any uploaded certs, and calls an API endpoint on the Quay Operator to create a new `Secret`.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "summary": "Commits a config bundle to a Quay operator instance.", "parameters": [ { "description": "JSON Representing Config Bundle", "name": "configBundle", "in": "body", "required": true, "schema": { "$ref": "#/definitions/editor.ConfigBundle" } } ], "responses": { "200": {} } } }, "/config/validate": { "post": { "description": "This endpoint will validate the config bundle contained in the request body.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "summary": "Validates a config bundle.", "parameters": [ { "description": "JSON Representing Config Bundle", "name": "configBundle", "in": "body", "required": true, "schema": { "$ref": "#/definitions/editor.ConfigBundle" } } ], "responses": { "200": {} } } } }, "definitions": { "editor.ConfigBundle": { "type": "object", "properties": { "certs": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "integer" } } }, "config.yaml": { "type": "object", "additionalProperties": true }, "managedFieldGroups": { "type": "array", "items": { "type": "string" } } } } }, "securityDefinitions": { "BasicAuth": { "type": "basic" } } }