--- - name: Prepare hosts: all vars_files: - ../group_vars/all/vars.yml gather_facts: yes vars: sudo_pkg_name: sudo tasks: - name: "Run preparation common to all scenario" ansible.builtin.include_tasks: ../prepare.yml - name: Create controller directory for downloads ansible.builtin.file: # noqa risky-file-permissions delegated, uses controller host user path: /tmp/keycloak state: directory mode: '0750' delegate_to: localhost run_once: true - name: Download keycloak archive to controller directory ansible.builtin.get_url: # noqa risky-file-permissions delegated, uses controller host user url: https://github.com/keycloak/keycloak/releases/download/26.6.2/keycloak-26.6.2.zip dest: /tmp/keycloak mode: '0640' delegate_to: localhost run_once: true ignore_errors: true - name: Attempt RHBK download using redhat.runtimes_common collection when: - rhn_username is defined - rhn_username | length > 0 block: - name: Retrieve RHBK product download using Unified Downloads API middleware_automation.common.product_search: client_id: "{{ rhn_username }}" client_secret: "{{ rhn_password }}" product_type: DISTRIBUTION product_version: "{{ keycloak_quarkus_version | default('26.6.2') }}" product_category: "RHBK" register: rhn_products no_log: "{{ omit_rhn_output | default(true) }}" delegate_to: localhost run_once: true ignore_errors: true - name: Determine install zipfile from search results ansible.builtin.set_fact: rhn_matched_products: "{{ rhn_products.results | selectattr('file_name', 'match', '.*keycloak-' + (keycloak_quarkus_version | default('26.6.2')) + '.zip$') }}" delegate_to: localhost run_once: true when: - rhn_products is defined - rhn_products.results is defined - name: Download Red Hat Build of Keycloak middleware_automation.common.product_download: client_id: "{{ rhn_username }}" client_secret: "{{ rhn_password }}" product_id: "{{ (rhn_matched_products | first).id }}" dest: "/tmp/keycloak/keycloak-{{ keycloak_quarkus_version | default('26.6.2') }}.zip" no_log: "{{ omit_rhn_output | default(true) }}" delegate_to: localhost run_once: true when: - rhn_matched_products is defined - rhn_matched_products | length > 0 ignore_errors: true