Document Synology Authentik deploy guardrails
This commit is contained in:
@@ -49,6 +49,47 @@ http://task.nas.nodedc:18090
|
||||
- Tasker поднимается отдельным compose из `NODEDC_TASKMANAGER/plane-app/docker-compose.yaml` на порту `18090`.
|
||||
- Ops Agents Gateway поднимается отдельным compose из `NODEDC_TASKMANAGER_CODEXAPI/docker-compose.synology.yml` на `172.22.0.222:18190`; Synology reverse proxy должен вести `ops-agents.nodedc.ru` на этот порт, а не на `18090`.
|
||||
|
||||
## Внутренний Authentik API для Launcher
|
||||
|
||||
Launcher подключен и к platform identity-сети, и к engine-сети. В engine-сети тоже может быть сервис с DNS-именем `authentik-server`, поэтому это имя нельзя использовать для `NODEDC_AUTHENTIK_BASE_URL`: Docker DNS может отдать не тот Authentik, и platform API-token будет получать `403 Token invalid/expired`.
|
||||
|
||||
Для platform Authentik зафиксирован отдельный alias:
|
||||
|
||||
```text
|
||||
http://nodedc-platform-authentik-server:9000
|
||||
```
|
||||
|
||||
Live `/volume1/docker/nodedc-platform/platform/.env.synology` должен содержать:
|
||||
|
||||
```env
|
||||
NODEDC_AUTHENTIK_BASE_URL=http://nodedc-platform-authentik-server:9000
|
||||
AUTHENTIK_BASE_URL=http://nodedc-platform-authentik-server:9000
|
||||
NODEDC_AUTHENTIK_SERVICE_TOKEN=<server Authentik API token>
|
||||
AUTHENTIK_SERVICE_TOKEN=<same token>
|
||||
```
|
||||
|
||||
Быстрая проверка из launcher-контейнера:
|
||||
|
||||
```bash
|
||||
sudo /usr/local/bin/docker exec nodedc-platform-launcher-1 sh -lc '
|
||||
echo "$NODEDC_AUTHENTIK_BASE_URL"
|
||||
getent hosts nodedc-platform-authentik-server
|
||||
for attempt in 1 2 3 4 5 6 7 8 9 10; do
|
||||
wget -qSO- \
|
||||
--header "Authorization: Bearer $NODEDC_AUTHENTIK_SERVICE_TOKEN" \
|
||||
"$NODEDC_AUTHENTIK_BASE_URL/api/v3/core/groups/?search=nodedc_admin" \
|
||||
2>&1 | head -n 25 && exit 0
|
||||
echo "authentik-api-not-ready attempt=$attempt"
|
||||
sleep 10
|
||||
done
|
||||
exit 1
|
||||
'
|
||||
```
|
||||
|
||||
Ожидаемый результат: `HTTP/1.1 200 OK`.
|
||||
|
||||
После изменения platform Authentik alias пересоздавать нужно `authentik-server`, `authentik-worker` и `launcher`. Один `authentik-server` может временно отдавать `503 Service Unavailable`, пока worker и bootstrap не готовы.
|
||||
|
||||
## Синхронизация текущего состояния
|
||||
|
||||
С Mac, при смонтированном `/Volumes/docker`:
|
||||
@@ -84,6 +125,8 @@ TASKER_SYNC_SOURCE=1 ./infra/synology/deploy-current.sh
|
||||
- `/volume1/docker/nodedc-platform/tasker/plane-app/.env.synology`
|
||||
- `/volume1/docker/nodedc-platform/ops-agents/.env`
|
||||
|
||||
Если emergency-fix был сделан прямо на Synology в этих env-файлах, перенести sanitized-значение в `.env.synology.example`/docs, а секрет оставить только в live env.
|
||||
|
||||
## Backup текущего состояния
|
||||
|
||||
С Mac, при смонтированном `/Volumes/docker`:
|
||||
|
||||
Reference in New Issue
Block a user