Skip to content

Commit 02240de

Browse files
authored
Merge pull request #56 from acd19ml/develop
doc(Metrics&Alert): 新增 API文档、数据库设计文档、新增接口实现、联调
2 parents 97883fb + c7dba12 commit 02240de

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+4170
-168
lines changed

ENV_SETUP.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,46 @@ export SEARCH_BACKEND=DuckDuckGo
5959
export NO_FORCE_TERMINAL=false
6060
```
6161

62+
## Alerting 服务环境变量(数据库 + Webhook 鉴权)
63+
64+
用于接收 Alertmanager Webhook 并将事件入库。
65+
66+
### macOS/Linux
67+
```bash
68+
# 数据库连接(示例:本机 Docker Postgres)
69+
export DB_HOST=localhost
70+
export DB_PORT=5432
71+
export DB_USER=postgres
72+
export DB_PASSWORD=postgres
73+
export DB_NAME=zeroops
74+
export DB_SSLMODE=disable
75+
76+
# Webhook 鉴权(与 Alertmanager http_config 对齐,二选一)
77+
# 1) Basic Auth
78+
export ALERT_WEBHOOK_BASIC_USER=alert
79+
export ALERT_WEBHOOK_BASIC_PASS=REDACTED
80+
# 2) Bearer Token(如使用该方式,注释掉上面的 Basic)
81+
# export ALERT_WEBHOOK_BEARER=your_token_here
82+
```
83+
84+
### Windows(PowerShell)
85+
```powershell
86+
$env:DB_HOST="localhost"
87+
$env:DB_PORT="5432"
88+
$env:DB_USER="postgres"
89+
$env:DB_PASSWORD="postgres"
90+
$env:DB_NAME="zeroops"
91+
$env:DB_SSLMODE="disable"
92+
93+
# Basic Auth
94+
$env:ALERT_WEBHOOK_BASIC_USER="alert"
95+
$env:ALERT_WEBHOOK_BASIC_PASS="REDACTED"
96+
# 或 Bearer
97+
# $env:ALERT_WEBHOOK_BEARER="your_token_here"
98+
```
99+
100+
> 启动服务后,可用 README 中的 curl 示例向 `/v1/integrations/alertmanager/webhook` 发送事件并在数据库中验证。
101+
62102
## 环境变量详细说明
63103

64104
### 必需配置

client/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
"typescript": "~5.8.0",
3939
"vite": "^7.0.6",
4040
"vite-plugin-vue-devtools": "^8.0.0",
41+
"vue-eslint-parser": "^10",
4142
"vue-tsc": "^3.0.4"
4243
}
4344
}

client/src/api/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import axios from 'axios'
22

33
// 创建 axios 实例
44
const api = axios.create({
5-
baseURL: 'http://localhost:8070', // 发布准备服务端口
65
timeout: 10000,
76
headers: {
87
'Content-Type': 'application/json'

client/src/mock/api.ts

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,38 @@ export class MockApiService {
127127
return { status: 200 }
128128
}
129129

130+
// 创建部署计划 - 新的API接口
131+
static async createDeployment(data: {service: string, version: string, scheduleTime?: string}): Promise<{ status: number, data: {id: string, message: string} }> {
132+
await delay(500)
133+
console.log(`Mock API: 创建部署计划 - service: ${data.service}, version: ${data.version}`)
134+
135+
// 生成模拟的部署ID
136+
const deployID = `deploy-${Date.now()}`
137+
138+
// 模拟创建成功,返回状态码201
139+
return {
140+
status: 201,
141+
data: {
142+
id: deployID,
143+
message: 'deployment created successfully'
144+
}
145+
}
146+
}
147+
148+
// 更新部署计划 - 新的API接口
149+
static async updateDeployment(deployID: string, data: {version?: string, scheduleTime?: string}): Promise<{ status: number, data: {message: string} }> {
150+
await delay(300)
151+
console.log(`Mock API: 更新部署计划 - ${deployID}`, data)
152+
153+
// 模拟更新成功,返回状态码200
154+
return {
155+
status: 200,
156+
data: {
157+
message: 'deployment updated successfully'
158+
}
159+
}
160+
}
161+
130162
// 获取部署变更记录 - 新的API接口
131163
static async getDeploymentChangelog(start?: string, limit?: number): Promise<DeploymentChangelogResponse> {
132164
await delay(300)

0 commit comments

Comments
 (0)