--- # tasks file for service - name: include assert.yml import_tasks: assert.yml run_once: yes delegate_to: localhost - name: install required packages ansible.builtin.package: name: "{{ service_required_packages }}" state: present notify: - gather facts - name: configure systemd service ansible.builtin.template: src: "systemd.j2" dest: "/etc/systemd/system/{{ item.name }}.service" mode: "0644" when: - ansible_service_mgr == "systemd" notify: - systemctl daemon-reload loop: "{{ service_list }}" loop_control: label: "{{ item.name }}" - name: configure sysvinit service ansible.builtin.template: src: "sysvinit.j2" dest: "/etc/init.d/{{ item.name }}" mode: "0755" when: - ansible_service_mgr in [ "sysvinit", "upstart", "openrc" ] loop: "{{ service_list }}" loop_control: label: "{{ item.name }}" - name: manage service ansible.builtin.service: name: "{{ item.name }}" state: "{{ item.state | default(omit) }}" enabled: "{{ item.enabled | default(omit) }}" loop: "{{ service_list }}" loop_control: label: "{{ item.name }}" when: - item.state is defined or item.enabled is defined - name: flush handlers ansible.builtin.meta: flush_handlers