# Compose-Stack im LXC infra (Task 5.2). Repo-Auszug und Zustand liegen getrennt: # infra_repo_dir Kopie der nötigen Repo-Teile von ops (wird bei jedem Lauf abgeglichen, --delete) # infra_state_dir .env (0600, Geheimnisse), secrets/, file_sd/ – nie im Repo, nie überschrieben infra_repo_src: "{{ playbook_dir }}/../../../.." infra_repo_dir: /opt/knaster/repo infra_state_dir: /opt/knaster/infra infra_compose_project: knaster-infra infra_compose_file: "{{ infra_repo_dir }}/deploy/compose/infra/docker-compose.yml" # Einstellungen in .env (keine Geheimnisse). Änderungen hier, nicht im Container. infra_settings: KNASTER_VERSION: dev KNASTER_SITE: "{{ knaster_site }}" KNASTER_STATE_DIR: "{{ infra_state_dir }}" KNASTER_DRY_RUN: "true" # Global Constraint: erst nach einer Woche Beobachtung einzeln freischalten KNASTER_CANARY_INTERVAL: "60" # D4: LiteLLM mit PSE auf appsrv08. TODO (Nutzer, Task 6.3): Port ist dort noch nicht im LAN veröffentlicht. LITELLM_BASE_URL: http://192.168.100.29:4000 # Geheimnisse: werden im Container einmalig mit `openssl rand -hex 24` erzeugt und danach nie geändert # (Postgres- und Grafana-Admin-Passwort wirken nur bei der Erstinitialisierung). infra_secrets: [POSTGRES_PASSWORD, KNASTER_API_TOKEN, GRAFANA_ADMIN_PASSWORD, GRAFANA_KIOSK_PASSWORD] # Lese-Token monitoring@pve!prom (PVEAuditor) auf ops infra_pve_exporter_env: /root/.config/knaster/pve-exporter.env # file_sd: auf ops aus `tofu output -json gpu_vms` erzeugt (nicht im Repo) infra_tofu_dir: "{{ playbook_dir }}/../../tofu" infra_targets_dir: "{{ playbook_dir }}/../monitoring-targets.generated"