Files
system_update/templates/apt/apt-proxy-persistent.sh.tpl
T
gilles bafb085995 feat(os): profils Proxmox/RPi + machine_probe + proxy persistent (tâche 2 SJ-7)
- templates proxmox/ (update-analyze: dépôts PVE ; full-upgrade) et raspbian/
  (update-analyze: espace disque ; full-upgrade)
- execute résout les actions APT par profil OS (resolveTemplate) → proxmox/
  raspbian si dispo, sinon fallback apt/ (non-régression debian/ubuntu vérifiée)
- machine_probe (lecture seule) : template + parseProbe/proposeCorrections (TDD)
  → propose os_family/machine_kind/virtualization, persiste machine_hardware,
  n'applique jamais auto ; branche execute + allowlist route
- apt_proxy_persistent : ActionType + template idempotent (/etc/apt/apt.conf.d/
  01proxy, backup) + TemplateVars.aptProxyUrl + allowlist route

tsc 0 · 95 tests · build OK · résolution OS vérifiée.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-06 07:14:43 +02:00

23 lines
830 B
Smarty

#!/bin/sh
# Proxy APT persistant : écrit /etc/apt/apt.conf.d/01proxy (idempotent, sauvegarde l'existant).
# Action explicite (écriture disque). aptProxyUrl est fourni par le backend (jamais un secret).
export LC_ALL=C
CONF=/etc/apt/apt.conf.d/01proxy
echo "===SU:PROXY_BEFORE==="
[ -f "$CONF" ] && cat "$CONF" || echo "ABSENT"
echo "===SU:PROXY_WRITE==="
{{#aptProxyUrl}}
# Sauvegarde horodatée si le fichier existe déjà.
[ -f "$CONF" ] && cp -a "$CONF" "${CONF}.bak.$(date +%Y%m%d%H%M%S)" && echo "BACKUP=1"
printf 'Acquire::http::Proxy "%s";\nAcquire::https::Proxy "%s";\n' "{{aptProxyUrl}}" "{{aptProxyUrl}}" > "$CONF"
CODE=$?
echo "WROTE=$CONF"
{{/aptProxyUrl}}
{{^aptProxyUrl}}
echo "NO_PROXY_URL"
CODE=2
{{/aptProxyUrl}}
echo "===SU:PROXY_AFTER==="
cat "$CONF" 2>/dev/null || echo "ABSENT"
echo "===SU:EXIT=${CODE}==="