--- # Detect if already installed, and if an upgrade is needed - import_tasks: ../includes/webapps_set_install_mode.yml vars: - root_dir: "{{ graylog_root_dir }}" - version: "{{ graylog_version }}" tags: graylog - set_fact: graylog_install_mode={{ (install_mode == 'upgrade' and not graylog_manage_upgrade) | ternary('none',install_mode) }} tags: graylog - set_fact: graylog_current_version={{ current_version | default('') }} tags: graylog # Try to read mongo admin pass - name: Check if mongo pass file exists stat: path=/root/.mongo.pw register: graylog_mongo_pw tags: graylog - when: graylog_mongo_pw.stat.exists and mongo_admin_pass is not defined block: - slurp: src=/root/.mongo.pw register: graylog_mongo_admin_pass - set_fact: mongo_admin_pass={{ graylog_mongo_admin_pass.content | b64decode | trim }} tags: graylog - fail: msg='mongo_admin_pass must be provided' when: not graylog_mongo_pw.stat.exists and mongo_admin_pass is not defined tags: graylog - name: Remove randomly generated admin password file: path={{ graylog_root_dir }}/meta/admin_pass state=absent when: graylog_admin_pass is defined tags: graylog - name: Remove randomly generated password secret file: path={{ graylog_root_dir }}/meta/pass_secret state=absent when: graylog_pass_secret is defined tags: graylog - import_tasks: ../includes/get_rand_pass.yml vars: - pass_file: "{{ graylog_root_dir }}/meta/pass_secret" when: graylog_pass_secret is not defined tags: graylog - set_fact: graylog_pass_secret={{ rand_pass }} when: graylog_pass_secret is not defined tags: graylog - import_tasks: ../includes/get_rand_pass.yml vars: - pass_file: "{{ graylog_root_dir }}/meta/admin_pass" when: graylog_admin_pass is not defined tags: graylog - set_fact: graylog_admin_pass={{ rand_pass }} when: graylog_admin_pass is not defined tags: graylog # If only one mongo url is given and graylog_mongo_pass is not defined, # parse the password from the url, or generate one - debug: msg: | graylog_mongo_url is '{{ graylog_mongo_url }}' parsed pass is "{{ graylog_mongo_url[0] | urlsplit('password') }}" tags: graylog - name: Parse password from the first mongo URL set_fact: graylog_mongo_pass={{ graylog_mongo_url[0] | urlsplit('password') | urldecode }} when: - graylog_mongo_url | length == 1 - graylog_mongo_pass is not defined - graylog_mongo_url[0] | urlsplit('password') is string tags: mongo # Create a random password for mongo - block: - import_tasks: ../includes/get_rand_pass.yml vars: - pass_file: "{{ graylog_root_dir }}/meta/mongo_pass" - set_fact: graylog_mongo_pass={{ rand_pass }} when: - graylog_mongo_url | length == 1 - graylog_mongo_pass is not defined tags: graylog