mirror of
https://github.com/ZwareBear/JFrog-Cloud-Installers.git
synced 2026-01-21 00:06:55 -06:00
[Ansible] JFrog Platform 7.23.3 (#148)
This commit is contained in:
committed by
GitHub
parent
60b0620387
commit
1976ab309c
@@ -1,6 +1,10 @@
|
|||||||
# JFrog Platform Ansible Collection Changelog
|
# JFrog Platform Ansible Collection Changelog
|
||||||
All changes to this collection will be documented in this file.
|
All changes to this collection will be documented in this file.
|
||||||
|
|
||||||
|
## [7.23.3] - Aug 5, 2021
|
||||||
|
* Missioncontrol's Elasticsearch to use new JAVA_HOME path
|
||||||
|
* Missioncontrol's Elasticsearch searchguard plugin to use by default `anonymous_auth_enabled: true`
|
||||||
|
|
||||||
## [7.21.12] - July 30, 2021
|
## [7.21.12] - July 30, 2021
|
||||||
* Added variable `postgres_enabled` to enable/disable default postgres role in `groups_vars/all/vars.yml`
|
* Added variable `postgres_enabled` to enable/disable default postgres role in `groups_vars/all/vars.yml`
|
||||||
* Added documentation to used external database
|
* Added documentation to used external database
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ namespace: "jfrog"
|
|||||||
name: "platform"
|
name: "platform"
|
||||||
|
|
||||||
# The version of the collection. Must be compatible with semantic versioning
|
# The version of the collection. Must be compatible with semantic versioning
|
||||||
version: "7.21.12"
|
version: "7.23.3"
|
||||||
|
|
||||||
# The path to the Markdown (.md) readme file. This path is relative to the root of the collection
|
# The path to the Markdown (.md) readme file. This path is relative to the root of the collection
|
||||||
readme: "README.md"
|
readme: "README.md"
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
# defaults file for artifactory
|
# defaults file for artifactory
|
||||||
|
|
||||||
# The version of artifactory to install
|
# The version of artifactory to install
|
||||||
artifactory_version: 7.21.12
|
artifactory_version: 7.23.3
|
||||||
|
|
||||||
# Set this to true when SSL is enabled (to use artifactory_nginx_ssl role), default to false (implies artifactory uses artifactory_nginx role )
|
# Set this to true when SSL is enabled (to use artifactory_nginx_ssl role), default to false (implies artifactory uses artifactory_nginx role )
|
||||||
artifactory_nginx_ssl_enabled: false
|
artifactory_nginx_ssl_enabled: false
|
||||||
|
|||||||
@@ -46,8 +46,8 @@
|
|||||||
url: "{{ artifactory_tar }}"
|
url: "{{ artifactory_tar }}"
|
||||||
timeout: "{{ artifactory_download_timeout }}"
|
timeout: "{{ artifactory_download_timeout }}"
|
||||||
dest: "{{ jfrog_home_directory }}"
|
dest: "{{ jfrog_home_directory }}"
|
||||||
register: downloadartifactory
|
register: download_artifactory
|
||||||
until: downloadartifactory is succeeded
|
until: download_artifactory is succeeded
|
||||||
retries: 3
|
retries: 3
|
||||||
when: not artifactory_tar_check.stat.exists
|
when: not artifactory_tar_check.stat.exists
|
||||||
|
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
owner: "{{ artifactory_user }}"
|
owner: "{{ artifactory_user }}"
|
||||||
group: "{{ artifactory_group }}"
|
group: "{{ artifactory_group }}"
|
||||||
creates: "{{ artifactory_untar_home }}"
|
creates: "{{ artifactory_untar_home }}"
|
||||||
when: downloadartifactory is succeeded
|
when: download_artifactory is succeeded
|
||||||
|
|
||||||
- name: Check if app directory exists
|
- name: Check if app directory exists
|
||||||
become: yes
|
become: yes
|
||||||
|
|||||||
@@ -14,8 +14,8 @@
|
|||||||
url: "{{ artifactory_tar }}"
|
url: "{{ artifactory_tar }}"
|
||||||
timeout: "{{ artifactory_download_timeout }}"
|
timeout: "{{ artifactory_download_timeout }}"
|
||||||
dest: "{{ jfrog_home_directory }}"
|
dest: "{{ jfrog_home_directory }}"
|
||||||
register: downloadartifactory
|
register: download_artifactory
|
||||||
until: downloadartifactory is succeeded
|
until: download_artifactory is succeeded
|
||||||
retries: 3
|
retries: 3
|
||||||
when: not artifactory_tar_check.stat.exists
|
when: not artifactory_tar_check.stat.exists
|
||||||
|
|
||||||
@@ -28,14 +28,14 @@
|
|||||||
owner: "{{ artifactory_user }}"
|
owner: "{{ artifactory_user }}"
|
||||||
group: "{{ artifactory_group }}"
|
group: "{{ artifactory_group }}"
|
||||||
creates: "{{ artifactory_untar_home }}"
|
creates: "{{ artifactory_untar_home }}"
|
||||||
when: downloadartifactory is succeeded
|
when: download_artifactory is succeeded
|
||||||
|
|
||||||
- name: Stop artifactory
|
- name: Stop artifactory
|
||||||
become: yes
|
become: yes
|
||||||
systemd:
|
systemd:
|
||||||
name: "{{ artifactory_daemon }}"
|
name: "{{ artifactory_daemon }}"
|
||||||
state: stopped
|
state: stopped
|
||||||
when: downloadartifactory.changed
|
when: download_artifactory.changed
|
||||||
|
|
||||||
- name: Ensure jfrog_home_directory exists
|
- name: Ensure jfrog_home_directory exists
|
||||||
become: yes
|
become: yes
|
||||||
@@ -48,12 +48,12 @@
|
|||||||
file:
|
file:
|
||||||
path: "{{ artifactory_home }}/app"
|
path: "{{ artifactory_home }}/app"
|
||||||
state: absent
|
state: absent
|
||||||
when: downloadartifactory.changed
|
when: download_artifactory.changed
|
||||||
|
|
||||||
- name: Copy new app to artifactory app
|
- name: Copy new app to artifactory app
|
||||||
become: yes
|
become: yes
|
||||||
command: "cp -r {{ artifactory_untar_home }}/app/. {{ artifactory_home }}/app"
|
command: "cp -r {{ artifactory_untar_home }}/app/. {{ artifactory_home }}/app"
|
||||||
when: downloadartifactory.changed
|
when: download_artifactory.changed
|
||||||
|
|
||||||
- name: Configure single license
|
- name: Configure single license
|
||||||
become: yes
|
become: yes
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
# platform collection version
|
# platform collection version
|
||||||
platform_collection_version: 7.21.12
|
platform_collection_version: 7.23.3
|
||||||
|
|
||||||
# indicates where this collection was downloaded from (galaxy, automation_hub, standalone)
|
# indicates where this collection was downloaded from (galaxy, automation_hub, standalone)
|
||||||
ansible_marketplace: galaxy
|
ansible_marketplace: galaxy
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
# defaults file for distribution
|
# defaults file for distribution
|
||||||
|
|
||||||
# The version of distribution to install
|
# The version of distribution to install
|
||||||
distribution_version: 2.8.2
|
distribution_version: 2.9.0
|
||||||
|
|
||||||
# whether to enable HA
|
# whether to enable HA
|
||||||
distribution_ha_enabled: false
|
distribution_ha_enabled: false
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
name: expect
|
name: expect
|
||||||
state: present
|
state: present
|
||||||
become: yes
|
become: yes
|
||||||
when: ansible_os_family == 'Redhat'
|
when: ansible_os_family == 'RedHat'
|
||||||
|
|
||||||
- name: Install expect dependency
|
- name: Install expect dependency
|
||||||
apt:
|
apt:
|
||||||
@@ -47,8 +47,8 @@
|
|||||||
url: "{{ distribution_tar }}"
|
url: "{{ distribution_tar }}"
|
||||||
timeout: "{{ distribution_download_timeout }}"
|
timeout: "{{ distribution_download_timeout }}"
|
||||||
dest: "{{ jfrog_home_directory }}"
|
dest: "{{ jfrog_home_directory }}"
|
||||||
register: downloaddistribution
|
register: download_distribution
|
||||||
until: downloaddistribution is succeeded
|
until: download_distribution is succeeded
|
||||||
retries: 3
|
retries: 3
|
||||||
when: not distribution_tar_check.stat.exists
|
when: not distribution_tar_check.stat.exists
|
||||||
|
|
||||||
@@ -61,7 +61,7 @@
|
|||||||
owner: "{{ distribution_user }}"
|
owner: "{{ distribution_user }}"
|
||||||
group: "{{ distribution_group }}"
|
group: "{{ distribution_group }}"
|
||||||
creates: "{{ distribution_untar_home }}"
|
creates: "{{ distribution_untar_home }}"
|
||||||
when: downloaddistribution is succeeded
|
when: download_distribution is succeeded
|
||||||
|
|
||||||
- name: Check if app directory exists
|
- name: Check if app directory exists
|
||||||
become: yes
|
become: yes
|
||||||
|
|||||||
@@ -14,8 +14,8 @@
|
|||||||
url: "{{ distribution_tar }}"
|
url: "{{ distribution_tar }}"
|
||||||
timeout: "{{ distribution_download_timeout }}"
|
timeout: "{{ distribution_download_timeout }}"
|
||||||
dest: "{{ jfrog_home_directory }}"
|
dest: "{{ jfrog_home_directory }}"
|
||||||
register: downloaddistribution
|
register: download_distribution
|
||||||
until: downloaddistribution is succeeded
|
until: download_distribution is succeeded
|
||||||
retries: 3
|
retries: 3
|
||||||
when: not distribution_tar_check.stat.exists
|
when: not distribution_tar_check.stat.exists
|
||||||
|
|
||||||
@@ -28,33 +28,50 @@
|
|||||||
owner: "{{ distribution_user }}"
|
owner: "{{ distribution_user }}"
|
||||||
group: "{{ distribution_group }}"
|
group: "{{ distribution_group }}"
|
||||||
creates: "{{ distribution_untar_home }}"
|
creates: "{{ distribution_untar_home }}"
|
||||||
when: downloaddistribution is succeeded
|
when: download_distribution is succeeded
|
||||||
|
|
||||||
- name: Stop distribution
|
- name: Stop distribution
|
||||||
become: yes
|
become: yes
|
||||||
systemd:
|
systemd:
|
||||||
name: "{{ distribution_daemon }}"
|
name: "{{ distribution_daemon }}"
|
||||||
state: stopped
|
state: stopped
|
||||||
when: downloaddistribution.changed
|
when: download_distribution.changed
|
||||||
|
|
||||||
- name: Delete distribution app
|
- name: Delete distribution app
|
||||||
become: yes
|
become: yes
|
||||||
file:
|
file:
|
||||||
path: "{{ distribution_home }}/app"
|
path: "{{ distribution_home }}/app"
|
||||||
state: absent
|
state: absent
|
||||||
when: downloaddistribution.changed
|
when: download_distribution.changed
|
||||||
|
|
||||||
- name: Copy new app to distribution app
|
- name: Copy new app to distribution app
|
||||||
become: yes
|
become: yes
|
||||||
command: "cp -r {{ distribution_untar_home }}/app/. {{ distribution_home }}/app"
|
command: "cp -r {{ distribution_untar_home }}/app/. {{ distribution_home }}/app"
|
||||||
when: downloaddistribution.changed
|
when: download_distribution.changed
|
||||||
|
|
||||||
|
- name: Check if systemyaml exists
|
||||||
|
become: yes
|
||||||
|
stat:
|
||||||
|
path: "{{ distribution_home }}/var/etc/system.yaml"
|
||||||
|
register: systemyaml
|
||||||
|
|
||||||
|
- name: Configure systemyaml
|
||||||
|
become: yes
|
||||||
|
template:
|
||||||
|
src: "{{ distribution_system_yaml_template }}"
|
||||||
|
dest: "{{ distribution_home }}/var/etc/system.yaml"
|
||||||
|
when:
|
||||||
|
- distribution_systemyaml is defined
|
||||||
|
- distribution_systemyaml|length > 0
|
||||||
|
- distribution_systemyaml_override or (not systemyaml.stat.exists)
|
||||||
|
notify: restart distribution
|
||||||
|
|
||||||
- name: Check if install.sh wrapper script exist
|
- name: Check if install.sh wrapper script exist
|
||||||
become: yes
|
become: yes
|
||||||
stat:
|
stat:
|
||||||
path: "{{ distribution_install_script_path }}/install.sh"
|
path: "{{ distribution_install_script_path }}/install.sh"
|
||||||
register: install_wrapper_script
|
register: install_wrapper_script
|
||||||
when: downloaddistribution.changed
|
when: download_distribution.changed
|
||||||
|
|
||||||
- name: Include interactive installer scripts
|
- name: Include interactive installer scripts
|
||||||
include_vars: script/archive.yml
|
include_vars: script/archive.yml
|
||||||
@@ -71,7 +88,7 @@
|
|||||||
YQ_PATH: "{{ distribution_thirdparty_path }}/yq"
|
YQ_PATH: "{{ distribution_thirdparty_path }}/yq"
|
||||||
when:
|
when:
|
||||||
- install_wrapper_script.stat.exists
|
- install_wrapper_script.stat.exists
|
||||||
- downloaddistribution.changed
|
- download_distribution.changed
|
||||||
|
|
||||||
- name: Ensure {{ distribution_home }}/var/etc/redis exists
|
- name: Ensure {{ distribution_home }}/var/etc/redis exists
|
||||||
become: yes
|
become: yes
|
||||||
@@ -95,23 +112,6 @@
|
|||||||
dest: "{{ distribution_home }}/var/etc/info/installer-info.json"
|
dest: "{{ distribution_home }}/var/etc/info/installer-info.json"
|
||||||
notify: restart distribution
|
notify: restart distribution
|
||||||
|
|
||||||
- name: Check if systemyaml exists
|
|
||||||
become: yes
|
|
||||||
stat:
|
|
||||||
path: "{{ distribution_home }}/var/etc/system.yaml"
|
|
||||||
register: systemyaml
|
|
||||||
|
|
||||||
- name: Configure systemyaml
|
|
||||||
become: yes
|
|
||||||
template:
|
|
||||||
src: "{{ distribution_system_yaml_template }}"
|
|
||||||
dest: "{{ distribution_home }}/var/etc/system.yaml"
|
|
||||||
when:
|
|
||||||
- distribution_systemyaml is defined
|
|
||||||
- distribution_systemyaml|length > 0
|
|
||||||
- distribution_systemyaml_override or (not systemyaml.stat.exists)
|
|
||||||
notify: restart distribution
|
|
||||||
|
|
||||||
- name: Update distribution permissions
|
- name: Update distribution permissions
|
||||||
become: yes
|
become: yes
|
||||||
file:
|
file:
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
# platform collection version
|
# platform collection version
|
||||||
platform_collection_version: 7.21.12
|
platform_collection_version: 7.23.3
|
||||||
|
|
||||||
# indicates were this collection was downlaoded from (galaxy, automation_hub, standalone)
|
# indicates were this collection was downlaoded from (galaxy, automation_hub, standalone)
|
||||||
ansible_marketplace: galaxy
|
ansible_marketplace: galaxy
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
# defaults file for mc
|
# defaults file for mc
|
||||||
|
|
||||||
# The version of missioncontrol to install
|
# The version of missioncontrol to install
|
||||||
missioncontrol_version: 4.7.8
|
missioncontrol_version: 4.7.10
|
||||||
|
|
||||||
# whether to enable HA
|
# whether to enable HA
|
||||||
mc_ha_enabled: false
|
mc_ha_enabled: false
|
||||||
@@ -44,14 +44,14 @@ es_gid: 1060
|
|||||||
mc_es_conf_base: "/etc/elasticsearch"
|
mc_es_conf_base: "/etc/elasticsearch"
|
||||||
mc_es_user: admin
|
mc_es_user: admin
|
||||||
mc_es_password: admin
|
mc_es_password: admin
|
||||||
mc_es_url: "http://localhost:8082"
|
mc_es_url: "http://localhost:9200"
|
||||||
mc_es_base_url: "http://localhost:8082/elasticsearch"
|
mc_es_base_url: "http://localhost:9200/elasticsearch"
|
||||||
mc_es_transport_port: 9300
|
mc_es_transport_port: 9300
|
||||||
|
|
||||||
mc_es_home: "/usr/share/elasticsearch"
|
mc_es_home: "/usr/share/elasticsearch"
|
||||||
mc_es_data_dir: "/var/lib/elasticsearch"
|
mc_es_data_dir: "/var/lib/elasticsearch"
|
||||||
mc_es_log_dir: "/var/log/elasticsearch"
|
mc_es_log_dir: "/var/log/elasticsearch"
|
||||||
mc_es_java_home: "/usr/share/elasticsearch/jdk"
|
mc_es_java_home: "{{ mc_thirdparty_path }}/java"
|
||||||
mc_es_script_path: "/usr/share/elasticsearch/bin"
|
mc_es_script_path: "/usr/share/elasticsearch/bin"
|
||||||
mc_es_searchgaurd_home: "/usr/share/elasticsearch/plugins/search-guard-7"
|
mc_es_searchgaurd_home: "/usr/share/elasticsearch/plugins/search-guard-7"
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,275 @@
|
|||||||
|
# This is the main Search Guard configuration file where authentication
|
||||||
|
# and authorization is defined.
|
||||||
|
#
|
||||||
|
# You need to configure at least one authentication domain in the authc of this file.
|
||||||
|
# An authentication domain is responsible for extracting the user credentials from
|
||||||
|
# the request and for validating them against an authentication backend like Active Directory for example.
|
||||||
|
#
|
||||||
|
# If more than one authentication domain is configured the first one which succeeds wins.
|
||||||
|
# If all authentication domains fail then the request is unauthenticated.
|
||||||
|
# In this case an exception is thrown and/or the HTTP status is set to 401.
|
||||||
|
#
|
||||||
|
# After authentication authorization (authz) will be applied. There can be zero or more authorizers which collect
|
||||||
|
# the roles from a given backend for the authenticated user.
|
||||||
|
#
|
||||||
|
# Both, authc and auth can be enabled/disabled separately for REST and TRANSPORT layer. Default is true for both.
|
||||||
|
# http_enabled: true
|
||||||
|
# transport_enabled: true
|
||||||
|
#
|
||||||
|
# For HTTP it is possible to allow anonymous authentication. If that is the case then the HTTP authenticators try to
|
||||||
|
# find user credentials in the HTTP request. If credentials are found then the user gets regularly authenticated.
|
||||||
|
# If none can be found the user will be authenticated as an "anonymous" user. This user has always the username "sg_anonymous"
|
||||||
|
# and one role named "sg_anonymous_backendrole".
|
||||||
|
# If you enable anonymous authentication all HTTP authenticators will not challenge.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Note: If you define more than one HTTP authenticators make sure to put non-challenging authenticators like "proxy" or "clientcert"
|
||||||
|
# first and the challenging one last.
|
||||||
|
# Because it's not possible to challenge a client with two different authentication methods (for example
|
||||||
|
# Kerberos and Basic) only one can have the challenge flag set to true. You can cope with this situation
|
||||||
|
# by using pre-authentication, e.g. sending a HTTP Basic authentication header in the request.
|
||||||
|
#
|
||||||
|
# Default value of the challenge flag is true.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# HTTP
|
||||||
|
# basic (challenging)
|
||||||
|
# proxy (not challenging, needs xff)
|
||||||
|
# kerberos (challenging) NOT FREE FOR COMMERCIAL
|
||||||
|
# clientcert (not challenging, needs https)
|
||||||
|
# jwt (not challenging) NOT FREE FOR COMMERCIAL
|
||||||
|
# host (not challenging) #DEPRECATED, will be removed in a future version.
|
||||||
|
# host based authentication is configurable in sg_roles_mapping
|
||||||
|
|
||||||
|
# Authc
|
||||||
|
# internal
|
||||||
|
# noop
|
||||||
|
# ldap NOT FREE FOR COMMERCIAL USE
|
||||||
|
|
||||||
|
# Authz
|
||||||
|
# ldap NOT FREE FOR COMMERCIAL USE
|
||||||
|
# noop
|
||||||
|
|
||||||
|
# For more details pls refer to https://docs.search-guard.com/latest/authentication-authorization
|
||||||
|
_sg_meta:
|
||||||
|
type: "config"
|
||||||
|
config_version: 2
|
||||||
|
sg_config:
|
||||||
|
dynamic:
|
||||||
|
# Set filtered_alias_mode to 'disallow' to forbid more than 2 filtered aliases per index
|
||||||
|
# Set filtered_alias_mode to 'warn' to allow more than 2 filtered aliases per index but warns about it (default)
|
||||||
|
# Set filtered_alias_mode to 'nowarn' to allow more than 2 filtered aliases per index silently
|
||||||
|
#filtered_alias_mode: warn
|
||||||
|
#do_not_fail_on_forbidden: false
|
||||||
|
#kibana:
|
||||||
|
# Kibana multitenancy - NOT FREE FOR COMMERCIAL USE
|
||||||
|
# In addition to the config options below you need to set do_not_fail_on_forbidden to true (see above).
|
||||||
|
# Kibana needs to be configured for multi tenancy as well.
|
||||||
|
# See https://docs.search-guard.com/latest/kibana-multi-tenancy for details
|
||||||
|
#multitenancy_enabled: true
|
||||||
|
#server_username: kibanaserver
|
||||||
|
#index: '.kibana'
|
||||||
|
http:
|
||||||
|
anonymous_auth_enabled: true
|
||||||
|
xff:
|
||||||
|
enabled: false
|
||||||
|
internalProxies: '192\.168\.0\.10|192\.168\.0\.11' # regex pattern
|
||||||
|
#internalProxies: '.*' # trust all internal proxies, regex pattern
|
||||||
|
#remoteIpHeader: 'x-forwarded-for'
|
||||||
|
###### see https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html for regex help
|
||||||
|
###### more information about XFF https://en.wikipedia.org/wiki/X-Forwarded-For
|
||||||
|
###### and here https://tools.ietf.org/html/rfc7239
|
||||||
|
###### and https://tomcat.apache.org/tomcat-8.0-doc/config/valve.html#Remote_IP_Valve
|
||||||
|
auth_token_provider: # NOT FREE FOR COMMERCIAL USE
|
||||||
|
# To enable using Search Guard auth tokens, you also need to enable the sg_issued_jwt_auth_domain below.
|
||||||
|
enabled: false
|
||||||
|
# JWTs produced by Search Guard are signed by default with a symmetric HMAC512 hash. For production systems,
|
||||||
|
# you must replace the value specified here by your own key. You can generate a new key for example with:
|
||||||
|
# openssl rand -base64 512 | tr '/+' '_-'
|
||||||
|
# If you want ot use another signature algorithm, you can specify a complete JWK using the attriubute jwt_signing_key.
|
||||||
|
# Refer to the documentation for details.
|
||||||
|
jwt_signing_key_hs512: "eTDZjSqRD9Abhod9iqeGX_7o93a-eElTeXWAF6FmzQshmRIrPD-C9ET3pFjJ_IBrzmWIZDk8ig-X_PIyGmKsxNMsrU-0BNWF5gJq5xOp4rYTl8z66Tw9wr8tHLxLxgJqkLSuUCRBZvlZlQ7jNdhBBxgM-hdSSzsN1T33qdIwhrUeJ-KXI5yKUXHjoWFYb9tETbYQ4NvONowkCsXK_flp-E3F_OcKe_z5iVUszAV8QfCod1zhbya540kDejXCL6N_XMmhWJqum7UJ3hgf6DEtroPSnVpHt4iR5w9ArKK-IBgluPght03gNcoNqwz7p77TFbdOmUKF_PWy1bcdbaUoSg"
|
||||||
|
# JWTs produced by Search Guard are unencrypted by default. Set a key here to activate encryption using AES Key Wrap.
|
||||||
|
# If you want ot use another signature algorithm, you can specify a complete JWK using the attriubute jwt_encryption_key.
|
||||||
|
# Refer to the documentation for details.
|
||||||
|
#jwt_encryption_key_a256kw: "..."
|
||||||
|
# Specify the maximum time period an auth token may be valid. Omit max_validity to have keys with unlimited lifetime.
|
||||||
|
# Note that when creating auth tokens, users can specify an even shorter time period.
|
||||||
|
max_validity: "1y"
|
||||||
|
# This specifies the maximum number of valid tokens a user can have at the same time.
|
||||||
|
max_tokens_per_user: 100
|
||||||
|
authc:
|
||||||
|
kerberos_auth_domain:
|
||||||
|
http_enabled: false
|
||||||
|
transport_enabled: false
|
||||||
|
order: 6
|
||||||
|
http_authenticator:
|
||||||
|
type: kerberos # NOT FREE FOR COMMERCIAL USE
|
||||||
|
challenge: true
|
||||||
|
config:
|
||||||
|
# If true a lot of kerberos/security related debugging output will be logged to standard out
|
||||||
|
krb_debug: false
|
||||||
|
# If true then the realm will be stripped from the user name
|
||||||
|
strip_realm_from_principal: true
|
||||||
|
authentication_backend:
|
||||||
|
type: noop
|
||||||
|
basic_internal_auth_domain:
|
||||||
|
description: "Authenticate via HTTP Basic against internal users database"
|
||||||
|
http_enabled: true
|
||||||
|
transport_enabled: true
|
||||||
|
order: 4
|
||||||
|
http_authenticator:
|
||||||
|
type: basic
|
||||||
|
challenge: true
|
||||||
|
authentication_backend:
|
||||||
|
type: intern
|
||||||
|
proxy_auth_domain:
|
||||||
|
description: "Authenticate via proxy"
|
||||||
|
http_enabled: false
|
||||||
|
transport_enabled: false
|
||||||
|
order: 3
|
||||||
|
http_authenticator:
|
||||||
|
type: proxy
|
||||||
|
challenge: false
|
||||||
|
config:
|
||||||
|
user_header: "x-proxy-user"
|
||||||
|
roles_header: "x-proxy-roles"
|
||||||
|
authentication_backend:
|
||||||
|
type: noop
|
||||||
|
jwt_auth_domain:
|
||||||
|
description: "Authenticate via Json Web Token"
|
||||||
|
http_enabled: false
|
||||||
|
transport_enabled: false
|
||||||
|
order: 0
|
||||||
|
http_authenticator:
|
||||||
|
type: jwt
|
||||||
|
challenge: false
|
||||||
|
config:
|
||||||
|
signing_key: "base64 encoded HMAC key or public RSA/ECDSA pem key"
|
||||||
|
jwt_header: "Authorization"
|
||||||
|
jwt_url_parameter: null
|
||||||
|
roles_key: null
|
||||||
|
subject_key: null
|
||||||
|
authentication_backend:
|
||||||
|
type: noop
|
||||||
|
sg_issued_jwt_auth_domain:
|
||||||
|
description: "Authenticate via Json Web Tokens issued by Search Guard"
|
||||||
|
http_enabled: false
|
||||||
|
# This auth domain is only available for HTTP
|
||||||
|
order: 1
|
||||||
|
http_authenticator:
|
||||||
|
type: sg_auth_token
|
||||||
|
challenge: false
|
||||||
|
# This auth domain automatically pulls configuration from the auth_token_provider config above
|
||||||
|
authentication_backend:
|
||||||
|
type: sg_auth_token
|
||||||
|
clientcert_auth_domain:
|
||||||
|
description: "Authenticate via SSL client certificates"
|
||||||
|
http_enabled: false
|
||||||
|
transport_enabled: false
|
||||||
|
order: 2
|
||||||
|
http_authenticator:
|
||||||
|
type: clientcert
|
||||||
|
config:
|
||||||
|
username_attribute: cn #optional, if omitted DN becomes username
|
||||||
|
challenge: false
|
||||||
|
authentication_backend:
|
||||||
|
type: noop
|
||||||
|
ldap:
|
||||||
|
description: "Authenticate via LDAP or Active Directory"
|
||||||
|
http_enabled: false
|
||||||
|
transport_enabled: false
|
||||||
|
order: 5
|
||||||
|
http_authenticator:
|
||||||
|
type: basic
|
||||||
|
challenge: false
|
||||||
|
authentication_backend:
|
||||||
|
# LDAP authentication backend (authenticate users against a LDAP or Active Directory)
|
||||||
|
type: ldap # NOT FREE FOR COMMERCIAL USE
|
||||||
|
config:
|
||||||
|
# enable ldaps
|
||||||
|
enable_ssl: false
|
||||||
|
# enable start tls, enable_ssl should be false
|
||||||
|
enable_start_tls: false
|
||||||
|
# send client certificate
|
||||||
|
enable_ssl_client_auth: false
|
||||||
|
# verify ldap hostname
|
||||||
|
verify_hostnames: true
|
||||||
|
hosts:
|
||||||
|
- localhost:8389
|
||||||
|
bind_dn: null
|
||||||
|
password: null
|
||||||
|
userbase: 'ou=people,dc=example,dc=com'
|
||||||
|
# Filter to search for users (currently in the whole subtree beneath userbase)
|
||||||
|
# {0} is substituted with the username
|
||||||
|
usersearch: '(sAMAccountName={0})'
|
||||||
|
# Use this attribute from the user as username (if not set then DN is used)
|
||||||
|
username_attribute: null
|
||||||
|
authz:
|
||||||
|
roles_from_myldap:
|
||||||
|
description: "Authorize via LDAP or Active Directory"
|
||||||
|
http_enabled: false
|
||||||
|
transport_enabled: false
|
||||||
|
authorization_backend:
|
||||||
|
# LDAP authorization backend (gather roles from a LDAP or Active Directory, you have to configure the above LDAP authentication backend settings too)
|
||||||
|
type: ldap # NOT FREE FOR COMMERCIAL USE
|
||||||
|
config:
|
||||||
|
# enable ldaps
|
||||||
|
enable_ssl: false
|
||||||
|
# enable start tls, enable_ssl should be false
|
||||||
|
enable_start_tls: false
|
||||||
|
# send client certificate
|
||||||
|
enable_ssl_client_auth: false
|
||||||
|
# verify ldap hostname
|
||||||
|
verify_hostnames: true
|
||||||
|
hosts:
|
||||||
|
- localhost:8389
|
||||||
|
bind_dn: null
|
||||||
|
password: null
|
||||||
|
rolebase: 'ou=groups,dc=example,dc=com'
|
||||||
|
# Filter to search for roles (currently in the whole subtree beneath rolebase)
|
||||||
|
# {0} is substituted with the DN of the user
|
||||||
|
# {1} is substituted with the username
|
||||||
|
# {2} is substituted with an attribute value from user's directory entry, of the authenticated user. Use userroleattribute to specify the name of the attribute
|
||||||
|
rolesearch: '(member={0})'
|
||||||
|
# Specify the name of the attribute which value should be substituted with {2} above
|
||||||
|
userroleattribute: null
|
||||||
|
# Roles as an attribute of the user entry
|
||||||
|
userrolename: disabled
|
||||||
|
#userrolename: memberOf
|
||||||
|
# The attribute in a role entry containing the name of that role, Default is "name".
|
||||||
|
# Can also be "dn" to use the full DN as rolename.
|
||||||
|
rolename: cn
|
||||||
|
# Resolve nested roles transitive (roles which are members of other roles and so on ...)
|
||||||
|
resolve_nested_roles: true
|
||||||
|
userbase: 'ou=people,dc=example,dc=com'
|
||||||
|
# Filter to search for users (currently in the whole subtree beneath userbase)
|
||||||
|
# {0} is substituted with the username
|
||||||
|
usersearch: '(uid={0})'
|
||||||
|
# Skip users matching a user name, a wildcard or a regex pattern
|
||||||
|
#skip_users:
|
||||||
|
# - 'cn=Michael Jackson,ou*people,o=TEST'
|
||||||
|
# - '/\S*/'
|
||||||
|
roles_from_another_ldap:
|
||||||
|
description: "Authorize via another Active Directory"
|
||||||
|
http_enabled: false
|
||||||
|
transport_enabled: false
|
||||||
|
authorization_backend:
|
||||||
|
type: ldap # NOT FREE FOR COMMERCIAL USE
|
||||||
|
#config goes here ...
|
||||||
|
# auth_failure_listeners:
|
||||||
|
# ip_rate_limiting:
|
||||||
|
# type: ip
|
||||||
|
# allowed_tries: 10
|
||||||
|
# time_window_seconds: 3600
|
||||||
|
# block_expiry_seconds: 600
|
||||||
|
# max_blocked_clients: 100000
|
||||||
|
# max_tracked_clients: 100000
|
||||||
|
# internal_authentication_backend_limiting:
|
||||||
|
# type: username
|
||||||
|
# authentication_backend: intern
|
||||||
|
# allowed_tries: 10
|
||||||
|
# time_window_seconds: 3600
|
||||||
|
# block_expiry_seconds: 600
|
||||||
|
# max_blocked_clients: 100000
|
||||||
|
# max_tracked_clients: 100000
|
||||||
@@ -7,7 +7,7 @@
|
|||||||
yum:
|
yum:
|
||||||
name: expect
|
name: expect
|
||||||
state: present
|
state: present
|
||||||
when: ansible_os_family == 'Redhat'
|
when: ansible_os_family == 'RedHat'
|
||||||
|
|
||||||
- name: Install expect dependency
|
- name: Install expect dependency
|
||||||
become: yes
|
become: yes
|
||||||
@@ -35,18 +35,33 @@
|
|||||||
shell: /bin/bash
|
shell: /bin/bash
|
||||||
state: present
|
state: present
|
||||||
|
|
||||||
|
- name: Check if mc tar exists
|
||||||
|
become: yes
|
||||||
|
stat:
|
||||||
|
path: "{{ jfrog_home_directory }}/{{ mc_tar_file_name }}"
|
||||||
|
register: mc_tar_check
|
||||||
|
|
||||||
- name: Download mc
|
- name: Download mc
|
||||||
become: yes
|
become: yes
|
||||||
unarchive:
|
get_url:
|
||||||
src: "{{ mc_tar }}"
|
url: "{{ mc_tar }}"
|
||||||
|
timeout: "{{ mc_download_timeout }}"
|
||||||
dest: "{{ jfrog_home_directory }}"
|
dest: "{{ jfrog_home_directory }}"
|
||||||
remote_src: yes
|
register: download_mc
|
||||||
|
until: download_mc is succeeded
|
||||||
|
retries: 3
|
||||||
|
when: not mc_tar_check.stat.exists
|
||||||
|
|
||||||
|
- name: Extract mc tar
|
||||||
|
become: yes
|
||||||
|
unarchive:
|
||||||
|
src: "{{ jfrog_home_directory }}/{{ mc_tar_file_name }}"
|
||||||
|
dest: "{{ jfrog_home_directory }}"
|
||||||
|
remote_src: true
|
||||||
owner: "{{ mc_user }}"
|
owner: "{{ mc_user }}"
|
||||||
group: "{{ mc_group }}"
|
group: "{{ mc_group }}"
|
||||||
creates: "{{ mc_untar_home }}"
|
creates: "{{ mc_untar_home }}"
|
||||||
register: downloadmc
|
when: download_mc is succeeded
|
||||||
until: downloadmc is succeeded
|
|
||||||
retries: 3
|
|
||||||
|
|
||||||
- name: Check if app directory exists
|
- name: Check if app directory exists
|
||||||
become: yes
|
become: yes
|
||||||
|
|||||||
@@ -1,6 +1,10 @@
|
|||||||
- name: perform installation
|
- name: perform installation
|
||||||
include_tasks: "install.yml"
|
include_tasks: "install.yml"
|
||||||
when: not mc_upgrade_only
|
when:
|
||||||
|
- mc_enabled
|
||||||
|
- not mc_upgrade_only
|
||||||
- name: perform upgrade
|
- name: perform upgrade
|
||||||
include_tasks: "upgrade.yml"
|
include_tasks: "upgrade.yml"
|
||||||
when: mc_upgrade_only
|
when:
|
||||||
|
- mc_enabled
|
||||||
|
- mc_upgrade_only
|
||||||
@@ -87,7 +87,7 @@
|
|||||||
- --strip-components=1
|
- --strip-components=1
|
||||||
owner: elasticsearch
|
owner: elasticsearch
|
||||||
group: elasticsearch
|
group: elasticsearch
|
||||||
creates: "{{ mc_es_java_home }}"
|
creates: "{{ mc_es_script_path }}"
|
||||||
register: unarchive_result
|
register: unarchive_result
|
||||||
when: check_elasticsearch_package_result.matched > 0
|
when: check_elasticsearch_package_result.matched > 0
|
||||||
|
|
||||||
@@ -159,12 +159,20 @@
|
|||||||
environment:
|
environment:
|
||||||
ES_JAVA_HOME: "{{ mc_es_java_home }}"
|
ES_JAVA_HOME: "{{ mc_es_java_home }}"
|
||||||
ES_PATH_CONF: "{{ mc_es_conf_base }}/"
|
ES_PATH_CONF: "{{ mc_es_conf_base }}/"
|
||||||
register: start_elasticsearch_result
|
register: start_elasticsearch
|
||||||
when: unarchive_result.extract_results.rc | default(128) == 0
|
when: unarchive_result.extract_results.rc | default(128) == 0
|
||||||
|
|
||||||
- name: Wait for elasticsearch to start
|
- name: Wait for elasticsearch to start
|
||||||
pause:
|
pause:
|
||||||
seconds: 15
|
seconds: 30
|
||||||
|
when: start_elasticsearch.changed
|
||||||
|
|
||||||
|
- name: Check if elasticsearch is running
|
||||||
|
wait_for:
|
||||||
|
host: localhost
|
||||||
|
port: "{{ mc_es_transport_port }}"
|
||||||
|
delay: 5
|
||||||
|
connect_timeout: 1
|
||||||
|
|
||||||
- name: Init searchguard plugin
|
- name: Init searchguard plugin
|
||||||
become: yes
|
become: yes
|
||||||
|
|||||||
@@ -22,7 +22,6 @@
|
|||||||
|
|
||||||
- name: Install searchguard plugin
|
- name: Install searchguard plugin
|
||||||
become: yes
|
become: yes
|
||||||
become_user: elasticsearch
|
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
shell: |
|
shell: |
|
||||||
{{ mc_es_script_path }}/elasticsearch-plugin install \
|
{{ mc_es_script_path }}/elasticsearch-plugin install \
|
||||||
@@ -57,6 +56,7 @@
|
|||||||
loop:
|
loop:
|
||||||
- "sg_roles.yml"
|
- "sg_roles.yml"
|
||||||
- "sg_roles_mapping.yml"
|
- "sg_roles_mapping.yml"
|
||||||
|
- "sg_config.yml"
|
||||||
|
|
||||||
- name: Check execution bit
|
- name: Check execution bit
|
||||||
become: yes
|
become: yes
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
shell: |
|
shell: |
|
||||||
{{ mc_es_script_path }}/elasticsearch-plugin remove {{ check_searchguard_bundle_result.files[0].path }}
|
{{ mc_es_script_path }}/elasticsearch-plugin remove {{ check_searchguard_bundle_result.files[0].path }}
|
||||||
environment:
|
environment:
|
||||||
JAVA_HOME: "{{ mc_es_java_home }}"
|
ES_JAVA_HOME: "{{ mc_es_java_home }}"
|
||||||
ES_PATH_CONF: "{{ mc_es_conf_base }}/config"
|
ES_PATH_CONF: "{{ mc_es_conf_base }}/config"
|
||||||
register: remove_searchguard_result
|
register: remove_searchguard_result
|
||||||
when: check_searchguard_bundle_result.matched == 1
|
when: check_searchguard_bundle_result.matched == 1
|
||||||
@@ -75,6 +75,7 @@
|
|||||||
- --exclude=config
|
- --exclude=config
|
||||||
owner: elasticsearch
|
owner: elasticsearch
|
||||||
group: elasticsearch
|
group: elasticsearch
|
||||||
|
creates: "{{ mc_es_script_path }}"
|
||||||
register: unarchive_result
|
register: unarchive_result
|
||||||
when: check_elasticsearch_package_result.matched > 0
|
when: check_elasticsearch_package_result.matched > 0
|
||||||
|
|
||||||
@@ -107,4 +108,16 @@
|
|||||||
ES_JAVA_HOME: "{{ mc_es_java_home }}"
|
ES_JAVA_HOME: "{{ mc_es_java_home }}"
|
||||||
ES_PATH_CONF: "{{ mc_es_conf_base }}/"
|
ES_PATH_CONF: "{{ mc_es_conf_base }}/"
|
||||||
when: unarchive_result.extract_results.rc | default(128) == 0
|
when: unarchive_result.extract_results.rc | default(128) == 0
|
||||||
register: start_elastcsearch_upgraded
|
register: start_elastcsearch
|
||||||
|
|
||||||
|
- name: Wait for elasticsearch to start
|
||||||
|
pause:
|
||||||
|
seconds: 30
|
||||||
|
when: start_elasticsearch.changed
|
||||||
|
|
||||||
|
- name: Check if elasticsearch is running
|
||||||
|
wait_for:
|
||||||
|
host: localhost
|
||||||
|
port: "{{ mc_es_transport_port }}"
|
||||||
|
delay: 5
|
||||||
|
connect_timeout: 1
|
||||||
|
|||||||
@@ -31,7 +31,6 @@
|
|||||||
|
|
||||||
- name: Install searchguard plugin
|
- name: Install searchguard plugin
|
||||||
become: yes
|
become: yes
|
||||||
become_user: elasticsearch
|
|
||||||
ignore_errors: yes
|
ignore_errors: yes
|
||||||
shell: |
|
shell: |
|
||||||
{{ mc_es_script_path }}/elasticsearch-plugin install \
|
{{ mc_es_script_path }}/elasticsearch-plugin install \
|
||||||
|
|||||||
@@ -14,8 +14,8 @@
|
|||||||
url: "{{ mc_tar }}"
|
url: "{{ mc_tar }}"
|
||||||
timeout: "{{ mc_download_timeout }}"
|
timeout: "{{ mc_download_timeout }}"
|
||||||
dest: "{{ jfrog_home_directory }}"
|
dest: "{{ jfrog_home_directory }}"
|
||||||
register: downloadmc
|
register: download_mc
|
||||||
until: downloadmc is succeeded
|
until: download_mc is succeeded
|
||||||
retries: 3
|
retries: 3
|
||||||
when: not mc_tar_check.stat.exists
|
when: not mc_tar_check.stat.exists
|
||||||
|
|
||||||
@@ -28,68 +28,37 @@
|
|||||||
owner: "{{ mc_user }}"
|
owner: "{{ mc_user }}"
|
||||||
group: "{{ mc_group }}"
|
group: "{{ mc_group }}"
|
||||||
creates: "{{ mc_untar_home }}"
|
creates: "{{ mc_untar_home }}"
|
||||||
when: downloadmc is succeeded
|
when: download_mc is succeeded
|
||||||
|
|
||||||
- name: Stop mc service
|
- name: Stop mc service
|
||||||
become: yes
|
become: yes
|
||||||
systemd:
|
systemd:
|
||||||
name: "{{ mc_daemon }}"
|
name: "{{ mc_daemon }}"
|
||||||
state: stopped
|
state: stopped
|
||||||
when: downloadmc.changed
|
when: download_mc.changed
|
||||||
|
|
||||||
- name: Delete current app folder
|
- name: Delete current app folder
|
||||||
become: yes
|
become: yes
|
||||||
file:
|
file:
|
||||||
path: "{{ mc_home }}/app"
|
path: "{{ mc_home }}/app"
|
||||||
state: absent
|
state: absent
|
||||||
when: downloadmc.changed
|
when: download_mc.changed
|
||||||
|
|
||||||
- name: Copy new app to mc app
|
- name: Copy new app to mc app
|
||||||
command: "cp -r {{ mc_untar_home }}/app/. {{ mc_home }}/app"
|
command: "cp -r {{ mc_untar_home }}/app/. {{ mc_home }}/app"
|
||||||
become: yes
|
become: yes
|
||||||
when: downloadmc.changed
|
when: download_mc.changed
|
||||||
|
|
||||||
- name: Delete untar directory
|
- name: Delete untar directory
|
||||||
file:
|
file:
|
||||||
path: "{{ mc_untar_home }}"
|
path: "{{ mc_untar_home }}"
|
||||||
state: absent
|
state: absent
|
||||||
become: yes
|
become: yes
|
||||||
when: downloadmc.changed
|
when: download_mc.changed
|
||||||
|
|
||||||
- name: Upgrade elasticsearch
|
- name: Upgrade elasticsearch
|
||||||
import_tasks: upgrade-elasticsearch.yml
|
import_tasks: upgrade-elasticsearch.yml
|
||||||
when: downloadmc.changed
|
when: download_mc.changed
|
||||||
|
|
||||||
- name: Check if install.sh wrapper script exist
|
|
||||||
become: yes
|
|
||||||
stat:
|
|
||||||
path: "{{ mc_install_script_path }}/install.sh"
|
|
||||||
register: upgrade_wrapper_script
|
|
||||||
when: downloadmc.changed
|
|
||||||
|
|
||||||
- name: Include interactive installer scripts
|
|
||||||
include_vars: script/archive.yml
|
|
||||||
|
|
||||||
- name: Upgrade JFMC
|
|
||||||
include_tasks: expect.yml
|
|
||||||
vars:
|
|
||||||
exp_executable_cmd: "./install.sh -u {{ mc_user }} -g {{ mc_group }}"
|
|
||||||
exp_dir: "{{ mc_install_script_path }}"
|
|
||||||
exp_scenarios: "{{ mc_installer_scenario['main'] }}"
|
|
||||||
args:
|
|
||||||
apply:
|
|
||||||
environment:
|
|
||||||
YQ_PATH: "{{ mc_thirdparty_path }}/yq"
|
|
||||||
when:
|
|
||||||
- upgrade_wrapper_script.stat.exists
|
|
||||||
- downloadmc.changed
|
|
||||||
|
|
||||||
- name: Configure installer info
|
|
||||||
become: yes
|
|
||||||
template:
|
|
||||||
src: installer-info.json.j2
|
|
||||||
dest: "{{ mc_home }}/var/etc/info/installer-info.json"
|
|
||||||
notify: restart missioncontrol
|
|
||||||
|
|
||||||
- name: Check if systemyaml exists
|
- name: Check if systemyaml exists
|
||||||
become: yes
|
become: yes
|
||||||
@@ -108,6 +77,37 @@
|
|||||||
- mc_systemyaml_override or (not systemyaml.stat.exists)
|
- mc_systemyaml_override or (not systemyaml.stat.exists)
|
||||||
notify: restart missioncontrol
|
notify: restart missioncontrol
|
||||||
|
|
||||||
|
- name: Check if install.sh wrapper script exist
|
||||||
|
become: yes
|
||||||
|
stat:
|
||||||
|
path: "{{ mc_install_script_path }}/install.sh"
|
||||||
|
register: upgrade_wrapper_script
|
||||||
|
when: download_mc.changed
|
||||||
|
|
||||||
|
- name: Include interactive installer scripts
|
||||||
|
include_vars: script/archive.yml
|
||||||
|
|
||||||
|
- name: Upgrade JFMC
|
||||||
|
include_tasks: expect.yml
|
||||||
|
vars:
|
||||||
|
exp_executable_cmd: "./install.sh -u {{ mc_user }} -g {{ mc_group }}"
|
||||||
|
exp_dir: "{{ mc_install_script_path }}"
|
||||||
|
exp_scenarios: "{{ mc_installer_scenario['main'] }}"
|
||||||
|
args:
|
||||||
|
apply:
|
||||||
|
environment:
|
||||||
|
YQ_PATH: "{{ mc_thirdparty_path }}/yq"
|
||||||
|
when:
|
||||||
|
- upgrade_wrapper_script.stat.exists
|
||||||
|
- download_mc.changed
|
||||||
|
|
||||||
|
- name: Configure installer info
|
||||||
|
become: yes
|
||||||
|
template:
|
||||||
|
src: installer-info.json.j2
|
||||||
|
dest: "{{ mc_home }}/var/etc/info/installer-info.json"
|
||||||
|
notify: restart missioncontrol
|
||||||
|
|
||||||
- name: Update correct permissions
|
- name: Update correct permissions
|
||||||
become: yes
|
become: yes
|
||||||
file:
|
file:
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
# platform collection version
|
# platform collection version
|
||||||
platform_collection_version: 7.21.12
|
platform_collection_version: 7.23.3
|
||||||
|
|
||||||
# indicates were this collection was downlaoded from (galaxy, automation_hub, standalone)
|
# indicates were this collection was downlaoded from (galaxy, automation_hub, standalone)
|
||||||
ansible_marketplace: galaxy
|
ansible_marketplace: galaxy
|
||||||
@@ -14,7 +14,7 @@ mc_installer_scenario:
|
|||||||
}
|
}
|
||||||
- {
|
- {
|
||||||
"expecting": "please specify the ip address of this machine(?!.*Skipping prompt)",
|
"expecting": "please specify the ip address of this machine(?!.*Skipping prompt)",
|
||||||
"sending": "{% if mc_ha_node_type is defined and mc_ha_node_type == 'master' %}{{ ansible_host }}{% else %}{{ ansible_host }}{% endif %}"
|
"sending": "{{ ansible_host }}"
|
||||||
}
|
}
|
||||||
- {
|
- {
|
||||||
"expecting": "are you adding an additional node",
|
"expecting": "are you adding an additional node",
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
- name: Install postgres
|
- name: Install postgres
|
||||||
include_tasks: "install.yml"
|
include_tasks: "install.yml"
|
||||||
when:
|
when: postgres_enabled
|
||||||
- postgres_enabled
|
|
||||||
|
|||||||
@@ -2,9 +2,6 @@
|
|||||||
- debug:
|
- debug:
|
||||||
msg: "Performing installation of Xray version : {{ xray_version }}"
|
msg: "Performing installation of Xray version : {{ xray_version }}"
|
||||||
|
|
||||||
- debug:
|
|
||||||
msg: "ansible_os_family: {{ ansible_os_family }}"
|
|
||||||
|
|
||||||
- name: Install expect dependency
|
- name: Install expect dependency
|
||||||
become: yes
|
become: yes
|
||||||
yum:
|
yum:
|
||||||
@@ -50,8 +47,8 @@
|
|||||||
url: "{{ xray_tar }}"
|
url: "{{ xray_tar }}"
|
||||||
timeout: "{{ xray_download_timeout }}"
|
timeout: "{{ xray_download_timeout }}"
|
||||||
dest: "{{ jfrog_home_directory }}"
|
dest: "{{ jfrog_home_directory }}"
|
||||||
register: downloadxray
|
register: download_xray
|
||||||
until: downloadxray is succeeded
|
until: download_xray is succeeded
|
||||||
retries: 3
|
retries: 3
|
||||||
when: not xray_tar_check.stat.exists
|
when: not xray_tar_check.stat.exists
|
||||||
|
|
||||||
@@ -64,7 +61,7 @@
|
|||||||
owner: "{{ xray_user }}"
|
owner: "{{ xray_user }}"
|
||||||
group: "{{ xray_group }}"
|
group: "{{ xray_group }}"
|
||||||
creates: "{{ xray_untar_home }}"
|
creates: "{{ xray_untar_home }}"
|
||||||
when: downloadxray is succeeded
|
when: download_xray is succeeded
|
||||||
|
|
||||||
- name: Check if app directory exists
|
- name: Check if app directory exists
|
||||||
become: yes
|
become: yes
|
||||||
@@ -135,6 +132,13 @@
|
|||||||
dest: "{{ xray_home }}/app/bin/rabbitmq/rabbitmq.conf"
|
dest: "{{ xray_home }}/app/bin/rabbitmq/rabbitmq.conf"
|
||||||
notify: restart xray
|
notify: restart xray
|
||||||
|
|
||||||
|
- name: Configure installer info
|
||||||
|
become: yes
|
||||||
|
template:
|
||||||
|
src: installer-info.json.j2
|
||||||
|
dest: "{{ xray_home }}/var/etc/info/installer-info.json"
|
||||||
|
notify: restart xray
|
||||||
|
|
||||||
- name: Check if systemyaml exists
|
- name: Check if systemyaml exists
|
||||||
become: yes
|
become: yes
|
||||||
stat:
|
stat:
|
||||||
@@ -152,13 +156,6 @@
|
|||||||
- xray_systemyaml_override or (not systemyaml.stat.exists)
|
- xray_systemyaml_override or (not systemyaml.stat.exists)
|
||||||
notify: restart xray
|
notify: restart xray
|
||||||
|
|
||||||
- name: Configure installer info
|
|
||||||
become: yes
|
|
||||||
template:
|
|
||||||
src: installer-info.json.j2
|
|
||||||
dest: "{{ xray_home }}/var/etc/info/installer-info.json"
|
|
||||||
notify: restart xray
|
|
||||||
|
|
||||||
- name: Ensure permissions are correct
|
- name: Ensure permissions are correct
|
||||||
become: yes
|
become: yes
|
||||||
file:
|
file:
|
||||||
|
|||||||
@@ -14,8 +14,8 @@
|
|||||||
url: "{{ xray_tar }}"
|
url: "{{ xray_tar }}"
|
||||||
timeout: "{{ xray_download_timeout }}"
|
timeout: "{{ xray_download_timeout }}"
|
||||||
dest: "{{ jfrog_home_directory }}"
|
dest: "{{ jfrog_home_directory }}"
|
||||||
register: downloadxray
|
register: download_xray
|
||||||
until: downloadxray is succeeded
|
until: download_xray is succeeded
|
||||||
retries: 3
|
retries: 3
|
||||||
when: not xray_tar_check.stat.exists
|
when: not xray_tar_check.stat.exists
|
||||||
|
|
||||||
@@ -28,38 +28,38 @@
|
|||||||
owner: "{{ xray_user }}"
|
owner: "{{ xray_user }}"
|
||||||
group: "{{ xray_group }}"
|
group: "{{ xray_group }}"
|
||||||
creates: "{{ xray_untar_home }}"
|
creates: "{{ xray_untar_home }}"
|
||||||
when: downloadxray is succeeded
|
when: download_xray is succeeded
|
||||||
|
|
||||||
- name: stop xray
|
- name: stop xray
|
||||||
become: yes
|
become: yes
|
||||||
systemd:
|
systemd:
|
||||||
name: "{{ xray_daemon }}"
|
name: "{{ xray_daemon }}"
|
||||||
state: stopped
|
state: stopped
|
||||||
when: downloadxray.changed
|
when: download_xray.changed
|
||||||
|
|
||||||
- name: Delete xray app
|
- name: Delete xray app
|
||||||
become: yes
|
become: yes
|
||||||
file:
|
file:
|
||||||
path: "{{ xray_home }}/app"
|
path: "{{ xray_home }}/app"
|
||||||
state: absent
|
state: absent
|
||||||
when: downloadxray.changed
|
when: download_xray.changed
|
||||||
|
|
||||||
- name: Copy new app to xray app
|
- name: Copy new app to xray app
|
||||||
become: yes
|
become: yes
|
||||||
command: "cp -r {{ xray_untar_home }}/app/. {{ xray_home }}/app"
|
command: "cp -r {{ xray_untar_home }}/app/. {{ xray_home }}/app"
|
||||||
when: downloadxray.changed
|
when: download_xray.changed
|
||||||
|
|
||||||
- name: Upgrade rabbitmq
|
- name: Upgrade rabbitmq
|
||||||
import_tasks: rabbitmq/upgrade/RedHat.yml
|
import_tasks: rabbitmq/upgrade/RedHat.yml
|
||||||
when:
|
when:
|
||||||
- ansible_os_family == 'RedHat'
|
- ansible_os_family == 'RedHat'
|
||||||
- downloadxray.changed
|
- download_xray.changed
|
||||||
|
|
||||||
- name: Upgrade rabbitmq
|
- name: Upgrade rabbitmq
|
||||||
import_tasks: rabbitmq/upgrade/Debian.yml
|
import_tasks: rabbitmq/upgrade/Debian.yml
|
||||||
when:
|
when:
|
||||||
- ansible_os_family == 'Debian'
|
- ansible_os_family == 'Debian'
|
||||||
- downloadxray.changed
|
- download_xray.changed
|
||||||
|
|
||||||
- name: Check if install.sh wrapper script exist
|
- name: Check if install.sh wrapper script exist
|
||||||
become: yes
|
become: yes
|
||||||
@@ -82,7 +82,7 @@
|
|||||||
YQ_PATH: "{{ xray_thirdparty_path }}/yq"
|
YQ_PATH: "{{ xray_thirdparty_path }}/yq"
|
||||||
when:
|
when:
|
||||||
- install_wrapper_script.stat.exists
|
- install_wrapper_script.stat.exists
|
||||||
- downloadxray.changed
|
- download_xray.changed
|
||||||
|
|
||||||
- name: Configure rabbitmq config
|
- name: Configure rabbitmq config
|
||||||
become: yes
|
become: yes
|
||||||
@@ -90,7 +90,7 @@
|
|||||||
src: "rabbitmq.conf.j2"
|
src: "rabbitmq.conf.j2"
|
||||||
dest: "{{ xray_home }}/app/bin/rabbitmq/rabbitmq.conf"
|
dest: "{{ xray_home }}/app/bin/rabbitmq/rabbitmq.conf"
|
||||||
when:
|
when:
|
||||||
- downloadxray.changed
|
- download_xray.changed
|
||||||
notify: restart xray
|
notify: restart xray
|
||||||
|
|
||||||
- name: Check if systemyaml exists
|
- name: Check if systemyaml exists
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
# platform collection version
|
# platform collection version
|
||||||
platform_collection_version: 7.21.12
|
platform_collection_version: 7.23.3
|
||||||
|
|
||||||
# indicates were this collection was downlaoded from (galaxy, automation_hub, standalone)
|
# indicates were this collection was downlaoded from (galaxy, automation_hub, standalone)
|
||||||
ansible_marketplace: galaxy
|
ansible_marketplace: galaxy
|
||||||
Reference in New Issue
Block a user