---
- name: "π¦ Install & activate {{ SHOPWARE_OIDC_PLUGIN }}"
ansible.builtin.shell:
cmd: >- # nocheck: container-exec-resolver runtime-resolved CID, delegated to the hosting node
container exec -i --user {{ SHOPWARE_USER }}
-e SHOPWARE_ROOT={{ SHOPWARE_ROOT | quote }}
-e PLUGIN_NAME={{ SHOPWARE_OIDC_PLUGIN | quote }}
{{ SHOPWARE_WEB_LOCAL_CID | quote }}
sh
stdin: |
set -e
cd "$SHOPWARE_ROOT"
php bin/console plugin:refresh
installed="$(php bin/console plugin:install --activate "$PLUGIN_NAME")"
printf '%s\n' "$installed"
printf '%s' "$installed" | grep -qi installed
changed_when: false
- name: "π Ensure the Keycloak login provider is configured"
ansible.builtin.shell:
cmd: >- # nocheck: container-exec-resolver runtime-resolved CID, delegated to the hosting node
container exec -i --user {{ SHOPWARE_USER }}
-e SHOPWARE_API_BASE={{ SHOPWARE_API_BASE | quote }}
-e ADMIN_USER={{ lookup('users', 'administrator').username | quote }}
-e ADMIN_PASSWORD={{ lookup('users', 'administrator').password | quote }}
-e OIDC_AUTH_SERVER={{ OIDC.URL | quote }}
-e OIDC_INTERNAL_BASE={{ SHOPWARE_OIDC_INTERNAL_BASE | quote }}
-e OIDC_REALM={{ OIDC.CLIENT.REALM | quote }}
-e OIDC_CLIENT_ID={{ OIDC.CLIENT.ID | quote }}
-e OIDC_CLIENT_SECRET={{ OIDC.CLIENT.SECRET | quote }}
{{ SHOPWARE_WEB_LOCAL_CID | quote }}
php
stdin: "{{ lookup('ansible.builtin.file', role_path ~ '/files/php/oidc/client.php') }}"
changed_when: false
no_log: "{{ MASK_CREDENTIALS_IN_LOGS | bool }}"
- name: "β»οΈ Clear the cache so the provider is discovered"
ansible.builtin.shell:
cmd: >- # nocheck: container-exec-resolver runtime-resolved CID, delegated to the hosting node
container exec -i --user {{ SHOPWARE_USER }}
-e SHOPWARE_ROOT={{ SHOPWARE_ROOT | quote }}
{{ SHOPWARE_WEB_LOCAL_CID | quote }}
sh
stdin: |
set -e
cd "$SHOPWARE_ROOT"
php bin/console cache:clear
changed_when: false