admin / Syanpse-Vanguard
public
Syanpse-Vanguard / synapse-vanguard-v3 / sv / bootstrap.py
1125 B · main
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | """Shared startup/shutdown for every service role. Builds the storage engine and broker, initializes schema, seeds the bootstrap admin, and ensures the consumer group exists.""" from __future__ import annotations import logging from sv.auth.users import seed_bootstrap_admin from sv.broker import Broker, build_broker from sv.config import settings from sv.storage.base import StorageEngine, build_engine log = logging.getLogger("sv.bootstrap") async def startup(with_broker: bool = True) -> tuple[StorageEngine, Broker | None]: logging.basicConfig(level=settings.log_level) engine = build_engine() await engine.init_schema() await seed_bootstrap_admin(engine) broker: Broker | None = None if with_broker: broker = build_broker() await broker.ensure_group() log.info("startup complete (storage=%s broker=%s)", settings.storage_backend, settings.broker if with_broker else "none") return engine, broker async def shutdown(engine: StorageEngine, broker: Broker | None) -> None: if broker is not None: await broker.close() await engine.close() |