From 697c6a87d1ab70d95aba10b91ccc9ac32ef5ffe0 Mon Sep 17 00:00:00 2001 From: Andrea Dell'Amico Date: Thu, 30 Jun 2016 16:09:51 +0200 Subject: [PATCH] library/roles/ELK/elasticsearch: Task to install a list of ES plugins. --- ELK/elasticsearch/defaults/main.yml | 3 +++ ELK/elasticsearch/tasks/elasticsearch.yml | 24 +++++++++++++++++++++++ ELK/elasticsearch/tasks/main.yml | 24 ++--------------------- ELK/elasticsearch/tasks/plugins.yml | 9 +++++++++ 4 files changed, 38 insertions(+), 22 deletions(-) create mode 100644 ELK/elasticsearch/tasks/elasticsearch.yml create mode 100644 ELK/elasticsearch/tasks/plugins.yml diff --git a/ELK/elasticsearch/defaults/main.yml b/ELK/elasticsearch/defaults/main.yml index a9b2239c..18229d17 100644 --- a/ELK/elasticsearch/defaults/main.yml +++ b/ELK/elasticsearch/defaults/main.yml @@ -20,3 +20,6 @@ elasticsearch_define_heap_size: False elasticsearch_heap_size: 2g elasticsearch_additional_java_opts: '' elasticsearch_max_open_files: 65535 + +#elasticsearch_plugins: +# - { name: 'royrusso/elasticsearch-HQ', state: 'present' } diff --git a/ELK/elasticsearch/tasks/elasticsearch.yml b/ELK/elasticsearch/tasks/elasticsearch.yml new file mode 100644 index 00000000..06ff279e --- /dev/null +++ b/ELK/elasticsearch/tasks/elasticsearch.yml @@ -0,0 +1,24 @@ +--- +- name: Install the elasticsearch repo key + apt_key: url={{ elasticsearch_repo_key }} state=present + tags: [ 'ELK', 'elasticsearch', 'elk' ] + +- name: Install the elasticsearch deb repository + apt_repository: repo='{{ elasticsearch_repo }}' state=present update_cache=yes + tags: [ 'ELK', 'elasticsearch', 'elk' ] + +- name: Install the elasticsearch deb packages + apt: name='{{ item }}' state=present + with_items: '{{ elasticsearch_packages }}' + tags: [ 'ELK', 'elasticsearch', 'elk' ] + +- name: Install the elasticsearch startup default + template: src=elasticsearch-default.j2 dest=/etc/default/elasticsearch owner=root group=elasticsearch mode=0640 + notify: Restart elasticsearch + tags: [ 'ELK', 'elasticsearch', 'elk' ] + +- name: Install the elasticsearch configuration + template: src=elasticsearch.yml.j2 dest=/etc/elasticsearch/elasticsearch.yml owner=root group=elasticsearch mode=0640 + notify: Restart elasticsearch + tags: [ 'ELK', 'elasticsearch', 'elk' ] + diff --git a/ELK/elasticsearch/tasks/main.yml b/ELK/elasticsearch/tasks/main.yml index 05fbbdd6..45076283 100644 --- a/ELK/elasticsearch/tasks/main.yml +++ b/ELK/elasticsearch/tasks/main.yml @@ -1,26 +1,6 @@ --- -- name: Install the elasticsearch repo key - apt_key: url={{ elasticsearch_repo_key }} state=present - tags: [ 'ELK', 'elasticsearch', 'elk' ] - -- name: Install the elasticsearch deb repository - apt_repository: repo='{{ elasticsearch_repo }}' state=present update_cache=yes - tags: [ 'ELK', 'elasticsearch', 'elk' ] - -- name: Install the elasticsearch deb packages - apt: name='{{ item }}' state=present - with_items: '{{ elasticsearch_packages }}' - tags: [ 'ELK', 'elasticsearch', 'elk' ] - -- name: Install the elasticsearch startup default - template: src=elasticsearch-default.j2 dest=/etc/default/elasticsearch owner=root group=elasticsearch mode=0640 - notify: Restart elasticsearch - tags: [ 'ELK', 'elasticsearch', 'elk' ] - -- name: Install the elasticsearch configuration - template: src=elasticsearch.yml.j2 dest=/etc/elasticsearch/elasticsearch.yml owner=root group=elasticsearch mode=0640 - notify: Restart elasticsearch - tags: [ 'ELK', 'elasticsearch', 'elk' ] +- include: elasticsearch.yml +- include: plugins.yml - name: Ensure that elasticsearch is enabled and running service: name=elasticsearch state=started enabled=yes diff --git a/ELK/elasticsearch/tasks/plugins.yml b/ELK/elasticsearch/tasks/plugins.yml new file mode 100644 index 00000000..4b3f199e --- /dev/null +++ b/ELK/elasticsearch/tasks/plugins.yml @@ -0,0 +1,9 @@ +--- +- block: + - name: Manage a list of elasticsearch plugins + elasticsearch_plugin: name="{{ item.name }}" state={{ item.state }} url={{ item.url|default(omit) }} version={{ item.version|default(omit) }} + with_items: '{{ elasticsearch_plugins | default ([]) }}' + + when: elasticsearch_plugins is defined + tags: [ 'elasticsearch', 'es_plugins' ] +