Paillasse/ansible/roles/elasticsearch/tasks/main.yml

64 lines
2.1 KiB
YAML
Raw Normal View History

---
# Bloc C (CLAUDE.md) : recherche plein texte dans les cours et labs.
# Instance interne seule (voir elasticsearch.yml.j2) : jamais exposée,
# jamais de réseau à configurer dans Nginx — seul le portail lui parle, en
# PHP, sur 127.0.0.1.
- name: ajouter la clé de signature du dépôt Elastic
ansible.builtin.get_url:
url: https://artifacts.elastic.co/GPG-KEY-elasticsearch
dest: /tmp/elastic-gpg-key.asc
mode: "0644"
register: elasticsearch_cle_brute
- name: déposer la clé au format attendu par apt
ansible.builtin.shell: gpg --dearmor < /tmp/elastic-gpg-key.asc > /usr/share/keyrings/elastic.gpg
args:
creates: /usr/share/keyrings/elastic.gpg
- name: ajouter le dépôt Elastic 8.x
ansible.builtin.apt_repository:
repo: "deb [signed-by=/usr/share/keyrings/elastic.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main"
filename: elastic-8.x
state: present
update_cache: true
- name: installer Elasticsearch
ansible.builtin.apt:
name: elasticsearch
state: present
register: elasticsearch_installation
- name: déployer la configuration (sécurité désactivée, écoute locale seulement)
ansible.builtin.template:
src: elasticsearch.yml.j2
dest: /etc/elasticsearch/elasticsearch.yml
owner: root
group: elasticsearch
mode: "0660"
notify: redémarrer elasticsearch
- name: réduire le tas JVM (catalogue de cours/labs, volume très faible)
ansible.builtin.template:
src: heap.options.j2
dest: /etc/elasticsearch/jvm.options.d/heap.options
owner: root
group: elasticsearch
mode: "0660"
notify: redémarrer elasticsearch
- name: activer et démarrer Elasticsearch
ansible.builtin.systemd:
name: elasticsearch
state: started
enabled: true
- name: ajouter/mettre à jour les variables Elasticsearch dans .env du portail
ansible.builtin.lineinfile:
path: "{{ portail_dossier_app }}/.env"
regexp: "^{{ item.cle }}="
line: "{{ item.cle }}={{ item.valeur }}"
loop:
- { cle: "ELASTICSEARCH_HOTE", valeur: "127.0.0.1" }
- { cle: "ELASTICSEARCH_PORT", valeur: "{{ elasticsearch_port }}" }
notify: redémarrer horizon