54 lines
1.4 KiB
YAML
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
|