--- - name: Install rrdtool ansible.builtin.package: name: rrdtool state: present tags: - role::rrdstats - name: Template the statistics script ansible.builtin.template: src: generate-rrdtool-stats.sh.j2 dest: "{{ rrdstats_script_path }}" owner: root group: root mode: "0555" tags: - role::rrdstats - name: Template environment variables ansible.builtin.copy: content: | DB_DSN="postgresql://{{ rrdstats_pg_username }}:{{ rrdstats_pg_password }}@localhost:5432/metricity?application_name=rrdstats" dest: "{{ rrdstats_env_path }}" # This must only be readable by root because systemd will read it and # inject the environment variables into the target process. owner: root group: root mode: "0400" tags: - role::rrdstats - name: Template systemd units ansible.builtin.template: src: generate-rrdtool-stats.{{ item }}.j2 dest: /etc/systemd/system/generate-rrdtool-stats.{{ item }} owner: root group: root mode: "0444" tags: - role::rrdstats loop: - service - timer notify: - Reload the systemd daemon - Restart the rrdstats timer - name: Start and enable the timer ansible.builtin.service: name: generate-rrdtool-stats.timer enabled: true state: started tags: - role::rrdstats