bob/roles/system/tasks/main.yaml

80 lines
1.6 KiB
YAML

---
- name: Ensure aptitude installed
ansible.builtin.apt:
name: "aptitude"
state: present
tags:
- apt
become: true
- name: Ensure OS upgraded
ansible.builtin.apt:
upgrade: dist
tags:
- apt
- update
- os
become: true
- name: Check if reboot is necessary
register: reboot_required_file
ansible.builtin.stat:
path: /var/run/reboot-required
get_checksum: false
tags:
- os
- reboot
notify: Reboot host
- name: All system packages updated
ansible.builtin.apt:
name: "*"
state: latest # noqa package-latest
tags:
- apt
- update
- packages
become: true
- name: Set correct timezone
community.general.timezone:
name: "{{ system_timezone }}"
when: "system_timezone"
tags:
- timezone
become: true
- name: Create necessary groups
ansible.builtin.group:
name: "{{ item }}"
state: present
loop: "{{ system_users | map(attribute='groups') | flatten | unique }}"
when: "system_users"
tags:
- groups
become: true
- name: Set up system users
ansible.builtin.user:
name: "{{ item.name }}"
groups: "{{ item.groups }}"
append: "{{ item.append | default(true) }}"
create_home: "{{ item.create_home | default(false) }}"
shell: "{{ item.shell | default('/bin/bash') }}"
loop: "{{ system_users }}"
when: "system_users"
tags:
- users
- groups
become: true
- name: Add authorized SSH keys
ansible.posix.authorized_key:
user: "{{ item.name }}"
state: present
key: "{{ item.authorized_keys }}"
loop: "{{ system_users }}"
when: system_users is defined and item.authorized_keys is defined
tags:
- ssh
become: true