Coverage for arclith / adapters / output / env / secret_adapter.py: 100%
7 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-03-25 15:02 +0100
« prev ^ index » next coverage.py v7.13.5, created at 2026-03-25 15:02 +0100
1from __future__ import annotations
3import os
5from arclith.domain.ports.secret_resolver import SecretResolver
8class EnvSecretAdapter(SecretResolver):
9 """Reads secrets from environment variables.
11 The env var name is derived from field_path:
12 "adapters.mongodb.uri" → ADAPTERS_MONGODB_URI
14 Useful for CI/CD pipelines and Docker deployments where env vars are injected.
15 """
17 def get(self, field_path: str, secret_key: str) -> str | None:
18 env_key = field_path.replace(".", "_").upper()
19 return os.environ.get(env_key) or None