Moves the local ansible runtime from a global `uv tool install ansible-core`
(which required remembering `--with kubernetes --with jmespath --with dnspython`)
to a project-managed venv described by `pyproject.toml` + `uv.lock`. Fixes the
"Failed to import the required Python library (kubernetes)" error on localhost.
The localhost inventory entry now derives `ansible_python_interpreter` from
`{{ ansible_playbook_python }}`, so `uv run ansible-playbook` is enough — no
more hardcoded user-specific paths.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
59 lines
1.2 KiB
YAML
59 lines
1.2 KiB
YAML
raspberries:
|
|
hosts:
|
|
pi1:
|
|
ansible_host: pi1.home # setup http://192.168.1.1/ Réseau/DNS
|
|
preferred_ip: 192.168.1.201
|
|
ansible_ssh_extra_args: '-o StrictHostKeyChecking=no'
|
|
pi2:
|
|
ansible_host: pi2.home
|
|
preferred_ip: 192.168.1.202
|
|
ansible_ssh_extra_args: '-o StrictHostKeyChecking=no'
|
|
pi3:
|
|
ansible_host: pi3.home
|
|
preferred_ip: 192.168.1.203
|
|
ansible_ssh_extra_args: '-o StrictHostKeyChecking=no'
|
|
|
|
internetPi1:
|
|
ansible_host: rg-evry.changeip.co # arcodange.duckdns.org is dependent on duckdns registrty update while changeip is managed with the firewall
|
|
ansible_port: 51022
|
|
internetPi2:
|
|
ansible_host: rg-evry.changeip.co
|
|
ansible_port: 52022
|
|
internetPi3:
|
|
ansible_host: rg-evry.changeip.co
|
|
ansible_port: 53022
|
|
|
|
vars:
|
|
ansible_user: pi
|
|
|
|
local:
|
|
hosts:
|
|
localhost:
|
|
ansible_connection: local
|
|
ansible_python_interpreter: "{{ ansible_playbook_python }}"
|
|
pi1:
|
|
pi2:
|
|
pi3:
|
|
|
|
postgres:
|
|
hosts:
|
|
pi2:
|
|
|
|
gitea:
|
|
children:
|
|
postgres:
|
|
|
|
pihole:
|
|
hosts:
|
|
pi1:
|
|
pi3:
|
|
|
|
step_ca:
|
|
hosts:
|
|
pi1:
|
|
pi2:
|
|
pi3:
|
|
|
|
all:
|
|
children:
|
|
raspberries: |