ansible-role-zammad/tasks/elastic.yml

83 lines
2.5 KiB
YAML

- name: "elastic | Hole Paket"
get_url:
url: "{{ es_url }}"
dest: "{{ es_dl_path }}"
when: "'elasticsearch-oss' not in ansible_facts.packages"
- name: "elastic | Installiere Paket"
command: "dpkg -i elasticsearch-oss-{{ es_version }}-amd64.deb"
args:
chdir: "{{ es_dl_path }}"
when: "'elasticsearch-oss' not in ansible_facts.packages"
- name: "elastic | Prüfe Plugin"
stat:
path: /usr/share/elasticsearch/plugins/ingest-attachment
register: ingest_plugin
# https://www.elastic.co/guide/en/elasticsearch/plugins/current/installation.html
# Installiert die zur ES passende Plugin-Version - 7.10.2 (OSS)
- name: "eleastic | Installiere Plugin"
command: elasticsearch-plugin install ingest-attachment --batch
when: ingest_plugin.stat.exists == False
- name: "elastic | Passe Konfiguration an"
lineinfile:
path: /etc/elasticsearch/elasticsearch.yml
line: "{{ item }}"
loop:
- 'http.max_content_length: 400mb'
- 'indices.query.bool.max_clause_count: 2000'
- name: "elastic | Kopiere Fix für CVE-2021-44228"
copy:
src: nolog4j0day.options
dest: /etc/elasticsearch/jvm.options.d/nolog4j0day.options
- name: "elastic | Starte Dienst"
systemd:
name: elasticsearch
state: started
daemon_reload: yes
- name: "elastic | Konfiguriere ES-Server-Adresse"
shell:
cmd: rbenv exec bundle exec rails r "Setting.set('es_url', 'http://127.0.0.1:9200')"
chdir: "{{ zammad_home }}"
environment:
RAILS_ENV: production
become: true
become_user: "{{ zammad_user }}"
- name: "elastic | Erstelle Such-Index"
shell:
cmd: rbenv exec bundle exec rake zammad:searchindex:rebuild
chdir: "{{ zammad_home }}"
environment:
RAILS_ENV: production
become: true
become_user: "{{ zammad_user }}"
- name: "elastic | Konfiguriere Datei-Erweiterungen"
shell:
cmd: rbenv exec bundle exec rails r "Setting.set('es_attachment_ignore', [ '.png', '.jpg', '.jpeg', '.mpeg', '.mpg', '.mov', '.bin', '.exe', '.box', '.mbox' ] )"
chdir: "{{ zammad_home }}"
environment:
RAILS_ENV: production
become: true
become_user: "{{ zammad_user }}"
- name: "elastic | Konfiguriere Datei-Größen"
shell:
cmd: rbenv exec bundle exec rails r "Setting.set('es_attachment_max_size_in_mb', {{ es_attachment_max_size }})"
chdir: "{{ zammad_home }}"
environment:
RAILS_ENV: production
become: true
become_user: "{{ zammad_user }}"
- name: "elastic | Richte Monit-Überwachung ein"
copy:
src: elasticsearch.monit
dest: /etc/monit/conf-enabled/elasticsearch
notify: reload monit