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 324ab43552..23042d8834 100644 --- a/roles/keycloak/defaults/main.yml +++ b/roles/keycloak/defaults/main.yml @@ -19,6 +19,11 @@ keycloak_helm_chart_ref: /usr/local/src/keycloak keycloak_helm_release_namespace: auth-system 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 49c9c83509..8d1df1740e 100644 --- a/roles/keycloak/tasks/main.yml +++ b/roles/keycloak/tasks/main.yml @@ -77,7 +77,7 @@ create_namespace: true kubeconfig: /etc/kubernetes/admin.conf wait: true - timeout: 10m + timeout: "{{ keycloak_helm_timeout }}" values: "{{ _keycloak_helm_values | combine(keycloak_helm_values, recursive=True) }}" - name: Wait until keycloak ready