Source code for repository_service_tuf_worker

# SPDX-FileCopyrightText: 2023 Repository Service for TUF Contributors
# SPDX-FileCopyrightText: 2022-2023 VMware Inc
#
# SPDX-License-Identifier: MIT

import os

from dynaconf import Dynaconf

DATA_DIR = os.getenv("DATA_DIR", "/data")
os.makedirs(DATA_DIR, exist_ok=True)


[docs] def parse_if_secret(env_var: str) -> str: if env_var.startswith("/run/secrets/"): # The user has stored their variable using container secrets. with open(env_var) as f: content = f.read().rstrip("\n") else: content = env_var return content
[docs] def get_worker_settings() -> Dynaconf: SETTINGS_FILE = os.path.join(DATA_DIR, "settings.ini") return Dynaconf( settings_files=[SETTINGS_FILE], envvar_prefix="RSTUF", )
[docs] def get_repository_settings() -> Dynaconf: worker_settings = get_worker_settings() return Dynaconf( redis_enabled=True, redis={ "host": worker_settings.REDIS_SERVER.split("redis://")[1], "port": worker_settings.get("REDIS_SERVER_PORT", 6379), "db": worker_settings.get("REDIS_SERVER_DB_REPO_SETTINGS", 1), "decode_responses": True, }, )