- name: Setup Prometheus User user: name: "{{prometheus_user}}" home: "{{prometheus_home_dir}}" state: present - set_fact: "prometheus_extract_dir=prometheus-{{prometheus_version}}.{{prometheus_os}}-{{prometheus_architecture}}" - name: Create configuration directory file: state: directory dest: "{{prometheus_home_dir}}/conf" mode: '0700' owner: "{{prometheus_user}}" - name: Create Data directory file: state: directory dest: "{{prometheus_data_dir}}" mode: '0700' owner: "{{prometheus_user}}" - name: Download Prometheus get_url: url: "{{prometheus_url}}" dest: "{{prometheus_home_dir}}/prometheus-{{prometheus_version}}.tgz" mode: '0600' owner: "{{prometheus_user}}" # There's a bug in become_user that doesn't set permissions on the temp directory # which is asinine when my user has sudo persmissions. - name: Extract Prometheus shell: | if ! [ -e "{{prometheus_home_dir}}/{{prometheus_extract_dir}}" ] ; then su - '{{prometheus_user}}' -c 'tar xzf prometheus-{{prometheus_version}}.tgz' fi changed_when: false - name: Link prometheus directory file: state: link src: '{{prometheus_extract_dir}}' dest: '{{prometheus_home_dir}}/prometheus' force: yes - name: Link configuration files file: state: link src: '../conf/{{item}}' dest: '{{prometheus_home_dir}}/prometheus/{{item}}' force: yes loop: - prometheus.yml - name: Write prometheus template template: src: '{{prometheus_template_source}}' dest: '{{prometheus_home_dir}}/conf/prometheus.yml' owner: '{{prometheus_user}}' mode: '0600' - name: Run Runit Specific tasks include_tasks: systemd.yml when: ansible_facts['distribution'].lower() == "ubuntu" or ansible_facts['distribution'].lower() == "centos" - name: Run Runit Specific tasks include_tasks: runit.yml when: ansible_facts['distribution'].lower() == "void" or ansible_facts['distribution'].lower() == "alpine"