76 lines
1.5 KiB
YAML
76 lines
1.5 KiB
YAML
---
|
|
- name: Set hostname
|
|
ansible.builtin.hostname:
|
|
name: "{{ common_hostname }}"
|
|
tags: [common, hostname]
|
|
|
|
- name: Set timezone
|
|
community.general.timezone:
|
|
name: "{{ common_timezone }}"
|
|
tags: [common, timezone]
|
|
|
|
- name: Update apt cache
|
|
ansible.builtin.apt:
|
|
update_cache: true
|
|
cache_valid_time: 3600
|
|
tags: [common, packages]
|
|
|
|
- name: Install common packages
|
|
ansible.builtin.apt:
|
|
name: "{{ common_packages }}"
|
|
state: present
|
|
tags: [common, packages]
|
|
|
|
- name: Upgrade all packages
|
|
ansible.builtin.apt:
|
|
upgrade: safe
|
|
tags: [common, packages, upgrade]
|
|
when: apt_upgrade | default(false) | bool
|
|
|
|
- name: Configure SSH daemon
|
|
ansible.builtin.template:
|
|
src: sshd_config.j2
|
|
dest: /etc/ssh/sshd_config
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
validate: "sshd -t -f %s"
|
|
notify: Restart sshd
|
|
tags: [common, ssh]
|
|
|
|
- name: Ensure SSH is running
|
|
ansible.builtin.systemd:
|
|
name: ssh
|
|
state: started
|
|
enabled: true
|
|
tags: [common, ssh]
|
|
|
|
- name: Configure fail2ban
|
|
ansible.builtin.systemd:
|
|
name: fail2ban
|
|
state: started
|
|
enabled: true
|
|
ignore_errors: "{{ ansible_check_mode }}"
|
|
tags: [common, security]
|
|
|
|
- name: Set vm.swappiness
|
|
ansible.posix.sysctl:
|
|
name: vm.swappiness
|
|
value: "10"
|
|
state: present
|
|
reload: true
|
|
tags: [common, sysctl]
|
|
|
|
- name: Configure NTP
|
|
ansible.builtin.apt:
|
|
name: chrony
|
|
state: present
|
|
tags: [common, ntp]
|
|
|
|
- name: Start chrony
|
|
ansible.builtin.systemd:
|
|
name: chrony
|
|
state: started
|
|
enabled: true
|
|
tags: [common, ntp]
|