From 74d875eba649e4dfdde15185e46eaeb0b1cc806d Mon Sep 17 00:00:00 2001 From: Tadas Sutkaitis Date: Wed, 12 Aug 2026 03:14:46 +0300 Subject: [PATCH] feat(keycloak): make Helm timeout configurable (#4248) Signed-off-by: Tadas Sutkaitis (cherry picked from commit 26aae5142b046bce3d45ca90a846ab23b535913a) --- ...oak-configurable-helm-timeout-c42f4fcbff6cb47c.yaml | 5 +++++ roles/keycloak/README.md | 10 ++++++++++ roles/keycloak/defaults/main.yml | 5 +++++ roles/keycloak/tasks/main.yml | 2 +- 4 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 releasenotes/notes/keycloak-configurable-helm-timeout-c42f4fcbff6cb47c.yaml diff --git a/releasenotes/notes/keycloak-configurable-helm-timeout-c42f4fcbff6cb47c.yaml b/releasenotes/notes/keycloak-configurable-helm-timeout-c42f4fcbff6cb47c.yaml new file mode 100644 index 0000000000..1b41892859 --- /dev/null +++ b/releasenotes/notes/keycloak-configurable-helm-timeout-c42f4fcbff6cb47c.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + The Keycloak role now exposes ``keycloak_helm_timeout`` to configure how + long Helm operations may run. diff --git a/roles/keycloak/README.md b/roles/keycloak/README.md index 8659934881..925d1f9609 100644 --- a/roles/keycloak/README.md +++ b/roles/keycloak/README.md @@ -1 +1,11 @@ # `keycloak` + +## Configuration + +`keycloak_helm_timeout` sets the maximum time allowed for Keycloak Helm +operations. It accepts a Go duration string such as `15m0s` and defaults to +`10m0s`. + +```yaml +keycloak_helm_timeout: 15m0s +``` diff --git a/roles/keycloak/defaults/main.yml b/roles/keycloak/defaults/main.yml index ae1f82ba64..cdb7e7deaf 100644 --- a/roles/keycloak/defaults/main.yml +++ b/roles/keycloak/defaults/main.yml @@ -20,6 +20,11 @@ keycloak_helm_release_namespace: auth-system keycloak_helm_kubeconfig: "{{ kubeconfig_path | default('/etc/kubernetes/admin.conf') }}" keycloak_helm_values: {} +# Time to wait for Helm operations to complete, using Go duration syntax. +# +# keycloak_helm_timeout: 15m0s +keycloak_helm_timeout: 10m0s + keycloak_host: "{{ undef('You must specify a Keycloak host using keycloak_host') }}" keycloak_ingress_annotations: {} keycloak_ingress_class_name: "{{ atmosphere_ingress_class_name }}" diff --git a/roles/keycloak/tasks/main.yml b/roles/keycloak/tasks/main.yml index 933a336258..5202e64de6 100644 --- a/roles/keycloak/tasks/main.yml +++ b/roles/keycloak/tasks/main.yml @@ -77,7 +77,7 @@ create_namespace: true kubeconfig: "{{ keycloak_helm_kubeconfig }}" wait: true - timeout: 10m + timeout: "{{ keycloak_helm_timeout }}" values: "{{ _keycloak_helm_values | combine(keycloak_helm_values, recursive=True) }}" - name: Wait until keycloak ready