"""Bootstrap first admin user from environment (optional alternative to UI registration).""" from __future__ import annotations import os from services.registration import provision_system_admin, user_count def _env(name: str) -> str: return os.getenv(name, "").strip() def bootstrap_admin_if_needed() -> None: if _env("SKIP_BOOTSTRAP").lower() in ("1", "true", "yes"): return email = _env("KAIRO_BOOTSTRAP_ADMIN_EMAIL") password = _env("KAIRO_BOOTSTRAP_ADMIN_PASSWORD") if not email or not password: return if user_count() > 0: return tenant_slug = _env("KAIRO_BOOTSTRAP_TENANT_SLUG") or "default" tenant_name = _env("KAIRO_BOOTSTRAP_TENANT_NAME") or "Default Tenant" display_name = _env("KAIRO_BOOTSTRAP_ADMIN_NAME") or "Kairo Admin" provision_system_admin( email=email, password=password, display_name=display_name, tenant_slug=tenant_slug, tenant_name=tenant_name, source="env_bootstrap", ) print(f"[bootstrap] Systemadmin und Tenant '{tenant_slug}' angelegt")