Перейти к основному содержимому

ADR-0030: Service Bootstrap, Health Checks И CI Gates

Статус

Принято.

Контекст

Новые сервисы должны стартовать, наблюдаться, проверяться и деплоиться одинаково. Разные bootstrap patterns ухудшают поддержку и усложняют incident response.

Решение

Вводим единый service bootstrap standard поверх Pin.Kernel.*: thin Program.cs, base startup classes, layer-specific DI extensions, фиксированный middleware order, K8s endpoints /health/live и /health/ready, runbooks и обязательные CI quality gates.

Последствия

  • Каждый service обязан иметь два health endpoints: /health/live и /health/ready.
  • Каждый service запускается через BaseWebStartup, BaseBackgroundStartup, BaseMigratorStartup или специализированный BaseGatewayStartup.
  • CI блокирует нарушения layer/service boundaries, contract drift, missing docs и risky migrations.
  • Critical alerts должны иметь runbook.
  • Shared extensions становятся основным способом подключения cross-cutting capabilities.

Обратные ссылки

Автоссылки: где используется этот документ.