17 lines
667 B
Python
17 lines
667 B
Python
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 |