ansible-role-sso/tasks/hydra-create-client.yml
Laurent Gourvenec fe88269c9f Add tasks to create only 1 client (#11)
Rational: adding a client seems inoffensive. Updating a client on the other hand is not (removing then adding a client).
Co-authored-by: Laurent Gourvénec <lgourvenec@cadoles.com>
Reviewed-on: #11
Co-authored-by: Laurent Gourvenec <lgourvenec@cadoles.com>
Co-committed-by: Laurent Gourvenec <lgourvenec@cadoles.com>
2023-07-13 10:19:04 +02:00

26 lines
994 B
YAML

---
# Simple task to create 1 client for hydra. Fails if the client already exists.
# Parameter: client_id
- fail: msg='Error, client does not exist. Please define the client first'
when: hydra_clients|selectattr("client_id", "equalto", client_id)|list|length == 0
# Creating a client which already exists could create problems
- name: Check client doesn't already exists
command: podman exec -t cadoles-pod-hydra-v1 /bin/sh -c "hydra clients get {{ client_id }} --endpoint http://127.0.0.1:4445"
register: command_result
failed_when: command_result.rc == 0
become: true
- name: Create hydra-client
template:
src: hydra-client.json.j2
dest: "/etc/hydra/clients.d/{{ item.client_id }}.json"
with_items: "{{ hydra_clients }}"
when: item.client_id == client_id
become: true
- name: Import client
command: podman exec -t cadoles-pod-hydra-v1 /bin/sh -c "hydra clients import /etc/hydra/clients.d/{{ client_id }}.json --endpoint http://127.0.0.1:4445"
become: true