--- # skip this role if inventory_hostname is member of the proxmox group - name: "skip if proxmox node" ansible.builtin.meta: "end_host" when: "inventory_hostname in groups['proxmox']" tags: "always" # load os variables - name: "include os specific vars" ansible.builtin.include_vars: "vars/{{ ansible_os_family }}.yaml" tags: "always" # set hostname - name: "set hostname" ansible.builtin.import_tasks: "hostname.yaml" when: "ansible_os_family == 'Debian'" tags: "hostname" # set locale - name: "set locale" ansible.builtin.import_tasks: "locale.yaml" when: "ansible_os_family == 'Debian'" tags: "locale" # environment - name: "environment" ansible.builtin.import_tasks: "environment.yaml" tags: "environment-file" # motd - name: "motd" ansible.builtin.import_tasks: "motd.yaml" tags: "motd" # cron jobs - name: "cron jobs" ansible.builtin.import_tasks: "cron.yaml" tags: "cron" # swap - name: "swap" ansible.builtin.import_tasks: "swap.yaml" when: - "ansible_os_family =='Debian'" - "ansible_virtualization_type == 'kvm'" tags: "swap" # manage fstab - name: "manage fstab" ansible.builtin.import_tasks: "fstab.yaml" tags: "fstab" # apk - name: "apk" ansible.builtin.import_tasks: "apk/packages.yaml" when: 'ansible_os_family == "Alpine"' tags: "apk" # apt - name: "apt" ansible.builtin.import_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: "apt/update.yaml" when: "ansible_os_family == 'Debian'" tags: "apt-update" - name: "apt - packages" ansible.builtin.import_tasks: "apt/packages.yaml" when: "ansible_os_family == 'Debian'" tags: "apt" - name: "apt - config" ansible.builtin.import_tasks: "apt/config.yaml" when: "ansible_os_family == 'Debian'" tags: "apt" - name: "apt - cleanup" ansible.builtin.import_tasks: "apt/cleanup.yaml" when: "ansible_os_family == 'Debian'" tags: "apt-cleanup" # manage profile - name: "manage profile" ansible.builtin.import_tasks: "profile.yaml" tags: "profile" # telemetry - name: "telemetry" ansible.builtin.import_tasks: "telemetry.yaml" when: "ansible_os_family == 'Debian'" tags: "telemetry" # service - name: "service" ansible.builtin.include_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: "ntp.yaml" when: "ansible_virtualization_type in ['kvm', 'none']" tags: "ntp" # flush handler - name: "flush handlers" ansible.builtin.meta: "flush_handlers" # snap - name: "snap - daemon" ansible.builtin.import_tasks: "snap/snap_daemon.yaml" when: "ansible_os_family == 'Debian'" tags: "snap" - name: "snap - package" ansible.builtin.import_tasks: "snap/snap_package.yaml" when: - "snap_package is defined" - "ansible_os_family == 'Debian'" tags: "snap" # lxd - name: "lxd" ansible.builtin.import_tasks: "lxd.yaml" when: - "ansible_os_family =='Debian'" - "ansible_virtualization_type == 'kvm'" tags: "lxd" # flush handler - name: "flush handlers" ansible.builtin.meta: "flush_handlers" # sysctl - name: "sysctl - set sysctl" ansible.builtin.import_tasks: "sysctl.yaml" when: "ansible_virtualization_type in ['kvm', 'none']" tags: "sysctl" # systemctl - name: "sysctl - set systemctl" ansible.builtin.include_tasks: "systemctl.yaml" loop: "{{ systemctl }}" loop_control: loop_var: "__systemctl" when: - "ansible_os_family =='Debian'" - "ansible_virtualization_type == 'kvm'" tags: "systemctl" # syslog - name: "syslog - install" ansible.builtin.import_tasks: "syslog/install.yaml" tags: "syslog" - name: "syslog - config" ansible.builtin.import_tasks: "syslog/config.yaml" tags: "syslog" # flush handler - name: "flush handlers" ansible.builtin.meta: "flush_handlers" # journald - name: "journald" ansible.builtin.import_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: "timezone.yaml" tags: "timezone" # sshd - name: "sshd" ansible.builtin.import_tasks: "sshd.yaml" tags: "sshd" # flush handler - name: "flush handlers" ansible.builtin.meta: "flush_handlers" # user - name: "user - create users" ansible.builtin.include_tasks: "user.yaml" loop: "{{ users }}" loop_control: loop_var: "__user" tags: "usermanagement" # firewall - name: "firewall" ansible.builtin.import_tasks: "firewall.yaml" when: "ansible_os_family == 'Debian'" tags: "firewall"