From 15a64a9ae197eaf4c2343c9c38f1a9db2b13e363 Mon Sep 17 00:00:00 2001 From: Domas Date: Fri, 26 Feb 2021 09:31:53 +0200 Subject: [PATCH] align endpoint names with cloud --- pkg/api/alertmanager.go | 22 +-- pkg/api/cortex-ruler.go | 12 +- pkg/api/prom.go | 4 +- spec.json | 372 ++++++++++++++++++++-------------------- 4 files changed, 208 insertions(+), 202 deletions(-) diff --git a/pkg/api/alertmanager.go b/pkg/api/alertmanager.go index 3803f85812b..83bf1282935 100644 --- a/pkg/api/alertmanager.go +++ b/pkg/api/alertmanager.go @@ -9,7 +9,7 @@ import ( "github.com/prometheus/alertmanager/config" ) -// swagger:route POST /api/v1/config alertmanager RoutePostAlertingConfig +// swagger:route POST /alertmanager/api/v1/config alertmanager RoutePostAlertingConfig // // sets an Alerting config // @@ -17,7 +17,7 @@ import ( // 201: Ack // 400: ValidationError -// swagger:route GET /api/v1/config alertmanager RouteGetAlertingConfig +// swagger:route GET /alertmanager/api/v1/config alertmanager RouteGetAlertingConfig // // gets an Alerting config // @@ -25,7 +25,7 @@ import ( // 200: AlertingConfigResponse // 400: ValidationError -// swagger:route DELETE /api/v1/config alertmanager RouteDeleteAlertingConfig +// swagger:route DELETE /alertmanager/api/v1/config alertmanager RouteDeleteAlertingConfig // // deletes the Alerting config for a tenant // @@ -33,7 +33,7 @@ import ( // 200: Ack // 400: ValidationError -// swagger:route GET /api/v1/alerts alertmanager RouteGetAmAlerts +// swagger:route GET /alertmanager/api/v2/alerts alertmanager RouteGetAmAlerts // // get alertmanager alerts // @@ -41,7 +41,7 @@ import ( // 200: GettableAlerts // 400: ValidationError -// swagger:route POST /api/v1/alerts alertmanager RoutePostAmAlerts +// swagger:route POST /alertmanager/api/v2/alerts alertmanager RoutePostAmAlerts // // create alertmanager alerts // @@ -49,7 +49,7 @@ import ( // 200: Ack // 400: ValidationError -// swagger:route GET /api/v1/alerts/groups alertmanager RouteGetAmAlertGroups +// swagger:route GET /alertmanager/api/v2/alerts/groups alertmanager RouteGetAmAlertGroups // // get alertmanager alerts // @@ -57,7 +57,7 @@ import ( // 200: AlertGroups // 400: ValidationError -// swagger:route GET /api/v1/silences alertmanager RouteGetSilences +// swagger:route GET /alertmanager/api/v2/silences alertmanager RouteGetSilences // // get silences // @@ -65,7 +65,7 @@ import ( // 200: GettableSilences // 400: ValidationError -// swagger:route POST /api/v1/silences alertmanager RouteCreateSilence +// swagger:route POST /alertmanager/api/v2/silences alertmanager RouteCreateSilence // // create silence // @@ -73,7 +73,7 @@ import ( // 201: GettableSilence // 400: ValidationError -// swagger:route GET /api/v1/silence/{SilenceId} alertmanager RouteGetSilence +// swagger:route GET /alertmanager/api/v2/silence/{SilenceId} alertmanager RouteGetSilence // // get silence // @@ -81,7 +81,7 @@ import ( // 200: GettableSilence // 400: ValidationError -// swagger:route DELETE /api/v1/silence/{SilenceId} alertmanager RouteDeleteSilence +// swagger:route DELETE /alertmanager/api/v2/silence/{SilenceId} alertmanager RouteDeleteSilence // // delete silence // @@ -111,7 +111,7 @@ type SilenceBody struct { type GettableSilences []amv2.GettableSilences // swagger:model -type GetableSilence amv2.Silence +type GettableSilence amv2.Silence // swagger:model type GettableAlerts amv2.GettableAlerts diff --git a/pkg/api/cortex-ruler.go b/pkg/api/cortex-ruler.go index 2495cbdf0ed..527bdf0aa74 100644 --- a/pkg/api/cortex-ruler.go +++ b/pkg/api/cortex-ruler.go @@ -6,7 +6,7 @@ import ( "github.com/prometheus/common/model" ) -// swagger:route Get /api/v1/rules ruler RouteGetRulesConfig +// swagger:route Get /ruler/api/v1/rules ruler RouteGetRulesConfig // // List rule groups // @@ -16,7 +16,7 @@ import ( // Responses: // 202: NamespaceConfigResponse -// swagger:route POST /api/v1/rules/{Namespace} ruler RoutePostNameRulesConfig +// swagger:route POST /ruler/api/v1/rules/{Namespace} ruler RoutePostNameRulesConfig // // Creates or updates a rule group // @@ -27,7 +27,7 @@ import ( // Responses: // 202: Ack -// swagger:route Get /api/v1/rules/{Namespace} ruler RouteGetNamespaceRulesConfig +// swagger:route Get /ruler/api/v1/rules/{Namespace} ruler RouteGetNamespaceRulesConfig // // Get rule groups by namespace // @@ -37,14 +37,14 @@ import ( // Responses: // 202: NamespaceConfigResponse -// swagger:route Delete /api/v1/rules/{Namespace} ruler RouteDeleteNamespaceRulesConfig +// swagger:route Delete /ruler/api/v1/rules/{Namespace} ruler RouteDeleteNamespaceRulesConfig // // Delete namespace // // Responses: // 202: Ack -// swagger:route Get /api/v1/rules/{Namespace}/{Groupname} ruler RouteGetRulegGroupConfig +// swagger:route Get /ruler/api/v1/rules/{Namespace}/{Groupname} ruler RouteGetRulegGroupConfig // // Get rule group // @@ -54,7 +54,7 @@ import ( // Responses: // 202: RuleGroupConfigResponse -// swagger:route Delete /api/v1/rules/{Namespace}/{Groupname} ruler RouteDeleteRuleGroupConfig +// swagger:route Delete /ruler/api/v1/rules/{Namespace}/{Groupname} ruler RouteDeleteRuleGroupConfig // // Delete rule group // diff --git a/pkg/api/prom.go b/pkg/api/prom.go index d5a0460a8fc..74ce73184a0 100644 --- a/pkg/api/prom.go +++ b/pkg/api/prom.go @@ -6,14 +6,14 @@ import ( v1 "github.com/prometheus/client_golang/api/prometheus/v1" ) -// swagger:route GET /api/v1/status/rules prometheus RouteGetRuleStatuses +// swagger:route GET /prometheus/api/v1/rules prometheus RouteGetRuleStatuses // // gets the evaluation statuses of all rules // // Responses: // 200: RuleResponse -// swagger:route GET /api/v1/status/alerts prometheus RouteGetAlertStatuses +// swagger:route GET /prometheus/api/v1/alerts prometheus RouteGetAlertStatuses // // gets the current alerts // diff --git a/spec.json b/spec.json index 65ee2767eac..9942fe95f42 100644 --- a/spec.json +++ b/spec.json @@ -16,7 +16,81 @@ }, "basePath": "/api/v1", "paths": { - "/api/v1/alerts": { + "/alertmanager/api/v1/config": { + "get": { + "description": "gets an Alerting config", + "tags": [ + "alertmanager" + ], + "operationId": "RouteGetAlertingConfig", + "responses": { + "200": { + "description": "AlertingConfigResponse", + "schema": { + "$ref": "#/definitions/AlertingConfigResponse" + } + }, + "400": { + "description": "ValidationError", + "schema": { + "$ref": "#/definitions/ValidationError" + } + } + } + }, + "post": { + "description": "sets an Alerting config", + "tags": [ + "alertmanager" + ], + "operationId": "RoutePostAlertingConfig", + "parameters": [ + { + "name": "Body", + "in": "body", + "schema": { + "$ref": "#/definitions/UserConfig" + } + } + ], + "responses": { + "201": { + "description": "Ack", + "schema": { + "$ref": "#/definitions/Ack" + } + }, + "400": { + "description": "ValidationError", + "schema": { + "$ref": "#/definitions/ValidationError" + } + } + } + }, + "delete": { + "description": "deletes the Alerting config for a tenant", + "tags": [ + "alertmanager" + ], + "operationId": "RouteDeleteAlertingConfig", + "responses": { + "200": { + "description": "Ack", + "schema": { + "$ref": "#/definitions/Ack" + } + }, + "400": { + "description": "ValidationError", + "schema": { + "$ref": "#/definitions/ValidationError" + } + } + } + } + }, + "/alertmanager/api/v2/alerts": { "get": { "description": "get alertmanager alerts", "tags": [ @@ -115,7 +189,7 @@ } } }, - "/api/v1/alerts/groups": { + "/alertmanager/api/v2/alerts/groups": { "get": { "description": "get alertmanager alerts", "tags": [ @@ -181,48 +255,26 @@ } } }, - "/api/v1/config": { + "/alertmanager/api/v2/silence/{SilenceId}": { "get": { - "description": "gets an Alerting config", + "description": "get silence", "tags": [ "alertmanager" ], - "operationId": "RouteGetAlertingConfig", - "responses": { - "200": { - "description": "AlertingConfigResponse", - "schema": { - "$ref": "#/definitions/AlertingConfigResponse" - } - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - }, - "post": { - "description": "sets an Alerting config", - "tags": [ - "alertmanager" - ], - "operationId": "RoutePostAlertingConfig", + "operationId": "RouteGetSilence", "parameters": [ { - "name": "Body", - "in": "body", - "schema": { - "$ref": "#/definitions/UserConfig" - } + "type": "string", + "name": "SilenceId", + "in": "path", + "required": true } ], "responses": { - "201": { - "description": "Ack", + "200": { + "description": "GettableSilence", "schema": { - "$ref": "#/definitions/Ack" + "$ref": "#/definitions/GettableSilence" } }, "400": { @@ -234,11 +286,19 @@ } }, "delete": { - "description": "deletes the Alerting config for a tenant", + "description": "delete silence", "tags": [ "alertmanager" ], - "operationId": "RouteDeleteAlertingConfig", + "operationId": "RouteDeleteSilence", + "parameters": [ + { + "type": "string", + "name": "SilenceId", + "in": "path", + "required": true + } + ], "responses": { "200": { "description": "Ack", @@ -255,6 +315,59 @@ } } }, + "/alertmanager/api/v2/silences": { + "get": { + "description": "get silences", + "tags": [ + "alertmanager" + ], + "operationId": "RouteGetSilences", + "responses": { + "200": { + "description": "GettableSilences", + "schema": { + "$ref": "#/definitions/GettableSilences" + } + }, + "400": { + "description": "ValidationError", + "schema": { + "$ref": "#/definitions/ValidationError" + } + } + } + }, + "post": { + "description": "create silence", + "tags": [ + "alertmanager" + ], + "operationId": "RouteCreateSilence", + "parameters": [ + { + "name": "Body", + "in": "body", + "schema": { + "$ref": "#/definitions/SilenceBody" + } + } + ], + "responses": { + "201": { + "description": "GettableSilence", + "schema": { + "$ref": "#/definitions/GettableSilence" + } + }, + "400": { + "description": "ValidationError", + "schema": { + "$ref": "#/definitions/ValidationError" + } + } + } + } + }, "/api/v1/namespace/{Namespace}/permissions": { "get": { "description": "sets an Alerting config", @@ -401,7 +514,41 @@ } } }, - "/api/v1/rules": { + "/prometheus/api/v1/alerts": { + "get": { + "description": "gets the current alerts", + "tags": [ + "prometheus" + ], + "operationId": "RouteGetAlertStatuses", + "responses": { + "200": { + "description": "AlertResponse", + "schema": { + "$ref": "#/definitions/AlertResponse" + } + } + } + } + }, + "/prometheus/api/v1/rules": { + "get": { + "description": "gets the evaluation statuses of all rules", + "tags": [ + "prometheus" + ], + "operationId": "RouteGetRuleStatuses", + "responses": { + "200": { + "description": "RuleResponse", + "schema": { + "$ref": "#/definitions/RuleResponse" + } + } + } + } + }, + "/ruler/api/v1/rules": { "get": { "description": "List rule groups", "produces": [ @@ -421,7 +568,7 @@ } } }, - "/api/v1/rules/{Namespace}": { + "/ruler/api/v1/rules/{Namespace}": { "get": { "description": "Get rule groups by namespace", "produces": [ @@ -506,7 +653,7 @@ } } }, - "/api/v1/rules/{Namespace}/{Groupname}": { + "/ruler/api/v1/rules/{Namespace}/{Groupname}": { "get": { "description": "Get rule group", "produces": [ @@ -568,147 +715,6 @@ } } } - }, - "/api/v1/silence/{SilenceId}": { - "get": { - "description": "get silence", - "tags": [ - "alertmanager" - ], - "operationId": "RouteGetSilence", - "parameters": [ - { - "type": "string", - "name": "SilenceId", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "$ref": "#/responses/GettableSilence" - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - }, - "delete": { - "description": "delete silence", - "tags": [ - "alertmanager" - ], - "operationId": "RouteDeleteSilence", - "parameters": [ - { - "type": "string", - "name": "SilenceId", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "Ack", - "schema": { - "$ref": "#/definitions/Ack" - } - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - } - }, - "/api/v1/silences": { - "get": { - "description": "get silences", - "tags": [ - "alertmanager" - ], - "operationId": "RouteGetSilences", - "responses": { - "200": { - "description": "GettableSilences", - "schema": { - "$ref": "#/definitions/GettableSilences" - } - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - }, - "post": { - "description": "create silence", - "tags": [ - "alertmanager" - ], - "operationId": "RouteCreateSilence", - "parameters": [ - { - "name": "Body", - "in": "body", - "schema": { - "$ref": "#/definitions/SilenceBody" - } - } - ], - "responses": { - "201": { - "$ref": "#/responses/GettableSilence" - }, - "400": { - "description": "ValidationError", - "schema": { - "$ref": "#/definitions/ValidationError" - } - } - } - } - }, - "/api/v1/status/alerts": { - "get": { - "description": "gets the current alerts", - "tags": [ - "prometheus" - ], - "operationId": "RouteGetAlertStatuses", - "responses": { - "200": { - "description": "AlertResponse", - "schema": { - "$ref": "#/definitions/AlertResponse" - } - } - } - } - }, - "/api/v1/status/rules": { - "get": { - "description": "gets the evaluation statuses of all rules", - "tags": [ - "prometheus" - ], - "operationId": "RouteGetRuleStatuses", - "responses": { - "200": { - "description": "RuleResponse", - "schema": { - "$ref": "#/definitions/RuleResponse" - } - } - } - } } }, "definitions": { @@ -1450,12 +1456,12 @@ "Failure": { "$ref": "#/definitions/ResponseDetails" }, - "GetableSilence": { - "$ref": "#/definitions/silence" - }, "GettableAlerts": { "$ref": "#/definitions/gettableAlerts" }, + "GettableSilence": { + "$ref": "#/definitions/silence" + }, "GettableSilences": { "type": "array", "items": {