21 lines
718 B
Python
21 lines
718 B
Python
from functools import lru_cache
|
|
from pydantic import Field
|
|
from pydantic_settings import BaseSettings, SettingsConfigDict
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
model_config = SettingsConfigDict(env_prefix="INGESTION_", case_sensitive=False)
|
|
github_token: str | None = Field(default=None, repr=False)
|
|
github_api_base: str = "https://api.github.com"
|
|
sharepoint_site_url: str | None = None
|
|
sharepoint_access_token: str | None = Field(default=None, repr=False)
|
|
require_governance_approval: bool = True
|
|
publish_enabled: bool = False
|
|
allowed_sources: tuple[str, ...] = ("github",)
|
|
service_name: str = "content-ingestion-agent"
|
|
|
|
|
|
@lru_cache
|
|
def get_settings() -> Settings:
|
|
return Settings()
|