Эксплуатация¶
Раздел для инженера, который разворачивает платформу Taimen в промышленном окружении и сопровождает её: раскладка установки, внешний периметр, обновления, секреты, резервные копии, наблюдаемость, ресурсы и аварийные процедуры. Диагностика конкретных симптомов вынесена в раздел Диагностика.
Модель установки в двух словах¶
Промышленная установка Taimen — это одна машина с Docker Compose и, при необходимости, отдельный runner-хост для автономных исполнителей.
flowchart LR
user([Люди и harness]) -->|HTTPS 443| caddy
subgraph host["Хост платформы (корневой compose.yml)"]
caddy[Caddy<br/>единственный периметр]
caddy --> iam[iam-service]
caddy --> cp[control-plane-api]
caddy --> kc[keycloak]
caddy --> papi[platform-api]
caddy --> web[platform-web]
cp --- worker[control-plane-worker]
cp --- adapter[context-adapter]
adapter --> mem[memory-service]
iam --- iamdb[(iam-db)]
cp --- cpdb[(control-plane-db)]
mem --- memdb[(memory-db<br/>AGE + pgvector)]
end
runner[Runner-хост<br/>control-plane-agent] -->|HTTPS: PAT → access token| caddy
Ключевые принципы:
- Один файл описания — корневой
compose.ymlсуперпроекта с профилями (core,edge,platform,policy,entitlement,demo,fleet). Локальная установка и промышленная различаются только файлом.envи Caddyfile. - Один периметр — наружу публикует порты только контейнер
caddy(80/443). Все прочие сервисы слушают на127.0.0.1хоста или только во внутренней сети. - Релиз = коммит суперпроекта. Версии компонентов закреплены указателями
сабмодулей; обновление — это
git pullсуперпроекта иgit submodule update. - Секреты только в
.envиsecrets/(оба в.gitignore), права0600. - Миграции схем применяются при старте сервисов (
alembic upgrade headв команде контейнера), отдельного шага миграции нет.
Статьи раздела¶
| Статья | Что внутри |
|---|---|
| Промышленное развёртывание | Раскладка каталогов, .env, профили, первый запуск, bootstrap, runner-хост |
| Периметр и TLS | Маршруты Caddy, выпуск сертификатов, закрытие служебных путей, типичные ошибки |
| Обновление и миграции | Штатная выкладка, миграции Alembic, минимизация простоя, откат |
| Секреты и ротация | Инвентарь секретов, права файлов, ротация PAT, ключа подписи, паролей |
| Резервное копирование | Что бэкапить, pg_dump каждой БД, особенности Apache AGE, восстановление |
| Мониторинг и здоровье | Health-эндпоинты, /metrics, make smoke, логи, что алертить |
| Ресурсы и масштабирование | Лимиты памяти из compose.yml, минимальные и рекомендуемые конфигурации |
| Аварийные процедуры | Отказ IAM, откат релиза, потеря runner-хоста, компрометация credentials |
Чек-лист дежурного¶
-
make smokeзелёный,docker compose --profile "*" psбезunhealthy. -
GET /health/readyControl Plane отвечает200, а не503. -
context_adapter_parked_tenantsравен0. - Свободно не меньше 20 % диска (журнал Control Plane и память растут).
- Срок действия PAT исполнителей и операторов не истекает в ближайшие две недели (см. Секреты и ротация).
- Последний успешный бэкап всех БД моложе суток.
Где команды
Все команды docker compose в разделе выполняются из корня клона
суперпроекта: там лежат compose.yml и .env. Цели make описаны в
справочнике Цели make.