docs: Gateway API — списки сервисов, DDoS-Guard заголовки, метод Виталия
This commit is contained in:
@@ -37,7 +37,6 @@
|
||||
27 vc_vm_v2 # VM в Cloud Director (vc_vmV2)
|
||||
26 vapp # Виртуальный каталог ВМ (vApp)
|
||||
25 vcexternalip # Публичные IP адреса
|
||||
24 svc24 # DEPRECATED Правила маршрутизации для VM (vc_nat)
|
||||
23 vc_vm # VM в Cloud Director (старый формат) (vc_vm)
|
||||
22 vc_nsxt # Сетевой шлюз периметра (Edge)
|
||||
21 vc_vdc # Виртуальный датацентр (vDC)
|
||||
|
||||
@@ -39,7 +39,6 @@
|
||||
27 vc_vm_v2 # VM в Cloud Director (vc_vmV2)
|
||||
26 vapp # Виртуальный каталог ВМ (vApp)
|
||||
25 vcexternalip # Публичные IP адреса
|
||||
24 svc24 # DEPRECATED Правила маршрутизации для VM (vc_nat)
|
||||
23 vc_vm # VM в Cloud Director (старый формат) (vc_vm)
|
||||
22 vc_nsxt # Сетевой шлюз периметра (Edge)
|
||||
21 vc_vdc # Виртуальный датацентр (vDC)
|
||||
|
||||
+27
-16
@@ -13,31 +13,42 @@
|
||||
**Токены НЕ ПРОТУХАЮТ до декабря 2026.** Они в `secrets/{dev,test,prod}.token`.
|
||||
Проверить дату: `python3 -c "import json,base64; t=open('secrets/test.token').read().split('.'); d=json.loads(base64.urlsafe_b64decode(t[1]+'==')); from datetime import datetime,timezone; print(datetime.fromtimestamp(d['exp'],tz=timezone.utc))"`
|
||||
|
||||
**Старый API (index.cfm) — DDoS-Guard требует 3 заголовка, иначе 403:**
|
||||
### ⛔ DDoS-Guard: ВСЕГДА нужны 3 заголовка (и старый, и новый API!)
|
||||
|
||||
**Без них — 403 Forbidden. Это НЕ протухший токен.**
|
||||
|
||||
```bash
|
||||
-H "Authorization: Bearer $TOKEN"
|
||||
-H "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36"
|
||||
-H "Referer: https://deck-{stand}.ngcloud.ru/"
|
||||
```
|
||||
|
||||
### Актуальный API (Gateway) — только его использовать:
|
||||
|
||||
| Стенд | Gateway URL | Referer |
|
||||
|-------|-------------|---------|
|
||||
| test | `https://lk-api-gateway-test.ngcloud.ru/api/v1/svc` | `https://deck-test.ngcloud.ru/` |
|
||||
| dev | `https://lk-api-gateway-dev.ngcloud.ru/api/v1/svc` | `https://deck-dev.ngcloud.ru/` |
|
||||
| prod | `https://lk-api-gateway.ngcloud.ru/api/v1/svc` | `https://deck.ngcloud.ru/` |
|
||||
|
||||
### Получить список ВСЕХ сервисов стенда:
|
||||
|
||||
```bash
|
||||
curl -s --max-time 10 \
|
||||
-H "Authorization: Bearer $(cat secrets/test.token)" \
|
||||
-H "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36" \
|
||||
-H "Referer: https://deck-test.ngcloud.ru/" \
|
||||
"https://deck-api-test.ngcloud.ru/api/v1/index.cfm?endpoint=/services/90"
|
||||
```
|
||||
**Referer должен совпадать со стендом!** Без Referer — 403. Без User-Agent — 403.
|
||||
|
||||
**Новый Gateway (lk-api-gateway) — только Authorization:**
|
||||
```bash
|
||||
curl -s --max-time 10 \
|
||||
-H "Authorization: Bearer $(cat secrets/test.token)" \
|
||||
"https://lk-api-gateway-test.ngcloud.ru/api/v1/svc/services/90"
|
||||
"https://lk-api-gateway-test.ngcloud.ru/api/v1/svc/services" | jq '.results[] | {svcId, svcShort, svc}'
|
||||
```
|
||||
|
||||
| Стенд | Старый API | Новый Gateway | Referer |
|
||||
|-------|-----------|---------------|---------|
|
||||
| test | `deck-api-test.ngcloud.ru/api/v1/index.cfm` | `lk-api-gateway-test.ngcloud.ru/api/v1/svc` | `https://deck-test.ngcloud.ru/` |
|
||||
| dev | `deck-api-dev.ngcloud.ru/api/v1/index.cfm` | `lk-api-gateway-dev.ngcloud.ru/api/v1/svc` | `https://deck-dev.ngcloud.ru/` |
|
||||
| prod | `deck-api.ngcloud.ru/api/v1/index.cfm` | `lk-api-gateway.ngcloud.ru/api/v1/svc` | `https://deck.ngcloud.ru/` |
|
||||
Списки сохраняются в `TOOLS/config/{stand}/services_list.txt`.
|
||||
|
||||
### ⛔ Старый API (index.cfm) — ЗАКРЫВАЕТСЯ, НЕ ИСПОЛЬЗОВАТЬ
|
||||
|
||||
Историческая справка в `apis.txt`. Все упоминания в коде помечены `LEGACY`.
|
||||
|
||||
## API и схемы
|
||||
- Алгоритмы API-дискавери: [docs/70_api/api-discovery-algorithms.md](70_api/api-discovery-algorithms.md)
|
||||
- **Метод Виталия (получение параметров):** [docs/70_api/api-discovery-algorithms.md](70_api/api-discovery-algorithms.md)
|
||||
- Полный API-дамп: [docs/70_api/api_analysis/API_DOCUMENTATION_SUMMARY.md](70_api/api_analysis/API_DOCUMENTATION_SUMMARY.md)
|
||||
|
||||
## Discovery (полевая информация)
|
||||
|
||||
+24
-21
@@ -1,34 +1,37 @@
|
||||
# Nubes API Reference
|
||||
|
||||
## Старый API (deck-api) — работает, проверено 2026-07-01
|
||||
## ⛔ Актуальный API — ТОЛЬКО Gateway (lk-api-gateway)
|
||||
|
||||
Формат: `?endpoint=/instances&page=1&size=...`
|
||||
DDoS-Guard требует 3 заголовка для ВСЕХ запросов:
|
||||
```bash
|
||||
-H "Authorization: Bearer $TOKEN"
|
||||
-H "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36"
|
||||
-H "Referer: https://deck-{stand}.ngcloud.ru/"
|
||||
```
|
||||
|
||||
| Стенд | Gateway URL | Referer | Токен |
|
||||
|-------|-------------|---------|-------|
|
||||
| DEV | `https://lk-api-gateway-dev.ngcloud.ru/api/v1/svc` | `https://deck-dev.ngcloud.ru/` | `secrets/dev.token` |
|
||||
| TEST | `https://lk-api-gateway-test.ngcloud.ru/api/v1/svc` | `https://deck-test.ngcloud.ru/` | `secrets/test.token` |
|
||||
| PROD | `https://lk-api-gateway.ngcloud.ru/api/v1/svc` | `https://deck.ngcloud.ru/` | `secrets/prod.token` |
|
||||
|
||||
## Проверенные эндпоинты Gateway:
|
||||
|
||||
```
|
||||
GET /services — список всех сервисов
|
||||
GET /services/{svcId} — метаданные сервиса + операции
|
||||
GET /instanceOperations/default/{svcOperationId} — параметры с dataDescriptor и valueList (метод Виталия)
|
||||
```
|
||||
|
||||
## ⛔ Старый API (deck-api/index.cfm) — ЗАКРЫВАЕТСЯ, НЕ ИСПОЛЬЗОВАТЬ
|
||||
|
||||
Историческая справка:
|
||||
| Стенд | URL |
|
||||
|---|---|
|
||||
| DEV | `https://deck-api-dev.ngcloud.ru/api/v1/index.cfm` |
|
||||
| TEST | `https://deck-api-test.ngcloud.ru/api/v1/index.cfm` |
|
||||
| PROD | `https://deck-api.ngcloud.ru/api/v1/index.cfm` |
|
||||
|
||||
## Новый API Gateway (lk-api-gateway) — работает, проверено 2026-07-01
|
||||
|
||||
Формат: REST-пути (`/instances` вместо `?endpoint=/instances`)
|
||||
|
||||
| Стенд | URL |
|
||||
|---|---|
|
||||
| DEV | `https://lk-api-gateway-dev.ngcloud.ru/api/v1/svc` |
|
||||
| TEST | `https://lk-api-gateway-test.ngcloud.ru/api/v1/svc` |
|
||||
| PROD | `https://lk-api-gateway.ngcloud.ru/api/v1/svc` |
|
||||
|
||||
## Проверенные эндпоинты нового gateway
|
||||
|
||||
```
|
||||
GET /api/v1/svc
|
||||
GET /api/v1/svc/instances?page=1&size=...
|
||||
GET /api/v1/svc/instances/{instanceUid} (предположительно)
|
||||
POST /api/v1/svc/instances (предположительно)
|
||||
```
|
||||
|
||||
Данные возвращаются те же, что и в старом API (JSON идентичен).
|
||||
|
||||
## Токены
|
||||
|
||||
Reference in New Issue
Block a user