{%- from "heka/map.jinja" import server with context %}
{%- if server.enabled %}

heka_packages:
  pkg.installed:
  - names: {{ server.pkgs }}

purge-heka-conf-dir:
  file.directory:
  - name: /etc/heka/conf.d/
  - clean: True

/etc/heka/conf.d/00-hekad.toml:
  file.managed:
  - source: salt://heka/files/00-hekad.toml
  - template: jinja
  - mode: 640
  - group: heka
  - require:
    - pkg: heka_packages
    - file: purge-heka-conf-dir

heka_service:
  service.running:
  - enable: true
  - name: heka
  - watch:
    - file: /etc/heka/conf.d/00-hekad.toml
  - require:
    - user: heka_user

heka_user:
  user.present:
  - name: heka
  - shell: /bin/false
  - groups: {{ server.groups }}
  - require:
    - pkg: heka_packages

{%- for name,values in server.input.iteritems() %}

/etc/heka/conf.d/15-input-{{ name }}-{{ values['engine'] }}.toml:
  file.managed:
  - source: salt://heka/files/input/{{ values['engine'] }}.toml
  - template: jinja
  - mode: 640
  - group: heka
  - require:
    - file: /etc/heka/conf.d/00-hekad.toml
  - watch_in:
    - service: heka_service
  - defaults:
      name: {{ name }}
      values: {{ values }}

{%- endfor %}

{%- for name,values in server.output.iteritems() %}
 
/etc/heka/conf.d/60-output-{{ name }}-{{ values['engine'] }}.toml:
  file.managed:
  - source: salt://heka/files/output/{{ values['engine'] }}.toml
  - template: jinja
  - mode: 640
  - group: heka
  - require:
    - file: /etc/heka/conf.d/00-hekad.toml
  - watch_in:
    - service: heka_service
  - defaults:
      name: {{ name }}
      values: {{ values }}
 
{%- endfor %}


{%- for name,values in server.filter.iteritems() %}
 
/etc/heka/conf.d/20-filter-{{ name }}-{{ values['engine'] }}.toml:
  file.managed:
  - source: salt://heka/files/filter/{{ values['engine'] }}.toml
  - template: jinja
  - mode: 640
  - group: heka
  - require:
    - file: /etc/heka/conf.d/00-hekad.toml
  - watch_in:
    - service: heka_service
  - defaults:
      name: {{ name }}
      values: {{ values }}
 
{%- endfor %}

{%- for name,values in server.splitter.iteritems() %}
 
/etc/heka/conf.d/30-splitter-{{ name }}-{{ values['engine'] }}.toml:
  file.managed:
  - source: salt://heka/files/splitter/{{ values['engine'] }}.toml
  - template: jinja
  - mode: 640
  - group: heka
  - require:
    - file: /etc/heka/conf.d/00-hekad.toml
  - watch_in:
    - service: heka_service
  - defaults:
      name: {{ name }}
      values: {{ values }}
 
{%- endfor %}

{%- for name,values in server.encoder.iteritems() %}
 
/etc/heka/conf.d/40-encoder-{{ name }}-{{ values['engine'] }}.toml:
  file.managed:
  - source: salt://heka/files/encoder/{{ values['engine'] }}.toml
  - template: jinja
  - mode: 640
  - group: heka
  - require:
    - file: /etc/heka/conf.d/00-hekad.toml
  - watch_in:
    - service: heka_service
  - defaults:
      name: {{ name }}
      values: {{ values }}
 
{%- endfor %}

{%- for name,values in server.decoder.iteritems() %}
 
/etc/heka/conf.d/10-decoder-{{ name }}-{{ values['engine'] }}.toml:
  file.managed:
  - source: salt://heka/files/decoder/{{ values['engine'] }}.toml
  - template: jinja
  - mode: 640
  - group: heka
  - require:
    - file: /etc/heka/conf.d/00-hekad.toml
  - watch_in:
        - service: heka_service
  - defaults:
      name: {{ name }}
      values: {{ values }}
 
{%- endfor %}

{%- endif %}

