64 lines
2.1 KiB
YAML
64 lines
2.1 KiB
YAML
|
|
---
|
||
|
|
# 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
|