refactor(elasticsearch): add state=absent support, migrate to fully-qualified module names, split container image into parts
This commit is contained in:
parent
10dc0bed04
commit
dfff3cf08b
@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
elasticsearch_version: 7.17.7
|
elasticsearch_version: 7.17.7
|
||||||
|
elasticsearch_state: present
|
||||||
|
|
||||||
elasticsearch_base_path: /opt/elasticsearch
|
elasticsearch_base_path: /opt/elasticsearch
|
||||||
elasticsearch_data_path: "{{ elasticsearch_base_path }}/data"
|
elasticsearch_data_path: "{{ elasticsearch_base_path }}/data"
|
||||||
@ -10,10 +10,23 @@ elasticsearch_config_discovery_type: single-node
|
|||||||
elasticsearch_config_boostrap_memory_lock: true
|
elasticsearch_config_boostrap_memory_lock: true
|
||||||
elasticsearch_allocated_ram_mb: 512
|
elasticsearch_allocated_ram_mb: 512
|
||||||
|
|
||||||
elasticsearch_container_image_name: docker.elastic.co/elasticsearch/elasticsearch-oss
|
elasticsearch_container_image_registry: docker.elastic.co
|
||||||
|
elasticsearch_container_image_namespace: elasticsearch
|
||||||
|
elasticsearch_container_image_name: elasticsearch-oss
|
||||||
elasticsearch_container_image_tag: ~
|
elasticsearch_container_image_tag: ~
|
||||||
elasticsearch_container_image: >-
|
elasticsearch_container_image: >-2
|
||||||
{{ elasticsearch_container_image_name }}:{{ elasticsearch_container_image_tag | default(elasticsearch_version, true) }}
|
{{
|
||||||
|
([
|
||||||
|
elasticsearch_container_image_registry | default([], true),
|
||||||
|
elasticsearch_container_image_namespace | default([], true),
|
||||||
|
elasticsearch_container_image_name,
|
||||||
|
] | flatten | join('/'))
|
||||||
|
+ ':' +
|
||||||
|
(elasticsearch_container_image_tag | default(elasticsearch_version, true))
|
||||||
|
}}
|
||||||
|
elasticsearch_container_image_source: pull
|
||||||
|
elasticsearch_container_image_force_source: >-2
|
||||||
|
{{ elasticsearch_container_image_tag | default(false, true) | bool }}
|
||||||
|
|
||||||
elasticsearch_container_name: elasticsearch
|
elasticsearch_container_name: elasticsearch
|
||||||
elasticsearch_container_env:
|
elasticsearch_container_env:
|
||||||
@ -33,3 +46,5 @@ elasticsearch_container_volumes:
|
|||||||
elasticsearch_container_networks: ~
|
elasticsearch_container_networks: ~
|
||||||
elasticsearch_container_purge_networks: ~
|
elasticsearch_container_purge_networks: ~
|
||||||
elasticsearch_container_restart_policy: unless-stopped
|
elasticsearch_container_restart_policy: unless-stopped
|
||||||
|
elasticsearch_container_state: >-2
|
||||||
|
{{ (elasticsearch_state == 'present') | ternary('started', 'absent') }}
|
||||||
|
@ -1,7 +1,13 @@
|
|||||||
---
|
---
|
||||||
|
- name: Check if state is valid
|
||||||
|
ansible.builtin.fail:
|
||||||
|
msg: >-2
|
||||||
|
Unsupported state '{{ elasticsearch_state }}'. Supported
|
||||||
|
states are {{ elasticsearch_states | join(', ') }}.
|
||||||
|
when: elasticsearch_state not in elasticsearch_states
|
||||||
|
|
||||||
- name: Ensure host directories are present
|
- name: Ensure host directories are {{ elasticsearch_state }}
|
||||||
file:
|
ansible.builtin.file:
|
||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: directory
|
state: directory
|
||||||
mode: "0777"
|
mode: "0777"
|
||||||
@ -9,15 +15,16 @@
|
|||||||
- "{{ elasticsearch_base_path }}"
|
- "{{ elasticsearch_base_path }}"
|
||||||
- "{{ elasticsearch_data_path }}"
|
- "{{ elasticsearch_data_path }}"
|
||||||
|
|
||||||
- name: Ensure elastic container image is present
|
- name: Ensure elasticsearch container image '{{ elasticsearch_container_image }}' is {{ elasticsearch_state }}
|
||||||
docker_image:
|
community.docker.docker_image:
|
||||||
name: "{{ elasticsearch_container_image }}"
|
name: "{{ elasticsearch_container_image }}"
|
||||||
state: present
|
state: "{{ elasticsearch_state }}"
|
||||||
source: pull
|
source: "{{ elasticsearch_container_image_source }}"
|
||||||
|
force_source: "{{ elasticsearch_container_image_force_source }}"
|
||||||
force_source: "{{ elasticsearch_container_image_tag|default(false, true)|bool }}"
|
force_source: "{{ elasticsearch_container_image_tag|default(false, true)|bool }}"
|
||||||
|
|
||||||
- name: Ensure elastic container is running
|
- name: Ensure elasticsearch container '{{ elasticsearch_container_name }}' is {{ elasticsearch_container_state }}
|
||||||
docker_container:
|
community.docker.docker_container:
|
||||||
name: "{{ elasticsearch_container_name }}"
|
name: "{{ elasticsearch_container_name }}"
|
||||||
image: "{{ elasticsearch_container_image }}"
|
image: "{{ elasticsearch_container_image }}"
|
||||||
env: "{{ elasticsearch_container_env | default(omit, True) }}"
|
env: "{{ elasticsearch_container_env | default(omit, True) }}"
|
||||||
@ -29,4 +36,4 @@
|
|||||||
networks: "{{ elasticsearch_container_networks | default(omit, True) }}"
|
networks: "{{ elasticsearch_container_networks | default(omit, True) }}"
|
||||||
purge_networks: "{{ elasticsearch_container_purge_networks | default(omit, True) }}"
|
purge_networks: "{{ elasticsearch_container_purge_networks | default(omit, True) }}"
|
||||||
restart_policy: "{{ elasticsearch_container_restart_policy }}"
|
restart_policy: "{{ elasticsearch_container_restart_policy }}"
|
||||||
state: started
|
state: "{{ elasticsearch_container_state }}"
|
||||||
|
4
roles/elasticsearch/vars/main.yml
Normal file
4
roles/elasticsearch/vars/main.yml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
---
|
||||||
|
elasticsearch_states:
|
||||||
|
- present
|
||||||
|
- absent
|
Loading…
Reference in New Issue
Block a user