chore: initial import
This commit is contained in:
222
static/openapi.json
Normal file
222
static/openapi.json
Normal file
@@ -0,0 +1,222 @@
|
||||
{
|
||||
"openapi": "3.0.3",
|
||||
"info": {
|
||||
"title": "AI-Ops API",
|
||||
"version": "1.0.0",
|
||||
"description": "AI-Ops 智能运维平台 API"
|
||||
},
|
||||
"servers": [
|
||||
{"url": "http://localhost:8080", "description": "Local development"}
|
||||
],
|
||||
"paths": {
|
||||
"/api/v1/ai-ops/login": {
|
||||
"post": {
|
||||
"summary": "用户登录",
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"username": {"type": "string"},
|
||||
"password": {"type": "string"}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {"description": "Login success"},
|
||||
"400": {"description": "Bad request"}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/v1/ai-ops/metrics/realtime": {
|
||||
"get": {
|
||||
"summary": "实时指标",
|
||||
"security": [{"bearerAuth": []}],
|
||||
"responses": {"200": {"description": "OK"}}
|
||||
}
|
||||
},
|
||||
"/api/v1/ai-ops/metrics/query": {
|
||||
"get": {
|
||||
"summary": "指标下钻查询",
|
||||
"security": [{"bearerAuth": []}],
|
||||
"parameters": [
|
||||
{"name": "service", "in": "query", "schema": {"type": "string"}},
|
||||
{"name": "path", "in": "query", "schema": {"type": "string"}},
|
||||
{"name": "supplier", "in": "query", "schema": {"type": "string"}}
|
||||
],
|
||||
"responses": {"200": {"description": "OK"}}
|
||||
}
|
||||
},
|
||||
"/api/v1/ai-ops/metrics/suppliers/count": {
|
||||
"get": {
|
||||
"summary": "活跃供应商数量",
|
||||
"security": [{"bearerAuth": []}],
|
||||
"responses": {"200": {"description": "OK"}}
|
||||
}
|
||||
},
|
||||
"/api/v1/ai-ops/alerts/open/count": {
|
||||
"get": {
|
||||
"summary": "未关闭告警数量",
|
||||
"security": [{"bearerAuth": []}],
|
||||
"responses": {"200": {"description": "OK"}}
|
||||
}
|
||||
},
|
||||
"/api/v1/ai-ops/logs": {
|
||||
"get": {
|
||||
"summary": "日志查询",
|
||||
"security": [{"bearerAuth": []}],
|
||||
"parameters": [
|
||||
{"name": "service", "in": "query", "schema": {"type": "string"}},
|
||||
{"name": "path", "in": "query", "schema": {"type": "string"}},
|
||||
{"name": "status_code", "in": "query", "schema": {"type": "integer"}},
|
||||
{"name": "start_time", "in": "query", "schema": {"type": "string"}},
|
||||
{"name": "end_time", "in": "query", "schema": {"type": "string"}},
|
||||
{"name": "page", "in": "query", "schema": {"type": "integer", "default": 1}},
|
||||
{"name": "page_size", "in": "query", "schema": {"type": "integer", "default": 100}}
|
||||
],
|
||||
"responses": {"200": {"description": "OK"}}
|
||||
}
|
||||
},
|
||||
"/api/v1/ai-ops/logs/export": {
|
||||
"get": {
|
||||
"summary": "日志导出 CSV",
|
||||
"security": [{"bearerAuth": []}],
|
||||
"responses": {"200": {"description": "CSV file"}}
|
||||
}
|
||||
},
|
||||
"/api/v1/ai-ops/rules": {
|
||||
"get": {
|
||||
"summary": "告警规则列表",
|
||||
"security": [{"bearerAuth": []}],
|
||||
"responses": {"200": {"description": "OK"}}
|
||||
},
|
||||
"post": {
|
||||
"summary": "创建规则",
|
||||
"security": [{"bearerAuth": []}],
|
||||
"responses": {"201": {"description": "Created"}}
|
||||
}
|
||||
},
|
||||
"/api/v1/ai-ops/rules/{id}": {
|
||||
"get": {
|
||||
"summary": "获取规则详情",
|
||||
"security": [{"bearerAuth": []}],
|
||||
"parameters": [{"name": "id", "in": "path", "required": true, "schema": {"type": "string"}}],
|
||||
"responses": {"200": {"description": "OK"}}
|
||||
},
|
||||
"put": {
|
||||
"summary": "更新规则",
|
||||
"security": [{"bearerAuth": []}],
|
||||
"parameters": [{"name": "id", "in": "path", "required": true, "schema": {"type": "string"}}],
|
||||
"responses": {"200": {"description": "OK"}}
|
||||
},
|
||||
"delete": {
|
||||
"summary": "删除规则",
|
||||
"security": [{"bearerAuth": []}],
|
||||
"parameters": [{"name": "id", "in": "path", "required": true, "schema": {"type": "string"}}],
|
||||
"responses": {"204": {"description": "No Content"}}
|
||||
}
|
||||
},
|
||||
"/api/v1/ai-ops/alerts": {
|
||||
"get": {
|
||||
"summary": "告警事件列表",
|
||||
"security": [{"bearerAuth": []}],
|
||||
"parameters": [
|
||||
{"name": "status", "in": "query", "schema": {"type": "string"}},
|
||||
{"name": "page", "in": "query", "schema": {"type": "integer"}},
|
||||
{"name": "page_size", "in": "query", "schema": {"type": "integer"}}
|
||||
],
|
||||
"responses": {"200": {"description": "OK"}}
|
||||
}
|
||||
},
|
||||
"/api/v1/ai-ops/channels": {
|
||||
"get": {
|
||||
"summary": "通知渠道列表",
|
||||
"security": [{"bearerAuth": []}],
|
||||
"responses": {"200": {"description": "OK"}}
|
||||
},
|
||||
"post": {
|
||||
"summary": "创建渠道",
|
||||
"security": [{"bearerAuth": []}],
|
||||
"responses": {"201": {"description": "Created"}}
|
||||
}
|
||||
},
|
||||
"/api/v1/ai-ops/channels/{id}": {
|
||||
"get": {
|
||||
"summary": "获取渠道详情",
|
||||
"security": [{"bearerAuth": []}],
|
||||
"parameters": [{"name": "id", "in": "path", "required": true, "schema": {"type": "string"}}],
|
||||
"responses": {"200": {"description": "OK"}}
|
||||
},
|
||||
"put": {
|
||||
"summary": "更新渠道",
|
||||
"security": [{"bearerAuth": []}],
|
||||
"parameters": [{"name": "id", "in": "path", "required": true, "schema": {"type": "string"}}],
|
||||
"responses": {"200": {"description": "OK"}}
|
||||
},
|
||||
"delete": {
|
||||
"summary": "删除渠道",
|
||||
"security": [{"bearerAuth": []}],
|
||||
"parameters": [{"name": "id", "in": "path", "required": true, "schema": {"type": "string"}}],
|
||||
"responses": {"204": {"description": "No Content"}}
|
||||
}
|
||||
},
|
||||
"/api/v1/ai-ops/audits": {
|
||||
"get": {
|
||||
"summary": "审计日志列表",
|
||||
"security": [{"bearerAuth": []}],
|
||||
"parameters": [
|
||||
{"name": "object_type", "in": "query", "schema": {"type": "string"}},
|
||||
{"name": "object_id", "in": "query", "schema": {"type": "string"}},
|
||||
{"name": "page", "in": "query", "schema": {"type": "integer"}},
|
||||
{"name": "page_size", "in": "query", "schema": {"type": "integer"}}
|
||||
],
|
||||
"responses": {"200": {"description": "OK"}}
|
||||
}
|
||||
},
|
||||
"/api/v1/ai-ops/audits/{id}/rollback": {
|
||||
"post": {
|
||||
"summary": "配置回滚",
|
||||
"security": [{"bearerAuth": []}],
|
||||
"parameters": [{"name": "id", "in": "path", "required": true, "schema": {"type": "string"}}],
|
||||
"responses": {"200": {"description": "OK"}}
|
||||
}
|
||||
},
|
||||
"/health": {
|
||||
"get": {
|
||||
"summary": "健康检查",
|
||||
"responses": {"200": {"description": "OK"}}
|
||||
}
|
||||
},
|
||||
"/actuator/health": {
|
||||
"get": {
|
||||
"summary": "健康检查",
|
||||
"responses": {"200": {"description": "OK"}}
|
||||
}
|
||||
},
|
||||
"/actuator/health/live": {
|
||||
"get": {
|
||||
"summary": "Liveness probe",
|
||||
"responses": {"200": {"description": "UP"}}
|
||||
}
|
||||
},
|
||||
"/actuator/health/ready": {
|
||||
"get": {
|
||||
"summary": "Readiness probe",
|
||||
"responses": {"200": {"description": "UP"}, "503": {"description": "DOWN"}}
|
||||
}
|
||||
}
|
||||
},
|
||||
"components": {
|
||||
"securitySchemes": {
|
||||
"bearerAuth": {
|
||||
"type": "http",
|
||||
"scheme": "bearer",
|
||||
"bearerFormat": "JWT"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user