---
{%- from "telegraf/map.jinja" import telegraf with context %}
{% set archive_exclude_dir = './telegraf-' + telegraf.version %}
telegraf-archive-extract:
  archive.extracted:
    - name: {{ telegraf.release_dir }}/telegraf-{{ telegraf.version }}
    - source: {{ telegraf.mirror }}/telegraf-{{ telegraf.version }}_{{ salt['grains.get']('kernel')|lower }}_{{ telegraf.arch }}.tar.gz
    - enforce_toplevel: false
    - options: >
        --transform 's|^\{{ archive_exclude_dir }}|/|g'
        --exclude '{{ archive_exclude_dir }}/etc'
        --exclude '{{ archive_exclude_dir }}/usr/lib'
        --exclude '{{ archive_exclude_dir }}/var'
        --strip 2
    - skip_verify: true
    - archive_format: tar
    - if_missing: {{ telegraf.release_dir }}/telegraf-{{ telegraf.version }}/telegraf

telegraf-bin-symlink:
  file.symlink:
    - name: /usr/local/bin/telegraf
    - target: {{ telegraf.release_dir }}/telegraf-{{ telegraf.version }}/telegraf
    - force: true

telegraf-defaults-file:
  file.managed:
    - name: /etc/default/telegraf
    - source: salt://telegraf/templates/telegraf_default.j2
    - user: root
    - group: root
    - template: jinja

telegraf-cleanup:
  software.cleanup:
    - name: telegraf
    - path: {{ telegraf.release_dir }}
    - version: "{{ telegraf.version }}"