- elasticsearch.server.curator
{%- endif %}
+elasticsearch_dependency_packages:
+ pkg.installed:
+ - names: {{ server.dependency_pkgs }}
+
elasticsearch_packages:
pkg.installed:
- names: {{ server.pkgs }}
+ - require:
+ - pkg: elasticsearch_dependency_packages
+
+elasticsearch_group:
+ group.present:
+ - name: elasticsearch
+ - require:
+ - pkg: elasticsearch_packages
+
+elasticsearch_user:
+ user.present:
+ - name: elasticsearch
+ - home: /home/elasticsearch
+ - shell: /bin/false
+ - groups:
+ - elasticsearch
+ - require:
+ - group: elasticsearch_group
elasticsearch_default:
file.managed:
- name: /etc/default/elasticsearch
- source: salt://elasticsearch/files/v{{ server.version }}/elasticsearch
+ - group: elasticsearch
- template: jinja
- require:
- pkg: elasticsearch_packages
+ - user: elasticsearch_user
elasticsearch_config:
file.managed:
- name: /etc/elasticsearch/elasticsearch.yml
- source: salt://elasticsearch/files/v{{ server.version }}/elasticsearch.yml
+ - group: elasticsearch
- template: jinja
- require:
- pkg: elasticsearch_packages
+ - user: elasticsearch_user
{%- if server.version == 2 %}
elasticsearch_logging:
- pkg: elasticsearch_packages
{%- endif %}
-{%- if server.version == 5 %}
+{%- if server.version in [5, 6] %}
elasticsearch_logging:
file.managed:
- name: /etc/elasticsearch/log4j2.properties
- - source: salt://elasticsearch/files/v5/log4j2.properties
+ - source: salt://elasticsearch/files/v{{ server.version }}/log4j2.properties
+ - group: elasticsearch
- template: jinja
- require:
- pkg: elasticsearch_packages
+ - user: elasticsearch_user
elasticsearch_jvm_options:
file.managed:
- name: /etc/elasticsearch/jvm.options
- - source: salt://elasticsearch/files/v5/jvm.options
+ - source: salt://elasticsearch/files/v{{ server.version }}/jvm.options
+ - group: elasticsearch
- template: jinja
- require:
- pkg: elasticsearch_packages
+ - user: elasticsearch_user
{%- if grains.get('init') == 'systemd' %}
elasticsearch_override_limit_memlock_file: