105 lines
2.3 KiB
YAML
105 lines
2.3 KiB
YAML
---
|
|
- name: Set hostname
|
|
ansible.builtin.hostname:
|
|
name: "{{ base_hostname }}"
|
|
tags: [base, hostname]
|
|
|
|
- name: Configure hosts file
|
|
ansible.builtin.template:
|
|
src: hosts.j2
|
|
dest: /etc/hosts
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
tags: [base, hostname]
|
|
|
|
- name: Install base packages
|
|
ansible.builtin.apt:
|
|
name: "{{ base_packages }}"
|
|
state: present
|
|
update_cache: true
|
|
cache_valid_time: 3600
|
|
tags: [base, packages]
|
|
|
|
- name: Configure locale
|
|
community.general.locale_gen:
|
|
name: "{{ base_locale }}"
|
|
state: present
|
|
tags: [base, locale]
|
|
|
|
- name: Set system locale
|
|
ansible.builtin.copy:
|
|
dest: /etc/default/locale
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
content: |
|
|
LANG={{ base_locale }}
|
|
LC_ALL={{ base_locale }}
|
|
tags: [base, locale]
|
|
|
|
- name: Configure timezone
|
|
community.general.timezone:
|
|
name: "{{ base_timezone }}"
|
|
notify: restart chrony
|
|
tags: [base, timezone]
|
|
|
|
- name: Ensure standard directories exist
|
|
ansible.builtin.file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
owner: root
|
|
group: root
|
|
mode: "{{ '0700' if item.endswith('/private') else '0755' }}"
|
|
loop: "{{ base_standard_directories }}"
|
|
tags: [base, directories]
|
|
|
|
- name: Configure persistent journald storage
|
|
ansible.builtin.copy:
|
|
dest: /etc/systemd/journald.conf.d/10-nbops.conf
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
content: |
|
|
[Journal]
|
|
Storage=persistent
|
|
Compress=yes
|
|
SystemMaxUse=1G
|
|
notify: restart systemd-journald
|
|
tags: [base, journald]
|
|
|
|
- name: Configure sysctl
|
|
ansible.posix.sysctl:
|
|
name: "{{ item.key }}"
|
|
value: "{{ item.value }}"
|
|
state: present
|
|
reload: true
|
|
loop: "{{ base_sysctl | dict2items }}"
|
|
tags: [base, sysctl]
|
|
|
|
- name: Configure shell aliases
|
|
ansible.builtin.template:
|
|
src: nbops-aliases.sh.j2
|
|
dest: /etc/profile.d/nbops-aliases.sh
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
tags: [base, shell]
|
|
|
|
- name: Enable base services
|
|
ansible.builtin.service:
|
|
name: "{{ item }}"
|
|
enabled: true
|
|
state: started
|
|
loop:
|
|
- chrony
|
|
- qemu-guest-agent
|
|
tags: [base, services]
|
|
|
|
- name: Refresh CA certificate trust
|
|
ansible.builtin.command:
|
|
cmd: update-ca-certificates
|
|
changed_when: false
|
|
tags: [base, pki]
|
|
|