70 lines
1.5 KiB
YAML
70 lines
1.5 KiB
YAML
- name: Ensure apt cache is updated
|
|
ansible.builtin.apt:
|
|
update_cache: yes
|
|
cache_valid_time: 3600
|
|
become: true
|
|
no_log: true
|
|
when: ansible_os_family == "Debian"
|
|
|
|
- name: Install git
|
|
ansible.builtin.apt:
|
|
name: git
|
|
state: present
|
|
become: true
|
|
no_log: true
|
|
when: ansible_os_family == "Debian"
|
|
|
|
- name: Install Python pip (needed for ansible via pip)
|
|
ansible.builtin.apt:
|
|
name: python3-pip
|
|
state: present
|
|
become: true
|
|
no_log: true
|
|
when: ansible_os_family == "Debian"
|
|
|
|
- name: Create jarvis user with UID 1000
|
|
ansible.builtin.user:
|
|
name: jarvis
|
|
uid: 1000
|
|
shell: /bin/bash
|
|
create_home: true
|
|
groups: sudo
|
|
append: true
|
|
become: true
|
|
|
|
- name: Ensure jarvis .ssh directory exists
|
|
ansible.builtin.file:
|
|
path: /home/jarvis/.ssh
|
|
state: directory
|
|
owner: jarvis
|
|
group: jarvis
|
|
mode: "0700"
|
|
become: true
|
|
|
|
- name: Copy root authorized_keys to jarvis
|
|
ansible.builtin.copy:
|
|
src: /root/.ssh/authorized_keys
|
|
dest: /home/jarvis/.ssh/authorized_keys
|
|
owner: jarvis
|
|
group: jarvis
|
|
mode: "0600"
|
|
remote_src: true
|
|
become: true
|
|
|
|
- name: Ensure jarvis has passwordless sudo
|
|
ansible.builtin.lineinfile:
|
|
path: /etc/sudoers.d/jarvis
|
|
line: "jarvis ALL=(ALL) NOPASSWD:ALL"
|
|
create: true
|
|
mode: "0440"
|
|
validate: "visudo -cf %s"
|
|
become: true
|
|
|
|
- name: Install ansible via pip as jarvis
|
|
ansible.builtin.pip:
|
|
name: ansible
|
|
state: present
|
|
break_system_packages: true
|
|
become: true
|
|
no_log: true
|