35 lines
1023 B
Python
35 lines
1023 B
Python
|
|
from pydantic import Field
|
|
from pydantic_settings import BaseSettings
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
env: str = Field(default='DEV', alias="ENV")
|
|
|
|
# Server settings
|
|
host: str = Field(default="0.0.0.0", alias="HOST")
|
|
port: int = Field(default=8000, alias="PORT")
|
|
debug: bool = Field(default=False, alias="DEBUG")
|
|
log_level: str = Field(default="INFO", alias="LOG_LEVEL")
|
|
|
|
# Database settings
|
|
oracle_user: str = Field(alias="ORACLE_USER")
|
|
oracle_password: str = Field(alias="ORACLE_PASSWORD")
|
|
oracle_dsn: str = Field(alias="ORACLE_DSN")
|
|
|
|
# Sentry settings
|
|
sentry_dsn: str | None = Field(default=None, alias="SENTRY_DSN")
|
|
|
|
# Datadog settings
|
|
dd_service: str = Field(default="loapi", alias="DD_SERVICE")
|
|
dd_env: str = Field(default="development", alias="DD_ENV")
|
|
dd_version: str = Field(default="1.0.0", alias="DD_VERSION")
|
|
|
|
model_config = {
|
|
"env_file": ".env",
|
|
"case_sensitive": False
|
|
}
|
|
|
|
|
|
settings = Settings() # type:ignore[call-arg]
|