Files
ntbops-ansible/roles/base/tasks/main.yml
T

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]