Files
computer-playbook/utils/paths.py
T
kevinveenbirkenbachandClaude Opus 4.8 cf765ee00c refactor: single /var/lib SPOT + swarm Playwright artifact upload
SPOT: declare the var-lib base once in default.env as INFINITO_DIR_VAR_LIB; the env build derives INFINITO_PLAYWRIGHT_REPORTS_BASE_DIR from it; reference it everywhere (utils/paths.py, scripts via ${...:?}, tests, the dev inventory's DIR_VAR_LIB injection) instead of hardcoding the literal. group_vars keeps the literal default; the env-lookup lives in the dev inventory per the no-ansible-env-lookups lint rule. pull_specific_host.py --folder is now required and the role passes {{ DIR_BACKUPS }}.

Swarm e2e: collect_playwright_reports.sh docker-cp's the reports off the manager plus a workflow upload step, so swarm Playwright traces reach CI artifacts (was compose-only).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 17:01:09 +02:00

16 lines
571 B
Python

"""Filesystem SPOT for the Python side, mirroring group_vars/all/05_paths.yml.
Reads the ``INFINITO_DIR_VAR_LIB`` env SPOT (default.env / the env build).
The env layer (scripts/meta/env/load.sh, sourced via BASH_ENV by every Make
recipe and by deploys) always provides it, so there is no literal fallback."""
from __future__ import annotations
import os
from pathlib import Path
DIR_VAR_LIB = Path(os.environ["INFINITO_DIR_VAR_LIB"])
DIR_SECRETS = DIR_VAR_LIB / "secrets"
FILE_TOKENS = DIR_SECRETS / "tokens.yml"
FILE_DATABASE_SECRETS = DIR_SECRETS / "databases.csv"