infra/ansible/bootstrap.yml
2025-08-14 08:03:14 -05:00

54 lines
1.4 KiB
YAML

---
- name: Bootstrap new host - Setup sudo
hosts: all
tags: bootstrap
remote_user: graham
gather_facts: no
vars:
ansible_user: graham
tasks:
- name: Install sudo package first (if needed)
raw: "which sudo || (apt-get update && apt-get install -y sudo) || (yum install -y sudo)"
become: yes
become_method: su
become_user: root
- name: Configure sudo for graham user
raw: "echo 'graham ALL=NOPASSWD: ALL' | tee /etc/sudoers.d/graham && chmod 0440 /etc/sudoers.d/graham"
become: yes
become_method: su
become_user: root
- name: Test sudo access
raw: "sudo whoami"
register: sudo_test
changed_when: false
- name: Show sudo test result
debug:
msg: "Sudo test result: {{ sudo_test.stdout }}"
- name: Install Python if needed
raw: "which python3 || sudo apt-get update && sudo apt-get install -y python3 python3-apt"
changed_when: false
- name: Find Python interpreter
raw: "which python3 || which python"
register: python_path
changed_when: false
- name: Show Python path
debug:
msg: "Python path: {{ python_path.stdout }}"
- name: Bootstrap new host - Base configuration
hosts: all
tags: bootstrap
remote_user: graham
become: yes
become_method: sudo
vars:
ansible_user: graham
ansible_python_interpreter: /usr/bin/python3
roles:
- base