fix: common role layout

This commit is contained in:
Simon Cornet 2026-01-24 19:02:34 +01:00
commit 019be435ef
3 changed files with 237 additions and 222 deletions

View file

@ -1,229 +1,22 @@
---
# execute this role
- name: "install and configure common items"
hosts: "all"
- name: "install and configure the Zabbix Agent"
serial: 2
hosts: "all"
become: true
# import handlers
handlers:
- import_tasks: "handlers/main.yaml"
# include tasks
tasks:
# load os variables
- name: "include os specific vars"
ansible.builtin.include_vars: "vars/{{ ansible_os_family }}.yaml"
tags: "always"
# due to semaphore bug we need to do this ourselves
- name: "force-update requirements"
ansible.builtin.command:
cmd: "ansible-galaxy install -f -r roles/requirements.yml"
become: false
delegate_to: "localhost"
changed_when: false
failed_when: false
# set hostname
- name: "set hostname"
ansible.builtin.import_tasks: "tasks/hostname.yaml"
when: "ansible_os_family == 'Debian'"
tags: "hostname"
# set locale
- name: "set locale"
ansible.builtin.import_tasks: "tasks/locale.yaml"
when: "ansible_os_family == 'Debian'"
tags: "locale"
# environment
- name: "environment"
ansible.builtin.import_tasks: "tasks/environment.yaml"
tags: "environment-file"
# motd
- name: "motd"
ansible.builtin.import_tasks: "tasks/motd.yaml"
tags: "motd"
# cron jobs
- name: "cron jobs"
ansible.builtin.import_tasks: "tasks/cron.yaml"
tags: "cron"
# swap
- name: "swap"
ansible.builtin.import_tasks: "tasks/swap.yaml"
when:
- 'type == "vm"'
- "ansible_os_family =='Debian'"
tags: "swap"
# manage fstab
- name: "manage fstab"
ansible.builtin.import_tasks: "tasks/fstab.yaml"
tags: "fstab"
# apk
- name: "apk"
ansible.builtin.import_tasks: "tasks/apk/packages.yaml"
when: 'ansible_os_family == "Alpine"'
tags: "apk"
# apt
- name: "apt"
ansible.builtin.import_tasks: "tasks/apt/sources.yaml"
when: "ansible_os_family == 'Debian'"
tags: "apt"
# flush handler
- name: "flush handlers"
ansible.builtin.meta: "flush_handlers"
- name: "apt - update"
ansible.builtin.import_tasks: "tasks/apt/update.yaml"
when: "ansible_os_family == 'Debian'"
tags: "apt-update"
- name: "apt - packages"
ansible.builtin.import_tasks: "tasks/apt/packages.yaml"
when: "ansible_os_family == 'Debian'"
tags: "apt"
- name: "apt - config"
ansible.builtin.import_tasks: "tasks/apt/config.yaml"
when: "ansible_os_family == 'Debian'"
tags: "apt"
- name: "apt - cleanup"
ansible.builtin.import_tasks: "tasks/apt/cleanup.yaml"
when: "ansible_os_family == 'Debian'"
tags: "apt-cleanup"
# manage profile
- name: "manage profile"
ansible.builtin.import_tasks: "tasks/profile.yaml"
tags: "profile"
# telemetry
- name: "telemetry"
ansible.builtin.import_tasks: "tasks/telemetry.yaml"
when: "ansible_os_family == 'Debian'"
tags: "telemetry"
# service
- name: "service"
ansible.builtin.include_tasks: "tasks/service.yaml"
loop: "{{ service }}"
loop_control:
loop_var: "__service"
when:
- "service is defined"
- "ansible_os_family == 'Debian'"
# flush handler
- name: "flush handlers"
ansible.builtin.meta: "flush_handlers"
# chrony
- name: "ntp"
ansible.builtin.import_tasks: "tasks/ntp.yaml"
when: 'type == "vm" or type == "hw"'
tags: "ntp"
# flush handler
- name: "flush handlers"
ansible.builtin.meta: "flush_handlers"
# snap
- name: "snap - daemon"
ansible.builtin.import_tasks: "tasks/snap/snap_daemon.yaml"
when: "ansible_os_family == 'Debian'"
tags: "snap"
- name: "snap - package"
ansible.builtin.import_tasks: "tasks/snap/snap_package.yaml"
when:
- "snap_package is defined"
- "ansible_os_family == 'Debian'"
tags: "snap"
# lxd
- name: "lxd"
ansible.builtin.import_tasks: "tasks/lxd.yaml"
when:
- 'type == "vm"'
- "ansible_os_family == 'Debian'"
tags: "lxd"
# flush handler
- name: "flush handlers"
ansible.builtin.meta: "flush_handlers"
# sysctl
- name: "sysctl - set sysctl"
ansible.builtin.include_tasks: "tasks/sysctl.yaml"
loop: "{{ sysctl }}"
loop_control:
loop_var: "__sysctl"
when: 'type == "vm" or type == "hw"'
tags: "sysctl"
# systemctl
- name: "sysctl - set systemctl"
ansible.builtin.include_tasks: "tasks/systemctl.yaml"
loop: "{{ systemctl }}"
loop_control:
loop_var: "__systemctl"
when:
- 'type == "vm"'
- "ansible_os_family == 'Debian'"
tags: "systemctl"
# syslog
- name: "syslog - install"
ansible.builtin.import_tasks: "tasks/syslog/install.yaml"
when: "syslog_enable"
tags: "syslog"
- name: "syslog - config"
ansible.builtin.import_tasks: "tasks/syslog/config.yaml"
when: "syslog_enable"
tags: "syslog"
# flush handler
- name: "flush handlers"
ansible.builtin.meta: "flush_handlers"
# journald
- name: "journald"
ansible.builtin.import_tasks: "tasks/journald.yaml"
when: "ansible_os_family == 'Debian'"
tags: "journald"
# flush handler
- name: "flush handlers"
ansible.builtin.meta: "flush_handlers"
# timezone
- name: "timezone"
ansible.builtin.import_tasks: "tasks/timezone.yaml"
tags: "timezone"
# sshd
- name: "sshd"
ansible.builtin.import_tasks: "tasks/sshd.yaml"
tags: "sshd"
# flush handler
- name: "flush handlers"
ansible.builtin.meta: "flush_handlers"
# user
- name: "user - create users"
ansible.builtin.include_tasks: "tasks/user.yaml"
tags: "usermanagement"
loop: "{{ users }}"
loop_control:
loop_var: "__user"
# firewall
- name: "firewall"
ansible.builtin.import_tasks: "tasks/firewall.yaml"
when: "ansible_os_family == 'Debian'"
tags: "firewall"
# execute the role
- name: "execute role: common"
ansible.builtin.include_role:
name: "common"