diff --git a/playbook.yaml b/playbook.yaml index b485931..9d23231 100644 --- a/playbook.yaml +++ b/playbook.yaml @@ -16,7 +16,219 @@ changed_when: false failed_when: false - # execute the role - - name: "execute role: common" - ansible.builtin.include_role: - name: "common" + # load os variables + - name: "include os specific vars" + ansible.builtin.include_vars: "{{ ansible_os_family }}.yaml" + tags: "always" + + # 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"' + - "ansible_os_family == 'Debian'" + 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" diff --git a/roles/requirements.yml b/roles/requirements.yml deleted file mode 100644 index 2055ad1..0000000 --- a/roles/requirements.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- - -roles: - - name: "common" - src: "https://gitlab.simoncor.net/ansible/ans-common.git" - scm: "git" diff --git a/tasks/main.yaml b/tasks/main.yaml deleted file mode 100644 index 9240864..0000000 --- a/tasks/main.yaml +++ /dev/null @@ -1,218 +0,0 @@ ---- - -# load os variables -- name: "include os specific vars" - ansible.builtin.include_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: - - 'type == "vm"' - - "ansible_os_family =='Debian'" - 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: - - 'type == "vm" or type == "hw"' - - "ansible_os_family == 'Debian'" - 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: - - '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: "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: "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: "syslog/install.yaml" - when: "syslog_enable" - tags: "syslog" - -- name: "syslog - config" - ansible.builtin.import_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: "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" - tags: "usermanagement" - loop: "{{ users }}" - loop_control: - loop_var: "__user" - -# firewall -- name: "firewall" - ansible.builtin.import_tasks: "firewall.yaml" - when: "ansible_os_family == 'Debian'" - tags: "firewall"