//! Control plane: script storage, scheduling, configuration. //! //! Single-writer to Postgres. The orchestrator may *read* scripts from //! the same DB for now; once we add caching and per-node ingress, the //! manager will publish change events. pub mod admin_session_repo; pub mod admin_user_repo; pub mod admin_users_api; pub mod api; pub mod api_key_repo; pub mod app_bootstrap; pub mod app_domain_repo; pub mod app_members_repo; pub mod app_repo; pub mod apps_api; pub mod auth; pub mod auth_api; pub mod auth_bootstrap; pub mod auth_middleware; pub mod authz; pub mod log_sink; pub mod migrations; pub mod repo; pub mod route_admin; pub mod route_repo; pub mod sandbox; pub mod scheduler; pub use admin_session_repo::{ AdminSessionLookup, AdminSessionRepository, AdminSessionRepositoryError, PostgresAdminSessionRepository, }; pub use admin_user_repo::{ AdminUserCredentials, AdminUserRepository, AdminUserRepositoryError, AdminUserRow, PostgresAdminUserRepository, }; pub use admin_users_api::{admins_router, AdminsState}; pub use api::{admin_router, AdminState}; pub use api_key_repo::{ ApiKeyRepository, ApiKeyRepositoryError, ApiKeyRow, ApiKeyVerification, NewApiKey, PostgresApiKeyRepository, }; pub use app_bootstrap::{seed_hello_world_if_fresh, HelloWorldOutcome}; pub use app_domain_repo::{AppDomainRepository, NewAppDomain, PostgresAppDomainRepository}; pub use app_members_repo::{ AppMembersRepository, AppMembersRepositoryError, AppMembershipRow, PostgresAppMembersRepository, }; pub use app_repo::{AppLookup, AppRepository, PostgresAppRepository}; pub use apps_api::{apps_router, AppsState}; pub use auth_api::auth_router; pub use auth_bootstrap::{ bootstrap_first_admin, bootstrap_first_admin_with, BootstrapEnv, BootstrapError, }; pub use auth_middleware::{require_admin, AuthState, AuthedAdmin, SESSION_COOKIE}; pub use authz::{can, require, AuthzDenied, AuthzError, AuthzRepo, Capability, Decision}; pub use log_sink::PostgresExecutionLogSink; pub use repo::{ ExecutionLogRepository, NewScript, PostgresExecutionLogRepository, PostgresScriptRepository, RepoResolver, ScriptPatch, ScriptRepository, ScriptRepositoryError, }; pub use route_admin::{compile_routes, route_admin_router, RouteAdminState}; pub use route_repo::{NewRoute, PostgresRouteRepository, RouteRepository}; pub use sandbox::{CeilingError, SandboxCeiling};