27 lines
850 B
Python
27 lines
850 B
Python
from functools import lru_cache
|
|
|
|
from pydantic import AliasChoices, Field
|
|
from pydantic_settings import BaseSettings, SettingsConfigDict
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
model_config = SettingsConfigDict(env_file=".env", extra="ignore")
|
|
|
|
orbitward_env: str = Field(default="development", validation_alias=AliasChoices("ORBITWARD_ENV", "ORBITALWARD_ENV"))
|
|
orbitward_secret_key: str = Field(
|
|
default="change-me",
|
|
validation_alias=AliasChoices("ORBITWARD_SECRET_KEY", "ORBITALWARD_SECRET_KEY"),
|
|
)
|
|
database_url: str = "postgresql+psycopg://orbitward:orbitward@postgres:5432/orbitward"
|
|
redis_url: str = "redis://redis:6379/0"
|
|
frontend_url: str = "http://localhost:5173"
|
|
backend_url: str = "http://localhost:8000"
|
|
|
|
|
|
@lru_cache
|
|
def get_settings() -> Settings:
|
|
return Settings()
|
|
|
|
|
|
settings = get_settings()
|