cloud-elasticsearch/tasks/main.yml

80 lines
1.8 KiB
YAML

---
- name: setup elastic group
group:
name: "{{ elastic_grp }}"
state: "present"
- name: setup elastic user
user:
name: "{{ elastic_usr }}"
home: "{{ elastic_home }}"
group: "{{ elastic_grp }}"
groups:
- "{{ elastic_grp }}"
comment: Virtual Elastic User
shell: /bin/bash
state: present
system: yes
- name: setup ElasticSearch directories
file:
state: directory
path: "{{ item }}"
owner: "{{ elastic_usr }}"
group: "{{ elastic_grp }}"
mode: 0750
loop:
- "{{ elastic_path }}"
- "{{ elastic_home }}"
- "{{ elastic_data_location }}"
- "{{ elastic_logs_location }}"
- name: download ElasticSearch
unarchive:
src: "{{ elastic_source }}/elasticsearch-{{ elastic_version }}-{{ elastic_platform_suffix }}.tar.gz"
dest: "{{ elastic_path }}"
creates: "{{ elastic_inst }}"
remote_src: true
owner: "{{ elastic_usr }}"
group: "{{ elastic_grp }}"
mode: 0755
register: elastic_install
- name: copy bootstrap config
copy:
remote_src: true
src: "{{ elastic_inst }}/config"
dest: "{{ elastic_conf}}"
when: elastic_install.changed
- name: configure ElasticSearch
template:
src: "opt/elastic/home/config/{{ item }}.j2"
dest: "{{ elastic_conf }}/{{ item }}"
owner: "{{ elastic_usr }}"
group: "{{ elastic_grp }}"
mode: 0644
loop:
- elasticsearch.yml
- jvm.options
- name: setup generic ElasticSearch link
file:
state: link
src: "{{ elastic_inst }}"
dest: "{{ elastic_link }}"
- name: setup ElasticSearch systemd unit
template:
src: etc/systemd/system/elasticsearch.service.j2
dest: /etc/systemd/system/elasticsearch.service
notify: restart elasticsearch
- name: enable elasticsearch systemd unit
systemd:
name: elasticsearch
enabled: yes
daemon_reload: yes
state: started