fix(ansible): workstations group vars — become_ask_pass + no pipelining

Personal Macs require a sudo password; the global become_ask_pass=False
and pipelining=True combination silently swallows the prompt and fails.

- ansible_become_ask_pass: true  → Ansible prompts for sudo password
- ansible_pipelining: false      → sudo can read stdin for the password;
                                   pipelining replaces stdin with a pipe
                                   which sudo treats as non-interactive and
                                   refuses to ask for a password at all.

Applies to [workstations] group (mac + linux). Has no effect on
[workstations_windows] (WinRM auth is separate from become).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
chrisfu 2026-05-27 21:10:26 -07:00
parent 9571f42568
commit d945d88b5d

View File

@ -0,0 +1,13 @@
# Workstation-specific Ansible connection overrides.
#
# Servers (k3s nodes, VMs) run passwordless sudo and have pipelining=True
# in ansible.cfg for performance. Personal Macs/Linux workstations:
# 1. Require a sudo password (become_ask_pass: true)
# 2. Cannot use SSH pipelining with password-based sudo — pipelining
# replaces stdin with a pipe, which sudo interprets as a non-interactive
# session and refuses to prompt for a password.
#
# ansible_become_ask_pass applies to macOS/Linux (ssh + local connections).
# It is silently ignored for Windows WinRM targets in workstations_windows.
ansible_become_ask_pass: true
ansible_pipelining: false