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.
Обратные ссылки
Автоссылки: где используется этот документ.