Files
computer-playbook/scripts/system
kevinveenbirkenbachandClaude Opus 5 87beaced7b fix(deploy): link the pinned Python interpreter before facts need it
group_vars/all/00_general.yml pins ansible_python_interpreter to
/usr/local/bin/python3 for every host. Fact gathering is the first module
run, so nothing inside the play can create that path, and a managed server
that does not already carry it dies at 'Gathering Facts' with rc 127.

The published deploy recipe addresses exactly such a server:
ghcr.io/kevinveenbirkenbach/base-debian:latest carries /usr/bin/python3 and
no /usr/local/bin/python3, so a reader following the documented instructions
on a fresh Debian hits the same wall. The web-app-docs instruction replay is
what surfaced it, across four jobs of run 39040406916.

A pre_task links the discovered python3 into place through
ansible.builtin.script, which needs no interpreter on the target, and the
play then gathers facts explicitly. Dropping the pin instead would change
which interpreter every module runs under on every existing host.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-10-17 19:33:18 +02:00
..
…
…

System Scripts

This directory holds system-facing helpers grouped by area. Use the README in each child directory as the canonical entry point for that area. For the canonical Make target index that invokes these helpers, see make.md.

Areas

  • apparmor/ for AppArmor maintenance helpers
  • network/ for DNS and IPv6 helpers
  • purge/ for host and repository cleanup helpers
  • systemd/ for WSL2 systemd helpers
  • tls/ for CA trust helpers