Skip to content

Configuration

obsidian_palace.config

Application configuration via environment variables and pydantic-settings.

Settings

ObsidianPalace configuration.

Loads from environment variables with the OBSIDIAN_PALACE_ prefix. In local dev, reads from a .env file. In production, values are injected via GCP Secret Manager.

model_config = SettingsConfigDict(env_file='.env', env_prefix='OBSIDIAN_PALACE_', extra='ignore') class-attribute instance-attribute

google_client_id: str = '' class-attribute instance-attribute

google_client_secret: str = '' class-attribute instance-attribute

allowed_email: str = '' class-attribute instance-attribute

server_url: str = 'https://localhost:8080' class-attribute instance-attribute

vault_path: Path = Path('/data/vault') class-attribute instance-attribute

chromadb_path: Path = Path('/data/chromadb') class-attribute instance-attribute

mempalace_wing: str = 'obsidian' class-attribute instance-attribute

mempalace_collection_name: str = 'mempalace_drawers' class-attribute instance-attribute

mempalace_enabled: bool = True class-attribute instance-attribute

obsidian_sync_mode: str = 'bidirectional' class-attribute instance-attribute

anthropic_api_key: str = '' class-attribute instance-attribute

host: str = '0.0.0.0' class-attribute instance-attribute

port: int = 8080 class-attribute instance-attribute

log_level: str = 'info' class-attribute instance-attribute

get_settings() -> Settings

Retrieve the singleton application settings instance.

Returns:

Type Description
Settings

The cached configuration settings.