--- - name: Install prereqs package: name: - gcc state: present - name: Extract heyu tarball v{{ heyu_version }}.tar.gz unarchive: src: v{{ heyu_version }}.tar.gz dest: /usr/local/src/ creates: /usr/local/src/heyu-{{ heyu_version }}/ register: heyu_copy - name: Create heyu user user: name: "{{ heyu_user }}" system: yes groups: dialout append: yes state: present - name: Create heyu config dir file: path: /etc/heyu state: directory owner: "{{ heyu_user }}" group: root mode: '0755' - name: Copy heyu config template: src: x10.conf.j2 dest: /etc/heyu/x10.conf owner: "{{ heyu_user }}" group: root mode: '0644' notify: - restart heyu tags: - update - name: Compile and install heyu shell: "{{ item }}" args: chdir: /usr/local/src/heyu-{{ heyu_version }} loop: - './Configure' - 'make' - 'make install' when: - not heyu_copy.skipped - name: Create systemd service files template: src: "{{ item.src }}" dest: /etc/systemd/system/{{ item.dest }} owner: root group: root mode: '0644' loop: - { src: 'heyu.service.j2', dest: 'heyu.service' } - { src: 'x10-symlink.service.j2', dest: 'x10-symlink.service' } loop_control: label: "{{ item.dest }}" register: services - name: Reload systemd service files systemd: daemon_reload: yes when: services.changed - name: Start/enable systemd services systemd: name: "{{ item }}" state: started enabled: yes loop: - x10-symlink - heyu - name: Enable cronjobs cron: name: "{{ item.name }}" minute: "{{ item.minute | default('*') }}" hour: "{{ item.hour | default('*') }}" dom: "{{ item.dom | default('*') }}" month: "{{ item.month | default('*') }}" dow: "{{ item.dow | default('*') }}" job: "{{ item.job }}" with_items: - "{{ heyu_cronjobs }}" loop_control: label: "{{ item.name }}" when: - item.name is defined - item.name != '' - item.job is defined - item.job != '' tags: - update