src.config.config
Configuration management using Ports/Adapters architecture.
1"""Configuration management using Ports/Adapters architecture.""" 2 3from collections.abc import Mapping 4from os import environ 5 6from .config_port import ConfigRepoPort 7 8 9class EnvConfigRepo(ConfigRepoPort): 10 """Adapter: Configuration repository using environment variables.""" 11 12 server_host: str 13 server_port: int 14 ssi_agent_url: str 15 awards_service_url: str 16 debug: bool 17 postgresql_connection_string: str 18 allowed_cors_domains: str 19 credential_configuration_id: str 20 21 def __init__(self, env: Mapping[str, str] = environ): 22 """Initialize with optional environment mapping. 23 24 Args: 25 env: Environment variable mapping. Defaults to os.environ. 26 """ 27 self.server_host = env["SERVER_HOST"] 28 self.server_port = int(env["SERVER_PORT"]) 29 self.ssi_agent_url = env["SSI_AGENT_URL"] 30 self.awards_service_url = env["AWARDS_SERVICE_URL"] 31 self.debug = False 32 self.postgresql_connection_string = env["POSTGRES_CONNECTION_STRING"] 33 self.allowed_cors_domains = env["ALLOWED_CORS_DOMAINS"] 34 self.credential_configuration_id = env["CREDENTIAL_CONFIGURATION_ID"]
10class EnvConfigRepo(ConfigRepoPort): 11 """Adapter: Configuration repository using environment variables.""" 12 13 server_host: str 14 server_port: int 15 ssi_agent_url: str 16 awards_service_url: str 17 debug: bool 18 postgresql_connection_string: str 19 allowed_cors_domains: str 20 credential_configuration_id: str 21 22 def __init__(self, env: Mapping[str, str] = environ): 23 """Initialize with optional environment mapping. 24 25 Args: 26 env: Environment variable mapping. Defaults to os.environ. 27 """ 28 self.server_host = env["SERVER_HOST"] 29 self.server_port = int(env["SERVER_PORT"]) 30 self.ssi_agent_url = env["SSI_AGENT_URL"] 31 self.awards_service_url = env["AWARDS_SERVICE_URL"] 32 self.debug = False 33 self.postgresql_connection_string = env["POSTGRES_CONNECTION_STRING"] 34 self.allowed_cors_domains = env["ALLOWED_CORS_DOMAINS"] 35 self.credential_configuration_id = env["CREDENTIAL_CONFIGURATION_ID"]
Adapter: Configuration repository using environment variables.
EnvConfigRepo(env: Mapping[str, str] = os.environ)
22 def __init__(self, env: Mapping[str, str] = environ): 23 """Initialize with optional environment mapping. 24 25 Args: 26 env: Environment variable mapping. Defaults to os.environ. 27 """ 28 self.server_host = env["SERVER_HOST"] 29 self.server_port = int(env["SERVER_PORT"]) 30 self.ssi_agent_url = env["SSI_AGENT_URL"] 31 self.awards_service_url = env["AWARDS_SERVICE_URL"] 32 self.debug = False 33 self.postgresql_connection_string = env["POSTGRES_CONNECTION_STRING"] 34 self.allowed_cors_domains = env["ALLOWED_CORS_DOMAINS"] 35 self.credential_configuration_id = env["CREDENTIAL_CONFIGURATION_ID"]
Initialize with optional environment mapping.
Args: env: Environment variable mapping. Defaults to os.environ.