fix: delete keydb

This commit is contained in:
2026-05-12 00:03:51 +03:00
parent ce61829ea2
commit 35f09a0fbd
15 changed files with 16 additions and 449 deletions

View File

@@ -9,10 +9,10 @@ from src.infrastructure.vault import VaultClient
class Settings(BaseSettings):
model_config = SettingsConfigDict(env_file='.env',extra='ignore')
_vault_beorg_secrets: dict[str,Any] = PrivateAttr(default_factory=dict)
_vault_database_secrets: dict[str,Any] = PrivateAttr(default_factory=dict)
DOCS_USERNAME: str = 'admin'
DOCS_PASSWORD: str = 'admin'
KEYDB_URL: str = 'redis://localhost:6379/0'
VAULT_ADDR: str = 'https://corp.vault.elcsa.ru'
VAULT_ROLE_ID: str = ''
VAULT_SECRET_ID: str = ''
@@ -30,7 +30,6 @@ class Settings(BaseSettings):
JWT_ALGORITHM: str = 'RS256'
JWT_AUDIENCE: str | None = None
JWT_ISSUER: str | None = None
DATABASE_URL: str = 'postgresql+asyncpg://postgres:postgres@localhost:5432/kyc'
DATABASE_POOL_SIZE: int = 5
DATABASE_MAX_OVERFLOW: int = 10
DATABASE_POOL_TIMEOUT: int = 30
@@ -66,6 +65,11 @@ class Settings(BaseSettings):
])
@property
def DATABASE_URL(self) -> str:
return self._get_vault_secret(self._vault_database_secrets,'DATABASE_URL','database_url')
@property
def BEORG_PROJECT_ID(self) -> str:
return self._get_beorg_secret('project_id','BEORG_PROJECT_ID')
@@ -82,8 +86,12 @@ class Settings(BaseSettings):
def _get_beorg_secret(self,*keys: str) -> str:
return self._get_vault_secret(self._vault_beorg_secrets,*keys)
def _get_vault_secret(self,secrets: dict[str,Any],*keys: str) -> str:
for key in keys:
value = self._vault_beorg_secrets.get(key)
value = secrets.get(key)
if value is not None:
return str(value)
return ''
@@ -101,6 +109,7 @@ class Settings(BaseSettings):
mount_point=self.VAULT_MOUNT_POINT,
)
object.__setattr__(self,'_vault_beorg_secrets',client.read_many(self.VAULT_BEORG_SECRET_PATH))
object.__setattr__(self,'_vault_database_secrets',client.read_many(self.VAULT_DATABASE_SECRET_PATH))
secrets = client.read_many(
self.VAULT_BEORG_SECRET_PATH,
self.VAULT_DATABASE_SECRET_PATH,
@@ -108,7 +117,7 @@ class Settings(BaseSettings):
self.VAULT_DOCS_SECRET_PATH,
)
for field in type(self).model_fields:
if field.startswith('VAULT_') or field == 'KEYDB_URL':
if field.startswith('VAULT_'):
continue
value = secrets.get(field,secrets.get(field.lower()))
if value is None: