from infisical_sdk import InfisicalSDKClient from signing_service.domain.ports.secret_manager import SecretManagerPort class InfisicalSecretManager(SecretManagerPort): def __init__(self, token: str, project_id: str, environment: str): self._client = InfisicalSDKClient(token=token) self._project_id = project_id self._environment = environment def get_secret(self, name: str) -> str: secret = self._client.secrets.get_secret_by_name( secret_name=name, project_id=self._project_id, environment_slug=self._environment, secret_path="/" ) return secret.secret_value