35 lines
1.6 KiB
Python
35 lines
1.6 KiB
Python
from pydantic import Field
|
|
from pydantic_settings import BaseSettings, SettingsConfigDict
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
model_config = SettingsConfigDict(env_file=None, extra="ignore")
|
|
|
|
app_env: str = Field(default="dev", alias="APP_ENV")
|
|
|
|
database_url: str = Field(
|
|
default="sqlite:///./multimailer-dev.db",
|
|
alias="DATABASE_URL",
|
|
)
|
|
redis_url: str = Field(default="redis://redis:6379/0", alias="REDIS_URL")
|
|
|
|
s3_endpoint_url: str = Field(default="http://garage:3900", alias="S3_ENDPOINT_URL")
|
|
s3_region: str = Field(default="garage", alias="S3_REGION")
|
|
s3_access_key_id: str = Field(default="GKmultimailerdev0000000000000000", alias="S3_ACCESS_KEY_ID")
|
|
s3_secret_access_key: str = Field(default="multimailer-dev-secret-change-me", alias="S3_SECRET_ACCESS_KEY")
|
|
s3_bucket: str = Field(default="attachments", alias="S3_BUCKET")
|
|
|
|
master_key_b64: str | None = Field(default=None, alias="MASTER_KEY_B64")
|
|
celery_queues: str = Field(default="send_email,append_sent,default", alias="CELERY_QUEUES")
|
|
|
|
# Development bootstrap only. Do not use this in production.
|
|
dev_bootstrap_api_key: str | None = Field(default="dev-multimailer-api-key", alias="DEV_BOOTSTRAP_API_KEY")
|
|
dev_bootstrap_enabled: bool = Field(default=True, alias="DEV_BOOTSTRAP_ENABLED")
|
|
dev_bootstrap_password: str = Field(default="dev-admin", alias="DEV_BOOTSTRAP_PASSWORD")
|
|
|
|
# Comma-separated list. Use * only for local development.
|
|
cors_origins: str = Field(default="http://localhost:5173,http://127.0.0.1:5173,http://localhost:8080", alias="CORS_ORIGINS")
|
|
|
|
|
|
settings = Settings()
|