38 lines
1.0 KiB
Markdown
38 lines
1.0 KiB
Markdown
# Agent protocol (fleet)
|
|
|
|
Агент (`apps/agent`) работает только при `PANEL_MODE=fleet`.
|
|
|
|
## Enrollment
|
|
|
|
`POST /api/agent/enroll`
|
|
|
|
```json
|
|
{ "token": "<enrollment>", "hostname": "...", "name": "...", "agentVersion": "0.1.0" }
|
|
```
|
|
|
|
Ответ: `{ agentId, agentToken, panelUrl }`. Токен enrollment одноразовый. Состояние агента: `/var/lib/telemt-panel-agent/state.json`.
|
|
|
|
## Jobs poll
|
|
|
|
`GET /api/agent/jobs` — `Authorization: Bearer <agentToken>`
|
|
|
|
Возвращает pending jobs:
|
|
|
|
```json
|
|
[{ "id": "...", "type": "telemt.proxy", "payload": { "method": "GET", "path": "/v1/users", "body": null } }]
|
|
```
|
|
|
|
## Result
|
|
|
|
`POST /api/agent/jobs/:id/result`
|
|
|
|
```json
|
|
{ "ok": true, "result": { "ok": true, "data": {} }, "error": "" }
|
|
```
|
|
|
|
## telemt.proxy
|
|
|
|
Агент выполняет HTTP к локальному `TELEMT_API_URL` (по умолчанию `http://127.0.0.1:9091`) и возвращает JSON envelope.
|
|
|
|
Установка: `GET /install-agent.sh` → `deploy/install-agent.sh`.
|