--- # file: tasks/cloudinit.yml - name: cloudinit - install cloud-init packages when: hosts_cloudinit_enable|default(false) and ansible_os_family|lower != "alpine" package: name="cloud-init" state="present" become: yes - name: cloudinit - alpine - install cloud-init packages when: hosts_cloudinit_enable|default(false) and ansible_os_family|lower == "alpine" with_items: - { "name": "cloud-init", "state": "present" } - { "name": "cloud-init-openrc", "state": "present" } apk: name: "{{ item.name}}" state: "{{ item.state }}" repository: - http://dl-cdn.alpinelinux.org/alpine/edge/main - http://dl-cdn.alpinelinux.org/alpine/edge/testing - http://dl-cdn.alpinelinux.org/alpine/edge/community - http://dl-cdn.alpinelinux.org/alpine/latest-stable/main - http://dl-cdn.alpinelinux.org/alpine/latest-stable/community become: yes - name: cloudinit - update /etc/cloud/cloud.cfg when: hosts_cloudinit_enable|default(false) template: src: cloud.cfg.j2 dest: /etc/cloud/cloud.cfg force: yes - name: cloudinit - activate service when: hosts_cloudinit_enable|default(false) and ansible_service_mgr|lower != "openrc" service: name: cloud-init state: started enabled: yes become: yes - name: cloudinit - activate service (openrc) when: hosts_cloudinit_enable|default(false) and ansible_service_mgr|lower == "openrc" service: name: cloud-init state: started enabled: yes runlevel: boot become: yes