Release 1.0.0 with server info console

This commit is contained in:
Artem Kokos
2026-05-21 20:46:04 +07:00
parent 85c840ba1b
commit 61b21c63ea
12 changed files with 766 additions and 5 deletions

View File

@@ -46,12 +46,26 @@ UI: `http://<host>:8000/`
```env
IGNIS_API_KEY=change-me
IGNIS_INSTANCE_NAME=Home
APP_TIMEZONE=Asia/Novosibirsk
LOG_LEVEL=INFO
IGNIS_DATABASE_URL=sqlite+aiosqlite:///./ignis.db
IGNIS_SYNC_DATABASE_URL=sqlite:///./ignis.db
```
Параметры server metadata / versioning:
```env
IGNIS_PUBLIC_BASE_URL=https://ignis.example.local
IGNIS_BUILD_VERSION=1.0.0
IGNIS_BUILD_DATE=2026-05-21T12:00:00Z
IGNIS_GIT_SHA=abc1234def56
```
- `IGNIS_INSTANCE_NAME` — человекочитаемое имя инстанса, которое видно в UI и `GET /system/info`.
- `IGNIS_PUBLIC_BASE_URL` — внешний URL сервера, если он стоит за reverse proxy или доступен по доменному имени.
- `IGNIS_BUILD_VERSION`, `IGNIS_BUILD_DATE`, `IGNIS_GIT_SHA` — build metadata установленного сервера для диагностики и сверки версий.
Параметры discovery:
```env
@@ -114,6 +128,7 @@ EVENT_LOG_RETENTION_DAYS=30
- `POST /api-keys/activate`
- `GET /stats/summary`
- `GET /stats/log`
- `GET /system/info`
`control/*` и `schedules/*` принимают JSON body.
@@ -149,6 +164,7 @@ curl -X POST http://127.0.0.1:8000/control/group/bedroom \
- использует только локальные ассеты;
- не использует `localStorage`;
- может хранить API-ключ только в `sessionStorage` текущей вкладки;
- показывает build/server metadata текущего инстанса;
- умеет базовое управление группами, расписания, API-ключи, stats/log и быстрый таймер на 4 часа.
## Хранилище
@@ -176,7 +192,7 @@ SQLite-таблицы:
## Тесты
На 2026-05-16 в `tests/` лежит 27 `unittest`-сценариев.
На 2026-05-21 в `tests/` лежит 29 `unittest`-сценариев.
Покрыто:
@@ -189,6 +205,7 @@ SQLite-таблицы:
- auto subnet selection для discovery;
- background offline cleanup threshold;
- manual rescan summary;
- server metadata endpoint и отсутствие утечки секретов в нём;
- security headers и локальные UI-ассеты;
- stats summary без двойного счёта `*_requested`.