Merge pull request #60 from barryib/add-proxy-for-plugins-installation
Define a proxy for plugin installation
This commit is contained in:
commit
3c5adf9961
3 changed files with 34 additions and 3 deletions
22
README.md
22
README.md
|
|
@ -122,6 +122,8 @@ A more complex example:
|
|||
- plugin: marvel-agent
|
||||
- plugin: lmenezes/elasticsearch-kopf
|
||||
version: master
|
||||
proxy_host: proxy.example.com
|
||||
proxy_port: 8080
|
||||
```
|
||||
|
||||
### Multi Node Server Installations
|
||||
|
|
@ -209,7 +211,6 @@ Following variables affect the versions installed:
|
|||
version: 2.5.0
|
||||
```
|
||||
|
||||
|
||||
Earlier examples illustrate the installation of plugins for 2.x. The correct use of this parameter varies depending on the version of Elasticsearch being installed:
|
||||
|
||||
- 2.x. - For officially supported plugins no version or source delimiter is required. The plugin script will determine the appropriate plugin version based on the target Elasticsearch version.
|
||||
|
|
@ -236,6 +237,25 @@ This role ships with sample scripts and templates located in the [files/scripts/
|
|||
* ```es_scripts_fileglob``` - defaults to `<role>/files/scripts/`.
|
||||
* ```es_templates_fileglob``` - defaults to `<role>/files/templates/`.
|
||||
|
||||
### Proxy
|
||||
|
||||
To define proxy globaly, set the following variables:
|
||||
|
||||
* ```es_proxy_host``` - global proxy host
|
||||
* ```es_proxy_port``` - global proxy port
|
||||
|
||||
To define proxy only for a particular plugin during its installation:
|
||||
|
||||
```
|
||||
es_plugins:
|
||||
- plugin: elasticsearch-cloud-aws
|
||||
version: 2.5.0
|
||||
proxy_host: proxy.example.com
|
||||
proxy_port: 8080
|
||||
```
|
||||
|
||||
> For plugins installation, proxy_host and proxy_port are used first if they are defined and fallback to the global proxy settings if not.
|
||||
|
||||
## Notes
|
||||
|
||||
* The role assumes the user/group exists on the server. The elasticsearch packages create the default elasticsearch user. If this needs to be changed, ensure the user exists.
|
||||
|
|
|
|||
|
|
@ -3,6 +3,9 @@
|
|||
- fail: msg="es_instance_name must be specified and cannot be blank"
|
||||
when: es_instance_name is not defined or es_instance_name == ''
|
||||
|
||||
- fail: msg="es_proxy_port must be specified and cannot be blank when es_proxy_host is defined"
|
||||
when: (es_proxy_port is not defined or es_proxy_port == '') and (es_proxy_host is defined and es_proxy_host != '')
|
||||
|
||||
- set_fact: multi_cast={{ (es_version | version_compare('2.0', '<') and es_config['discovery.zen.ping.multicast.enabled'] is not defined) or (es_config['discovery.zen.ping.multicast.enabled'] is defined and es_config['discovery.zen.ping.multicast.enabled'])}}
|
||||
|
||||
- debug: msg="WARNING - It is recommended you specify the parameter 'http.port' when multicast is disabled"
|
||||
|
|
|
|||
|
|
@ -30,7 +30,15 @@
|
|||
|
||||
- name: Install elasticsearch plugins
|
||||
#debug: var=item
|
||||
command: "{{es_home}}/bin/plugin install {{ item.plugin }}{% if item.version is defined and item.version != '' %}/{{ item.version }}{% endif %} --silent"
|
||||
command: >
|
||||
{{es_home}}/bin/plugin install
|
||||
{{ item.plugin }}{% if item.version is defined and item.version != '' %}/{{ item.version }}{% endif %}
|
||||
{% if item.proxy_host is defined and item.proxy_host != '' and item.proxy_port is defined and item.proxy_port != ''%}
|
||||
-DproxyHost={{ item.proxy_host }} -DproxyPort={{ item.proxy_port }}
|
||||
{% elif es_proxy_host is defined and es_proxy_host != '' %}
|
||||
-DproxyHost={{ es_proxy_host }} -DproxyPort={{ es_proxy_port }}
|
||||
{% endif %}
|
||||
--silent
|
||||
register: plugin_installed
|
||||
failed_when: "'Failed to install' in plugin_installed.stderr"
|
||||
changed_when: plugin_installed.rc == 0
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue