forked from iselt/masque-vpn
-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathlaunch-improvements.sh
More file actions
executable file
·63 lines (52 loc) · 2.71 KB
/
Copy pathlaunch-improvements.sh
File metadata and controls
executable file
·63 lines (52 loc) · 2.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#!/bin/bash
API_URL="http://localhost:3000/api/v1"
PROJECT_DIR="/Users/maxlanies/Git/2GC/cloudbridge-relay-installer/oss-repositories/cloudbridge/masque-vpn"
echo "🚀 Запуск миссии: MASQUE VPN Improvements"
echo "📋 Workflow: TASK-002 (Research → Arch → Plan → Dev)"
echo ""
# Создаём задачу
cat > /tmp/masque-task.md << 'EOF'
# Задача: Улучшение MASQUE VPN Client
## Цель
Модернизировать клиентскую часть `masque-vpn` (`vpn_client`), внедрив современные практики наблюдаемости и обновив зависимости.
## Требования
### 1. Обновление зависимостей
- Обновить `github.com/quic-go/quic-go` до версии `v0.57.1` (или последней стабильной) во всех модулях:
- `vpn_client/go.mod`
- `vpn_server/go.mod`
- `common/go.mod` (если есть)
- Убедиться, что код компилируется с новой версией (возможно потребуются правки API).
### 2. Структурированное логирование
- Заменить стандартный пакет `log` на `go.uber.org/zap` в `vpn_client`.
- Настроить формат логов (JSON для production, Console для dev).
- Логировать важные события: подключение, ошибки, изменение IP/маршрутов.
### 3. Метрики (Observability)
- Добавить Prometheus metrics server в `vpn_client` (например, на порту 9090 или :8081/metrics).
- Реализовать метрики:
- `vpn_client_bytes_sent_total` (Counter)
- `vpn_client_bytes_received_total` (Counter)
- `vpn_client_connection_status` (Gauge: 0=Disconnected, 1=Connected)
- `vpn_client_errors_total` (Counter)
## Ожидаемый результат
- Клиент успешно собирается и запускается.
- Логи пишутся через Zap.
- Метрики доступны по HTTP endpoint.
- Зависимости обновлены.
EOF
RESPONSE=$(curl -s -X POST "${API_URL}/missions/create" \
-H "Content-Type: application/json" \
-d "{
\"task\": \"$(cat /tmp/masque-task.md | sed 's/"/\\"/g' | tr '\n' ' ')\",
\"targetDirectory\": \"${PROJECT_DIR}\",
\"workflowId\": \"TASK-002\",
\"agentLevel\": \"senior\",
\"autoContinue\": true,
\"metadata\": {
\"source\": \"cli-script\",
\"project\": \"masque-vpn\",
\"type\": \"refactoring\"
}
}")
echo "$RESPONSE" | jq '.'
echo ""
echo "✅ Миссия MASQUE VPN запущена! ID: $(echo "$RESPONSE" | jq -r '.missionId')"