26 lines
679 B
Python
26 lines
679 B
Python
from pydantic_settings import BaseSettings
|
|||
|
|
from functools import lru_cache
|
||
|
|
from pathlib import Path
|
||
|
|
|
||
|
|
# 项目根目录(backend/ 的上级目录)
|
||
|
|
PROJECT_ROOT = Path(__file__).parent.parent
|
||
|
|
ENV_FILE = PROJECT_ROOT / ".env"
|
||
|
|
|
||
|
|
|
||
|
|
class Settings(BaseSettings):
|
||
|
|
database_url: str = "sqlite+aiosqlite:///./certcenter.db"
|
||
|
|
secret_key: str = "change-me-to-a-random-string"
|
||
|
|
admin_username: str = "admin"
|
||
|
|
admin_password: str = "admin123"
|
||
|
|
cert_dir: str = "/srv/certs"
|
||
|
|
base_url: str = "https://cert.example.com"
|
||
|
|
|
||
|
|
class Config:
|
||
|
|
env_file = str(ENV_FILE)
|
||
|
|
env_file_encoding = "utf-8"
|
||
|
|
|
||
|
|
|
||
|
|
@lru_cache
|
||
|
|
def get_settings() -> Settings:
|
||
|
|
return Settings()
|