feat: strengthen module contracts and shared WebUI runtime
This commit is contained in:
@@ -6,18 +6,46 @@ class Settings(BaseSettings):
|
||||
model_config = SettingsConfigDict(env_file=None, extra="ignore")
|
||||
|
||||
app_env: str = Field(default="dev", alias="APP_ENV")
|
||||
module_live_apply_enabled: bool | None = Field(
|
||||
default=None,
|
||||
alias="GOVOPLAN_MODULE_LIVE_APPLY_ENABLED",
|
||||
)
|
||||
|
||||
database_url: str = Field(
|
||||
default="postgresql+psycopg://govoplan_dev@127.0.0.1:5432/govoplan_dev",
|
||||
alias="DATABASE_URL",
|
||||
)
|
||||
database_pool_size: int = Field(
|
||||
default=5,
|
||||
alias="GOVOPLAN_DB_POOL_SIZE",
|
||||
ge=1,
|
||||
le=100,
|
||||
)
|
||||
database_max_overflow: int = Field(
|
||||
default=10,
|
||||
alias="GOVOPLAN_DB_MAX_OVERFLOW",
|
||||
ge=0,
|
||||
le=200,
|
||||
)
|
||||
database_pool_timeout_seconds: int = Field(
|
||||
default=30,
|
||||
alias="GOVOPLAN_DB_POOL_TIMEOUT_SECONDS",
|
||||
ge=1,
|
||||
le=300,
|
||||
)
|
||||
database_pool_recycle_seconds: int = Field(
|
||||
default=1800,
|
||||
alias="GOVOPLAN_DB_POOL_RECYCLE_SECONDS",
|
||||
ge=0,
|
||||
le=86_400,
|
||||
)
|
||||
access_database_url: str | None = Field(default=None, alias="ACCESS_DATABASE_URL")
|
||||
access_db_schema: str | None = Field(default=None, alias="ACCESS_DB_SCHEMA")
|
||||
access_table_prefix: str = Field(default="access_", alias="ACCESS_TABLE_PREFIX")
|
||||
tenant_data_mode: str = Field(default="shared", alias="TENANT_DATA_MODE")
|
||||
tenant_db_url_template: str | None = Field(default=None, alias="TENANT_DB_URL_TEMPLATE")
|
||||
tenant_schema_template: str | None = Field(default=None, alias="TENANT_SCHEMA_TEMPLATE")
|
||||
enabled_modules: str = Field(default="tenancy,organizations,identity,access,admin,dashboard,policy,audit,campaigns,files,mail,calendar,poll,scheduling,connectors,datasources,dataflow,workflow,views,notifications,docs,ops", alias="ENABLED_MODULES")
|
||||
enabled_modules: str = Field(default="tenancy,organizations,identity,idm,access,admin,dashboard,policy,audit,campaigns,files,mail,calendar,poll,scheduling,connectors,datasources,dataflow,workflow,views,postbox,notifications,docs,ops", alias="ENABLED_MODULES")
|
||||
migration_track: str = Field(default="release", alias="GOVOPLAN_MIGRATION_TRACK")
|
||||
redis_url: str = Field(default="redis://redis:6379/0", alias="REDIS_URL")
|
||||
celery_enabled: bool = Field(default=False, alias="CELERY_ENABLED")
|
||||
@@ -47,6 +75,11 @@ class Settings(BaseSettings):
|
||||
auth_cookie_samesite: str = Field(default="lax", alias="AUTH_COOKIE_SAMESITE")
|
||||
auth_cookie_domain: str | None = Field(default=None, alias="AUTH_COOKIE_DOMAIN")
|
||||
auth_session_hours: int = Field(default=12, alias="AUTH_SESSION_HOURS")
|
||||
auth_activity_touch_interval_seconds: int = Field(
|
||||
default=5 * 60,
|
||||
ge=0,
|
||||
alias="AUTH_ACTIVITY_TOUCH_INTERVAL_SECONDS",
|
||||
)
|
||||
auth_login_throttle_enabled: bool = Field(default=True, alias="AUTH_LOGIN_THROTTLE_ENABLED")
|
||||
auth_login_throttle_identity_limit: int = Field(
|
||||
default=10,
|
||||
|
||||
Reference in New Issue
Block a user