--- /dev/null
+{%- from "influxdb/map.jinja" import server with context -%}
+{%- if server.cluster is defined %}
+{%- for member in server.cluster.members %}
+{%- if member.host != grains.fqdn %}
+INFLUXD_OPTS="-join {{ member.host }}:{{ member.port }}"
+{%- endif %}
+{%- endfor %}
+{%- endif %}
+{#-
+vim: syntax=jinja
+-#}
### about the InfluxDB cluster.
###
+{%- if server.meta.enabled %}
[meta]
# Where the metadata/raft database is stored
dir = "/var/lib/influxdb/meta"
# The default duration for leases.
lease-duration = "1m0s"
+{%- else %}
+[meta]
+ enabled = false
+{%- endif %}
+ {%- if server.get('meta', {}).bind is defined %}
+ bind-address = "{{ server.meta.bind.address }}:{{ server.admin.bind.port }}"
+ http-bind-address = "{{ server.meta.bind.http_address }}:{{ server.admin.bind.http_port }}"
+ {%- endif %}
###
### [data]
### defaults should work for most systems.
###
+{%- if server.data.enabled %}
[data]
# Controls if this node holds time series data shards in the cluster
enabled = true
# block in a TSM file. Larger numbers may yield better compression
# but could incur a performance penalty when querying
# max-points-per-block = 1000
+{%- else %}
+[data]
+ enabled = false
+{%- endif %}
###
### [cluster]
- require:
- pkg: influxdb_packages
+influxdb_default:
+ file.managed:
+ - name: /etc/default/influxdb
+ - source: salt://influxdb/files/default
+ - template: jinja
+ - require:
+ - pkg: influxdb_packages
+
influxdb_service:
service.running:
- enable: true
- name: {{ server.service }}
- watch:
- file: influxdb_config
+ - file: influxdb_default
{%- endif %}