- architecture/overview.md: добавлена актуальная схема (SQS, managed PG) - deployment.md: добавлена процедура деплоя в iot-naeel - progress.md: добавлен блок 2026-04-12 (Kafka→SQS, деплой) - api/endpoints.md: добавлен актуальный формат /iot-admin/stats - thinking/2026-04-12.md: дописан ход реализации и деплоя - copilot-instructions.md: добавлено правило «документацию не стирать» Старая документация (Kafka, RabbitMQ) сохранена как база знаний.
55 lines
2.0 KiB
Markdown
55 lines
2.0 KiB
Markdown
# IoT API Endpoints
|
|
|
|
## Публичные (без auth)
|
|
|
|
| Метод | Путь | Описание |
|
|
|-------|------|----------|
|
|
| GET | `/console` | IoT Консоль (HTML SPA) |
|
|
| GET | `/iot-admin` | Страница администратора (HTML) |
|
|
|
|
## Защищённые JWT (/v1/)
|
|
|
|
| Метод | Путь | Описание |
|
|
|-------|------|----------|
|
|
| POST | `/v1/namespaces/{ns}/iot/devices` | Создать IoT устройство |
|
|
| GET | `/v1/namespaces/{ns}/iot/devices` | Список устройств (без паролей) |
|
|
| GET | `/v1/namespaces/{ns}/iot/devices/{name}` | Устройство + MQTT password |
|
|
| DELETE | `/v1/namespaces/{ns}/iot/devices/{name}` | Удалить устройство |
|
|
| PATCH | `/v1/namespaces/{ns}/iot/devices/{name}` | Обновить (enabled) |
|
|
| GET | `/v1/namespaces/{ns}/iot/telemetry` | Телеметрия (?device=&limit=) |
|
|
|
|
## Внутренние (без JWT, только из кластера)
|
|
|
|
| Метод | Путь | Описание |
|
|
|-------|------|----------|
|
|
| POST | `/internal/mqtt/auth` | MQTT auth для EMQX |
|
|
| POST | `/internal/mqtt/acl` | MQTT ACL для EMQX |
|
|
|
|
## Администратор (ADMIN_STATS_TOKEN)
|
|
|
|
| Метод | Путь | Описание |
|
|
|-------|------|----------|
|
|
| GET | `/iot-admin/stats` | JSON статистика (PG, Kafka lag, pods) |
|
|
|
|
---
|
|
|
|
## Обновление 2026-04-12: admin stats → SQS
|
|
|
|
> Kafka lag заменён на SQS queue stats. Endpoint тот же, формат ответа изменён.
|
|
|
|
### `/iot-admin/stats` — актуальный формат ответа
|
|
|
|
```json
|
|
{
|
|
"sqs": {
|
|
"queue_url": "http://us-east-1.goaws.com:4100/t-96afe7e9f781f6ca/iot-telemetry",
|
|
"approximate_messages": "0",
|
|
"approximate_messages_not_visible": "0"
|
|
},
|
|
"sqs_consumer_pods": [...],
|
|
"pg_tenants": [...]
|
|
}
|
|
```
|
|
|
|
Вместо `kafka_lag` теперь `sqs.approximate_messages` — количество сообщений в очереди, ожидающих обработки.
|