diff --git a/docs/docs.go b/docs/docs.go index e2543c4..27c8b04 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -187,6 +187,86 @@ const docTemplate = `{ } } }, + "/admin/alerts/thresholds": { + "get": { + "security": [ + { + "AdminAuth": [] + } + ], + "description": "Get current alert threshold configuration for traffic spike detection", + "produces": [ + "application/json" + ], + "tags": [ + "admin" + ], + "summary": "Get alert thresholds", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/internal_api.AlertThresholdView" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/gin.H" + } + } + } + }, + "put": { + "security": [ + { + "AdminAuth": [] + } + ], + "description": "Update alert threshold configuration for traffic spike detection", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "admin" + ], + "summary": "Update alert thresholds", + "parameters": [ + { + "description": "Threshold configuration", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/internal_api.UpdateAlertThresholdsRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/internal_api.AlertThresholdView" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/gin.H" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/gin.H" + } + } + } + } + }, "/admin/alerts/{id}": { "get": { "security": [ @@ -4829,6 +4909,35 @@ const docTemplate = `{ } } }, + "internal_api.AlertThresholdView": { + "type": "object", + "properties": { + "global_qps": { + "type": "integer" + }, + "master_rpd": { + "type": "integer" + }, + "master_rpm": { + "type": "integer" + }, + "master_tpd": { + "type": "integer" + }, + "master_tpm": { + "type": "integer" + }, + "min_rpm_requests_1m": { + "type": "integer" + }, + "min_tpm_tokens_1m": { + "type": "integer" + }, + "updated_at": { + "type": "integer" + } + } + }, "internal_api.AlertView": { "type": "object", "properties": { @@ -5745,6 +5854,32 @@ const docTemplate = `{ } } }, + "internal_api.UpdateAlertThresholdsRequest": { + "type": "object", + "properties": { + "global_qps": { + "type": "integer" + }, + "master_rpd": { + "type": "integer" + }, + "master_rpm": { + "type": "integer" + }, + "master_tpd": { + "type": "integer" + }, + "master_tpm": { + "type": "integer" + }, + "min_rpm_requests_1m": { + "type": "integer" + }, + "min_tpm_tokens_1m": { + "type": "integer" + } + } + }, "internal_api.UpdateMasterRequest": { "type": "object", "properties": { diff --git a/docs/swagger.json b/docs/swagger.json index 63df210..7ff48eb 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -181,6 +181,86 @@ } } }, + "/admin/alerts/thresholds": { + "get": { + "security": [ + { + "AdminAuth": [] + } + ], + "description": "Get current alert threshold configuration for traffic spike detection", + "produces": [ + "application/json" + ], + "tags": [ + "admin" + ], + "summary": "Get alert thresholds", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/internal_api.AlertThresholdView" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/gin.H" + } + } + } + }, + "put": { + "security": [ + { + "AdminAuth": [] + } + ], + "description": "Update alert threshold configuration for traffic spike detection", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "admin" + ], + "summary": "Update alert thresholds", + "parameters": [ + { + "description": "Threshold configuration", + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/internal_api.UpdateAlertThresholdsRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/internal_api.AlertThresholdView" + } + }, + "400": { + "description": "Bad Request", + "schema": { + "$ref": "#/definitions/gin.H" + } + }, + "500": { + "description": "Internal Server Error", + "schema": { + "$ref": "#/definitions/gin.H" + } + } + } + } + }, "/admin/alerts/{id}": { "get": { "security": [ @@ -4823,6 +4903,35 @@ } } }, + "internal_api.AlertThresholdView": { + "type": "object", + "properties": { + "global_qps": { + "type": "integer" + }, + "master_rpd": { + "type": "integer" + }, + "master_rpm": { + "type": "integer" + }, + "master_tpd": { + "type": "integer" + }, + "master_tpm": { + "type": "integer" + }, + "min_rpm_requests_1m": { + "type": "integer" + }, + "min_tpm_tokens_1m": { + "type": "integer" + }, + "updated_at": { + "type": "integer" + } + } + }, "internal_api.AlertView": { "type": "object", "properties": { @@ -5739,6 +5848,32 @@ } } }, + "internal_api.UpdateAlertThresholdsRequest": { + "type": "object", + "properties": { + "global_qps": { + "type": "integer" + }, + "master_rpd": { + "type": "integer" + }, + "master_rpm": { + "type": "integer" + }, + "master_tpd": { + "type": "integer" + }, + "master_tpm": { + "type": "integer" + }, + "min_rpm_requests_1m": { + "type": "integer" + }, + "min_tpm_tokens_1m": { + "type": "integer" + } + } + }, "internal_api.UpdateMasterRequest": { "type": "object", "properties": { diff --git a/docs/swagger.yaml b/docs/swagger.yaml index ad005e1..bc40a57 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -443,6 +443,25 @@ definitions: warning: type: integer type: object + internal_api.AlertThresholdView: + properties: + global_qps: + type: integer + master_rpd: + type: integer + master_rpm: + type: integer + master_tpd: + type: integer + master_tpm: + type: integer + min_rpm_requests_1m: + type: integer + min_tpm_tokens_1m: + type: integer + updated_at: + type: integer + type: object internal_api.AlertView: properties: acked_at: @@ -1045,6 +1064,23 @@ definitions: propagate_to_keys: type: boolean type: object + internal_api.UpdateAlertThresholdsRequest: + properties: + global_qps: + type: integer + master_rpd: + type: integer + master_rpm: + type: integer + master_tpd: + type: integer + master_tpm: + type: integer + min_rpm_requests_1m: + type: integer + min_tpm_tokens_1m: + type: integer + type: object internal_api.UpdateMasterRequest: properties: global_qps: @@ -1517,6 +1553,56 @@ paths: summary: Alert statistics tags: - admin + /admin/alerts/thresholds: + get: + description: Get current alert threshold configuration for traffic spike detection + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/internal_api.AlertThresholdView' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/gin.H' + security: + - AdminAuth: [] + summary: Get alert thresholds + tags: + - admin + put: + consumes: + - application/json + description: Update alert threshold configuration for traffic spike detection + parameters: + - description: Threshold configuration + in: body + name: request + required: true + schema: + $ref: '#/definitions/internal_api.UpdateAlertThresholdsRequest' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/internal_api.AlertThresholdView' + "400": + description: Bad Request + schema: + $ref: '#/definitions/gin.H' + "500": + description: Internal Server Error + schema: + $ref: '#/definitions/gin.H' + security: + - AdminAuth: [] + summary: Update alert thresholds + tags: + - admin /admin/api-keys: get: description: List API keys with optional filters