done fix
This commit is contained in:
@@ -13,6 +13,16 @@ def _csv(value: str | None, fallback: list[str]) -> list[str]:
|
||||
return [item.strip() for item in value.split(",") if item.strip()]
|
||||
|
||||
|
||||
def _csv_with_defaults(value: str | None, defaults: list[str]) -> list[str]:
|
||||
items = _csv(value, [])
|
||||
seen = set(items)
|
||||
for item in defaults:
|
||||
if item not in seen:
|
||||
items.append(item)
|
||||
seen.add(item)
|
||||
return items
|
||||
|
||||
|
||||
def _default_allowed_download_hosts(base_url: str) -> list[str]:
|
||||
parsed = urlparse(base_url)
|
||||
if parsed.hostname:
|
||||
@@ -37,6 +47,7 @@ class Settings:
|
||||
allow_purge: bool
|
||||
allow_docker: bool
|
||||
allow_docker_compose: bool
|
||||
auto_install_docker: bool
|
||||
command_timeout_seconds: int
|
||||
|
||||
|
||||
@@ -63,9 +74,9 @@ def get_settings() -> Settings:
|
||||
os.getenv("ALLOWED_DOWNLOAD_HOSTS"),
|
||||
_default_allowed_download_hosts(robot_package_base_url),
|
||||
),
|
||||
allowed_docker_registries=_csv(
|
||||
allowed_docker_registries=_csv_with_defaults(
|
||||
os.getenv("ALLOWED_DOCKER_REGISTRIES"),
|
||||
["registry.robot.package"],
|
||||
["registry.robot.package", "docker.io"],
|
||||
),
|
||||
cache_dir=Path(os.getenv("CACHE_DIR", "/var/cache/local-installer-agent/packages")),
|
||||
app_dir=Path(os.getenv("APP_DIR", "/opt/robot-apps")),
|
||||
@@ -73,8 +84,9 @@ def get_settings() -> Settings:
|
||||
db_path=Path(os.getenv("DB_PATH", "/var/lib/local-installer-agent/agent.db")),
|
||||
allow_remove=_bool("ALLOW_REMOVE", True),
|
||||
allow_purge=_bool("ALLOW_PURGE", False),
|
||||
allow_docker=_bool("ALLOW_DOCKER", False),
|
||||
allow_docker=_bool("ALLOW_DOCKER", True),
|
||||
allow_docker_compose=_bool("ALLOW_DOCKER_COMPOSE", False),
|
||||
auto_install_docker=_bool("AUTO_INSTALL_DOCKER", True),
|
||||
command_timeout_seconds=int(os.getenv("COMMAND_TIMEOUT_SECONDS", "900")),
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user