From 6072b75bcb094bcbfa49a94a5e5065c50a628fb0 Mon Sep 17 00:00:00 2001 From: moabu <47318409+moabu@users.noreply.github.com> Date: Thu, 22 Aug 2024 09:56:20 +0300 Subject: [PATCH 1/5] chore: prepare release 1.5.80 This is identical to 1.5.8 but is obtimized to work with k8s v1.24 --- .../kubernetes/templates/helm/gluu-1.5.80.tgz | Bin 33620 -> 33831 bytes pygluu/kubernetes/templates/helm/index.yaml | 146 +++++++++--------- 2 files changed, 73 insertions(+), 73 deletions(-) diff --git a/pygluu/kubernetes/templates/helm/gluu-1.5.80.tgz b/pygluu/kubernetes/templates/helm/gluu-1.5.80.tgz index f4b412072e6d49c1eda119c6318d87642a231b7c..8a06abece6894bee4f8fe99517d1eb86c5689f5e 100644 GIT binary patch literal 33831 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�ReX89p;^!?ci!QGE0{0xXZ*QT!2w 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 diff --git a/pygluu/kubernetes/templates/helm/index.yaml b/pygluu/kubernetes/templates/helm/index.yaml index 64f5d49d..bdaa6796 100644 --- a/pygluu/kubernetes/templates/helm/index.yaml +++ b/pygluu/kubernetes/templates/helm/index.yaml @@ -36,7 +36,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.4 - created: "2024-08-06T14:18:43.736234+03:00" + created: "2024-08-22T09:56:00.564372+03:00" dependencies: - condition: global.config.enabled name: config @@ -156,7 +156,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.4 - created: "2024-08-06T14:18:43.727797+03:00" + created: "2024-08-22T09:56:00.556658+03:00" dependencies: - condition: global.config.enabled name: config @@ -276,7 +276,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.4 - created: "2024-08-06T14:18:43.719402+03:00" + created: "2024-08-22T09:56:00.548213+03:00" dependencies: - condition: global.config.enabled name: config @@ -396,7 +396,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.4 - created: "2024-08-06T14:18:43.711296+03:00" + created: "2024-08-22T09:56:00.540746+03:00" dependencies: - condition: global.config.enabled name: config @@ -516,7 +516,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.3 - created: "2024-08-06T14:18:43.703628+03:00" + created: "2024-08-22T09:56:00.532745+03:00" dependencies: - condition: global.config.enabled name: config @@ -636,7 +636,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.3 - created: "2024-08-06T14:18:43.695674+03:00" + created: "2024-08-22T09:56:00.524604+03:00" dependencies: - condition: global.config.enabled name: config @@ -756,7 +756,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.3 - created: "2024-08-06T14:18:43.687163+03:00" + created: "2024-08-22T09:56:00.516359+03:00" dependencies: - condition: global.config.enabled name: config @@ -876,7 +876,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.3 - created: "2024-08-06T14:18:43.679363+03:00" + created: "2024-08-22T09:56:00.508815+03:00" dependencies: - condition: global.config.enabled name: config @@ -996,7 +996,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.3 - created: "2024-08-06T14:18:43.664013+03:00" + created: "2024-08-22T09:56:00.493306+03:00" dependencies: - condition: global.config.enabled name: config @@ -1116,7 +1116,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.3 - created: "2024-08-06T14:18:43.656246+03:00" + created: "2024-08-22T09:56:00.485704+03:00" dependencies: - condition: global.config.enabled name: config @@ -1236,7 +1236,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.2 - created: "2024-08-06T14:18:43.647092+03:00" + created: "2024-08-22T09:56:00.47684+03:00" dependencies: - condition: global.config.enabled name: config @@ -1356,7 +1356,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.2 - created: "2024-08-06T14:18:43.639659+03:00" + created: "2024-08-22T09:56:00.469042+03:00" dependencies: - condition: global.config.enabled name: config @@ -1476,7 +1476,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.2 - created: "2024-08-06T14:18:43.631481+03:00" + created: "2024-08-22T09:56:00.461032+03:00" dependencies: - condition: global.config.enabled name: config @@ -1596,7 +1596,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.2 - created: "2024-08-06T14:18:43.62338+03:00" + created: "2024-08-22T09:56:00.453654+03:00" dependencies: - condition: global.config.enabled name: config @@ -1717,7 +1717,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.1 - created: "2024-08-06T14:18:43.615239+03:00" + created: "2024-08-22T09:56:00.445493+03:00" dependencies: - condition: global.config.enabled name: config @@ -1838,7 +1838,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.1 - created: "2024-08-06T14:18:43.607749+03:00" + created: "2024-08-22T09:56:00.438029+03:00" dependencies: - condition: global.config.enabled name: config @@ -1959,7 +1959,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.1 - created: "2024-08-06T14:18:43.5999+03:00" + created: "2024-08-22T09:56:00.430081+03:00" dependencies: - condition: global.config.enabled name: config @@ -2080,7 +2080,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.1 - created: "2024-08-06T14:18:43.59218+03:00" + created: "2024-08-22T09:56:00.422192+03:00" dependencies: - condition: global.config.enabled name: config @@ -2201,7 +2201,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.1 - created: "2024-08-06T14:18:43.575763+03:00" + created: "2024-08-22T09:56:00.406807+03:00" dependencies: - condition: global.config.enabled name: config @@ -2322,7 +2322,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.1 - created: "2024-08-06T14:18:43.568051+03:00" + created: "2024-08-22T09:56:00.398615+03:00" dependencies: - condition: global.config.enabled name: config @@ -2443,7 +2443,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.1 - created: "2024-08-06T14:18:43.560129+03:00" + created: "2024-08-22T09:56:00.39088+03:00" dependencies: - condition: global.config.enabled name: config @@ -2564,7 +2564,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-06T14:18:43.551841+03:00" + created: "2024-08-22T09:56:00.383282+03:00" dependencies: - condition: global.config.enabled name: config @@ -2685,7 +2685,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-06T14:18:43.544208+03:00" + created: "2024-08-22T09:56:00.375181+03:00" dependencies: - condition: global.config.enabled name: config @@ -2806,7 +2806,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-06T14:18:43.536061+03:00" + created: "2024-08-22T09:56:00.366981+03:00" dependencies: - condition: global.config.enabled name: config @@ -2927,7 +2927,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-06T14:18:43.527633+03:00" + created: "2024-08-22T09:56:00.358599+03:00" dependencies: - condition: global.config.enabled name: config @@ -3048,7 +3048,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-06T14:18:43.519954+03:00" + created: "2024-08-22T09:56:00.350248+03:00" dependencies: - condition: global.config.enabled name: config @@ -3169,7 +3169,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-06T14:18:43.511876+03:00" + created: "2024-08-22T09:56:00.342743+03:00" dependencies: - condition: global.config.enabled name: config @@ -3291,7 +3291,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-06T14:18:43.504153+03:00" + created: "2024-08-22T09:56:00.335038+03:00" dependencies: - condition: global.config.enabled name: config @@ -3413,7 +3413,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-06T14:18:43.781808+03:00" + created: "2024-08-22T09:56:00.610535+03:00" dependencies: - condition: global.config.enabled name: config @@ -3535,7 +3535,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-06T14:18:43.774273+03:00" + created: "2024-08-22T09:56:00.603137+03:00" dependencies: - condition: global.config.enabled name: config @@ -3657,7 +3657,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-06T14:18:43.766848+03:00" + created: "2024-08-22T09:56:00.595012+03:00" dependencies: - condition: global.config.enabled name: config @@ -3777,7 +3777,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-06T14:18:43.758824+03:00" + created: "2024-08-22T09:56:00.587182+03:00" dependencies: - condition: global.config.enabled name: config @@ -3897,7 +3897,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-06T14:18:43.751508+03:00" + created: "2024-08-22T09:56:00.579635+03:00" dependencies: - condition: global.config.enabled name: config @@ -4017,7 +4017,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-06T14:18:43.743344+03:00" + created: "2024-08-22T09:56:00.572336+03:00" dependencies: - condition: global.config.enabled name: config @@ -4137,7 +4137,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-06T14:18:43.671538+03:00" + created: "2024-08-22T09:56:00.500691+03:00" dependencies: - condition: global.config.enabled name: config @@ -4257,7 +4257,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-06T14:18:43.584156+03:00" + created: "2024-08-22T09:56:00.414038+03:00" dependencies: - condition: global.config.enabled name: config @@ -4377,7 +4377,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-06T14:18:43.496695+03:00" + created: "2024-08-22T09:56:00.327407+03:00" dependencies: - condition: global.config.enabled name: config @@ -4497,7 +4497,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-06T14:18:43.488913+03:00" + created: "2024-08-22T09:56:00.319571+03:00" dependencies: - condition: global.config.enabled name: config @@ -4619,7 +4619,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.4.2 - created: "2024-08-06T14:18:43.428131+03:00" + created: "2024-08-22T09:56:00.258827+03:00" dependencies: - condition: global.config.enabled name: config @@ -4741,7 +4741,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.4.2 - created: "2024-08-06T14:18:43.419503+03:00" + created: "2024-08-22T09:56:00.250331+03:00" dependencies: - condition: global.config.enabled name: config @@ -4863,7 +4863,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.4.2 - created: "2024-08-06T14:18:43.41128+03:00" + created: "2024-08-22T09:56:00.242324+03:00" dependencies: - condition: global.config.enabled name: config @@ -4985,7 +4985,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.4.2 - created: "2024-08-06T14:18:43.403555+03:00" + created: "2024-08-22T09:56:00.234087+03:00" dependencies: - condition: global.config.enabled name: config @@ -5107,7 +5107,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.4.2 - created: "2024-08-06T14:18:43.395746+03:00" + created: "2024-08-22T09:56:00.226454+03:00" dependencies: - condition: global.config.enabled name: config @@ -5229,7 +5229,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.4.2 - created: "2024-08-06T14:18:43.480945+03:00" + created: "2024-08-22T09:56:00.311672+03:00" dependencies: - condition: global.config.enabled name: config @@ -5349,7 +5349,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.4.2 - created: "2024-08-06T14:18:43.472976+03:00" + created: "2024-08-22T09:56:00.303791+03:00" dependencies: - condition: global.config.enabled name: config @@ -5469,7 +5469,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.4.1 - created: "2024-08-06T14:18:43.46565+03:00" + created: "2024-08-22T09:56:00.296128+03:00" dependencies: - condition: global.config.enabled name: config @@ -5589,7 +5589,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.4.1 - created: "2024-08-06T14:18:43.457913+03:00" + created: "2024-08-22T09:56:00.288496+03:00" dependencies: - condition: global.config.enabled name: config @@ -5709,7 +5709,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.4.1 - created: "2024-08-06T14:18:43.450509+03:00" + created: "2024-08-22T09:56:00.281104+03:00" dependencies: - condition: global.config.enabled name: config @@ -5829,7 +5829,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.4.1 - created: "2024-08-06T14:18:43.443095+03:00" + created: "2024-08-22T09:56:00.273708+03:00" dependencies: - condition: global.config.enabled name: config @@ -5949,7 +5949,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.4.1 - created: "2024-08-06T14:18:43.435542+03:00" + created: "2024-08-22T09:56:00.266218+03:00" dependencies: - condition: global.config.enabled name: config @@ -6069,7 +6069,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.4.0 - created: "2024-08-06T14:18:43.387918+03:00" + created: "2024-08-22T09:56:00.219045+03:00" dependencies: - condition: global.config.enabled name: config @@ -6189,7 +6189,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.4.0 - created: "2024-08-06T14:18:43.38003+03:00" + created: "2024-08-22T09:56:00.211334+03:00" dependencies: - condition: global.config.enabled name: config @@ -6309,7 +6309,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.3.1 - created: "2024-08-06T14:18:43.365887+03:00" + created: "2024-08-22T09:56:00.197148+03:00" dependencies: - condition: global.config.enabled name: config @@ -6429,7 +6429,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.3.1 - created: "2024-08-06T14:18:43.358101+03:00" + created: "2024-08-22T09:56:00.189522+03:00" dependencies: - condition: global.config.enabled name: config @@ -6549,7 +6549,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.3.1 - created: "2024-08-06T14:18:43.350231+03:00" + created: "2024-08-22T09:56:00.181778+03:00" dependencies: - condition: global.config.enabled name: config @@ -6669,7 +6669,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.3.1 - created: "2024-08-06T14:18:43.34231+03:00" + created: "2024-08-22T09:56:00.174215+03:00" dependencies: - condition: global.config.enabled name: config @@ -6789,7 +6789,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.3.1 - created: "2024-08-06T14:18:43.335026+03:00" + created: "2024-08-22T09:56:00.166659+03:00" dependencies: - condition: global.config.enabled name: config @@ -6909,7 +6909,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.3.0 - created: "2024-08-06T14:18:43.327761+03:00" + created: "2024-08-22T09:56:00.159238+03:00" dependencies: - condition: global.config.enabled name: config @@ -7029,7 +7029,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.3.0 - created: "2024-08-06T14:18:43.320575+03:00" + created: "2024-08-22T09:56:00.151548+03:00" dependencies: - condition: global.config.enabled name: config @@ -7149,7 +7149,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.3.0 - created: "2024-08-06T14:18:43.313286+03:00" + created: "2024-08-22T09:56:00.144867+03:00" dependencies: - condition: global.config.enabled name: config @@ -7269,7 +7269,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.3.0 - created: "2024-08-06T14:18:43.305438+03:00" + created: "2024-08-22T09:56:00.137492+03:00" dependencies: - condition: global.config.enabled name: config @@ -7389,7 +7389,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.3.0 - created: "2024-08-06T14:18:43.372326+03:00" + created: "2024-08-22T09:56:00.203287+03:00" dependencies: - condition: global.config.enabled name: config @@ -7513,7 +7513,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.2.3 - created: "2024-08-06T14:18:43.293554+03:00" + created: "2024-08-22T09:56:00.126356+03:00" dependencies: - condition: global.config.enabled name: config @@ -7584,10 +7584,10 @@ entries: repository: "" version: 1.5.80 description: Gluu Access and Identity Mangement - digest: 42e51edf809377cf18aef12db86da74ba253ab31554080d69ccc71ace1b15276 + digest: fe98fa08e1fa1a4906d09d4f6c1bd99428dd777e54fcc5c424a69453f5c38b5c home: https://www.gluu.org icon: https://gluu.org/wp-content/uploads/2020/12/logo.png - kubeVersion: '>=v1.22.0-0' + kubeVersion: '>=v1.21.0-0' maintainers: - email: mo@gluu.org name: moabu @@ -7636,7 +7636,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.2.3 - created: "2024-08-06T14:18:43.28483+03:00" + created: "2024-08-22T09:56:00.118234+03:00" dependencies: - condition: global.config.enabled name: config @@ -7759,7 +7759,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.2.3 - created: "2024-08-06T14:18:43.278642+03:00" + created: "2024-08-22T09:56:00.112948+03:00" dependencies: - condition: global.config.enabled name: config @@ -7882,7 +7882,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.2.3 - created: "2024-08-06T14:18:43.298371+03:00" + created: "2024-08-22T09:56:00.130764+03:00" dependencies: - condition: global.config.enabled name: config @@ -8005,7 +8005,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.2.3 - created: "2024-08-06T14:18:43.288885+03:00" + created: "2024-08-22T09:56:00.122206+03:00" dependencies: - condition: global.config.enabled name: config @@ -8092,7 +8092,7 @@ entries: ldap-backup: - apiVersion: v2 appVersion: 4.3.0 - created: "2024-08-06T14:18:43.782976+03:00" + created: "2024-08-22T09:56:00.61154+03:00" description: A backup strategy for LDAP digest: f00564718757bd0d53f1f3dbaa9399327695eb883000f5d6ade7690bb8a2d371 home: https://gluu.org/docs/gluu-server @@ -8115,7 +8115,7 @@ entries: version: 1.6.11 - apiVersion: v2 appVersion: 4.3.0 - created: "2024-08-06T14:18:43.783496+03:00" + created: "2024-08-22T09:56:00.612023+03:00" description: A backup strategy for LDAP digest: 2fd5f9c62784f0bc6c4b30e5b90abb5edeca1a6cb865e414a3e87a42b115b647 home: https://gluu.org/docs/gluu-server @@ -8138,7 +8138,7 @@ entries: version: 1.6.9 - apiVersion: v2 appVersion: 4.2.3 - created: "2024-08-06T14:18:43.782322+03:00" + created: "2024-08-22T09:56:00.610932+03:00" description: A backup strategy for LDAP digest: 838ca4b13bb22686f6ff7da98abc523878d64a105ec27cb85da5489d208bf8dc home: https://www.gluu.org @@ -8154,4 +8154,4 @@ entries: urls: - ldap-backup-1.5.9.tgz version: 1.5.9 -generated: "2024-08-06T14:18:43.272928+03:00" +generated: "2024-08-22T09:56:00.106518+03:00" From eac45e8a9d37880317960676af8e014880ead0d7 Mon Sep 17 00:00:00 2001 From: Isman Firmansyah Date: Thu, 22 Aug 2024 16:36:28 +0700 Subject: [PATCH 2/5] feat: prepare assets for Gluu v4.5.5 (#651) * feat: prepare assets for Gluu v4.5.5 Release-As: 1.8.38 Signed-off-by: iromli * chore: release 1.8.38 * chore: fix index.yaml --------- Signed-off-by: iromli Co-authored-by: moabu <47318409+moabu@users.noreply.github.com> --- .../kubernetes/templates/gluu_versions.json | 62 ++--- .../kubernetes/templates/helm/gluu-1.8.38.tgz | Bin 0 -> 119015 bytes .../kubernetes/templates/helm/gluu/Chart.yaml | 68 ++--- .../kubernetes/templates/helm/gluu/README.md | 96 +++---- .../helm/gluu/charts/casa/Chart.yaml | 4 +- .../templates/helm/gluu/charts/casa/README.md | 4 +- .../helm/gluu/charts/casa/values.yaml | 2 +- .../helm/gluu/charts/config/Chart.yaml | 4 +- .../helm/gluu/charts/config/README.md | 4 +- .../helm/gluu/charts/config/values.yaml | 2 +- .../helm/gluu/charts/cr-rotate/Chart.yaml | 4 +- .../helm/gluu/charts/cr-rotate/README.md | 4 +- .../helm/gluu/charts/cr-rotate/values.yaml | 2 +- .../helm/gluu/charts/fido2/Chart.yaml | 4 +- .../helm/gluu/charts/fido2/README.md | 4 +- .../helm/gluu/charts/fido2/values.yaml | 2 +- .../gluu/charts/gluu-alb-ingress/Chart.yaml | 4 +- .../gluu/charts/gluu-alb-ingress/README.md | 2 +- .../gluu/charts/gluu-istio-ingress/Chart.yaml | 4 +- .../gluu/charts/gluu-istio-ingress/README.md | 2 +- .../helm/gluu/charts/jackrabbit/Chart.yaml | 4 +- .../helm/gluu/charts/jackrabbit/README.md | 4 +- .../helm/gluu/charts/jackrabbit/values.yaml | 2 +- .../helm/gluu/charts/nginx-ingress/Chart.yaml | 4 +- .../helm/gluu/charts/nginx-ingress/README.md | 2 +- .../helm/gluu/charts/opendj/Chart.yaml | 4 +- .../helm/gluu/charts/opendj/README.md | 4 +- .../helm/gluu/charts/opendj/values.yaml | 2 +- .../charts/oxauth-key-rotation/Chart.yaml | 4 +- .../gluu/charts/oxauth-key-rotation/README.md | 4 +- .../charts/oxauth-key-rotation/values.yaml | 2 +- .../helm/gluu/charts/oxauth/Chart.yaml | 4 +- .../helm/gluu/charts/oxauth/README.md | 4 +- .../helm/gluu/charts/oxauth/values.yaml | 2 +- .../helm/gluu/charts/oxd-server/Chart.yaml | 4 +- .../helm/gluu/charts/oxd-server/README.md | 4 +- .../helm/gluu/charts/oxd-server/values.yaml | 2 +- .../helm/gluu/charts/oxpassport/Chart.yaml | 4 +- .../helm/gluu/charts/oxpassport/README.md | 4 +- .../helm/gluu/charts/oxpassport/values.yaml | 2 +- .../helm/gluu/charts/oxshibboleth/Chart.yaml | 4 +- .../helm/gluu/charts/oxshibboleth/README.md | 4 +- .../helm/gluu/charts/oxshibboleth/values.yaml | 2 +- .../helm/gluu/charts/oxtrust/Chart.yaml | 4 +- .../helm/gluu/charts/oxtrust/README.md | 4 +- .../helm/gluu/charts/oxtrust/values.yaml | 2 +- .../helm/gluu/charts/persistence/Chart.yaml | 4 +- .../helm/gluu/charts/persistence/README.md | 4 +- .../helm/gluu/charts/persistence/values.yaml | 2 +- .../helm/gluu/charts/scim/Chart.yaml | 4 +- .../templates/helm/gluu/charts/scim/README.md | 4 +- .../helm/gluu/charts/scim/values.yaml | 2 +- .../templates/helm/gluu/values.yaml | 30 +- pygluu/kubernetes/templates/helm/index.yaml | 262 +++++++++++++----- pygluu/kubernetes/version.py | 2 +- 55 files changed, 399 insertions(+), 279 deletions(-) create mode 100644 pygluu/kubernetes/templates/helm/gluu-1.8.38.tgz diff --git a/pygluu/kubernetes/templates/gluu_versions.json b/pygluu/kubernetes/templates/gluu_versions.json index e7136bbb..caf71815 100644 --- a/pygluu/kubernetes/templates/gluu_versions.json +++ b/pygluu/kubernetes/templates/gluu_versions.json @@ -1,66 +1,66 @@ { "4.5": { "CASA_IMAGE_NAME": "gluufederation/casa", - "CASA_IMAGE_TAG": "4.5.4-1", + "CASA_IMAGE_TAG": "4.5.5-1", "FIDO2_IMAGE_NAME": "gluufederation/fido2", - "FIDO2_IMAGE_TAG": "4.5.4-1", + "FIDO2_IMAGE_TAG": "4.5.5-1", "SCIM_IMAGE_NAME": "gluufederation/scim", - "SCIM_IMAGE_TAG": "4.5.4-1", + "SCIM_IMAGE_TAG": "4.5.5-1", "CONFIG_IMAGE_NAME": "gluufederation/config-init", - "CONFIG_IMAGE_TAG": "4.5.4-2", + "CONFIG_IMAGE_TAG": "4.5.5-1", "CACHE_REFRESH_ROTATE_IMAGE_NAME": "gluufederation/cr-rotate", - "CACHE_REFRESH_ROTATE_IMAGE_TAG": "4.5.4-1", + "CACHE_REFRESH_ROTATE_IMAGE_TAG": "4.5.5-1", "CERT_MANAGER_IMAGE_NAME": "gluufederation/certmanager", - "CERT_MANAGER_IMAGE_TAG": "4.5.4-1", + "CERT_MANAGER_IMAGE_TAG": "4.5.5-1", "LDAP_IMAGE_NAME": "gluufederation/opendj", - "LDAP_IMAGE_TAG": "4.5.4-1", + "LDAP_IMAGE_TAG": "4.5.5-1", "JACKRABBIT_IMAGE_NAME": "gluufederation/jackrabbit", - "JACKRABBIT_IMAGE_TAG": "4.5.4-1", + "JACKRABBIT_IMAGE_TAG": "4.5.5-1", "OXAUTH_IMAGE_NAME": "gluufederation/oxauth", - "OXAUTH_IMAGE_TAG": "4.5.4-2", + "OXAUTH_IMAGE_TAG": "4.5.5-1", "OXD_IMAGE_NAME": "gluufederation/oxd-server", - "OXD_IMAGE_TAG": "4.5.4-2", + "OXD_IMAGE_TAG": "4.5.5-1", "OXPASSPORT_IMAGE_NAME": "gluufederation/oxpassport", - "OXPASSPORT_IMAGE_TAG": "4.5.4-2", + "OXPASSPORT_IMAGE_TAG": "4.5.5-1", "OXSHIBBOLETH_IMAGE_NAME": "gluufederation/oxshibboleth", - "OXSHIBBOLETH_IMAGE_TAG": "4.5.4-1", + "OXSHIBBOLETH_IMAGE_TAG": "4.5.5-1", "OXTRUST_IMAGE_NAME": "gluufederation/oxtrust", - "OXTRUST_IMAGE_TAG": "4.5.4-1", + "OXTRUST_IMAGE_TAG": "4.5.5-1", "PERSISTENCE_IMAGE_NAME": "gluufederation/persistence", - "PERSISTENCE_IMAGE_TAG": "4.5.4-2", + "PERSISTENCE_IMAGE_TAG": "4.5.5-1", "UPGRADE_IMAGE_NAME": "gluufederation/upgrade", - "UPGRADE_IMAGE_TAG": "4.5.4-3" + "UPGRADE_IMAGE_TAG": "4.5.5-1" }, - "4.5.4_dev": { + "4.5.5_dev": { "CASA_IMAGE_NAME": "gluufederation/casa", - "CASA_IMAGE_TAG": "4.5.4_dev", + "CASA_IMAGE_TAG": "4.5.5_dev", "FIDO2_IMAGE_NAME": "gluufederation/fido2", - "FIDO2_IMAGE_TAG": "4.5.4_dev", + "FIDO2_IMAGE_TAG": "4.5.5_dev", "SCIM_IMAGE_NAME": "gluufederation/scim", - "SCIM_IMAGE_TAG": "4.5.4_dev", + "SCIM_IMAGE_TAG": "4.5.5_dev", "CONFIG_IMAGE_NAME": "gluufederation/config-init", - "CONFIG_IMAGE_TAG": "4.5.4_dev", + "CONFIG_IMAGE_TAG": "4.5.5_dev", "CACHE_REFRESH_ROTATE_IMAGE_NAME": "gluufederation/cr-rotate", - "CACHE_REFRESH_ROTATE_IMAGE_TAG": "4.5.4_dev", + "CACHE_REFRESH_ROTATE_IMAGE_TAG": "4.5.5_dev", "CERT_MANAGER_IMAGE_NAME": "gluufederation/certmanager", - "CERT_MANAGER_IMAGE_TAG": "4.5.4_dev", + "CERT_MANAGER_IMAGE_TAG": "4.5.5_dev", "LDAP_IMAGE_NAME": "gluufederation/opendj", - "LDAP_IMAGE_TAG": "4.5.4_dev", + "LDAP_IMAGE_TAG": "4.5.5_dev", "JACKRABBIT_IMAGE_NAME": "gluufederation/jackrabbit", - "JACKRABBIT_IMAGE_TAG": "4.5.4_dev", + "JACKRABBIT_IMAGE_TAG": "4.5.5_dev", "OXAUTH_IMAGE_NAME": "gluufederation/oxauth", - "OXAUTH_IMAGE_TAG": "4.5.4_dev", + "OXAUTH_IMAGE_TAG": "4.5.5_dev", "OXD_IMAGE_NAME": "gluufederation/oxd-server", - "OXD_IMAGE_TAG": "4.5.4_dev", + "OXD_IMAGE_TAG": "4.5.5_dev", "OXPASSPORT_IMAGE_NAME": "gluufederation/oxpassport", - "OXPASSPORT_IMAGE_TAG": "4.5.4_dev", + "OXPASSPORT_IMAGE_TAG": "4.5.5_dev", "OXSHIBBOLETH_IMAGE_NAME": "gluufederation/oxshibboleth", - "OXSHIBBOLETH_IMAGE_TAG": "4.5.4_dev", + "OXSHIBBOLETH_IMAGE_TAG": "4.5.5_dev", "OXTRUST_IMAGE_NAME": "gluufederation/oxtrust", - "OXTRUST_IMAGE_TAG": "4.5.4_dev", + "OXTRUST_IMAGE_TAG": "4.5.5_dev", "PERSISTENCE_IMAGE_NAME": "gluufederation/persistence", - "PERSISTENCE_IMAGE_TAG": "4.5.4_dev", + "PERSISTENCE_IMAGE_TAG": "4.5.5_dev", "UPGRADE_IMAGE_NAME": "gluufederation/upgrade", - "UPGRADE_IMAGE_TAG": "4.5.4_dev" + "UPGRADE_IMAGE_TAG": "4.5.5_dev" } } diff --git a/pygluu/kubernetes/templates/helm/gluu-1.8.38.tgz b/pygluu/kubernetes/templates/helm/gluu-1.8.38.tgz new file mode 100644 index 0000000000000000000000000000000000000000..78c24a6cc2e6fccb7508f7871d69bd6e3f60d77d GIT binary patch literal 119015 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%0AY$#lT>5yrj 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 Yc09owX+i=d2m}HE5VNtX5QqfiFYR=;@Bjb+ literal 0 HcmV?d00001 diff --git a/pygluu/kubernetes/templates/helm/gluu/Chart.yaml b/pygluu/kubernetes/templates/helm/gluu/Chart.yaml index 87f02059..4e0b5517 100644 --- a/pygluu/kubernetes/templates/helm/gluu/Chart.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/Chart.yaml @@ -1,40 +1,40 @@ # License terms and conditions for Gluu Cloud Native Edition: # https://www.apache.org/licenses/LICENSE-2.0 apiVersion: v2 -appVersion: "4.5.4" +appVersion: "4.5.5" kubeVersion: ">=v1.22.0-0" annotations: artifacthub.io/changes: | - - Gluu 4.5.4 official chart release + - Gluu 4.5.5 official chart release artifacthub.io/images: | - name: casa - image: gluufederation/casa:4.5.4_dev + image: gluufederation/casa:4.5.5_dev - name: fido2 - image: gluufederation/fido2:4.5.4_dev + image: gluufederation/fido2:4.5.5_dev - name: scim - image: gluufederation/scim:4.5.4_dev + image: gluufederation/scim:4.5.5_dev - name: configuration-manager - image: gluufederation/config-init:4.5.4_dev + image: gluufederation/config-init:4.5.5_dev - name: cr-rotate - image: gluufederation/cr-rotate:4.5.4_dev + image: gluufederation/cr-rotate:4.5.5_dev - name: certmanager - image: gluufederation/certmanager:4.5.4_dev + image: gluufederation/certmanager:4.5.5_dev - name: opendj - image: gluufederation/opendj:4.5.4_dev + image: gluufederation/opendj:4.5.5_dev - name: jackrabbit - image: gluufederation/jackrabbit:4.5.4_dev + image: gluufederation/jackrabbit:4.5.5_dev - name: oxauth - image: gluufederation/oxauth:4.5.4_dev + image: gluufederation/oxauth:4.5.5_dev - name: oxd-server - image: gluufederation/oxd-server:4.5.4_dev + image: gluufederation/oxd-server:4.5.5_dev - name: oxpassport - image: gluufederation/oxpassport:4.5.4_dev + image: gluufederation/oxpassport:4.5.5_dev - name: oxshibboleth - image: gluufederation/oxshibboleth:4.5.4_dev + image: gluufederation/oxshibboleth:4.5.5_dev - name: persistence - image: gluufederation/persistence:4.5.4_dev + image: gluufederation/persistence:4.5.5_dev - name: oxtrust - image: gluufederation/oxtrust:4.5.4_dev + image: gluufederation/oxtrust:4.5.5_dev artifacthub.io/license: Apache-2.0 icon: https://gluu.org/docs/gluu-server/favicon.ico home: https://www.gluu.org @@ -46,73 +46,73 @@ maintainers: email: support@gluu.org description: Gluu Access and Identity Mangement name: gluu -version: 1.8.37 +version: 1.8.38 dependencies: - name: config condition: global.config.enabled - version: 1.8.37 + version: 1.8.38 - name: opendj condition: global.opendj.enabled - version: 1.8.37 + version: 1.8.38 - name: jackrabbit condition: global.jackrabbit.enabled - version: 1.8.37 + version: 1.8.38 - name: oxauth condition: global.oxauth.enabled - version: 1.8.37 + version: 1.8.38 - name: fido2 condition: global.fido2.enabled - version: 1.8.37 + version: 1.8.38 - name: scim condition: global.scim.enabled - version: 1.8.37 + version: 1.8.38 - name: oxtrust condition: global.oxtrust.enabled - version: 1.8.37 + version: 1.8.38 - name: nginx-ingress condition: global.nginx-ingress.enabled - version: 1.8.37 + version: 1.8.38 - name: oxshibboleth condition: global.oxshibboleth.enabled - version: 1.8.37 + version: 1.8.38 - name: oxpassport - version: 1.8.37 + version: 1.8.38 condition: config.configmap.gluuPassportEnabled - name: casa - version: 1.8.37 + version: 1.8.38 condition: config.configmap.gluuCasaEnabled - name: oxauth-key-rotation condition: global.oxauth-key-rotation.enabled - version: 1.8.37 + version: 1.8.38 - name: cr-rotate - version: 1.8.37 + version: 1.8.38 condition: global.cr-rotate.enabled - name: oxd-server condition: global.oxd-server.enabled - version: 1.8.37 + version: 1.8.38 - name: persistence condition: global.persistence.enabled - version: 1.8.37 + version: 1.8.38 - name: gluu-istio-ingress condition: global.istio.ingress - version: 1.8.37 + version: 1.8.38 - name: gluu-alb-ingress condition: global.alb.ingress - version: 1.8.37 + version: 1.8.38 diff --git a/pygluu/kubernetes/templates/helm/gluu/README.md b/pygluu/kubernetes/templates/helm/gluu/README.md index 6fed7290..c3b53c90 100644 --- a/pygluu/kubernetes/templates/helm/gluu/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/README.md @@ -1,6 +1,6 @@ # gluu -![Version: 1.8.37](https://img.shields.io/badge/Version-1.8.37-informational?style=flat-square) ![AppVersion: 4.5.4](https://img.shields.io/badge/AppVersion-4.5.4-informational?style=flat-square) +![Version: 1.8.38](https://img.shields.io/badge/Version-1.8.38-informational?style=flat-square) ![AppVersion: 4.5.5](https://img.shields.io/badge/AppVersion-4.5.5-informational?style=flat-square) Gluu Access and Identity Mangement @@ -23,29 +23,29 @@ Kubernetes: `>=v1.22.0-0` | Repository | Name | Version | |------------|------|---------| -| | casa | 1.8.37 | -| | config | 1.8.37 | -| | cr-rotate | 1.8.37 | -| | fido2 | 1.8.37 | -| | gluu-alb-ingress | 1.8.37 | -| | gluu-istio-ingress | 1.8.37 | -| | jackrabbit | 1.8.37 | -| | nginx-ingress | 1.8.37 | -| | opendj | 1.8.37 | -| | oxauth | 1.8.37 | -| | oxauth-key-rotation | 1.8.37 | -| | oxd-server | 1.8.37 | -| | oxpassport | 1.8.37 | -| | oxshibboleth | 1.8.37 | -| | oxtrust | 1.8.37 | -| | persistence | 1.8.37 | -| | scim | 1.8.37 | +| | casa | 1.8.38 | +| | config | 1.8.38 | +| | cr-rotate | 1.8.38 | +| | fido2 | 1.8.38 | +| | gluu-alb-ingress | 1.8.38 | +| | gluu-istio-ingress | 1.8.38 | +| | jackrabbit | 1.8.38 | +| | nginx-ingress | 1.8.38 | +| | opendj | 1.8.38 | +| | oxauth | 1.8.38 | +| | oxauth-key-rotation | 1.8.38 | +| | oxd-server | 1.8.38 | +| | oxpassport | 1.8.38 | +| | oxshibboleth | 1.8.38 | +| | oxtrust | 1.8.38 | +| | persistence | 1.8.38 | +| | scim | 1.8.38 | ## Values | Key | Type | Default | Description | |-----|------|---------|-------------| -| casa | object | `{"additionalAnnotations":{},"additionalLabels":{},"affinity":{},"customScripts":[],"dnsConfig":{},"dnsPolicy":"","hpa":{"behavior":{},"enabled":true,"maxReplicas":10,"metrics":[],"minReplicas":1,"targetCPUUtilizationPercentage":50},"image":{"pullPolicy":"IfNotPresent","pullSecrets":[],"repository":"gluufederation/casa","tag":"4.5.4-1"},"istioDestinationRuleCookieTTL":"60s","lifecycle":{},"livenessProbe":{"httpGet":{"path":"/casa/health-check","port":"http-casa"},"initialDelaySeconds":25,"periodSeconds":25,"timeoutSeconds":5},"nodeSelector":{},"pdb":{"enabled":true,"maxUnavailable":"90%"},"readinessProbe":{"httpGet":{"path":"/casa/health-check","port":"http-casa"},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":5},"replicas":1,"resources":{"limits":{"cpu":"500m","memory":"500Mi"},"requests":{"cpu":"500m","memory":"500Mi"}},"service":{"casaServiceName":"casa","name":"http-casa","port":8080},"tolerations":[],"topologySpreadConstraints":{},"usrEnvs":{"normal":{},"secret":{}},"volumeMounts":[],"volumes":[]}` | Gluu Casa ("Casa") is a self-service web portal for end-users to manage authentication and authorization preferences for their account in a Gluu Server. | +| casa | object | `{"additionalAnnotations":{},"additionalLabels":{},"affinity":{},"customScripts":[],"dnsConfig":{},"dnsPolicy":"","hpa":{"behavior":{},"enabled":true,"maxReplicas":10,"metrics":[],"minReplicas":1,"targetCPUUtilizationPercentage":50},"image":{"pullPolicy":"IfNotPresent","pullSecrets":[],"repository":"gluufederation/casa","tag":"4.5.5-1"},"istioDestinationRuleCookieTTL":"60s","lifecycle":{},"livenessProbe":{"httpGet":{"path":"/casa/health-check","port":"http-casa"},"initialDelaySeconds":25,"periodSeconds":25,"timeoutSeconds":5},"nodeSelector":{},"pdb":{"enabled":true,"maxUnavailable":"90%"},"readinessProbe":{"httpGet":{"path":"/casa/health-check","port":"http-casa"},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":5},"replicas":1,"resources":{"limits":{"cpu":"500m","memory":"500Mi"},"requests":{"cpu":"500m","memory":"500Mi"}},"service":{"casaServiceName":"casa","name":"http-casa","port":8080},"tolerations":[],"topologySpreadConstraints":{},"usrEnvs":{"normal":{},"secret":{}},"volumeMounts":[],"volumes":[]}` | Gluu Casa ("Casa") is a self-service web portal for end-users to manage authentication and authorization preferences for their account in a Gluu Server. | | casa.additionalAnnotations | object | `{}` | Additional annotations that will be added across all resources in the format of {cert-manager.io/issuer: "letsencrypt-prod"}. key app is taken | | casa.additionalLabels | object | `{}` | Additional labels that will be added across all resources definitions in the format of {mylabel: "myapp"} | | casa.affinity | object | `{}` | https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/ | @@ -58,7 +58,7 @@ Kubernetes: `>=v1.22.0-0` | casa.image.pullPolicy | string | `"IfNotPresent"` | Image pullPolicy to use for deploying. | | casa.image.pullSecrets | list | `[]` | Image Pull Secrets | | casa.image.repository | string | `"gluufederation/casa"` | Image to use for deploying. | -| casa.image.tag | string | `"4.5.4-1"` | Image tag to use for deploying. | +| casa.image.tag | string | `"4.5.5-1"` | Image tag to use for deploying. | | casa.istioDestinationRuleCookieTTL | string | `"60s"` | Istio Destination Rule loadBalancer.consistentHash.httpCookie.ttl if istio ingress is enabled | | casa.livenessProbe | object | `{"httpGet":{"path":"/casa/health-check","port":"http-casa"},"initialDelaySeconds":25,"periodSeconds":25,"timeoutSeconds":5}` | Configure the liveness healthcheck for casa if needed. | | casa.livenessProbe.httpGet.path | string | `"/casa/health-check"` | http liveness probe endpoint | @@ -81,7 +81,7 @@ Kubernetes: `>=v1.22.0-0` | casa.usrEnvs.secret | object | `{}` | Add custom secret envs to the service variable1: value1 | | casa.volumeMounts | list | `[]` | Configure any additional volumesMounts that need to be attached to the containers | | casa.volumes | list | `[]` | Configure any additional volumes that need to be attached to the pod | -| config | object | `{"additionalAnnotations":{},"additionalLabels":{},"adminPass":"P@ssw0rd","affinity":{},"city":"Austin","configmap":{"cnAwsAccessKeyId":"","cnAwsDefaultRegion":"us-west-1","cnAwsProfile":"gluu","cnAwsSecretAccessKey":"","cnAwsSecretsEndpointUrl":"","cnAwsSecretsNamePrefix":"gluu","cnAwsSecretsReplicaRegions":[],"cnGoogleProjectId":"google-project-to-save-config-and-secrets-to","cnGoogleServiceAccount":"SWFtTm90YVNlcnZpY2VBY2NvdW50Q2hhbmdlTWV0b09uZQo=","cnGoogleSpannerDatabaseId":"","cnGoogleSpannerEmulatorHost":"","cnGoogleSpannerInstanceId":"","cnSecretGoogleSecretNamePrefix":"gluu","cnSecretGoogleSecretVersionId":"latest","cnSqlDbDialect":"mysql","cnSqlDbHost":"my-release-mysql.default.svc.cluster.local","cnSqlDbName":"gluu","cnSqlDbPort":3306,"cnSqlDbTimezone":"UTC","cnSqlDbUser":"gluu","cnSqlPasswordFile":"/etc/gluu/conf/sql_password","cnSqldbUserPassword":"Test1234#","containerMetadataName":"kubernetes","gluuCacheType":"NATIVE_PERSISTENCE","gluuCasaEnabled":false,"gluuCouchbaseBucketPrefix":"gluu","gluuCouchbaseCertFile":"/etc/certs/couchbase.crt","gluuCouchbaseCrt":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURlakNDQW1LZ0F3SUJBZ0lKQUwyem5UWlREUHFNTUEwR0NTcUdTSWIzRFFFQkN3VUFNQzB4S3pBcEJnTlYKQkFNTUlpb3VZMkpuYkhWMUxtUmxabUYxYkhRdWMzWmpMbU5zZFhOMFpYSXViRzlqWVd3d0hoY05NakF3TWpBMQpNRGt4T1RVeFdoY05NekF3TWpBeU1Ea3hPVFV4V2pBdE1Tc3dLUVlEVlFRRERDSXFMbU5pWjJ4MWRTNWtaV1poCmRXeDBMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUIKQ2dLQ0FRRUFycmQ5T3lvSnRsVzhnNW5nWlJtL2FKWjJ2eUtubGU3dVFIUEw4Q2RJa1RNdjB0eHZhR1B5UkNQQgo3RE00RTFkLzhMaU5takdZZk41QjZjWjlRUmNCaG1VNmFyUDRKZUZ3c0x0cTFGT3MxaDlmWGo3d3NzcTYrYmlkCjV6Umw3UEE0YmdvOXVkUVRzU1UrWDJUUVRDc0dxVVVPWExrZ3NCMjI0RDNsdkFCbmZOeHcvYnFQa2ZCQTFxVzYKVXpxellMdHN6WE5GY0dQMFhtU3c4WjJuaFhhUGlva2pPT2dyMkMrbVFZK0htQ2xGUWRpd2g2ZjBYR0V0STMrKwoyMStTejdXRkF6RlFBVUp2MHIvZnk4TDRXZzh1YysvalgwTGQrc2NoQTlNQjh3YmJORUp2ZjNMOGZ5QjZ0cTd2CjF4b0FnL0g0S1dJaHdqSEN0dFVnWU1oU0xWV3UrUUlEQVFBQm80R2NNSUdaTUIwR0ExVWREZ1FXQkJTWmQxWU0KVGNIRVZjSENNUmp6ejczZitEVmxxREJkQmdOVkhTTUVWakJVZ0JTWmQxWU1UY0hFVmNIQ01Sanp6NzNmK0RWbApxS0V4cEM4d0xURXJNQ2tHQTFVRUF3d2lLaTVqWW1kc2RYVXVaR1ZtWVhWc2RDNXpkbU11WTJ4MWMzUmxjaTVzCmIyTmhiSUlKQUwyem5UWlREUHFNTUF3R0ExVWRFd1FGTUFNQkFmOHdDd1lEVlIwUEJBUURBZ0VHTUEwR0NTcUcKU0liM0RRRUJDd1VBQTRJQkFRQk9meTVWSHlKZCtWUTBXaUQ1aSs2cmhidGNpSmtFN0YwWVVVZnJ6UFN2YWVFWQp2NElVWStWOC9UNnE4Mk9vVWU1eCtvS2dzbFBsL01nZEg2SW9CRnVtaUFqek14RTdUYUhHcXJ5dk13Qk5IKzB5CnhadG9mSnFXQzhGeUlwTVFHTEs0RVBGd3VHRlJnazZMRGR2ZEN5NVdxWW1MQWdBZVh5VWNaNnlHYkdMTjRPUDUKZTFiaEFiLzRXWXRxRHVydFJrWjNEejlZcis4VWNCVTRLT005OHBZN05aaXFmKzlCZVkvOEhZaVQ2Q0RRWWgyTgoyK0VWRFBHcFE4UkVsRThhN1ZLL29MemlOaXFyRjllNDV1OU1KdjM1ZktmNUJjK2FKdWduTGcwaUZUYmNaT1prCkpuYkUvUENIUDZFWmxLaEFiZUdnendtS1dDbTZTL3g0TklRK2JtMmoKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","gluuCouchbaseIndexNumReplica":0,"gluuCouchbasePass":"P@ssw0rd","gluuCouchbasePassFile":"/etc/gluu/conf/couchbase_password","gluuCouchbaseSuperUser":"admin","gluuCouchbaseSuperUserPass":"P@ssw0rd","gluuCouchbaseSuperUserPassFile":"/etc/gluu/conf/couchbase_superuser_password","gluuCouchbaseUrl":"cbgluu.default.svc.cluster.local","gluuCouchbaseUser":"gluu","gluuDocumentStoreType":"DB","gluuJackrabbitAdminId":"admin","gluuJackrabbitAdminIdFile":"/etc/gluu/conf/jackrabbit_admin_id","gluuJackrabbitAdminPassFile":"/etc/gluu/conf/jackrabbit_admin_password","gluuJackrabbitPostgresDatabaseName":"jackrabbit","gluuJackrabbitPostgresHost":"postgresql.postgres.svc.cluster.local","gluuJackrabbitPostgresPasswordFile":"/etc/gluu/conf/postgres_password","gluuJackrabbitPostgresPort":5432,"gluuJackrabbitPostgresUser":"jackrabbit","gluuJackrabbitSyncInterval":300,"gluuJackrabbitUrl":"http://jackrabbit:8080","gluuLdapUrl":"opendj:1636","gluuMaxRamPercent":"75.0","gluuOxauthBackend":"oxauth:8080","gluuOxdAdminCertCn":"oxd-server","gluuOxdApplicationCertCn":"oxd-server","gluuOxdBindIpAddresses":"*","gluuOxdServerUrl":"oxd-server:8443","gluuOxtrustApiEnabled":false,"gluuOxtrustApiTestMode":false,"gluuOxtrustBackend":"oxtrust:8080","gluuOxtrustConfigGeneration":true,"gluuPassportEnabled":false,"gluuPassportFailureRedirectUrl":"","gluuPersistenceLdapMapping":"default","gluuRedisSentinelGroup":"","gluuRedisSslTruststore":"","gluuRedisType":"STANDALONE","gluuRedisUrl":"redis:6379","gluuRedisUseSsl":"false","gluuSamlEnabled":false,"gluuScimProtectionMode":"OAUTH","gluuSyncCasaManifests":false,"gluuSyncShibManifests":false,"lbAddr":""},"countryCode":"US","customScripts":[],"dnsConfig":{},"dnsPolicy":"","email":"support@gluu.com","image":{"pullSecrets":[],"repository":"gluufederation/config-init","tag":"4.5.4-2"},"ldapPass":"P@ssw0rd","lifecycle":{},"migration":{"enabled":false,"migrationDataFormat":"ldif","migrationDir":"/ce-migration"},"nodeSelector":{},"orgName":"Gluu","redisPass":"P@assw0rd","resources":{"limits":{"cpu":"300m","memory":"300Mi"},"requests":{"cpu":"300m","memory":"300Mi"}},"salt":"","state":"TX","tolerations":[],"usrEnvs":{"normal":{},"secret":{}},"volumeMounts":[],"volumes":[]}` | Configuration parameters for setup and initial configuration secret and config layers used by Gluu services. | +| config | object | `{"additionalAnnotations":{},"additionalLabels":{},"adminPass":"P@ssw0rd","affinity":{},"city":"Austin","configmap":{"cnAwsAccessKeyId":"","cnAwsDefaultRegion":"us-west-1","cnAwsProfile":"gluu","cnAwsSecretAccessKey":"","cnAwsSecretsEndpointUrl":"","cnAwsSecretsNamePrefix":"gluu","cnAwsSecretsReplicaRegions":[],"cnGoogleProjectId":"google-project-to-save-config-and-secrets-to","cnGoogleServiceAccount":"SWFtTm90YVNlcnZpY2VBY2NvdW50Q2hhbmdlTWV0b09uZQo=","cnGoogleSpannerDatabaseId":"","cnGoogleSpannerEmulatorHost":"","cnGoogleSpannerInstanceId":"","cnSecretGoogleSecretNamePrefix":"gluu","cnSecretGoogleSecretVersionId":"latest","cnSqlDbDialect":"mysql","cnSqlDbHost":"my-release-mysql.default.svc.cluster.local","cnSqlDbName":"gluu","cnSqlDbPort":3306,"cnSqlDbTimezone":"UTC","cnSqlDbUser":"gluu","cnSqlPasswordFile":"/etc/gluu/conf/sql_password","cnSqldbUserPassword":"Test1234#","containerMetadataName":"kubernetes","gluuCacheType":"NATIVE_PERSISTENCE","gluuCasaEnabled":false,"gluuCouchbaseBucketPrefix":"gluu","gluuCouchbaseCertFile":"/etc/certs/couchbase.crt","gluuCouchbaseCrt":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURlakNDQW1LZ0F3SUJBZ0lKQUwyem5UWlREUHFNTUEwR0NTcUdTSWIzRFFFQkN3VUFNQzB4S3pBcEJnTlYKQkFNTUlpb3VZMkpuYkhWMUxtUmxabUYxYkhRdWMzWmpMbU5zZFhOMFpYSXViRzlqWVd3d0hoY05NakF3TWpBMQpNRGt4T1RVeFdoY05NekF3TWpBeU1Ea3hPVFV4V2pBdE1Tc3dLUVlEVlFRRERDSXFMbU5pWjJ4MWRTNWtaV1poCmRXeDBMbk4yWXk1amJIVnpkR1Z5TG14dlkyRnNNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUIKQ2dLQ0FRRUFycmQ5T3lvSnRsVzhnNW5nWlJtL2FKWjJ2eUtubGU3dVFIUEw4Q2RJa1RNdjB0eHZhR1B5UkNQQgo3RE00RTFkLzhMaU5takdZZk41QjZjWjlRUmNCaG1VNmFyUDRKZUZ3c0x0cTFGT3MxaDlmWGo3d3NzcTYrYmlkCjV6Umw3UEE0YmdvOXVkUVRzU1UrWDJUUVRDc0dxVVVPWExrZ3NCMjI0RDNsdkFCbmZOeHcvYnFQa2ZCQTFxVzYKVXpxellMdHN6WE5GY0dQMFhtU3c4WjJuaFhhUGlva2pPT2dyMkMrbVFZK0htQ2xGUWRpd2g2ZjBYR0V0STMrKwoyMStTejdXRkF6RlFBVUp2MHIvZnk4TDRXZzh1YysvalgwTGQrc2NoQTlNQjh3YmJORUp2ZjNMOGZ5QjZ0cTd2CjF4b0FnL0g0S1dJaHdqSEN0dFVnWU1oU0xWV3UrUUlEQVFBQm80R2NNSUdaTUIwR0ExVWREZ1FXQkJTWmQxWU0KVGNIRVZjSENNUmp6ejczZitEVmxxREJkQmdOVkhTTUVWakJVZ0JTWmQxWU1UY0hFVmNIQ01Sanp6NzNmK0RWbApxS0V4cEM4d0xURXJNQ2tHQTFVRUF3d2lLaTVqWW1kc2RYVXVaR1ZtWVhWc2RDNXpkbU11WTJ4MWMzUmxjaTVzCmIyTmhiSUlKQUwyem5UWlREUHFNTUF3R0ExVWRFd1FGTUFNQkFmOHdDd1lEVlIwUEJBUURBZ0VHTUEwR0NTcUcKU0liM0RRRUJDd1VBQTRJQkFRQk9meTVWSHlKZCtWUTBXaUQ1aSs2cmhidGNpSmtFN0YwWVVVZnJ6UFN2YWVFWQp2NElVWStWOC9UNnE4Mk9vVWU1eCtvS2dzbFBsL01nZEg2SW9CRnVtaUFqek14RTdUYUhHcXJ5dk13Qk5IKzB5CnhadG9mSnFXQzhGeUlwTVFHTEs0RVBGd3VHRlJnazZMRGR2ZEN5NVdxWW1MQWdBZVh5VWNaNnlHYkdMTjRPUDUKZTFiaEFiLzRXWXRxRHVydFJrWjNEejlZcis4VWNCVTRLT005OHBZN05aaXFmKzlCZVkvOEhZaVQ2Q0RRWWgyTgoyK0VWRFBHcFE4UkVsRThhN1ZLL29MemlOaXFyRjllNDV1OU1KdjM1ZktmNUJjK2FKdWduTGcwaUZUYmNaT1prCkpuYkUvUENIUDZFWmxLaEFiZUdnendtS1dDbTZTL3g0TklRK2JtMmoKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=","gluuCouchbaseIndexNumReplica":0,"gluuCouchbasePass":"P@ssw0rd","gluuCouchbasePassFile":"/etc/gluu/conf/couchbase_password","gluuCouchbaseSuperUser":"admin","gluuCouchbaseSuperUserPass":"P@ssw0rd","gluuCouchbaseSuperUserPassFile":"/etc/gluu/conf/couchbase_superuser_password","gluuCouchbaseUrl":"cbgluu.default.svc.cluster.local","gluuCouchbaseUser":"gluu","gluuDocumentStoreType":"DB","gluuJackrabbitAdminId":"admin","gluuJackrabbitAdminIdFile":"/etc/gluu/conf/jackrabbit_admin_id","gluuJackrabbitAdminPassFile":"/etc/gluu/conf/jackrabbit_admin_password","gluuJackrabbitPostgresDatabaseName":"jackrabbit","gluuJackrabbitPostgresHost":"postgresql.postgres.svc.cluster.local","gluuJackrabbitPostgresPasswordFile":"/etc/gluu/conf/postgres_password","gluuJackrabbitPostgresPort":5432,"gluuJackrabbitPostgresUser":"jackrabbit","gluuJackrabbitSyncInterval":300,"gluuJackrabbitUrl":"http://jackrabbit:8080","gluuLdapUrl":"opendj:1636","gluuMaxRamPercent":"75.0","gluuOxauthBackend":"oxauth:8080","gluuOxdAdminCertCn":"oxd-server","gluuOxdApplicationCertCn":"oxd-server","gluuOxdBindIpAddresses":"*","gluuOxdServerUrl":"oxd-server:8443","gluuOxtrustApiEnabled":false,"gluuOxtrustApiTestMode":false,"gluuOxtrustBackend":"oxtrust:8080","gluuOxtrustConfigGeneration":true,"gluuPassportEnabled":false,"gluuPassportFailureRedirectUrl":"","gluuPersistenceLdapMapping":"default","gluuRedisSentinelGroup":"","gluuRedisSslTruststore":"","gluuRedisType":"STANDALONE","gluuRedisUrl":"redis:6379","gluuRedisUseSsl":"false","gluuSamlEnabled":false,"gluuScimProtectionMode":"OAUTH","gluuSyncCasaManifests":false,"gluuSyncShibManifests":false,"lbAddr":""},"countryCode":"US","customScripts":[],"dnsConfig":{},"dnsPolicy":"","email":"support@gluu.com","image":{"pullSecrets":[],"repository":"gluufederation/config-init","tag":"4.5.5-1"},"ldapPass":"P@ssw0rd","lifecycle":{},"migration":{"enabled":false,"migrationDataFormat":"ldif","migrationDir":"/ce-migration"},"nodeSelector":{},"orgName":"Gluu","redisPass":"P@assw0rd","resources":{"limits":{"cpu":"300m","memory":"300Mi"},"requests":{"cpu":"300m","memory":"300Mi"}},"salt":"","state":"TX","tolerations":[],"usrEnvs":{"normal":{},"secret":{}},"volumeMounts":[],"volumes":[]}` | Configuration parameters for setup and initial configuration secret and config layers used by Gluu services. | | config.additionalAnnotations | object | `{}` | Additional annotations that will be added across all resources in the format of {cert-manager.io/issuer: "letsencrypt-prod"}. key app is taken | | config.additionalLabels | object | `{}` | Additional labels that will be added across all resources definitions in the format of {mylabel: "myapp"} | | config.adminPass | string | `"P@ssw0rd"` | Admin password to log in to the UI. | @@ -157,7 +157,7 @@ Kubernetes: `>=v1.22.0-0` | config.email | string | `"support@gluu.com"` | Email address of the administrator usually. Used for certificate creation. | | config.image.pullSecrets | list | `[]` | Image Pull Secrets | | config.image.repository | string | `"gluufederation/config-init"` | Image to use for deploying. | -| config.image.tag | string | `"4.5.4-2"` | Image tag to use for deploying. | +| config.image.tag | string | `"4.5.5-1"` | Image tag to use for deploying. | | config.ldapPass | string | `"P@ssw0rd"` | LDAP admin password if OpenDJ is used for persistence. | | config.migration | object | `{"enabled":false,"migrationDataFormat":"ldif","migrationDir":"/ce-migration"}` | CE to CN Migration section | | config.migration.enabled | bool | `false` | Boolean flag to enable migration from CE | @@ -178,7 +178,7 @@ Kubernetes: `>=v1.22.0-0` | config.usrEnvs.secret | object | `{}` | Add custom secret envs to the service. variable1: value1 | | config.volumeMounts | list | `[]` | Configure any additional volumesMounts that need to be attached to the containers | | config.volumes | list | `[]` | Configure any additional volumes that need to be attached to the pod | -| cr-rotate | object | `{"additionalAnnotations":{},"additionalLabels":{},"affinity":{},"dnsConfig":{},"dnsPolicy":"","image":{"pullPolicy":"IfNotPresent","pullSecrets":[],"repository":"gluufederation/cr-rotate","tag":"4.5.4-1"},"lifecycle":{},"nodeSelector":{},"resources":{"limits":{"cpu":"200m","memory":"200Mi"},"requests":{"cpu":"200m","memory":"200Mi"}},"service":{"crRotateServiceName":"cr-rotate","name":"http-cr-rotate","port":8084},"tolerations":[],"usrEnvs":{"normal":{},"secret":{}},"volumeMounts":[],"volumes":[]}` | CacheRefreshRotation is a special container to monitor cache refresh on oxTrust containers. This may be depreciated. | +| cr-rotate | object | `{"additionalAnnotations":{},"additionalLabels":{},"affinity":{},"dnsConfig":{},"dnsPolicy":"","image":{"pullPolicy":"IfNotPresent","pullSecrets":[],"repository":"gluufederation/cr-rotate","tag":"4.5.5-1"},"lifecycle":{},"nodeSelector":{},"resources":{"limits":{"cpu":"200m","memory":"200Mi"},"requests":{"cpu":"200m","memory":"200Mi"}},"service":{"crRotateServiceName":"cr-rotate","name":"http-cr-rotate","port":8084},"tolerations":[],"usrEnvs":{"normal":{},"secret":{}},"volumeMounts":[],"volumes":[]}` | CacheRefreshRotation is a special container to monitor cache refresh on oxTrust containers. This may be depreciated. | | cr-rotate.additionalAnnotations | object | `{}` | Additional annotations that will be added across all resources in the format of {cert-manager.io/issuer: "letsencrypt-prod"}. key app is taken | | cr-rotate.additionalLabels | object | `{}` | Additional labels that will be added across all resources definitions in the format of {mylabel: "myapp"} | | cr-rotate.affinity | object | `{}` | https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/ | @@ -187,7 +187,7 @@ Kubernetes: `>=v1.22.0-0` | cr-rotate.image.pullPolicy | string | `"IfNotPresent"` | Image pullPolicy to use for deploying. | | cr-rotate.image.pullSecrets | list | `[]` | Image Pull Secrets | | cr-rotate.image.repository | string | `"gluufederation/cr-rotate"` | Image to use for deploying. | -| cr-rotate.image.tag | string | `"4.5.4-1"` | Image tag to use for deploying. | +| cr-rotate.image.tag | string | `"4.5.5-1"` | Image tag to use for deploying. | | cr-rotate.resources | object | `{"limits":{"cpu":"200m","memory":"200Mi"},"requests":{"cpu":"200m","memory":"200Mi"}}` | Resource specs. | | cr-rotate.resources.limits.cpu | string | `"200m"` | CPU limit. | | cr-rotate.resources.limits.memory | string | `"200Mi"` | Memory limit. | @@ -202,7 +202,7 @@ Kubernetes: `>=v1.22.0-0` | cr-rotate.usrEnvs.secret | object | `{}` | Add custom secret envs to the service variable1: value1 | | cr-rotate.volumeMounts | list | `[]` | Configure any additional volumesMounts that need to be attached to the containers | | cr-rotate.volumes | list | `[]` | Configure any additional volumes that need to be attached to the pod | -| fido2 | object | `{"additionalAnnotations":{},"additionalLabels":{},"affinity":{},"customScripts":[],"dnsConfig":{},"dnsPolicy":"","hpa":{"behavior":{},"enabled":true,"maxReplicas":10,"metrics":[],"minReplicas":1,"targetCPUUtilizationPercentage":50},"image":{"pullPolicy":"IfNotPresent","pullSecrets":[],"repository":"gluufederation/fido2","tag":"4.5.4-1"},"lifecycle":{},"livenessProbe":{"httpGet":{"path":"/fido2/restv1/fido2/configuration","port":"http-fido2"},"initialDelaySeconds":25,"periodSeconds":25,"timeoutSeconds":5},"nodeSelector":{},"pdb":{"enabled":true,"maxUnavailable":"90%"},"readinessProbe":{"httpGet":{"path":"/fido2/restv1/fido2/configuration","port":"http-fido2"},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":5},"replicas":1,"resources":{"limits":{"cpu":"500m","memory":"500Mi"},"requests":{"cpu":"500m","memory":"500Mi"}},"service":{"fido2ServiceName":"fido2","name":"http-fido2","port":8080},"tolerations":[],"topologySpreadConstraints":{},"usrEnvs":{"normal":{},"secret":{}},"volumeMounts":[],"volumes":[]}` | FIDO 2.0 (FIDO2) is an open authentication standard that enables leveraging common devices to authenticate to online services in both mobile and desktop environments. | +| fido2 | object | `{"additionalAnnotations":{},"additionalLabels":{},"affinity":{},"customScripts":[],"dnsConfig":{},"dnsPolicy":"","hpa":{"behavior":{},"enabled":true,"maxReplicas":10,"metrics":[],"minReplicas":1,"targetCPUUtilizationPercentage":50},"image":{"pullPolicy":"IfNotPresent","pullSecrets":[],"repository":"gluufederation/fido2","tag":"4.5.5-1"},"lifecycle":{},"livenessProbe":{"httpGet":{"path":"/fido2/restv1/fido2/configuration","port":"http-fido2"},"initialDelaySeconds":25,"periodSeconds":25,"timeoutSeconds":5},"nodeSelector":{},"pdb":{"enabled":true,"maxUnavailable":"90%"},"readinessProbe":{"httpGet":{"path":"/fido2/restv1/fido2/configuration","port":"http-fido2"},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":5},"replicas":1,"resources":{"limits":{"cpu":"500m","memory":"500Mi"},"requests":{"cpu":"500m","memory":"500Mi"}},"service":{"fido2ServiceName":"fido2","name":"http-fido2","port":8080},"tolerations":[],"topologySpreadConstraints":{},"usrEnvs":{"normal":{},"secret":{}},"volumeMounts":[],"volumes":[]}` | FIDO 2.0 (FIDO2) is an open authentication standard that enables leveraging common devices to authenticate to online services in both mobile and desktop environments. | | fido2.additionalAnnotations | object | `{}` | Additional annotations that will be added across all resources in the format of {cert-manager.io/issuer: "letsencrypt-prod"}. key app is taken | | fido2.additionalLabels | object | `{}` | Additional labels that will be added across all resources definitions in the format of {mylabel: "myapp"} | | fido2.affinity | object | `{}` | https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/ | @@ -215,7 +215,7 @@ Kubernetes: `>=v1.22.0-0` | fido2.image.pullPolicy | string | `"IfNotPresent"` | Image pullPolicy to use for deploying. | | fido2.image.pullSecrets | list | `[]` | Image Pull Secrets | | fido2.image.repository | string | `"gluufederation/fido2"` | Image to use for deploying. | -| fido2.image.tag | string | `"4.5.4-1"` | Image tag to use for deploying. | +| fido2.image.tag | string | `"4.5.5-1"` | Image tag to use for deploying. | | fido2.livenessProbe | object | `{"httpGet":{"path":"/fido2/restv1/fido2/configuration","port":"http-fido2"},"initialDelaySeconds":25,"periodSeconds":25,"timeoutSeconds":5}` | Configure the liveness healthcheck for the fido2 if needed. | | fido2.livenessProbe.httpGet | object | `{"path":"/fido2/restv1/fido2/configuration","port":"http-fido2"}` | http liveness probe endpoint | | fido2.pdb | object | `{"enabled":true,"maxUnavailable":"90%"}` | Configure the PodDisruptionBudget | @@ -236,7 +236,7 @@ Kubernetes: `>=v1.22.0-0` | fido2.usrEnvs.secret | object | `{}` | Add custom secret envs to the service variable1: value1 | | fido2.volumeMounts | list | `[]` | Configure any additional volumesMounts that need to be attached to the containers | | fido2.volumes | list | `[]` | Configure any additional volumes that need to be attached to the pod | -| global | object | `{"alb":{"ingress":{"additionalAnnotations":{"alb.ingress.kubernetes.io/auth-session-cookie":"custom-cookie","alb.ingress.kubernetes.io/certificate-arn":"arn:aws:acm:us-west-2:xxxx:certificate/xxxxxx","alb.ingress.kubernetes.io/scheme":"internet-facing","kubernetes.io/ingress.class":"alb"},"additionalLabels":{},"adminUiEnabled":true,"authServerEnabled":true,"casaEnabled":false,"enabled":false,"fido2ConfigEnabled":false,"fido2Enabled":false,"openidConfigEnabled":true,"passportEnabled":false,"scimConfigEnabled":false,"scimEnabled":false,"shibEnabled":false,"u2fConfigEnabled":true,"uma2ConfigEnabled":true,"webdiscoveryEnabled":true,"webfingerEnabled":true}},"azureStorageAccountType":"Standard_LRS","azureStorageKind":"Managed","casa":{"gluuCustomJavaOptions":""},"cloud":{"testEnviroment":false},"cnAwsConfigFile":"/etc/gluu/conf/aws_config_file","cnAwsSecretsReplicaRegionsFile":"/etc/gluu/conf/aws_secrets_replica_regions","cnAwsSharedCredentialsFile":"/etc/gluu/conf/aws_shared_credential_file","cnGoogleApplicationCredentials":"/etc/gluu/conf/google-credentials.json","config":{"enabled":true},"configAdapterName":"kubernetes","configSecretAdapter":"kubernetes","cr-rotate":{"enabled":false},"domain":"demoexample.gluu.org","enableSecurityContextWithNonRegisteredDomain":"true","fido2":{"appLoggers":{"enableStdoutLogPrefix":"true","fido2LogLevel":"INFO","fido2LogTarget":"STDOUT","persistenceLogLevel":"INFO","persistenceLogTarget":"FILE"},"enabled":false,"gluuCustomJavaOptions":""},"gcePdStorageType":"pd-standard","gluuJackrabbitCluster":"true","gluuPersistenceType":"couchbase","isDomainRegistered":"false","istio":{"additionalAnnotations":{},"additionalLabels":{},"enabled":false,"gateways":[],"ingress":false,"namespace":"istio-system"},"jackrabbit":{"appLoggers":{"jackrabbitLogLevel":"INFO","jackrabbitLogTarget":"STDOUT"},"enabled":false},"jobTtlSecondsAfterFinished":300,"lbIp":"22.22.22.22","ldapServiceName":"opendj","nginx-ingress":{"enabled":true},"opendj":{"enabled":false},"oxauth":{"appLoggers":{"auditStatsLogLevel":"INFO","auditStatsLogTarget":"FILE","authLogLevel":"INFO","authLogTarget":"STDOUT","cleanerLogLevel":"INFO","cleanerLogTarget":"FILE","enableStdoutLogPrefix":"true","httpLogLevel":"INFO","httpLogTarget":"FILE","ldapStatsLogLevel":"INFO","ldapStatsLogTarget":"FILE","persistenceDurationLogLevel":"INFO","persistenceDurationLogTarget":"FILE","persistenceLogLevel":"INFO","persistenceLogTarget":"FILE","scriptLogLevel":"INFO","scriptLogTarget":"FILE"},"enabled":true,"gluuCustomJavaOptions":""},"oxauth-key-rotation":{"enabled":false},"oxd-server":{"appLoggers":{"oxdServerLogLevel":"INFO","oxdServerLogTarget":"STDOUT"},"enabled":true,"gluuCustomJavaOptions":""},"oxshibboleth":{"appLoggers":{"auditStatsLogLevel":"INFO","auditStatsLogTarget":"FILE","consentAuditLogLevel":"INFO","consentAuditLogTarget":"FILE","containerLogLevel":"","enableStdoutLogPrefix":"true","encryptionLogLevel":"","httpclientLogLevel":"","idpLogLevel":"INFO","idpLogTarget":"STDOUT","ldapLogLevel":"","messagesLogLevel":"","opensamlLogLevel":"","propsLogLevel":"","scriptLogLevel":"INFO","scriptLogTarget":"FILE","springLogLevel":"","xmlsecLogLevel":""},"enabled":false,"gluuCustomJavaOptions":""},"oxtrust":{"appLoggers":{"apachehcLogLevel":"INFO","apachehcLogTarget":"FILE","auditStatsLogLevel":"INFO","auditStatsLogTarget":"FILE","cacheRefreshLogLevel":"INFO","cacheRefreshLogTarget":"FILE","cacheRefreshPythonLogLevel":"INFO","cacheRefreshPythonLogTarget":"FILE","cleanerLogLevel":"INFO","cleanerLogTarget":"FILE","enableStdoutLogPrefix":"true","httpLogLevel":"INFO","httpLogTarget":"FILE","ldapStatsLogLevel":"INFO","ldapStatsLogTarget":"FILE","oxtrustLogLevel":"INFO","oxtrustLogTarget":"STDOUT","persistenceDurationLogLevel":"INFO","persistenceDurationLogTarget":"FILE","persistenceLogLevel":"INFO","persistenceLogTarget":"FILE","scriptLogLevel":"INFO","scriptLogTarget":"FILE","velocityLogLevel":"INFO","velocityLogTarget":"FILE"},"enabled":true,"gluuCustomJavaOptions":"-XshowSettings:vm -XX:MaxRAMPercentage=80"},"persistence":{"enabled":true},"scim":{"appLoggers":{"enableStdoutLogPrefix":"true","persistenceDurationLogLevel":"INFO","persistenceDurationLogTarget":"FILE","persistenceLogLevel":"INFO","persistenceLogTarget":"FILE","scimLogLevel":"INFO","scimLogTarget":"STDOUT","scriptLogLevel":"INFO","scriptLogTarget":"FILE"},"enabled":false,"gluuCustomJavaOptions":""},"sslCertFromDomain":"false","storageClass":{"allowVolumeExpansion":true,"allowedTopologies":[],"mountOptions":["debug"],"parameters":{},"provisioner":"microk8s.io/hostpath","reclaimPolicy":"Retain","volumeBindingMode":"WaitForFirstConsumer"},"upgrade":{"enabled":false,"image":{"repository":"gluufederation/upgrade","tag":"4.5.4-3"},"sourceVersion":"4.5","targetVersion":"4.5"},"usrEnvs":{"normal":{},"secret":{}}}` | Parameters used globally across all services helm charts. | +| global | object | `{"alb":{"ingress":{"additionalAnnotations":{"alb.ingress.kubernetes.io/auth-session-cookie":"custom-cookie","alb.ingress.kubernetes.io/certificate-arn":"arn:aws:acm:us-west-2:xxxx:certificate/xxxxxx","alb.ingress.kubernetes.io/scheme":"internet-facing","kubernetes.io/ingress.class":"alb"},"additionalLabels":{},"adminUiEnabled":true,"authServerEnabled":true,"casaEnabled":false,"enabled":false,"fido2ConfigEnabled":false,"fido2Enabled":false,"openidConfigEnabled":true,"passportEnabled":false,"scimConfigEnabled":false,"scimEnabled":false,"shibEnabled":false,"u2fConfigEnabled":true,"uma2ConfigEnabled":true,"webdiscoveryEnabled":true,"webfingerEnabled":true}},"azureStorageAccountType":"Standard_LRS","azureStorageKind":"Managed","casa":{"gluuCustomJavaOptions":""},"cloud":{"testEnviroment":false},"cnAwsConfigFile":"/etc/gluu/conf/aws_config_file","cnAwsSecretsReplicaRegionsFile":"/etc/gluu/conf/aws_secrets_replica_regions","cnAwsSharedCredentialsFile":"/etc/gluu/conf/aws_shared_credential_file","cnGoogleApplicationCredentials":"/etc/gluu/conf/google-credentials.json","config":{"enabled":true},"configAdapterName":"kubernetes","configSecretAdapter":"kubernetes","cr-rotate":{"enabled":false},"domain":"demoexample.gluu.org","enableSecurityContextWithNonRegisteredDomain":"true","fido2":{"appLoggers":{"enableStdoutLogPrefix":"true","fido2LogLevel":"INFO","fido2LogTarget":"STDOUT","persistenceLogLevel":"INFO","persistenceLogTarget":"FILE"},"enabled":false,"gluuCustomJavaOptions":""},"gcePdStorageType":"pd-standard","gluuJackrabbitCluster":"true","gluuPersistenceType":"couchbase","isDomainRegistered":"false","istio":{"additionalAnnotations":{},"additionalLabels":{},"enabled":false,"gateways":[],"ingress":false,"namespace":"istio-system"},"jackrabbit":{"appLoggers":{"jackrabbitLogLevel":"INFO","jackrabbitLogTarget":"STDOUT"},"enabled":false},"jobTtlSecondsAfterFinished":300,"lbIp":"22.22.22.22","ldapServiceName":"opendj","nginx-ingress":{"enabled":true},"opendj":{"enabled":false},"oxauth":{"appLoggers":{"auditStatsLogLevel":"INFO","auditStatsLogTarget":"FILE","authLogLevel":"INFO","authLogTarget":"STDOUT","cleanerLogLevel":"INFO","cleanerLogTarget":"FILE","enableStdoutLogPrefix":"true","httpLogLevel":"INFO","httpLogTarget":"FILE","ldapStatsLogLevel":"INFO","ldapStatsLogTarget":"FILE","persistenceDurationLogLevel":"INFO","persistenceDurationLogTarget":"FILE","persistenceLogLevel":"INFO","persistenceLogTarget":"FILE","scriptLogLevel":"INFO","scriptLogTarget":"FILE"},"enabled":true,"gluuCustomJavaOptions":""},"oxauth-key-rotation":{"enabled":false},"oxd-server":{"appLoggers":{"oxdServerLogLevel":"INFO","oxdServerLogTarget":"STDOUT"},"enabled":true,"gluuCustomJavaOptions":""},"oxshibboleth":{"appLoggers":{"auditStatsLogLevel":"INFO","auditStatsLogTarget":"FILE","consentAuditLogLevel":"INFO","consentAuditLogTarget":"FILE","containerLogLevel":"","enableStdoutLogPrefix":"true","encryptionLogLevel":"","httpclientLogLevel":"","idpLogLevel":"INFO","idpLogTarget":"STDOUT","ldapLogLevel":"","messagesLogLevel":"","opensamlLogLevel":"","propsLogLevel":"","scriptLogLevel":"INFO","scriptLogTarget":"FILE","springLogLevel":"","xmlsecLogLevel":""},"enabled":false,"gluuCustomJavaOptions":""},"oxtrust":{"appLoggers":{"apachehcLogLevel":"INFO","apachehcLogTarget":"FILE","auditStatsLogLevel":"INFO","auditStatsLogTarget":"FILE","cacheRefreshLogLevel":"INFO","cacheRefreshLogTarget":"FILE","cacheRefreshPythonLogLevel":"INFO","cacheRefreshPythonLogTarget":"FILE","cleanerLogLevel":"INFO","cleanerLogTarget":"FILE","enableStdoutLogPrefix":"true","httpLogLevel":"INFO","httpLogTarget":"FILE","ldapStatsLogLevel":"INFO","ldapStatsLogTarget":"FILE","oxtrustLogLevel":"INFO","oxtrustLogTarget":"STDOUT","persistenceDurationLogLevel":"INFO","persistenceDurationLogTarget":"FILE","persistenceLogLevel":"INFO","persistenceLogTarget":"FILE","scriptLogLevel":"INFO","scriptLogTarget":"FILE","velocityLogLevel":"INFO","velocityLogTarget":"FILE"},"enabled":true,"gluuCustomJavaOptions":"-XshowSettings:vm -XX:MaxRAMPercentage=80"},"persistence":{"enabled":true},"scim":{"appLoggers":{"enableStdoutLogPrefix":"true","persistenceDurationLogLevel":"INFO","persistenceDurationLogTarget":"FILE","persistenceLogLevel":"INFO","persistenceLogTarget":"FILE","scimLogLevel":"INFO","scimLogTarget":"STDOUT","scriptLogLevel":"INFO","scriptLogTarget":"FILE"},"enabled":false,"gluuCustomJavaOptions":""},"sslCertFromDomain":"false","storageClass":{"allowVolumeExpansion":true,"allowedTopologies":[],"mountOptions":["debug"],"parameters":{},"provisioner":"microk8s.io/hostpath","reclaimPolicy":"Retain","volumeBindingMode":"WaitForFirstConsumer"},"upgrade":{"enabled":false,"image":{"repository":"gluufederation/upgrade","tag":"4.5.5-1"},"sourceVersion":"4.5","targetVersion":"4.5"},"usrEnvs":{"normal":{},"secret":{}}}` | Parameters used globally across all services helm charts. | | global.alb.ingress.additionalAnnotations | object | `{"alb.ingress.kubernetes.io/auth-session-cookie":"custom-cookie","alb.ingress.kubernetes.io/certificate-arn":"arn:aws:acm:us-west-2:xxxx:certificate/xxxxxx","alb.ingress.kubernetes.io/scheme":"internet-facing","kubernetes.io/ingress.class":"alb"}` | Additional annotations that will be added across all ingress definitions in the format of {cert-manager.io/issuer: "letsencrypt-prod"} | | global.alb.ingress.additionalLabels | object | `{}` | Additional labels that will be added across all ingress definitions in the format of {mylabel: "myapp"} | | global.alb.ingress.adminUiEnabled | bool | `true` | Enable Admin UI endpoints /identity | @@ -375,13 +375,13 @@ Kubernetes: `>=v1.22.0-0` | global.storageClass.parameters | object | `{}` | parameters: fsType: "" kind: "" pool: "" storageAccountType: "" type: "" | | global.upgrade.enabled | bool | `false` | Boolean flag used when running upgrading through versions command. | | global.upgrade.image.repository | string | `"gluufederation/upgrade"` | Image to use for deploying. | -| global.upgrade.image.tag | string | `"4.5.4-3"` | Image tag to use for deploying. | +| global.upgrade.image.tag | string | `"4.5.5-1"` | Image tag to use for deploying. | | global.upgrade.sourceVersion | string | `"4.5"` | Source version currently running. This is normally one minor version down. The step should only be one minor version per upgrade | | global.upgrade.targetVersion | string | `"4.5"` | Target version currently running. This is normally one minor version up. The step should only be one minor version per upgrade | | global.usrEnvs | object | `{"normal":{},"secret":{}}` | Add custom normal and secret envs to the service. Envs defined in global.userEnvs will be globally available to all services | | global.usrEnvs.normal | object | `{}` | Add custom normal envs to the service. variable1: value1 | | global.usrEnvs.secret | object | `{}` | Add custom secret envs to the service. variable1: value1 | -| jackrabbit | object | `{"additionalAnnotations":{},"additionalLabels":{},"affinity":{},"clusterId":"","customScripts":[],"dnsConfig":{},"dnsPolicy":"","hpa":{"behavior":{},"enabled":true,"maxReplicas":10,"metrics":[],"minReplicas":1,"targetCPUUtilizationPercentage":50},"image":{"pullPolicy":"IfNotPresent","pullSecrets":[],"repository":"gluufederation/jackrabbit","tag":"4.5.4-1"},"lifecycle":{},"livenessProbe":{"initialDelaySeconds":25,"periodSeconds":25,"tcpSocket":{"port":"http-jackrabbit"},"timeoutSeconds":5},"nodeSelector":{},"pdb":{"enabled":true,"maxUnavailable":1},"readinessProbe":{"initialDelaySeconds":30,"periodSeconds":30,"tcpSocket":{"port":"http-jackrabbit"},"timeoutSeconds":5},"replicas":1,"resources":{"limits":{"cpu":"1500m","memory":"1000Mi"},"requests":{"cpu":"1500m","memory":"1000Mi"}},"secrets":{"gluuJackrabbitAdminPass":"Test1234#","gluuJackrabbitPostgresPass":"P@ssw0rd"},"service":{"jackRabbitServiceName":"jackrabbit","name":"http-jackrabbit","port":8080},"storage":{"size":"5Gi"},"tolerations":[],"topologySpreadConstraints":{},"usrEnvs":{"normal":{},"secret":{}},"volumeMounts":[],"volumes":[]}` | Jackrabbit Oak is a complementary implementation of the JCR specification. It is an effort to implement a scalable and performant hierarchical content repository for use as the foundation of modern world-class web sites and other demanding content applications https://jackrabbit.apache.org/jcr/index.html | +| jackrabbit | object | `{"additionalAnnotations":{},"additionalLabels":{},"affinity":{},"clusterId":"","customScripts":[],"dnsConfig":{},"dnsPolicy":"","hpa":{"behavior":{},"enabled":true,"maxReplicas":10,"metrics":[],"minReplicas":1,"targetCPUUtilizationPercentage":50},"image":{"pullPolicy":"IfNotPresent","pullSecrets":[],"repository":"gluufederation/jackrabbit","tag":"4.5.5-1"},"lifecycle":{},"livenessProbe":{"initialDelaySeconds":25,"periodSeconds":25,"tcpSocket":{"port":"http-jackrabbit"},"timeoutSeconds":5},"nodeSelector":{},"pdb":{"enabled":true,"maxUnavailable":1},"readinessProbe":{"initialDelaySeconds":30,"periodSeconds":30,"tcpSocket":{"port":"http-jackrabbit"},"timeoutSeconds":5},"replicas":1,"resources":{"limits":{"cpu":"1500m","memory":"1000Mi"},"requests":{"cpu":"1500m","memory":"1000Mi"}},"secrets":{"gluuJackrabbitAdminPass":"Test1234#","gluuJackrabbitPostgresPass":"P@ssw0rd"},"service":{"jackRabbitServiceName":"jackrabbit","name":"http-jackrabbit","port":8080},"storage":{"size":"5Gi"},"tolerations":[],"topologySpreadConstraints":{},"usrEnvs":{"normal":{},"secret":{}},"volumeMounts":[],"volumes":[]}` | Jackrabbit Oak is a complementary implementation of the JCR specification. It is an effort to implement a scalable and performant hierarchical content repository for use as the foundation of modern world-class web sites and other demanding content applications https://jackrabbit.apache.org/jcr/index.html | | jackrabbit.additionalAnnotations | object | `{}` | Additional annotations that will be added across the gateway in the format of {cert-manager.io/issuer: "letsencrypt-prod"} | | jackrabbit.additionalLabels | object | `{}` | Additional labels that will be added across the gateway in the format of {mylabel: "myapp"} | | jackrabbit.affinity | object | `{}` | https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/ | @@ -395,7 +395,7 @@ Kubernetes: `>=v1.22.0-0` | jackrabbit.image.pullPolicy | string | `"IfNotPresent"` | Image pullPolicy to use for deploying. | | jackrabbit.image.pullSecrets | list | `[]` | Image Pull Secrets | | jackrabbit.image.repository | string | `"gluufederation/jackrabbit"` | Image to use for deploying. | -| jackrabbit.image.tag | string | `"4.5.4-1"` | Image tag to use for deploying. | +| jackrabbit.image.tag | string | `"4.5.5-1"` | Image tag to use for deploying. | | jackrabbit.livenessProbe | object | `{"initialDelaySeconds":25,"periodSeconds":25,"tcpSocket":{"port":"http-jackrabbit"},"timeoutSeconds":5}` | Configure the liveness healthcheck for the Jackrabbit if needed. | | jackrabbit.livenessProbe.tcpSocket | object | `{"port":"http-jackrabbit"}` | Executes tcp healthcheck. | | jackrabbit.pdb | object | `{"enabled":true,"maxUnavailable":1}` | Configure the PodDisruptionBudget | @@ -471,7 +471,7 @@ Kubernetes: `>=v1.22.0-0` | nginx-ingress.ingress.webfingerAdditionalAnnotations | object | `{}` | webfinger ingress resource additional annotations. | | nginx-ingress.ingress.webfingerEnabled | bool | `true` | Enable endpoint /.well-known/webfinger | | nginx-ingress.ingress.webfingerLabels | object | `{}` | webfinger ingress resource labels. key app is taken | -| opendj | object | `{"additionalAnnotations":{},"additionalLabels":{},"affinity":{},"backup":{"cronJobSchedule":"*/59 * * * *","enabled":true},"customScripts":[],"dnsConfig":{},"dnsPolicy":"","hpa":{"behavior":{},"enabled":true,"maxReplicas":10,"metrics":[],"minReplicas":1,"targetCPUUtilizationPercentage":50},"image":{"pullPolicy":"IfNotPresent","pullSecrets":[],"repository":"gluufederation/opendj","tag":"4.5.4-1"},"lifecycle":{"preStop":{"exec":{"command":["/bin/sh","-c","python3 /app/scripts/deregister_peer.py 1>&/proc/1/fd/1"]}}},"livenessProbe":{"exec":{"command":["python3","/app/scripts/healthcheck.py"]},"failureThreshold":20,"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":5},"nodeSelector":{},"pdb":{"enabled":true,"maxUnavailable":1},"persistence":{"size":"5Gi"},"ports":{"tcp-admin":{"nodePort":"","port":4444,"protocol":"TCP","targetPort":4444},"tcp-ldap":{"nodePort":"","port":1389,"protocol":"TCP","targetPort":1389},"tcp-ldaps":{"nodePort":"","port":1636,"protocol":"TCP","targetPort":1636},"tcp-repl":{"nodePort":"","port":8989,"protocol":"TCP","targetPort":8989},"tcp-serf":{"nodePort":"","port":7946,"protocol":"TCP","targetPort":7946},"udp-serf":{"nodePort":"","port":7946,"protocol":"UDP","targetPort":7946}},"readinessProbe":{"failureThreshold":20,"initialDelaySeconds":60,"periodSeconds":25,"tcpSocket":{"port":1636},"timeoutSeconds":5},"replicas":1,"resources":{"limits":{"cpu":"1500m","memory":"2000Mi"},"requests":{"cpu":"1500m","memory":"2000Mi"}},"tolerations":[],"topologySpreadConstraints":{},"usrEnvs":{"normal":{},"secret":{}},"volumeMounts":[],"volumes":[]}` | OpenDJ is a directory server which implements a wide range of Lightweight Directory Access Protocol and related standards, including full compliance with LDAPv3 but also support for Directory Service Markup Language (DSMLv2).Written in Java, OpenDJ offers multi-master replication, access control, and many extensions. | +| opendj | object | `{"additionalAnnotations":{},"additionalLabels":{},"affinity":{},"backup":{"cronJobSchedule":"*/59 * * * *","enabled":true},"customScripts":[],"dnsConfig":{},"dnsPolicy":"","hpa":{"behavior":{},"enabled":true,"maxReplicas":10,"metrics":[],"minReplicas":1,"targetCPUUtilizationPercentage":50},"image":{"pullPolicy":"IfNotPresent","pullSecrets":[],"repository":"gluufederation/opendj","tag":"4.5.5-1"},"lifecycle":{"preStop":{"exec":{"command":["/bin/sh","-c","python3 /app/scripts/deregister_peer.py 1>&/proc/1/fd/1"]}}},"livenessProbe":{"exec":{"command":["python3","/app/scripts/healthcheck.py"]},"failureThreshold":20,"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":5},"nodeSelector":{},"pdb":{"enabled":true,"maxUnavailable":1},"persistence":{"size":"5Gi"},"ports":{"tcp-admin":{"nodePort":"","port":4444,"protocol":"TCP","targetPort":4444},"tcp-ldap":{"nodePort":"","port":1389,"protocol":"TCP","targetPort":1389},"tcp-ldaps":{"nodePort":"","port":1636,"protocol":"TCP","targetPort":1636},"tcp-repl":{"nodePort":"","port":8989,"protocol":"TCP","targetPort":8989},"tcp-serf":{"nodePort":"","port":7946,"protocol":"TCP","targetPort":7946},"udp-serf":{"nodePort":"","port":7946,"protocol":"UDP","targetPort":7946}},"readinessProbe":{"failureThreshold":20,"initialDelaySeconds":60,"periodSeconds":25,"tcpSocket":{"port":1636},"timeoutSeconds":5},"replicas":1,"resources":{"limits":{"cpu":"1500m","memory":"2000Mi"},"requests":{"cpu":"1500m","memory":"2000Mi"}},"tolerations":[],"topologySpreadConstraints":{},"usrEnvs":{"normal":{},"secret":{}},"volumeMounts":[],"volumes":[]}` | OpenDJ is a directory server which implements a wide range of Lightweight Directory Access Protocol and related standards, including full compliance with LDAPv3 but also support for Directory Service Markup Language (DSMLv2).Written in Java, OpenDJ offers multi-master replication, access control, and many extensions. | | opendj.additionalAnnotations | object | `{}` | Additional annotations that will be added across all resources in the format of {cert-manager.io/issuer: "letsencrypt-prod"}. key app is taken | | opendj.additionalLabels | object | `{}` | Additional labels that will be added across all resources definitions in the format of {mylabel: "myapp"} | | opendj.affinity | object | `{}` | https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/ | @@ -485,7 +485,7 @@ Kubernetes: `>=v1.22.0-0` | opendj.image.pullPolicy | string | `"IfNotPresent"` | Image pullPolicy to use for deploying. | | opendj.image.pullSecrets | list | `[]` | Image Pull Secrets | | opendj.image.repository | string | `"gluufederation/opendj"` | Image to use for deploying. | -| opendj.image.tag | string | `"4.5.4-1"` | Image tag to use for deploying. | +| opendj.image.tag | string | `"4.5.5-1"` | Image tag to use for deploying. | | opendj.livenessProbe | object | `{"exec":{"command":["python3","/app/scripts/healthcheck.py"]},"failureThreshold":20,"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":5}` | Configure the liveness healthcheck for OpenDJ if needed. https://github.com/GluuFederation/docker-opendj/blob/4.4/scripts/healthcheck.py | | opendj.livenessProbe.exec | object | `{"command":["python3","/app/scripts/healthcheck.py"]}` | Executes the python3 healthcheck. | | opendj.pdb | object | `{"enabled":true,"maxUnavailable":1}` | Configure the PodDisruptionBudget | @@ -505,8 +505,8 @@ Kubernetes: `>=v1.22.0-0` | opendj.usrEnvs.secret | object | `{}` | Add custom secret envs to the service variable1: value1 | | opendj.volumeMounts | list | `[]` | Configure any additional volumesMounts that need to be attached to the containers | | opendj.volumes | list | `[]` | Configure any additional volumes that need to be attached to the pod | -| oxauth | object | `{"additionalAnnotations":{},"additionalLabels":{},"affinity":{},"customScripts":[],"dnsConfig":{},"dnsPolicy":"","hpa":{"behavior":{},"enabled":true,"maxReplicas":10,"metrics":[],"minReplicas":1,"targetCPUUtilizationPercentage":50},"image":{"pullPolicy":"IfNotPresent","pullSecrets":[],"repository":"gluufederation/oxauth","tag":"4.5.4-2"},"lifecycle":{},"livenessProbe":{"exec":{"command":["python3","/app/scripts/healthcheck.py"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":5},"nodeSelector":{},"pdb":{"enabled":true,"maxUnavailable":"90%"},"readinessProbe":{"exec":{"command":["python3","/app/scripts/healthcheck.py"]},"initialDelaySeconds":25,"periodSeconds":25,"timeoutSeconds":5},"replicas":1,"resources":{"limits":{"cpu":"2500m","memory":"2500Mi"},"requests":{"cpu":"2500m","memory":"2500Mi"}},"service":{"name":"http-oxauth","oxAuthServiceName":"oxauth","port":8080},"tolerations":[],"topologySpreadConstraints":{},"usrEnvs":{"normal":{},"secret":{}},"volumeMounts":[],"volumes":[]}` | OAuth Authorization Server, the OpenID Connect Provider, the UMA Authorization Server--this is the main Internet facing component of Gluu. It's the service that returns tokens, JWT's and identity assertions. This service must be Internet facing. | -| oxauth-key-rotation | object | `{"additionalAnnotations":{},"additionalLabels":{},"affinity":{},"customScripts":[],"dnsConfig":{},"dnsPolicy":"","image":{"pullPolicy":"IfNotPresent","pullSecrets":[],"repository":"gluufederation/certmanager","tag":"4.5.4-1"},"keysLife":48,"keysPushDelay":0,"keysPushStrategy":"NEWER","keysStrategy":"NEWER","lifecycle":{},"nodeSelector":{},"resources":{"limits":{"cpu":"300m","memory":"300Mi"},"requests":{"cpu":"300m","memory":"300Mi"}},"tolerations":[],"usrEnvs":{"normal":{},"secret":{}},"volumeMounts":[],"volumes":[]}` | Responsible for regenerating auth-keys per x hours | +| oxauth | object | `{"additionalAnnotations":{},"additionalLabels":{},"affinity":{},"customScripts":[],"dnsConfig":{},"dnsPolicy":"","hpa":{"behavior":{},"enabled":true,"maxReplicas":10,"metrics":[],"minReplicas":1,"targetCPUUtilizationPercentage":50},"image":{"pullPolicy":"IfNotPresent","pullSecrets":[],"repository":"gluufederation/oxauth","tag":"4.5.5-1"},"lifecycle":{},"livenessProbe":{"exec":{"command":["python3","/app/scripts/healthcheck.py"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":5},"nodeSelector":{},"pdb":{"enabled":true,"maxUnavailable":"90%"},"readinessProbe":{"exec":{"command":["python3","/app/scripts/healthcheck.py"]},"initialDelaySeconds":25,"periodSeconds":25,"timeoutSeconds":5},"replicas":1,"resources":{"limits":{"cpu":"2500m","memory":"2500Mi"},"requests":{"cpu":"2500m","memory":"2500Mi"}},"service":{"name":"http-oxauth","oxAuthServiceName":"oxauth","port":8080},"tolerations":[],"topologySpreadConstraints":{},"usrEnvs":{"normal":{},"secret":{}},"volumeMounts":[],"volumes":[]}` | OAuth Authorization Server, the OpenID Connect Provider, the UMA Authorization Server--this is the main Internet facing component of Gluu. It's the service that returns tokens, JWT's and identity assertions. This service must be Internet facing. | +| oxauth-key-rotation | object | `{"additionalAnnotations":{},"additionalLabels":{},"affinity":{},"customScripts":[],"dnsConfig":{},"dnsPolicy":"","image":{"pullPolicy":"IfNotPresent","pullSecrets":[],"repository":"gluufederation/certmanager","tag":"4.5.5-1"},"keysLife":48,"keysPushDelay":0,"keysPushStrategy":"NEWER","keysStrategy":"NEWER","lifecycle":{},"nodeSelector":{},"resources":{"limits":{"cpu":"300m","memory":"300Mi"},"requests":{"cpu":"300m","memory":"300Mi"}},"tolerations":[],"usrEnvs":{"normal":{},"secret":{}},"volumeMounts":[],"volumes":[]}` | Responsible for regenerating auth-keys per x hours | | oxauth-key-rotation.additionalAnnotations | object | `{}` | Additional annotations that will be added across all resources in the format of {cert-manager.io/issuer: "letsencrypt-prod"}. key app is taken | | oxauth-key-rotation.additionalLabels | object | `{}` | Additional labels that will be added across all resources definitions in the format of {mylabel: "myapp"} | | oxauth-key-rotation.affinity | object | `{}` | https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/ | @@ -516,7 +516,7 @@ Kubernetes: `>=v1.22.0-0` | oxauth-key-rotation.image.pullPolicy | string | `"IfNotPresent"` | Image pullPolicy to use for deploying. | | oxauth-key-rotation.image.pullSecrets | list | `[]` | Image Pull Secrets | | oxauth-key-rotation.image.repository | string | `"gluufederation/certmanager"` | Image to use for deploying. | -| oxauth-key-rotation.image.tag | string | `"4.5.4-1"` | Image tag to use for deploying. | +| oxauth-key-rotation.image.tag | string | `"4.5.5-1"` | Image tag to use for deploying. | | oxauth-key-rotation.keysLife | int | `48` | Auth server key rotation keys life in hours | | oxauth-key-rotation.keysPushDelay | int | `0` | Delay (in seconds) before pushing private keys to Auth server | | oxauth-key-rotation.keysPushStrategy | string | `"NEWER"` | Set key selection strategy after pushing private keys to Auth server (only takes effect when keysPushDelay value is greater than 0) | @@ -544,7 +544,7 @@ Kubernetes: `>=v1.22.0-0` | oxauth.image.pullPolicy | string | `"IfNotPresent"` | Image pullPolicy to use for deploying. | | oxauth.image.pullSecrets | list | `[]` | Image Pull Secrets | | oxauth.image.repository | string | `"gluufederation/oxauth"` | Image to use for deploying. | -| oxauth.image.tag | string | `"4.5.4-2"` | Image tag to use for deploying. | +| oxauth.image.tag | string | `"4.5.5-1"` | Image tag to use for deploying. | | oxauth.livenessProbe | object | `{"exec":{"command":["python3","/app/scripts/healthcheck.py"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":5}` | Configure the liveness healthcheck for the auth server if needed. | | oxauth.livenessProbe.exec | object | `{"command":["python3","/app/scripts/healthcheck.py"]}` | Executes the python3 healthcheck. https://github.com/GluuFederation/docker-oxauth/blob/4.4/scripts/healthcheck.py | | oxauth.pdb | object | `{"enabled":true,"maxUnavailable":"90%"}` | Configure the PodDisruptionBudget | @@ -565,7 +565,7 @@ Kubernetes: `>=v1.22.0-0` | oxauth.usrEnvs.secret | object | `{}` | Add custom secret envs to the service variable1: value1 | | oxauth.volumeMounts | list | `[]` | Configure any additional volumesMounts that need to be attached to the containers | | oxauth.volumes | list | `[]` | Configure any additional volumes that need to be attached to the pod | -| oxd-server | object | `{"additionalAnnotations":{},"additionalLabels":{},"affinity":{},"customScripts":[],"dnsConfig":{},"dnsPolicy":"","hpa":{"behavior":{},"enabled":true,"maxReplicas":10,"metrics":[],"minReplicas":1,"targetCPUUtilizationPercentage":50},"image":{"pullPolicy":"IfNotPresent","pullSecrets":[],"repository":"gluufederation/oxd-server","tag":"4.5.4-2"},"lifecycle":{},"livenessProbe":{"exec":{"command":["curl","-k","http://localhost:8080/health-check"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":5},"nodeSelector":{},"pdb":{"enabled":true,"maxUnavailable":"90%"},"readinessProbe":{"exec":{"command":["curl","-k","http://localhost:8080/health-check"]},"initialDelaySeconds":25,"periodSeconds":25,"timeoutSeconds":5},"replicas":1,"resources":{"limits":{"cpu":"1000m","memory":"400Mi"},"requests":{"cpu":"1000m","memory":"400Mi"}},"service":{"oxdServerServiceName":"oxd-server"},"tolerations":[],"topologySpreadConstraints":{},"usrEnvs":{"normal":{},"secret":{}},"volumeMounts":[],"volumes":[]}` | Middleware API to help application developers call an OAuth, OpenID or UMA server. You may wonder why this is necessary. It makes it easier for client developers to use OpenID signing and encryption features, without becoming crypto experts. This API provides some high level endpoints to do some of the heavy lifting. | +| oxd-server | object | `{"additionalAnnotations":{},"additionalLabels":{},"affinity":{},"customScripts":[],"dnsConfig":{},"dnsPolicy":"","hpa":{"behavior":{},"enabled":true,"maxReplicas":10,"metrics":[],"minReplicas":1,"targetCPUUtilizationPercentage":50},"image":{"pullPolicy":"IfNotPresent","pullSecrets":[],"repository":"gluufederation/oxd-server","tag":"4.5.5-1"},"lifecycle":{},"livenessProbe":{"exec":{"command":["curl","-k","http://localhost:8080/health-check"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":5},"nodeSelector":{},"pdb":{"enabled":true,"maxUnavailable":"90%"},"readinessProbe":{"exec":{"command":["curl","-k","http://localhost:8080/health-check"]},"initialDelaySeconds":25,"periodSeconds":25,"timeoutSeconds":5},"replicas":1,"resources":{"limits":{"cpu":"1000m","memory":"400Mi"},"requests":{"cpu":"1000m","memory":"400Mi"}},"service":{"oxdServerServiceName":"oxd-server"},"tolerations":[],"topologySpreadConstraints":{},"usrEnvs":{"normal":{},"secret":{}},"volumeMounts":[],"volumes":[]}` | Middleware API to help application developers call an OAuth, OpenID or UMA server. You may wonder why this is necessary. It makes it easier for client developers to use OpenID signing and encryption features, without becoming crypto experts. This API provides some high level endpoints to do some of the heavy lifting. | | oxd-server.additionalAnnotations | object | `{}` | Additional annotations that will be added across all resources in the format of {cert-manager.io/issuer: "letsencrypt-prod"}. key app is taken | | oxd-server.additionalLabels | object | `{}` | Additional labels that will be added across all resources definitions in the format of {mylabel: "myapp"} | | oxd-server.affinity | object | `{}` | https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/ | @@ -578,7 +578,7 @@ Kubernetes: `>=v1.22.0-0` | oxd-server.image.pullPolicy | string | `"IfNotPresent"` | Image pullPolicy to use for deploying. | | oxd-server.image.pullSecrets | list | `[]` | Image Pull Secrets | | oxd-server.image.repository | string | `"gluufederation/oxd-server"` | Image to use for deploying. | -| oxd-server.image.tag | string | `"4.5.4-2"` | Image tag to use for deploying. | +| oxd-server.image.tag | string | `"4.5.5-1"` | Image tag to use for deploying. | | oxd-server.livenessProbe | object | `{"exec":{"command":["curl","-k","http://localhost:8080/health-check"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":5}` | Configure the liveness healthcheck for the auth server if needed. | | oxd-server.livenessProbe.exec | object | `{"command":["curl","-k","http://localhost:8080/health-check"]}` | Executes the python3 healthcheck. | | oxd-server.pdb | object | `{"enabled":true,"maxUnavailable":"90%"}` | Configure the PodDisruptionBudget | @@ -597,7 +597,7 @@ Kubernetes: `>=v1.22.0-0` | oxd-server.usrEnvs.secret | object | `{}` | Add custom secret envs to the service variable1: value1 | | oxd-server.volumeMounts | list | `[]` | Configure any additional volumesMounts that need to be attached to the containers | | oxd-server.volumes | list | `[]` | Configure any additional volumes that need to be attached to the pod | -| oxpassport | object | `{"additionalAnnotations":{},"additionalLabels":{},"affinity":{},"customScripts":[],"dnsConfig":{},"dnsPolicy":"","hpa":{"behavior":{},"enabled":true,"maxReplicas":10,"metrics":[],"minReplicas":1,"targetCPUUtilizationPercentage":50},"image":{"pullPolicy":"IfNotPresent","pullSecrets":[],"repository":"gluufederation/oxpassport","tag":"4.5.4-2"},"istioDestinationRuleCookieTTL":"60s","lifecycle":{},"livenessProbe":{"failureThreshold":20,"httpGet":{"path":"/passport/health-check","port":"http-passport"},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":5},"nodeSelector":{},"pdb":{"enabled":true,"maxUnavailable":"90%"},"readinessProbe":{"failureThreshold":20,"httpGet":{"path":"/passport/health-check","port":"http-passport"},"initialDelaySeconds":25,"periodSeconds":25,"timeoutSeconds":5},"replicas":1,"resources":{"limits":{"cpu":"700m","memory":"900Mi"},"requests":{"cpu":"700m","memory":"900Mi"}},"service":{"name":"http-passport","oxPassportServiceName":"oxpassport","port":8090},"tolerations":[],"topologySpreadConstraints":{},"usrEnvs":{"normal":{},"secret":{}},"volumeMounts":[],"volumes":[]}` | Gluu interface to Passport.js to support social login and inbound identity. | +| oxpassport | object | `{"additionalAnnotations":{},"additionalLabels":{},"affinity":{},"customScripts":[],"dnsConfig":{},"dnsPolicy":"","hpa":{"behavior":{},"enabled":true,"maxReplicas":10,"metrics":[],"minReplicas":1,"targetCPUUtilizationPercentage":50},"image":{"pullPolicy":"IfNotPresent","pullSecrets":[],"repository":"gluufederation/oxpassport","tag":"4.5.5-1"},"istioDestinationRuleCookieTTL":"60s","lifecycle":{},"livenessProbe":{"failureThreshold":20,"httpGet":{"path":"/passport/health-check","port":"http-passport"},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":5},"nodeSelector":{},"pdb":{"enabled":true,"maxUnavailable":"90%"},"readinessProbe":{"failureThreshold":20,"httpGet":{"path":"/passport/health-check","port":"http-passport"},"initialDelaySeconds":25,"periodSeconds":25,"timeoutSeconds":5},"replicas":1,"resources":{"limits":{"cpu":"700m","memory":"900Mi"},"requests":{"cpu":"700m","memory":"900Mi"}},"service":{"name":"http-passport","oxPassportServiceName":"oxpassport","port":8090},"tolerations":[],"topologySpreadConstraints":{},"usrEnvs":{"normal":{},"secret":{}},"volumeMounts":[],"volumes":[]}` | Gluu interface to Passport.js to support social login and inbound identity. | | oxpassport.additionalAnnotations | object | `{}` | Additional annotations that will be added across all resources in the format of {cert-manager.io/issuer: "letsencrypt-prod"}. key app is taken | | oxpassport.additionalLabels | object | `{}` | Additional labels that will be added across all resources definitions in the format of {mylabel: "myapp"} | | oxpassport.affinity | object | `{}` | https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/ | @@ -610,7 +610,7 @@ Kubernetes: `>=v1.22.0-0` | oxpassport.image.pullPolicy | string | `"IfNotPresent"` | Image pullPolicy to use for deploying. | | oxpassport.image.pullSecrets | list | `[]` | Image Pull Secrets | | oxpassport.image.repository | string | `"gluufederation/oxpassport"` | Image to use for deploying. | -| oxpassport.image.tag | string | `"4.5.4-2"` | Image tag to use for deploying. | +| oxpassport.image.tag | string | `"4.5.5-1"` | Image tag to use for deploying. | | oxpassport.istioDestinationRuleCookieTTL | string | `"60s"` | Istio Destination Rule loadBalancer.consistentHash.httpCookie.ttl if istio ingress is enabled | | oxpassport.livenessProbe | object | `{"failureThreshold":20,"httpGet":{"path":"/passport/health-check","port":"http-passport"},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":5}` | Configure the liveness healthcheck for oxPassport if needed. | | oxpassport.livenessProbe.httpGet.path | string | `"/passport/health-check"` | http liveness probe endpoint | @@ -633,7 +633,7 @@ Kubernetes: `>=v1.22.0-0` | oxpassport.usrEnvs.secret | object | `{}` | Add custom secret envs to the service variable1: value1 | | oxpassport.volumeMounts | list | `[]` | Configure any additional volumesMounts that need to be attached to the containers | | oxpassport.volumes | list | `[]` | Configure any additional volumes that need to be attached to the pod | -| oxshibboleth | object | `{"additionalAnnotations":{},"additionalLabels":{},"affinity":{},"customScripts":[],"dnsConfig":{},"dnsPolicy":"","hpa":{"behavior":{},"enabled":true,"maxReplicas":10,"metrics":[],"minReplicas":1,"targetCPUUtilizationPercentage":50},"image":{"pullPolicy":"IfNotPresent","pullSecrets":[],"repository":"gluufederation/oxshibboleth","tag":"4.5.4-1"},"istioDestinationRuleCookieTTL":"60s","lifecycle":{},"livenessProbe":{"exec":{"command":["python3","/app/scripts/healthcheck.py"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":5},"nodeSelector":{},"pdb":{"enabled":true,"maxUnavailable":1},"readinessProbe":{"exec":{"command":["python3","/app/scripts/healthcheck.py"]},"initialDelaySeconds":25,"periodSeconds":25,"timeoutSeconds":5},"replicas":1,"resources":{"limits":{"cpu":"1000m","memory":"1000Mi"},"requests":{"cpu":"1000m","memory":"1000Mi"}},"service":{"name":"http-oxshib","oxShibbolethServiceName":"oxshibboleth","port":8080,"sessionAffinity":"ClientIP"},"tolerations":[],"topologySpreadConstraints":{},"usrEnvs":{"normal":{},"secret":{}},"volumeMounts":[],"volumes":[]}` | Shibboleth project for the Gluu Server's SAML IDP functionality. | +| oxshibboleth | object | `{"additionalAnnotations":{},"additionalLabels":{},"affinity":{},"customScripts":[],"dnsConfig":{},"dnsPolicy":"","hpa":{"behavior":{},"enabled":true,"maxReplicas":10,"metrics":[],"minReplicas":1,"targetCPUUtilizationPercentage":50},"image":{"pullPolicy":"IfNotPresent","pullSecrets":[],"repository":"gluufederation/oxshibboleth","tag":"4.5.5-1"},"istioDestinationRuleCookieTTL":"60s","lifecycle":{},"livenessProbe":{"exec":{"command":["python3","/app/scripts/healthcheck.py"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":5},"nodeSelector":{},"pdb":{"enabled":true,"maxUnavailable":1},"readinessProbe":{"exec":{"command":["python3","/app/scripts/healthcheck.py"]},"initialDelaySeconds":25,"periodSeconds":25,"timeoutSeconds":5},"replicas":1,"resources":{"limits":{"cpu":"1000m","memory":"1000Mi"},"requests":{"cpu":"1000m","memory":"1000Mi"}},"service":{"name":"http-oxshib","oxShibbolethServiceName":"oxshibboleth","port":8080,"sessionAffinity":"ClientIP"},"tolerations":[],"topologySpreadConstraints":{},"usrEnvs":{"normal":{},"secret":{}},"volumeMounts":[],"volumes":[]}` | Shibboleth project for the Gluu Server's SAML IDP functionality. | | oxshibboleth.additionalAnnotations | object | `{}` | Additional annotations that will be added across all resources in the format of {cert-manager.io/issuer: "letsencrypt-prod"}. key app is taken | | oxshibboleth.additionalLabels | object | `{}` | Additional labels that will be added across all resources definitions in the format of {mylabel: "myapp"} | | oxshibboleth.affinity | object | `{}` | https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/ | @@ -646,7 +646,7 @@ Kubernetes: `>=v1.22.0-0` | oxshibboleth.image.pullPolicy | string | `"IfNotPresent"` | Image pullPolicy to use for deploying. | | oxshibboleth.image.pullSecrets | list | `[]` | Image Pull Secrets | | oxshibboleth.image.repository | string | `"gluufederation/oxshibboleth"` | Image to use for deploying. | -| oxshibboleth.image.tag | string | `"4.5.4-1"` | Image tag to use for deploying. | +| oxshibboleth.image.tag | string | `"4.5.5-1"` | Image tag to use for deploying. | | oxshibboleth.istioDestinationRuleCookieTTL | string | `"60s"` | Istio Destination Rule loadBalancer.consistentHash.httpCookie.ttl if istio ingress is enabled | | oxshibboleth.livenessProbe | object | `{"exec":{"command":["python3","/app/scripts/healthcheck.py"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":5}` | Configure the liveness healthcheck for the oxshibboleth if needed. | | oxshibboleth.livenessProbe.exec | object | `{"command":["python3","/app/scripts/healthcheck.py"]}` | Executes the python3 healthcheck. https://github.com/GluuFederation/docker-oxshibboleth/blob/4.5/scripts/healthcheck.py | @@ -668,7 +668,7 @@ Kubernetes: `>=v1.22.0-0` | oxshibboleth.usrEnvs.secret | object | `{}` | Add custom secret envs to the service variable1: value1 | | oxshibboleth.volumeMounts | list | `[]` | Configure any additional volumesMounts that need to be attached to the containers | | oxshibboleth.volumes | list | `[]` | Configure any additional volumes that need to be attached to the pod | -| oxtrust | object | `{"additionalAnnotations":{},"additionalLabels":{},"affinity":{},"customScripts":[],"dnsConfig":{},"dnsPolicy":"","hpa":{"behavior":{},"enabled":true,"maxReplicas":10,"metrics":[],"minReplicas":1,"targetCPUUtilizationPercentage":50},"image":{"pullPolicy":"IfNotPresent","pullSecrets":[],"repository":"gluufederation/oxtrust","tag":"4.5.4-1"},"istioDestinationRuleCookieTTL":"60s","lifecycle":{},"livenessProbe":{"exec":{"command":["python3","/app/scripts/healthcheck.py"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":5},"nodeSelector":{},"pdb":{"enabled":true,"maxUnavailable":1},"readinessProbe":{"exec":{"command":["python3","/app/scripts/healthcheck.py"]},"initialDelaySeconds":25,"periodSeconds":25,"timeoutSeconds":5},"replicas":1,"resources":{"limits":{"cpu":"2500m","memory":"2500Mi"},"requests":{"cpu":"2500m","memory":"2500Mi"}},"service":{"clusterIp":"None","name":"http-oxtrust","oxTrustServiceName":"oxtrust","port":8080},"tolerations":[],"topologySpreadConstraints":{},"usrEnvs":{"normal":{},"secret":{}},"volumeMounts":[],"volumes":[]}` | Gluu Admin UI. This shouldn't be internet facing. | +| oxtrust | object | `{"additionalAnnotations":{},"additionalLabels":{},"affinity":{},"customScripts":[],"dnsConfig":{},"dnsPolicy":"","hpa":{"behavior":{},"enabled":true,"maxReplicas":10,"metrics":[],"minReplicas":1,"targetCPUUtilizationPercentage":50},"image":{"pullPolicy":"IfNotPresent","pullSecrets":[],"repository":"gluufederation/oxtrust","tag":"4.5.5-1"},"istioDestinationRuleCookieTTL":"60s","lifecycle":{},"livenessProbe":{"exec":{"command":["python3","/app/scripts/healthcheck.py"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":5},"nodeSelector":{},"pdb":{"enabled":true,"maxUnavailable":1},"readinessProbe":{"exec":{"command":["python3","/app/scripts/healthcheck.py"]},"initialDelaySeconds":25,"periodSeconds":25,"timeoutSeconds":5},"replicas":1,"resources":{"limits":{"cpu":"2500m","memory":"2500Mi"},"requests":{"cpu":"2500m","memory":"2500Mi"}},"service":{"clusterIp":"None","name":"http-oxtrust","oxTrustServiceName":"oxtrust","port":8080},"tolerations":[],"topologySpreadConstraints":{},"usrEnvs":{"normal":{},"secret":{}},"volumeMounts":[],"volumes":[]}` | Gluu Admin UI. This shouldn't be internet facing. | | oxtrust.additionalAnnotations | object | `{}` | Additional annotations that will be added across all resources in the format of {cert-manager.io/issuer: "letsencrypt-prod"}. key app is taken | | oxtrust.additionalLabels | object | `{}` | Additional labels that will be added across all resources definitions in the format of {mylabel: "myapp"} | | oxtrust.affinity | object | `{}` | https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/ | @@ -681,7 +681,7 @@ Kubernetes: `>=v1.22.0-0` | oxtrust.image.pullPolicy | string | `"IfNotPresent"` | Image pullPolicy to use for deploying. | | oxtrust.image.pullSecrets | list | `[]` | Image Pull Secrets | | oxtrust.image.repository | string | `"gluufederation/oxtrust"` | Image to use for deploying. | -| oxtrust.image.tag | string | `"4.5.4-1"` | Image tag to use for deploying. | +| oxtrust.image.tag | string | `"4.5.5-1"` | Image tag to use for deploying. | | oxtrust.istioDestinationRuleCookieTTL | string | `"60s"` | Istio Destination Rule loadBalancer.consistentHash.httpCookie.ttl if istio ingress is enabled | | oxtrust.livenessProbe | object | `{"exec":{"command":["python3","/app/scripts/healthcheck.py"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":5}` | Configure the liveness healthcheck for the auth server if needed. | | oxtrust.livenessProbe.exec | object | `{"command":["python3","/app/scripts/healthcheck.py"]}` | Executes the python3 healthcheck. https://github.com/GluuFederation/docker-oxauth/blob/4.4/scripts/healthcheck.py | @@ -703,7 +703,7 @@ Kubernetes: `>=v1.22.0-0` | oxtrust.usrEnvs.secret | object | `{}` | Add custom secret envs to the service variable1: value1 | | oxtrust.volumeMounts | list | `[]` | Configure any additional volumesMounts that need to be attached to the containers | | oxtrust.volumes | list | `[]` | Configure any additional volumes that need to be attached to the pod | -| persistence | object | `{"additionalAnnotations":{},"additionalLabels":{},"affinity":{},"customScripts":[],"dnsConfig":{},"dnsPolicy":"","image":{"pullPolicy":"IfNotPresent","pullSecrets":[],"repository":"gluufederation/persistence","tag":"4.5.4-2"},"lifecycle":{},"nodeSelector":{},"resources":{"limits":{"cpu":"300m","memory":"300Mi"},"requests":{"cpu":"300m","memory":"300Mi"}},"tolerations":[],"usrEnvs":{"normal":{},"secret":{}},"volumeMounts":[],"volumes":[]}` | Job to generate data and initial config for Gluu Server persistence layer. | +| persistence | object | `{"additionalAnnotations":{},"additionalLabels":{},"affinity":{},"customScripts":[],"dnsConfig":{},"dnsPolicy":"","image":{"pullPolicy":"IfNotPresent","pullSecrets":[],"repository":"gluufederation/persistence","tag":"4.5.5-1"},"lifecycle":{},"nodeSelector":{},"resources":{"limits":{"cpu":"300m","memory":"300Mi"},"requests":{"cpu":"300m","memory":"300Mi"}},"tolerations":[],"usrEnvs":{"normal":{},"secret":{}},"volumeMounts":[],"volumes":[]}` | Job to generate data and initial config for Gluu Server persistence layer. | | persistence.additionalAnnotations | object | `{}` | Additional annotations that will be added across all resources in the format of {cert-manager.io/issuer: "letsencrypt-prod"}. key app is taken | | persistence.additionalLabels | object | `{}` | Additional labels that will be added across all resources definitions in the format of {mylabel: "myapp"} | | persistence.affinity | object | `{}` | https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/ | @@ -713,7 +713,7 @@ Kubernetes: `>=v1.22.0-0` | persistence.image.pullPolicy | string | `"IfNotPresent"` | Image pullPolicy to use for deploying. | | persistence.image.pullSecrets | list | `[]` | Image Pull Secrets | | persistence.image.repository | string | `"gluufederation/persistence"` | Image to use for deploying. | -| persistence.image.tag | string | `"4.5.4-2"` | Image tag to use for deploying. | +| persistence.image.tag | string | `"4.5.5-1"` | Image tag to use for deploying. | | persistence.resources | object | `{"limits":{"cpu":"300m","memory":"300Mi"},"requests":{"cpu":"300m","memory":"300Mi"}}` | Resource specs. | | persistence.resources.limits.cpu | string | `"300m"` | CPU limit | | persistence.resources.limits.memory | string | `"300Mi"` | Memory limit. | @@ -725,7 +725,7 @@ Kubernetes: `>=v1.22.0-0` | persistence.usrEnvs.secret | object | `{}` | Add custom secret envs to the service variable1: value1 | | persistence.volumeMounts | list | `[]` | Configure any additional volumesMounts that need to be attached to the containers | | persistence.volumes | list | `[]` | Configure any additional volumes that need to be attached to the pod | -| scim | object | `{"additionalAnnotations":{},"additionalLabels":{},"affinity":{},"customScripts":[],"dnsConfig":{},"dnsPolicy":"","hpa":{"behavior":{},"enabled":true,"maxReplicas":10,"metrics":[],"minReplicas":1,"targetCPUUtilizationPercentage":50},"image":{"pullPolicy":"IfNotPresent","pullSecrets":[],"repository":"gluufederation/scim","tag":"4.5.4-1"},"lifecycle":{},"livenessProbe":{"httpGet":{"path":"/scim/restv1/scim/v2/ServiceProviderConfig","port":8080},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":5},"nodeSelector":{},"pdb":{"enabled":true,"maxUnavailable":"90%"},"readinessProbe":{"httpGet":{"path":"/scim/restv1/scim/v2/ServiceProviderConfig","port":8080},"initialDelaySeconds":25,"periodSeconds":25,"timeoutSeconds":5},"replicas":1,"resources":{"limits":{"cpu":"1000m","memory":"1000Mi"},"requests":{"cpu":"1000m","memory":"1000Mi"}},"service":{"name":"http-scim","port":8080,"scimServiceName":"scim"},"tolerations":[],"topologySpreadConstraints":{},"usrEnvs":{"normal":{},"secret":{}},"volumeMounts":[],"volumes":[]}` | System for Cross-domain Identity Management (SCIM) version 2.0 | +| scim | object | `{"additionalAnnotations":{},"additionalLabels":{},"affinity":{},"customScripts":[],"dnsConfig":{},"dnsPolicy":"","hpa":{"behavior":{},"enabled":true,"maxReplicas":10,"metrics":[],"minReplicas":1,"targetCPUUtilizationPercentage":50},"image":{"pullPolicy":"IfNotPresent","pullSecrets":[],"repository":"gluufederation/scim","tag":"4.5.5-1"},"lifecycle":{},"livenessProbe":{"httpGet":{"path":"/scim/restv1/scim/v2/ServiceProviderConfig","port":8080},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":5},"nodeSelector":{},"pdb":{"enabled":true,"maxUnavailable":"90%"},"readinessProbe":{"httpGet":{"path":"/scim/restv1/scim/v2/ServiceProviderConfig","port":8080},"initialDelaySeconds":25,"periodSeconds":25,"timeoutSeconds":5},"replicas":1,"resources":{"limits":{"cpu":"1000m","memory":"1000Mi"},"requests":{"cpu":"1000m","memory":"1000Mi"}},"service":{"name":"http-scim","port":8080,"scimServiceName":"scim"},"tolerations":[],"topologySpreadConstraints":{},"usrEnvs":{"normal":{},"secret":{}},"volumeMounts":[],"volumes":[]}` | System for Cross-domain Identity Management (SCIM) version 2.0 | | scim.additionalAnnotations | object | `{}` | Additional annotations that will be added across all resources in the format of {cert-manager.io/issuer: "letsencrypt-prod"}. key app is taken | | scim.additionalLabels | object | `{}` | Additional labels that will be added across all resources definitions in the format of {mylabel: "myapp"} | | scim.affinity | object | `{}` | https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/ | @@ -738,7 +738,7 @@ Kubernetes: `>=v1.22.0-0` | scim.image.pullPolicy | string | `"IfNotPresent"` | Image pullPolicy to use for deploying. | | scim.image.pullSecrets | list | `[]` | Image Pull Secrets | | scim.image.repository | string | `"gluufederation/scim"` | Image to use for deploying. | -| scim.image.tag | string | `"4.5.4-1"` | Image tag to use for deploying. | +| scim.image.tag | string | `"4.5.5-1"` | Image tag to use for deploying. | | scim.livenessProbe | object | `{"httpGet":{"path":"/scim/restv1/scim/v2/ServiceProviderConfig","port":8080},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":5}` | Configure the liveness healthcheck for SCIM if needed. | | scim.livenessProbe.httpGet.path | string | `"/scim/restv1/scim/v2/ServiceProviderConfig"` | http liveness probe endpoint | | scim.pdb | object | `{"enabled":true,"maxUnavailable":"90%"}` | Configure the PodDisruptionBudget | diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/casa/Chart.yaml b/pygluu/kubernetes/templates/helm/gluu/charts/casa/Chart.yaml index 993669e9..17e1ea07 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/casa/Chart.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/charts/casa/Chart.yaml @@ -2,7 +2,7 @@ # https://www.apache.org/licenses/LICENSE-2.0 apiVersion: v2 name: casa -version: 1.8.37 +version: 1.8.38 kubeVersion: ">=v1.22.0-0" description: Gluu Casa ("Casa") is a self-service web portal for end-users to manage authentication and authorization preferences for their account in a Gluu Server. type: application @@ -20,4 +20,4 @@ maintainers: email: support@gluu.org url: https://github.com/moabu icon: https://casa.gluu.org/wp-content/themes/gluucasa/casafavicon.ico -appVersion: "4.5.4" +appVersion: "4.5.5" diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/casa/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/casa/README.md index b0303a7d..2bbd28cc 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/casa/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/casa/README.md @@ -1,6 +1,6 @@ # casa -![Version: 1.8.37](https://img.shields.io/badge/Version-1.8.37-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.4](https://img.shields.io/badge/AppVersion-4.5.4-informational?style=flat-square) +![Version: 1.8.38](https://img.shields.io/badge/Version-1.8.38-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.5](https://img.shields.io/badge/AppVersion-4.5.5-informational?style=flat-square) Gluu Casa ("Casa") is a self-service web portal for end-users to manage authentication and authorization preferences for their account in a Gluu Server. @@ -39,7 +39,7 @@ Kubernetes: `>=v1.22.0-0` | image.pullPolicy | string | `"IfNotPresent"` | Image pullPolicy to use for deploying. | | image.pullSecrets | list | `[]` | Image Pull Secrets | | image.repository | string | `"gluufederation/casa"` | Image to use for deploying. | -| image.tag | string | `"4.5.4-1"` | Image tag to use for deploying. | +| image.tag | string | `"4.5.5-1"` | Image tag to use for deploying. | | lifecycle | object | `{}` | | | livenessProbe | object | `{"httpGet":{"path":"/casa/health-check","port":"http-casa"},"initialDelaySeconds":25,"periodSeconds":25,"timeoutSeconds":5}` | Configure the liveness healthcheck for casa if needed. | | livenessProbe.httpGet.path | string | `"/casa/health-check"` | http liveness probe endpoint | diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/casa/values.yaml b/pygluu/kubernetes/templates/helm/gluu/charts/casa/values.yaml index 2a24e9dc..0244cca3 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/casa/values.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/charts/casa/values.yaml @@ -29,7 +29,7 @@ image: # -- Image to use for deploying. repository: gluufederation/casa # -- Image tag to use for deploying. - tag: 4.5.4-1 + tag: 4.5.5-1 # -- Image Pull Secrets pullSecrets: [ ] # -- Service replica number. diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/config/Chart.yaml b/pygluu/kubernetes/templates/helm/gluu/charts/config/Chart.yaml index a51bf6ef..a3a580ba 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/config/Chart.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/charts/config/Chart.yaml @@ -2,7 +2,7 @@ # https://www.apache.org/licenses/LICENSE-2.0 apiVersion: v2 name: config -version: 1.8.37 +version: 1.8.38 kubeVersion: ">=v1.22.0-0" description: Configuration parameters for setup and initial configuration secret and config layers used by Gluu services. type: application @@ -19,4 +19,4 @@ maintainers: email: support@gluu.org url: https://github.com/moabu icon: https://gluu.org/docs/gluu-server/favicon.ico -appVersion: "4.5.4" +appVersion: "4.5.5" diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/config/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/config/README.md index b45b3a00..e6183e38 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/config/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/config/README.md @@ -1,6 +1,6 @@ # config -![Version: 1.8.37](https://img.shields.io/badge/Version-1.8.37-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.4](https://img.shields.io/badge/AppVersion-4.5.4-informational?style=flat-square) +![Version: 1.8.38](https://img.shields.io/badge/Version-1.8.38-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.5](https://img.shields.io/badge/AppVersion-4.5.5-informational?style=flat-square) Configuration parameters for setup and initial configuration secret and config layers used by Gluu services. @@ -108,7 +108,7 @@ Kubernetes: `>=v1.22.0-0` | email | string | `"support@gluu.com"` | Email address of the administrator usually. Used for certificate creation. | | image.pullSecrets | list | `[]` | Image Pull Secrets | | image.repository | string | `"gluufederation/config-init"` | Image to use for deploying. | -| image.tag | string | `"4.5.4-2"` | Image tag to use for deploying. | +| image.tag | string | `"4.5.5-1"` | Image tag to use for deploying. | | ldapPass | string | `"P@ssw0rd"` | LDAP admin password if OpennDJ is used for persistence. | | lifecycle | object | `{}` | | | migration | object | `{"enabled":false,"migrationDataFormat":"ldif","migrationDir":"/ce-migration"}` | CE to CN Migration section | diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/config/values.yaml b/pygluu/kubernetes/templates/helm/gluu/charts/config/values.yaml index a40995aa..669f46ec 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/config/values.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/charts/config/values.yaml @@ -180,7 +180,7 @@ image: # -- Image to use for deploying. repository: gluufederation/config-init # -- Image tag to use for deploying. - tag: 4.5.4-2 + tag: 4.5.5-1 # -- Image Pull Secrets pullSecrets: [ ] # -- Configure any additional volumes that need to be attached to the pod diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/cr-rotate/Chart.yaml b/pygluu/kubernetes/templates/helm/gluu/charts/cr-rotate/Chart.yaml index 56ccc53c..76366e5d 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/cr-rotate/Chart.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/charts/cr-rotate/Chart.yaml @@ -2,7 +2,7 @@ # https://www.apache.org/licenses/LICENSE-2.0 apiVersion: v2 name: cr-rotate -version: 1.8.37 +version: 1.8.38 kubeVersion: ">=v1.22.0-0" description: CacheRefreshRotation is a special container to monitor cache refresh on oxTrust containers. This may become depreciated in 5.0. type: application @@ -18,4 +18,4 @@ maintainers: email: support@gluu.org url: https://github.com/moabu icon: https://gluu.org/docs/gluu-server/favicon.ico -appVersion: "4.5.4" +appVersion: "4.5.5" diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/cr-rotate/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/cr-rotate/README.md index ee3858de..2fde21e5 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/cr-rotate/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/cr-rotate/README.md @@ -1,6 +1,6 @@ # cr-rotate -![Version: 1.8.37](https://img.shields.io/badge/Version-1.8.37-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.4](https://img.shields.io/badge/AppVersion-4.5.4-informational?style=flat-square) +![Version: 1.8.38](https://img.shields.io/badge/Version-1.8.38-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.5](https://img.shields.io/badge/AppVersion-4.5.5-informational?style=flat-square) CacheRefreshRotation is a special container to monitor cache refresh on oxTrust containers. This may become depreciated in 5.0. @@ -35,7 +35,7 @@ Kubernetes: `>=v1.22.0-0` | image.pullPolicy | string | `"IfNotPresent"` | Image pullPolicy to use for deploying. | | image.pullSecrets | list | `[]` | Image Pull Secrets | | image.repository | string | `"gluufederation/cr-rotate"` | Image to use for deploying. | -| image.tag | string | `"4.5.4-1"` | Image tag to use for deploying. | +| image.tag | string | `"4.5.5-1"` | Image tag to use for deploying. | | lifecycle | object | `{}` | | | nameOverride | string | `""` | | | nodeSelector | object | `{}` | | diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/cr-rotate/values.yaml b/pygluu/kubernetes/templates/helm/gluu/charts/cr-rotate/values.yaml index 2f5d1172..78b3e17e 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/cr-rotate/values.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/charts/cr-rotate/values.yaml @@ -19,7 +19,7 @@ image: # -- Image to use for deploying. repository: gluufederation/cr-rotate # -- Image tag to use for deploying. - tag: 4.5.4-1 + tag: 4.5.5-1 # -- Image Pull Secrets pullSecrets: [ ] # -- Resource specs. diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/fido2/Chart.yaml b/pygluu/kubernetes/templates/helm/gluu/charts/fido2/Chart.yaml index 0fd2452d..7a1727f2 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/fido2/Chart.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/charts/fido2/Chart.yaml @@ -2,7 +2,7 @@ # https://www.apache.org/licenses/LICENSE-2.0 apiVersion: v2 name: fido2 -version: 1.8.37 +version: 1.8.38 kubeVersion: ">=v1.22.0-0" description: FIDO 2.0 (FIDO2) is an open authentication standard that enables leveraging common devices to authenticate to online services in both mobile and desktop environments. type: application @@ -19,4 +19,4 @@ maintainers: email: support@gluu.org url: https://github.com/moabu icon: https://gluu.org/docs/gluu-server/favicon.ico -appVersion: "4.5.4" +appVersion: "4.5.5" diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/fido2/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/fido2/README.md index 200f3c98..6a828d1c 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/fido2/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/fido2/README.md @@ -1,6 +1,6 @@ # fido2 -![Version: 1.8.37](https://img.shields.io/badge/Version-1.8.37-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.4](https://img.shields.io/badge/AppVersion-4.5.4-informational?style=flat-square) +![Version: 1.8.38](https://img.shields.io/badge/Version-1.8.38-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.5](https://img.shields.io/badge/AppVersion-4.5.5-informational?style=flat-square) FIDO 2.0 (FIDO2) is an open authentication standard that enables leveraging common devices to authenticate to online services in both mobile and desktop environments. @@ -38,7 +38,7 @@ Kubernetes: `>=v1.22.0-0` | image.pullPolicy | string | `"IfNotPresent"` | Image pullPolicy to use for deploying. | | image.pullSecrets | list | `[]` | Image Pull Secrets | | image.repository | string | `"gluufederation/fido2"` | Image to use for deploying. | -| image.tag | string | `"4.5.4-1"` | Image tag to use for deploying. | +| image.tag | string | `"4.5.5-1"` | Image tag to use for deploying. | | lifecycle | object | `{}` | | | livenessProbe | object | `{"httpGet":{"path":"/fido2/restv1/fido2/configuration","port":"http-fido2"},"initialDelaySeconds":25,"periodSeconds":25,"timeoutSeconds":5}` | Configure the liveness healthcheck for the fido2 if needed. | | livenessProbe.httpGet | object | `{"path":"/fido2/restv1/fido2/configuration","port":"http-fido2"}` | http liveness probe endpoint | diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/fido2/values.yaml b/pygluu/kubernetes/templates/helm/gluu/charts/fido2/values.yaml index ecd6ad04..b8d86589 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/fido2/values.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/charts/fido2/values.yaml @@ -30,7 +30,7 @@ image: # -- Image to use for deploying. repository: gluufederation/fido2 # -- Image tag to use for deploying. - tag: 4.5.4-1 + tag: 4.5.5-1 # -- Image Pull Secrets pullSecrets: [ ] # -- Service replica number. diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/gluu-alb-ingress/Chart.yaml b/pygluu/kubernetes/templates/helm/gluu/charts/gluu-alb-ingress/Chart.yaml index fedee0db..67a57db3 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/gluu-alb-ingress/Chart.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/charts/gluu-alb-ingress/Chart.yaml @@ -2,7 +2,7 @@ # https://www.apache.org/licenses/LICENSE-2.0 apiVersion: v2 name: gluu-alb-ingress -version: 1.8.37 +version: 1.8.38 kubeVersion: ">=v1.22.0-0" description: Nginx ingress definitions chart type: application @@ -19,4 +19,4 @@ maintainers: email: support@gluu.org url: https://github.com/moabu icon: https://gluu.org/docs/gluu-server/favicon.ico -appVersion: "4.5.4" +appVersion: "4.5.5" diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/gluu-alb-ingress/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/gluu-alb-ingress/README.md index 9f8ff795..7b936b70 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/gluu-alb-ingress/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/gluu-alb-ingress/README.md @@ -1,6 +1,6 @@ # gluu-alb-ingress -![Version: 1.8.37](https://img.shields.io/badge/Version-1.8.37-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.4](https://img.shields.io/badge/AppVersion-4.5.4-informational?style=flat-square) +![Version: 1.8.38](https://img.shields.io/badge/Version-1.8.38-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.5](https://img.shields.io/badge/AppVersion-4.5.5-informational?style=flat-square) Nginx ingress definitions chart diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/gluu-istio-ingress/Chart.yaml b/pygluu/kubernetes/templates/helm/gluu/charts/gluu-istio-ingress/Chart.yaml index a4b926f3..0fe86f74 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/gluu-istio-ingress/Chart.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/charts/gluu-istio-ingress/Chart.yaml @@ -2,7 +2,7 @@ # https://www.apache.org/licenses/LICENSE-2.0 apiVersion: v2 name: gluu-istio-ingress -version: 1.8.37 +version: 1.8.38 kubeVersion: ">=v1.22.0-0" description: Istio Gateway type: application @@ -18,4 +18,4 @@ maintainers: email: support@gluu.org url: https://github.com/moabu icon: https://gluu.org/docs/gluu-server/favicon.ico -appVersion: "4.5.4" +appVersion: "4.5.5" diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/gluu-istio-ingress/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/gluu-istio-ingress/README.md index fc5e8f11..7370a4c4 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/gluu-istio-ingress/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/gluu-istio-ingress/README.md @@ -1,6 +1,6 @@ # gluu-istio-ingress -![Version: 1.8.37](https://img.shields.io/badge/Version-1.8.37-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.4](https://img.shields.io/badge/AppVersion-4.5.4-informational?style=flat-square) +![Version: 1.8.38](https://img.shields.io/badge/Version-1.8.38-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.5](https://img.shields.io/badge/AppVersion-4.5.5-informational?style=flat-square) Istio Gateway diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/jackrabbit/Chart.yaml b/pygluu/kubernetes/templates/helm/gluu/charts/jackrabbit/Chart.yaml index 7b7595b4..b442ef35 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/jackrabbit/Chart.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/charts/jackrabbit/Chart.yaml @@ -2,7 +2,7 @@ # https://www.apache.org/licenses/LICENSE-2.0 apiVersion: v2 name: jackrabbit -version: 1.8.37 +version: 1.8.38 kubeVersion: ">=v1.22.0-0" description: Jackrabbit Oak is a complementary implementation of the JCR specification. It is an effort to implement a scalable and performant hierarchical content repository for use as the foundation of modern world-class web sites and other demanding content applications. type: application @@ -20,4 +20,4 @@ maintainers: email: support@gluu.org url: https://github.com/moabu icon: https://gluu.org/docs/gluu-server/favicon.ico -appVersion: "4.5.4" +appVersion: "4.5.5" diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/jackrabbit/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/jackrabbit/README.md index 5682480c..414ac0fe 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/jackrabbit/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/jackrabbit/README.md @@ -1,6 +1,6 @@ # jackrabbit -![Version: 1.8.37](https://img.shields.io/badge/Version-1.8.37-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.4](https://img.shields.io/badge/AppVersion-4.5.4-informational?style=flat-square) +![Version: 1.8.38](https://img.shields.io/badge/Version-1.8.38-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.5](https://img.shields.io/badge/AppVersion-4.5.5-informational?style=flat-square) Jackrabbit Oak is a complementary implementation of the JCR specification. It is an effort to implement a scalable and performant hierarchical content repository for use as the foundation of modern world-class web sites and other demanding content applications. @@ -41,7 +41,7 @@ Kubernetes: `>=v1.22.0-0` | image.pullPolicy | string | `"IfNotPresent"` | Image pullPolicy to use for deploying. | | image.pullSecrets | list | `[]` | Image Pull Secrets | | image.repository | string | `"gluufederation/jackrabbit"` | Image to use for deploying. | -| image.tag | string | `"4.5.4-1"` | Image tag to use for deploying. | +| image.tag | string | `"4.5.5-1"` | Image tag to use for deploying. | | jackrabbitVolumeMounts.repository.mountPath | string | `"/opt/jackrabbit/repository"` | | | jackrabbitVolumeMounts.repository.name | string | `"jackrabbit-volume"` | | | jackrabbitVolumeMounts.version.mountPath | string | `"/opt/jackrabbit/version"` | | diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/jackrabbit/values.yaml b/pygluu/kubernetes/templates/helm/gluu/charts/jackrabbit/values.yaml index 5b5418a3..70b3514e 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/jackrabbit/values.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/charts/jackrabbit/values.yaml @@ -31,7 +31,7 @@ image: # -- Image to use for deploying. repository: gluufederation/jackrabbit # -- Image tag to use for deploying. - tag: 4.5.4-1 + tag: 4.5.5-1 # -- Image Pull Secrets pullSecrets: [ ] # -- Service replica number. diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/nginx-ingress/Chart.yaml b/pygluu/kubernetes/templates/helm/gluu/charts/nginx-ingress/Chart.yaml index c9272a7e..2f77b10f 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/nginx-ingress/Chart.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/charts/nginx-ingress/Chart.yaml @@ -2,7 +2,7 @@ # https://www.apache.org/licenses/LICENSE-2.0 apiVersion: v2 name: nginx-ingress -version: 1.8.37 +version: 1.8.38 kubeVersion: ">=v1.22.0-0" description: Nginx ingress definitions chart type: application @@ -19,4 +19,4 @@ maintainers: email: support@gluu.org url: https://github.com/moabu icon: https://gluu.org/docs/gluu-server/favicon.ico -appVersion: "4.5.4" +appVersion: "4.5.5" diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/nginx-ingress/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/nginx-ingress/README.md index cb73ca59..66ffb5fb 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/nginx-ingress/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/nginx-ingress/README.md @@ -1,6 +1,6 @@ # nginx-ingress -![Version: 1.8.37](https://img.shields.io/badge/Version-1.8.37-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.4](https://img.shields.io/badge/AppVersion-4.5.4-informational?style=flat-square) +![Version: 1.8.38](https://img.shields.io/badge/Version-1.8.38-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.5](https://img.shields.io/badge/AppVersion-4.5.5-informational?style=flat-square) Nginx ingress definitions chart diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/opendj/Chart.yaml b/pygluu/kubernetes/templates/helm/gluu/charts/opendj/Chart.yaml index 1ce5c730..6aa88205 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/opendj/Chart.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/charts/opendj/Chart.yaml @@ -2,7 +2,7 @@ # https://www.apache.org/licenses/LICENSE-2.0 apiVersion: v2 name: opendj -version: 1.8.37 +version: 1.8.38 kubeVersion: ">=v1.22.0-0" description: OpenDJ is a directory server which implements a wide range of Lightweight Directory Access Protocol and related standards, including full compliance with LDAPv3 but also support for Directory Service Markup Language (DSMLv2).Written in Java, OpenDJ offers multi-master replication, access control, and many extensions. type: application @@ -18,4 +18,4 @@ maintainers: email: support@gluu.org url: https://github.com/moabu icon: https://gluu.org/docs/gluu-server/favicon.ico -appVersion: "4.5.4" +appVersion: "4.5.5" diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/opendj/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/opendj/README.md index fd974741..e5309b48 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/opendj/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/opendj/README.md @@ -1,6 +1,6 @@ # opendj -![Version: 1.8.37](https://img.shields.io/badge/Version-1.8.37-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.4](https://img.shields.io/badge/AppVersion-4.5.4-informational?style=flat-square) +![Version: 1.8.38](https://img.shields.io/badge/Version-1.8.38-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.5](https://img.shields.io/badge/AppVersion-4.5.5-informational?style=flat-square) OpenDJ is a directory server which implements a wide range of Lightweight Directory Access Protocol and related standards, including full compliance with LDAPv3 but also support for Directory Service Markup Language (DSMLv2).Written in Java, OpenDJ offers multi-master replication, access control, and many extensions. @@ -38,7 +38,7 @@ Kubernetes: `>=v1.22.0-0` | image.pullPolicy | string | `"IfNotPresent"` | Image pullPolicy to use for deploying. | | image.pullSecrets | list | `[]` | Image Pull Secrets | | image.repository | string | `"gluufederation/opendj"` | Image to use for deploying. | -| image.tag | string | `"4.5.4-1"` | Image tag to use for deploying. | +| image.tag | string | `"4.5.5-1"` | Image tag to use for deploying. | | lifecycle.preStop.exec.command[0] | string | `"/bin/sh"` | | | lifecycle.preStop.exec.command[1] | string | `"-c"` | | | lifecycle.preStop.exec.command[2] | string | `"python3 /app/scripts/deregister_peer.py 1>&/proc/1/fd/1"` | | diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/opendj/values.yaml b/pygluu/kubernetes/templates/helm/gluu/charts/opendj/values.yaml index f7037f92..8e669ee1 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/opendj/values.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/charts/opendj/values.yaml @@ -28,7 +28,7 @@ image: # -- Image to use for deploying. repository: gluufederation/opendj # -- Image tag to use for deploying. - tag: 4.5.4-1 + tag: 4.5.5-1 # -- Image Pull Secrets pullSecrets: [ ] persistence: diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/oxauth-key-rotation/Chart.yaml b/pygluu/kubernetes/templates/helm/gluu/charts/oxauth-key-rotation/Chart.yaml index ee338806..534026d6 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/oxauth-key-rotation/Chart.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/charts/oxauth-key-rotation/Chart.yaml @@ -2,7 +2,7 @@ # https://www.apache.org/licenses/LICENSE-2.0 apiVersion: v2 name: oxauth-key-rotation -version: 1.8.37 +version: 1.8.38 kubeVersion: ">=v1.22.0-0" description: Responsible for regenerating auth-keys per x hours type: application @@ -17,4 +17,4 @@ maintainers: email: support@gluu.org url: https://github.com/moabu icon: https://gluu.org/docs/gluu-server/favicon.ico -appVersion: "4.5.4" +appVersion: "4.5.5" diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/oxauth-key-rotation/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/oxauth-key-rotation/README.md index 00a1e3d6..9dcff2bc 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/oxauth-key-rotation/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/oxauth-key-rotation/README.md @@ -1,6 +1,6 @@ # oxauth-key-rotation -![Version: 1.8.37](https://img.shields.io/badge/Version-1.8.37-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.4](https://img.shields.io/badge/AppVersion-4.5.4-informational?style=flat-square) +![Version: 1.8.38](https://img.shields.io/badge/Version-1.8.38-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.5](https://img.shields.io/badge/AppVersion-4.5.5-informational?style=flat-square) Responsible for regenerating auth-keys per x hours @@ -34,7 +34,7 @@ Kubernetes: `>=v1.22.0-0` | image.pullPolicy | string | `"IfNotPresent"` | Image pullPolicy to use for deploying. | | image.pullSecrets | list | `[]` | Image Pull Secrets | | image.repository | string | `"gluufederation/certmanager"` | Image to use for deploying. | -| image.tag | string | `"4.5.4-1"` | Image tag to use for deploying. | +| image.tag | string | `"4.5.5-1"` | Image tag to use for deploying. | | keysLife | int | `48` | Auth server key rotation keys life in hours | | keysPushDelay | int | `0` | Delay (in seconds) before pushing private keys to Auth server | | keysPushStrategy | string | `"NEWER"` | Set key selection strategy after pushing private keys to Auth server (only takes effect when keysPushDelay value is greater than 0) | diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/oxauth-key-rotation/values.yaml b/pygluu/kubernetes/templates/helm/gluu/charts/oxauth-key-rotation/values.yaml index 79616f18..6248f9a3 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/oxauth-key-rotation/values.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/charts/oxauth-key-rotation/values.yaml @@ -19,7 +19,7 @@ image: # -- Image to use for deploying. repository: gluufederation/certmanager # -- Image tag to use for deploying. - tag: 4.5.4-1 + tag: 4.5.5-1 # -- Image Pull Secrets pullSecrets: [ ] # -- Auth server key rotation keys life in hours diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/oxauth/Chart.yaml b/pygluu/kubernetes/templates/helm/gluu/charts/oxauth/Chart.yaml index 147bb419..b5014e3b 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/oxauth/Chart.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/charts/oxauth/Chart.yaml @@ -2,7 +2,7 @@ # https://www.apache.org/licenses/LICENSE-2.0 apiVersion: v2 name: oxauth -version: 1.8.37 +version: 1.8.38 kubeVersion: ">=v1.22.0-0" description: OAuth Authorization Server, the OpenID Connect Provider, the UMA Authorization Server--this is the main Internet facing component of Gluu. It's the service that returns tokens, JWT's and identity assertions. This service must be Internet facing. type: application @@ -18,4 +18,4 @@ maintainers: email: support@gluu.org url: https://github.com/moabu icon: https://gluu.org/docs/gluu-server/favicon.ico -appVersion: "4.5.4" +appVersion: "4.5.5" diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/oxauth/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/oxauth/README.md index 9f1746ee..10f0e866 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/oxauth/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/oxauth/README.md @@ -1,6 +1,6 @@ # oxauth -![Version: 1.8.37](https://img.shields.io/badge/Version-1.8.37-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.4](https://img.shields.io/badge/AppVersion-4.5.4-informational?style=flat-square) +![Version: 1.8.38](https://img.shields.io/badge/Version-1.8.38-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.5](https://img.shields.io/badge/AppVersion-4.5.5-informational?style=flat-square) OAuth Authorization Server, the OpenID Connect Provider, the UMA Authorization Server--this is the main Internet facing component of Gluu. It's the service that returns tokens, JWT's and identity assertions. This service must be Internet facing. @@ -37,7 +37,7 @@ Kubernetes: `>=v1.22.0-0` | image.pullPolicy | string | `"IfNotPresent"` | Image pullPolicy to use for deploying. | | image.pullSecrets | list | `[]` | Image Pull Secrets | | image.repository | string | `"gluufederation/oxauth"` | Image to use for deploying. | -| image.tag | string | `"4.5.4-1"` | Image tag to use for deploying. | +| image.tag | string | `"4.5.5-1"` | Image tag to use for deploying. | | lifecycle | object | `{}` | | | livenessProbe | object | `{"exec":{"command":["python3","/app/scripts/healthcheck.py"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":5}` | Configure the liveness healthcheck for the auth server if needed. | | livenessProbe.exec | object | `{"command":["python3","/app/scripts/healthcheck.py"]}` | Executes the python3 healthcheck. https://github.com/GluuFederation/docker-oxauth/blob/4.3/scripts/healthcheck.py | diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/oxauth/values.yaml b/pygluu/kubernetes/templates/helm/gluu/charts/oxauth/values.yaml index 3a4b90bc..a424617b 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/oxauth/values.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/charts/oxauth/values.yaml @@ -29,7 +29,7 @@ image: # -- Image to use for deploying. repository: gluufederation/oxauth # -- Image tag to use for deploying. - tag: 4.5.4-1 + tag: 4.5.5-1 # -- Image Pull Secrets pullSecrets: [ ] # -- Service replica number. diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/oxd-server/Chart.yaml b/pygluu/kubernetes/templates/helm/gluu/charts/oxd-server/Chart.yaml index fbc18acc..7c9b8854 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/oxd-server/Chart.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/charts/oxd-server/Chart.yaml @@ -2,7 +2,7 @@ # https://www.apache.org/licenses/LICENSE-2.0 apiVersion: v2 name: oxd-server -version: 1.8.37 +version: 1.8.38 kubeVersion: ">=v1.22.0-0" description: Middleware API to help application developers call an OAuth, OpenID or UMA server. You may wonder why this is necessary. It makes it easier for client developers to use OpenID signing and encryption features, without becoming crypto experts. This API provides some high level endpoints to do some of the heavy lifting. type: application @@ -18,4 +18,4 @@ maintainers: email: support@gluu.org url: https://github.com/moabu icon: https://gluu.org/docs/gluu-server/favicon.ico -appVersion: "4.5.4" +appVersion: "4.5.5" diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/oxd-server/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/oxd-server/README.md index d99d55e8..6404a9e9 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/oxd-server/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/oxd-server/README.md @@ -1,6 +1,6 @@ # oxd-server -![Version: 1.8.37](https://img.shields.io/badge/Version-1.8.37-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.4](https://img.shields.io/badge/AppVersion-4.5.4-informational?style=flat-square) +![Version: 1.8.38](https://img.shields.io/badge/Version-1.8.38-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.5](https://img.shields.io/badge/AppVersion-4.5.5-informational?style=flat-square) Middleware API to help application developers call an OAuth, OpenID or UMA server. You may wonder why this is necessary. It makes it easier for client developers to use OpenID signing and encryption features, without becoming crypto experts. This API provides some high level endpoints to do some of the heavy lifting. @@ -37,7 +37,7 @@ Kubernetes: `>=v1.22.0-0` | image.pullPolicy | string | `"IfNotPresent"` | Image pullPolicy to use for deploying. | | image.pullSecrets | list | `[]` | Image Pull Secrets | | image.repository | string | `"gluufederation/oxd-server"` | Image to use for deploying. | -| image.tag | string | `"4.5.4-2"` | Image tag to use for deploying. | +| image.tag | string | `"4.5.5-1"` | Image tag to use for deploying. | | lifecycle | object | `{}` | | | livenessProbe | object | `{"exec":{"command":["curl","-k","http://localhost:8080/health-check"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":5}` | Configure the liveness healthcheck for the auth server if needed. | | livenessProbe.exec | object | `{"command":["curl","-k","http://localhost:8080/health-check"]}` | Executes the python3 healthcheck. | diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/oxd-server/values.yaml b/pygluu/kubernetes/templates/helm/gluu/charts/oxd-server/values.yaml index 7b81b1f1..9eb035ee 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/oxd-server/values.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/charts/oxd-server/values.yaml @@ -29,7 +29,7 @@ image: # -- Image to use for deploying. repository: gluufederation/oxd-server # -- Image tag to use for deploying. - tag: 4.5.4-2 + tag: 4.5.5-1 # -- Image Pull Secrets pullSecrets: [ ] # -- Service replica number. diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/oxpassport/Chart.yaml b/pygluu/kubernetes/templates/helm/gluu/charts/oxpassport/Chart.yaml index d65433f2..8b00b384 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/oxpassport/Chart.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/charts/oxpassport/Chart.yaml @@ -2,7 +2,7 @@ # https://www.apache.org/licenses/LICENSE-2.0 apiVersion: v2 name: oxpassport -version: 1.8.37 +version: 1.8.38 kubeVersion: ">=v1.22.0-0" description: Gluu interface to Passport.js to support social login and inbound identity. type: application @@ -19,4 +19,4 @@ maintainers: email: support@gluu.org url: https://github.com/moabu icon: https://gluu.org/docs/gluu-server/favicon.ico -appVersion: "4.5.4" +appVersion: "4.5.5" diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/oxpassport/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/oxpassport/README.md index 964da021..b89047e8 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/oxpassport/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/oxpassport/README.md @@ -1,6 +1,6 @@ # oxpassport -![Version: 1.8.37](https://img.shields.io/badge/Version-1.8.37-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.4](https://img.shields.io/badge/AppVersion-4.5.4-informational?style=flat-square) +![Version: 1.8.38](https://img.shields.io/badge/Version-1.8.38-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.5](https://img.shields.io/badge/AppVersion-4.5.5-informational?style=flat-square) Gluu interface to Passport.js to support social login and inbound identity. @@ -38,7 +38,7 @@ Kubernetes: `>=v1.22.0-0` | image.pullPolicy | string | `"IfNotPresent"` | Image pullPolicy to use for deploying. | | image.pullSecrets | list | `[]` | Image Pull Secrets | | image.repository | string | `"gluufederation/oxpassport"` | Image to use for deploying. | -| image.tag | string | `"4.5.4-2"` | Image tag to use for deploying. | +| image.tag | string | `"4.5.5-1"` | Image tag to use for deploying. | | lifecycle | object | `{}` | | | livenessProbe | object | `{"failureThreshold":20,"httpGet":{"path":"/passport/health-check","port":"http-passport"},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":5}` | Configure the liveness healthcheck for oxPassport if needed. | | livenessProbe.httpGet.path | string | `"/passport/health-check"` | http liveness probe endpoint | diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/oxpassport/values.yaml b/pygluu/kubernetes/templates/helm/gluu/charts/oxpassport/values.yaml index 9cd7a3c2..3950e74b 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/oxpassport/values.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/charts/oxpassport/values.yaml @@ -29,7 +29,7 @@ image: # -- Image to use for deploying. repository: gluufederation/oxpassport # -- Image tag to use for deploying. - tag: 4.5.4-2 + tag: 4.5.5-1 # -- Image Pull Secrets pullSecrets: [ ] # -- Service replica number diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/oxshibboleth/Chart.yaml b/pygluu/kubernetes/templates/helm/gluu/charts/oxshibboleth/Chart.yaml index f89c5464..157851cd 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/oxshibboleth/Chart.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/charts/oxshibboleth/Chart.yaml @@ -2,7 +2,7 @@ # https://www.apache.org/licenses/LICENSE-2.0 apiVersion: v2 name: oxshibboleth -version: 1.8.37 +version: 1.8.38 kubeVersion: ">=v1.22.0-0" description: Shibboleth project for the Gluu Server's SAML IDP functionality. type: application @@ -18,4 +18,4 @@ maintainers: email: support@gluu.org url: https://github.com/moabu icon: https://gluu.org/docs/gluu-server/favicon.ico -appVersion: "4.5.4" +appVersion: "4.5.5" diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/oxshibboleth/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/oxshibboleth/README.md index 2d73db4c..f55ebaa9 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/oxshibboleth/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/oxshibboleth/README.md @@ -1,6 +1,6 @@ # oxshibboleth -![Version: 1.8.37](https://img.shields.io/badge/Version-1.8.37-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.4](https://img.shields.io/badge/AppVersion-4.5.4-informational?style=flat-square) +![Version: 1.8.38](https://img.shields.io/badge/Version-1.8.38-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.5](https://img.shields.io/badge/AppVersion-4.5.5-informational?style=flat-square) Shibboleth project for the Gluu Server's SAML IDP functionality. @@ -38,7 +38,7 @@ Kubernetes: `>=v1.22.0-0` | image.pullPolicy | string | `"IfNotPresent"` | Image pullPolicy to use for deploying. | | image.pullSecrets | list | `[]` | Image Pull Secrets | | image.repository | string | `"gluufederation/oxshibboleth"` | Image to use for deploying. | -| image.tag | string | `"4.5.4-1"` | Image tag to use for deploying. | +| image.tag | string | `"4.5.5-1"` | Image tag to use for deploying. | | lifecycle | object | `{}` | | | nameOverride | string | `""` | | | nodeSelector | object | `{}` | | diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/oxshibboleth/values.yaml b/pygluu/kubernetes/templates/helm/gluu/charts/oxshibboleth/values.yaml index a3565d49..4e8aa6b5 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/oxshibboleth/values.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/charts/oxshibboleth/values.yaml @@ -29,7 +29,7 @@ image: # -- Image to use for deploying. repository: gluufederation/oxshibboleth # -- Image tag to use for deploying. - tag: 4.5.4-1 + tag: 4.5.5-1 # -- Image Pull Secrets pullSecrets: [ ] # -- Service replica number. diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/oxtrust/Chart.yaml b/pygluu/kubernetes/templates/helm/gluu/charts/oxtrust/Chart.yaml index 845368b2..8554754b 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/oxtrust/Chart.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/charts/oxtrust/Chart.yaml @@ -2,7 +2,7 @@ # https://www.apache.org/licenses/LICENSE-2.0 apiVersion: v2 name: oxtrust -version: 1.8.37 +version: 1.8.38 kubeVersion: ">=v1.22.0-0" description: Gluu Admin UI. This shouldn't be internet facing. type: application @@ -18,4 +18,4 @@ maintainers: email: support@gluu.org url: https://github.com/moabu icon: https://gluu.org/docs/gluu-server/favicon.ico -appVersion: "4.5.4" +appVersion: "4.5.5" diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/oxtrust/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/oxtrust/README.md index 574c879a..adc3ced8 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/oxtrust/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/oxtrust/README.md @@ -1,6 +1,6 @@ # oxtrust -![Version: 1.8.37](https://img.shields.io/badge/Version-1.8.37-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.4](https://img.shields.io/badge/AppVersion-4.5.4-informational?style=flat-square) +![Version: 1.8.38](https://img.shields.io/badge/Version-1.8.38-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.5](https://img.shields.io/badge/AppVersion-4.5.5-informational?style=flat-square) Gluu Admin UI. This shouldn't be internet facing. @@ -37,7 +37,7 @@ Kubernetes: `>=v1.22.0-0` | image.pullPolicy | string | `"IfNotPresent"` | Image pullPolicy to use for deploying. | | image.pullSecrets | list | `[]` | Image Pull Secrets | | image.repository | string | `"gluufederation/oxtrust"` | Image to use for deploying. | -| image.tag | string | `"4.5.4-1"` | Image tag to use for deploying. | +| image.tag | string | `"4.5.5-1"` | Image tag to use for deploying. | | lifecycle | object | `{}` | | | livenessProbe | object | `{"exec":{"command":["python3","/app/scripts/healthcheck.py"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":5}` | Configure the liveness healthcheck for the auth server if needed. | | livenessProbe.exec | object | `{"command":["python3","/app/scripts/healthcheck.py"]}` | Executes the python3 healthcheck. https://github.com/GluuFederation/docker-oxauth/blob/4.3/scripts/healthcheck.py | diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/oxtrust/values.yaml b/pygluu/kubernetes/templates/helm/gluu/charts/oxtrust/values.yaml index 364f2792..e0c4c6ca 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/oxtrust/values.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/charts/oxtrust/values.yaml @@ -29,7 +29,7 @@ image: # -- Image to use for deploying. repository: gluufederation/oxtrust # -- Image tag to use for deploying. - tag: 4.5.4-1 + tag: 4.5.5-1 # -- Image Pull Secrets pullSecrets: [ ] # -- Service replica number. diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/persistence/Chart.yaml b/pygluu/kubernetes/templates/helm/gluu/charts/persistence/Chart.yaml index 86838b02..bf89420c 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/persistence/Chart.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/charts/persistence/Chart.yaml @@ -2,7 +2,7 @@ # https://www.apache.org/licenses/LICENSE-2.0 apiVersion: v2 name: persistence -version: 1.8.37 +version: 1.8.38 kubeVersion: ">=v1.22.0-0" description: Job to generate data and initial config for Gluu Server persistence layer. type: application @@ -17,4 +17,4 @@ maintainers: email: support@gluu.org url: https://github.com/moabu icon: https://gluu.org/docs/gluu-server/favicon.ico -appVersion: "4.5.4" +appVersion: "4.5.5" diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/persistence/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/persistence/README.md index fcc82d78..b1d2b625 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/persistence/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/persistence/README.md @@ -1,6 +1,6 @@ # persistence -![Version: 1.8.37](https://img.shields.io/badge/Version-1.8.37-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.4](https://img.shields.io/badge/AppVersion-4.5.4-informational?style=flat-square) +![Version: 1.8.38](https://img.shields.io/badge/Version-1.8.38-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.5](https://img.shields.io/badge/AppVersion-4.5.5-informational?style=flat-square) Job to generate data and initial config for Gluu Server persistence layer. @@ -35,7 +35,7 @@ Kubernetes: `>=v1.22.0-0` | image.pullPolicy | string | `"IfNotPresent"` | Image pullPolicy to use for deploying. | | image.pullSecrets | list | `[]` | Image Pull Secrets | | image.repository | string | `"gluufederation/persistence"` | Image to use for deploying. | -| image.tag | string | `"4.5.4-1"` | Image tag to use for deploying. | +| image.tag | string | `"4.5.5-1"` | Image tag to use for deploying. | | imagePullSecrets | list | `[]` | | | lifecycle | object | `{}` | | | nameOverride | string | `""` | | diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/persistence/values.yaml b/pygluu/kubernetes/templates/helm/gluu/charts/persistence/values.yaml index 9aae4277..236d9e66 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/persistence/values.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/charts/persistence/values.yaml @@ -19,7 +19,7 @@ image: # -- Image to use for deploying. repository: gluufederation/persistence # -- Image tag to use for deploying. - tag: 4.5.4-1 + tag: 4.5.5-1 # -- Image Pull Secrets pullSecrets: [ ] # -- Resource specs. diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/scim/Chart.yaml b/pygluu/kubernetes/templates/helm/gluu/charts/scim/Chart.yaml index 74a83981..4de963f5 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/scim/Chart.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/charts/scim/Chart.yaml @@ -2,7 +2,7 @@ # https://www.apache.org/licenses/LICENSE-2.0 apiVersion: v2 name: scim -version: 1.8.37 +version: 1.8.38 kubeVersion: ">=v1.22.0-0" description: System for Cross-domain Identity Management (SCIM) version 2.0 type: application @@ -19,4 +19,4 @@ maintainers: email: support@gluu.org url: https://github.com/moabu icon: https://gluu.org/docs/gluu-server/favicon.ico -appVersion: "4.5.4" +appVersion: "4.5.5" diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/scim/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/scim/README.md index 8adca87d..d476a242 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/scim/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/scim/README.md @@ -1,6 +1,6 @@ # scim -![Version: 1.8.37](https://img.shields.io/badge/Version-1.8.37-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.4](https://img.shields.io/badge/AppVersion-4.5.4-informational?style=flat-square) +![Version: 1.8.38](https://img.shields.io/badge/Version-1.8.38-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.5.5](https://img.shields.io/badge/AppVersion-4.5.5-informational?style=flat-square) System for Cross-domain Identity Management (SCIM) version 2.0 @@ -38,7 +38,7 @@ Kubernetes: `>=v1.22.0-0` | image.pullPolicy | string | `"IfNotPresent"` | Image pullPolicy to use for deploying. | | image.pullSecrets | list | `[]` | Image Pull Secrets | | image.repository | string | `"gluufederation/scim"` | Image to use for deploying. | -| image.tag | string | `"4.5.4-1"` | Image tag to use for deploying. | +| image.tag | string | `"4.5.5-1"` | Image tag to use for deploying. | | lifecycle | object | `{}` | | | livenessProbe | object | `{"httpGet":{"path":"/scim/restv1/scim/v2/ServiceProviderConfig","port":8080},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":5}` | Configure the liveness healthcheck for SCIM if needed. | | livenessProbe.httpGet.path | string | `"/scim/restv1/scim/v2/ServiceProviderConfig"` | http liveness probe endpoint | diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/scim/values.yaml b/pygluu/kubernetes/templates/helm/gluu/charts/scim/values.yaml index 30f59cd7..f2be265e 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/scim/values.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/charts/scim/values.yaml @@ -29,7 +29,7 @@ image: # -- Image to use for deploying. repository: gluufederation/scim # -- Image tag to use for deploying. - tag: 4.5.4-1 + tag: 4.5.5-1 # -- Image Pull Secrets pullSecrets: [ ] # -- Service replica number. diff --git a/pygluu/kubernetes/templates/helm/gluu/values.yaml b/pygluu/kubernetes/templates/helm/gluu/values.yaml index 9191a9ba..c749693b 100644 --- a/pygluu/kubernetes/templates/helm/gluu/values.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/values.yaml @@ -74,7 +74,7 @@ global: # -- Image to use for deploying. repository: gluufederation/upgrade # -- Image tag to use for deploying. - tag: 4.5.4-3 + tag: 4.5.5-1 # -- Source version currently running. This is normally one minor version down. # The step should only be one minor version per upgrade sourceVersion: "4.5" @@ -549,7 +549,7 @@ config: # -- Image to use for deploying. repository: gluufederation/config-init # -- Image tag to use for deploying. - tag: 4.5.4-2 + tag: 4.5.5-1 # -- Image Pull Secrets pullSecrets: [ ] # -- Configure any additional volumes that need to be attached to the pod @@ -784,7 +784,7 @@ jackrabbit: # -- Image to use for deploying. repository: gluufederation/jackrabbit # -- Image tag to use for deploying. - tag: 4.5.4-1 + tag: 4.5.5-1 # -- Image Pull Secrets pullSecrets: [ ] # -- Service replica number. @@ -915,7 +915,7 @@ opendj: # -- Image to use for deploying. repository: gluufederation/opendj # -- Image tag to use for deploying. - tag: 4.5.4-1 + tag: 4.5.5-1 # -- Image Pull Secrets pullSecrets: [ ] persistence: @@ -1031,7 +1031,7 @@ persistence: # -- Image to use for deploying. repository: gluufederation/persistence # -- Image tag to use for deploying. - tag: 4.5.4-2 + tag: 4.5.5-1 # -- Image Pull Secrets pullSecrets: [ ] # -- Resource specs. @@ -1122,7 +1122,7 @@ oxauth: # -- Image to use for deploying. repository: gluufederation/oxauth # -- Image tag to use for deploying. - tag: 4.5.4-2 + tag: 4.5.5-1 # -- Image Pull Secrets pullSecrets: [ ] # -- Service replica number. @@ -1243,7 +1243,7 @@ oxtrust: # -- Image to use for deploying. repository: gluufederation/oxtrust # -- Image tag to use for deploying. - tag: 4.5.4-1 + tag: 4.5.5-1 # -- Image Pull Secrets pullSecrets: [ ] # -- Service replica number. @@ -1366,7 +1366,7 @@ fido2: # -- Image to use for deploying. repository: gluufederation/fido2 # -- Image tag to use for deploying. - tag: 4.5.4-1 + tag: 4.5.5-1 # -- Image Pull Secrets pullSecrets: [ ] # -- Service replica number. @@ -1483,7 +1483,7 @@ scim: # -- Image to use for deploying. repository: gluufederation/scim # -- Image tag to use for deploying. - tag: 4.5.4-1 + tag: 4.5.5-1 # -- Image Pull Secrets pullSecrets: [ ] # -- Service replica number. @@ -1600,7 +1600,7 @@ oxd-server: # -- Image to use for deploying. repository: gluufederation/oxd-server # -- Image tag to use for deploying. - tag: 4.5.4-2 + tag: 4.5.5-1 # -- Image Pull Secrets pullSecrets: [ ] # -- Service replica number. @@ -1717,7 +1717,7 @@ casa: # -- Image to use for deploying. repository: gluufederation/casa # -- Image tag to use for deploying. - tag: 4.5.4-1 + tag: 4.5.5-1 # -- Image Pull Secrets pullSecrets: [ ] # -- Service replica number. @@ -1836,7 +1836,7 @@ oxpassport: # -- Image to use for deploying. repository: gluufederation/oxpassport # -- Image tag to use for deploying. - tag: 4.5.4-2 + tag: 4.5.5-1 # -- Image Pull Secrets pullSecrets: [ ] # -- Service replica number @@ -1958,7 +1958,7 @@ oxshibboleth: # -- Image to use for deploying. repository: gluufederation/oxshibboleth # -- Image tag to use for deploying. - tag: 4.5.4-1 + tag: 4.5.5-1 # -- Image Pull Secrets pullSecrets: [ ] # -- Service replica number. @@ -2053,7 +2053,7 @@ cr-rotate: # -- Image to use for deploying. repository: gluufederation/cr-rotate # -- Image tag to use for deploying. - tag: 4.5.4-1 + tag: 4.5.5-1 # -- Image Pull Secrets pullSecrets: [ ] # -- Resource specs. @@ -2117,7 +2117,7 @@ oxauth-key-rotation: # -- Image to use for deploying. repository: gluufederation/certmanager # -- Image tag to use for deploying. - tag: 4.5.4-1 + tag: 4.5.5-1 # -- Image Pull Secrets pullSecrets: [ ] # -- Auth server key rotation keys life in hours diff --git a/pygluu/kubernetes/templates/helm/index.yaml b/pygluu/kubernetes/templates/helm/index.yaml index bdaa6796..3be48fa0 100644 --- a/pygluu/kubernetes/templates/helm/index.yaml +++ b/pygluu/kubernetes/templates/helm/index.yaml @@ -1,6 +1,126 @@ apiVersion: v1 entries: gluu: + - annotations: + artifacthub.io/changes: | + - Gluu 4.5.5 official chart release + artifacthub.io/images: | + - name: casa + image: gluufederation/casa:4.5.5_dev + - name: fido2 + image: gluufederation/fido2:4.5.5_dev + - name: scim + image: gluufederation/scim:4.5.5_dev + - name: configuration-manager + image: gluufederation/config-init:4.5.5_dev + - name: cr-rotate + image: gluufederation/cr-rotate:4.5.5_dev + - name: certmanager + image: gluufederation/certmanager:4.5.5_dev + - name: opendj + image: gluufederation/opendj:4.5.5_dev + - name: jackrabbit + image: gluufederation/jackrabbit:4.5.5_dev + - name: oxauth + image: gluufederation/oxauth:4.5.5_dev + - name: oxd-server + image: gluufederation/oxd-server:4.5.5_dev + - name: oxpassport + image: gluufederation/oxpassport:4.5.5_dev + - name: oxshibboleth + image: gluufederation/oxshibboleth:4.5.5_dev + - name: persistence + image: gluufederation/persistence:4.5.5_dev + - name: oxtrust + image: gluufederation/oxtrust:4.5.5_dev + artifacthub.io/license: Apache-2.0 + apiVersion: v2 + appVersion: 4.5.5 + created: "2024-08-22T12:35:48.370197+03:00" + dependencies: + - condition: global.config.enabled + name: config + repository: "" + version: 1.8.38 + - condition: global.opendj.enabled + name: opendj + repository: "" + version: 1.8.38 + - condition: global.jackrabbit.enabled + name: jackrabbit + repository: "" + version: 1.8.38 + - condition: global.oxauth.enabled + name: oxauth + repository: "" + version: 1.8.38 + - condition: global.fido2.enabled + name: fido2 + repository: "" + version: 1.8.38 + - condition: global.scim.enabled + name: scim + repository: "" + version: 1.8.38 + - condition: global.oxtrust.enabled + name: oxtrust + repository: "" + version: 1.8.38 + - condition: global.nginx-ingress.enabled + name: nginx-ingress + repository: "" + version: 1.8.38 + - condition: global.oxshibboleth.enabled + name: oxshibboleth + repository: "" + version: 1.8.38 + - condition: config.configmap.gluuPassportEnabled + name: oxpassport + repository: "" + version: 1.8.38 + - condition: config.configmap.gluuCasaEnabled + name: casa + repository: "" + version: 1.8.38 + - condition: global.oxauth-key-rotation.enabled + name: oxauth-key-rotation + repository: "" + version: 1.8.38 + - condition: global.cr-rotate.enabled + name: cr-rotate + repository: "" + version: 1.8.38 + - condition: global.oxd-server.enabled + name: oxd-server + repository: "" + version: 1.8.38 + - condition: global.persistence.enabled + name: persistence + repository: "" + version: 1.8.38 + - condition: global.istio.ingress + name: gluu-istio-ingress + repository: "" + version: 1.8.38 + - condition: global.alb.ingress + name: gluu-alb-ingress + repository: "" + version: 1.8.38 + description: Gluu Access and Identity Mangement + digest: 87ffc70039134035b6c8c8390a4fb8e55651f8c796e1ada0018bac3e0dbb7b3d + home: https://www.gluu.org + icon: https://gluu.org/docs/gluu-server/favicon.ico + kubeVersion: '>=v1.22.0-0' + maintainers: + - email: support@gluu.org + name: moabu + name: gluu + sources: + - https://gluu.org/docs/gluu-server + - https://github.com/GluuFederation/cloud-native-edition + urls: + - gluu-1.8.38.tgz + version: 1.8.38 - annotations: artifacthub.io/changes: | - Gluu 4.5.4 official chart release @@ -36,7 +156,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.4 - created: "2024-08-22T09:56:00.564372+03:00" + created: "2024-08-22T12:35:48.362284+03:00" dependencies: - condition: global.config.enabled name: config @@ -156,7 +276,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.4 - created: "2024-08-22T09:56:00.556658+03:00" + created: "2024-08-22T12:35:48.35358+03:00" dependencies: - condition: global.config.enabled name: config @@ -276,7 +396,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.4 - created: "2024-08-22T09:56:00.548213+03:00" + created: "2024-08-22T12:35:48.345978+03:00" dependencies: - condition: global.config.enabled name: config @@ -396,7 +516,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.4 - created: "2024-08-22T09:56:00.540746+03:00" + created: "2024-08-22T12:35:48.337719+03:00" dependencies: - condition: global.config.enabled name: config @@ -516,7 +636,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.3 - created: "2024-08-22T09:56:00.532745+03:00" + created: "2024-08-22T12:35:48.329467+03:00" dependencies: - condition: global.config.enabled name: config @@ -636,7 +756,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.3 - created: "2024-08-22T09:56:00.524604+03:00" + created: "2024-08-22T12:35:48.321106+03:00" dependencies: - condition: global.config.enabled name: config @@ -756,7 +876,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.3 - created: "2024-08-22T09:56:00.516359+03:00" + created: "2024-08-22T12:35:48.313557+03:00" dependencies: - condition: global.config.enabled name: config @@ -876,7 +996,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.3 - created: "2024-08-22T09:56:00.508815+03:00" + created: "2024-08-22T12:35:48.305327+03:00" dependencies: - condition: global.config.enabled name: config @@ -996,7 +1116,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.3 - created: "2024-08-22T09:56:00.493306+03:00" + created: "2024-08-22T12:35:48.289599+03:00" dependencies: - condition: global.config.enabled name: config @@ -1116,7 +1236,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.3 - created: "2024-08-22T09:56:00.485704+03:00" + created: "2024-08-22T12:35:48.282053+03:00" dependencies: - condition: global.config.enabled name: config @@ -1236,7 +1356,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.2 - created: "2024-08-22T09:56:00.47684+03:00" + created: "2024-08-22T12:35:48.273068+03:00" dependencies: - condition: global.config.enabled name: config @@ -1356,7 +1476,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.2 - created: "2024-08-22T09:56:00.469042+03:00" + created: "2024-08-22T12:35:48.26518+03:00" dependencies: - condition: global.config.enabled name: config @@ -1476,7 +1596,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.2 - created: "2024-08-22T09:56:00.461032+03:00" + created: "2024-08-22T12:35:48.256905+03:00" dependencies: - condition: global.config.enabled name: config @@ -1596,7 +1716,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.2 - created: "2024-08-22T09:56:00.453654+03:00" + created: "2024-08-22T12:35:48.249151+03:00" dependencies: - condition: global.config.enabled name: config @@ -1717,7 +1837,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.1 - created: "2024-08-22T09:56:00.445493+03:00" + created: "2024-08-22T12:35:48.241399+03:00" dependencies: - condition: global.config.enabled name: config @@ -1838,7 +1958,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.1 - created: "2024-08-22T09:56:00.438029+03:00" + created: "2024-08-22T12:35:48.233542+03:00" dependencies: - condition: global.config.enabled name: config @@ -1959,7 +2079,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.1 - created: "2024-08-22T09:56:00.430081+03:00" + created: "2024-08-22T12:35:48.225591+03:00" dependencies: - condition: global.config.enabled name: config @@ -2080,7 +2200,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.1 - created: "2024-08-22T09:56:00.422192+03:00" + created: "2024-08-22T12:35:48.217907+03:00" dependencies: - condition: global.config.enabled name: config @@ -2201,7 +2321,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.1 - created: "2024-08-22T09:56:00.406807+03:00" + created: "2024-08-22T12:35:48.202443+03:00" dependencies: - condition: global.config.enabled name: config @@ -2322,7 +2442,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.1 - created: "2024-08-22T09:56:00.398615+03:00" + created: "2024-08-22T12:35:48.194307+03:00" dependencies: - condition: global.config.enabled name: config @@ -2443,7 +2563,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.1 - created: "2024-08-22T09:56:00.39088+03:00" + created: "2024-08-22T12:35:48.185903+03:00" dependencies: - condition: global.config.enabled name: config @@ -2564,7 +2684,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-22T09:56:00.383282+03:00" + created: "2024-08-22T12:35:48.17829+03:00" dependencies: - condition: global.config.enabled name: config @@ -2685,7 +2805,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-22T09:56:00.375181+03:00" + created: "2024-08-22T12:35:48.170521+03:00" dependencies: - condition: global.config.enabled name: config @@ -2806,7 +2926,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-22T09:56:00.366981+03:00" + created: "2024-08-22T12:35:48.162359+03:00" dependencies: - condition: global.config.enabled name: config @@ -2927,7 +3047,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-22T09:56:00.358599+03:00" + created: "2024-08-22T12:35:48.154566+03:00" dependencies: - condition: global.config.enabled name: config @@ -3048,7 +3168,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-22T09:56:00.350248+03:00" + created: "2024-08-22T12:35:48.146408+03:00" dependencies: - condition: global.config.enabled name: config @@ -3169,7 +3289,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-22T09:56:00.342743+03:00" + created: "2024-08-22T12:35:48.138809+03:00" dependencies: - condition: global.config.enabled name: config @@ -3291,7 +3411,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-22T09:56:00.335038+03:00" + created: "2024-08-22T12:35:48.13108+03:00" dependencies: - condition: global.config.enabled name: config @@ -3413,7 +3533,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-22T09:56:00.610535+03:00" + created: "2024-08-22T12:35:48.415372+03:00" dependencies: - condition: global.config.enabled name: config @@ -3535,7 +3655,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-22T09:56:00.603137+03:00" + created: "2024-08-22T12:35:48.407957+03:00" dependencies: - condition: global.config.enabled name: config @@ -3657,7 +3777,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-22T09:56:00.595012+03:00" + created: "2024-08-22T12:35:48.399995+03:00" dependencies: - condition: global.config.enabled name: config @@ -3777,7 +3897,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-22T09:56:00.587182+03:00" + created: "2024-08-22T12:35:48.392544+03:00" dependencies: - condition: global.config.enabled name: config @@ -3897,7 +4017,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-22T09:56:00.579635+03:00" + created: "2024-08-22T12:35:48.385195+03:00" dependencies: - condition: global.config.enabled name: config @@ -4017,7 +4137,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-22T09:56:00.572336+03:00" + created: "2024-08-22T12:35:48.377797+03:00" dependencies: - condition: global.config.enabled name: config @@ -4137,7 +4257,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-22T09:56:00.500691+03:00" + created: "2024-08-22T12:35:48.296962+03:00" dependencies: - condition: global.config.enabled name: config @@ -4257,7 +4377,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-22T09:56:00.414038+03:00" + created: "2024-08-22T12:35:48.210447+03:00" dependencies: - condition: global.config.enabled name: config @@ -4377,7 +4497,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-22T09:56:00.327407+03:00" + created: "2024-08-22T12:35:48.123946+03:00" dependencies: - condition: global.config.enabled name: config @@ -4497,7 +4617,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.5.0 - created: "2024-08-22T09:56:00.319571+03:00" + created: "2024-08-22T12:35:48.115998+03:00" dependencies: - condition: global.config.enabled name: config @@ -4619,7 +4739,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.4.2 - created: "2024-08-22T09:56:00.258827+03:00" + created: "2024-08-22T12:35:48.056879+03:00" dependencies: - condition: global.config.enabled name: config @@ -4741,7 +4861,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.4.2 - created: "2024-08-22T09:56:00.250331+03:00" + created: "2024-08-22T12:35:48.048347+03:00" dependencies: - condition: global.config.enabled name: config @@ -4863,7 +4983,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.4.2 - created: "2024-08-22T09:56:00.242324+03:00" + created: "2024-08-22T12:35:48.040336+03:00" dependencies: - condition: global.config.enabled name: config @@ -4985,7 +5105,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.4.2 - created: "2024-08-22T09:56:00.234087+03:00" + created: "2024-08-22T12:35:48.03264+03:00" dependencies: - condition: global.config.enabled name: config @@ -5107,7 +5227,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.4.2 - created: "2024-08-22T09:56:00.226454+03:00" + created: "2024-08-22T12:35:48.024539+03:00" dependencies: - condition: global.config.enabled name: config @@ -5229,7 +5349,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.4.2 - created: "2024-08-22T09:56:00.311672+03:00" + created: "2024-08-22T12:35:48.108559+03:00" dependencies: - condition: global.config.enabled name: config @@ -5349,7 +5469,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.4.2 - created: "2024-08-22T09:56:00.303791+03:00" + created: "2024-08-22T12:35:48.101112+03:00" dependencies: - condition: global.config.enabled name: config @@ -5469,7 +5589,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.4.1 - created: "2024-08-22T09:56:00.296128+03:00" + created: "2024-08-22T12:35:48.093847+03:00" dependencies: - condition: global.config.enabled name: config @@ -5589,7 +5709,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.4.1 - created: "2024-08-22T09:56:00.288496+03:00" + created: "2024-08-22T12:35:48.08645+03:00" dependencies: - condition: global.config.enabled name: config @@ -5709,7 +5829,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.4.1 - created: "2024-08-22T09:56:00.281104+03:00" + created: "2024-08-22T12:35:48.079161+03:00" dependencies: - condition: global.config.enabled name: config @@ -5829,7 +5949,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.4.1 - created: "2024-08-22T09:56:00.273708+03:00" + created: "2024-08-22T12:35:48.071871+03:00" dependencies: - condition: global.config.enabled name: config @@ -5949,7 +6069,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.4.1 - created: "2024-08-22T09:56:00.266218+03:00" + created: "2024-08-22T12:35:48.064538+03:00" dependencies: - condition: global.config.enabled name: config @@ -6069,7 +6189,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.4.0 - created: "2024-08-22T09:56:00.219045+03:00" + created: "2024-08-22T12:35:48.01707+03:00" dependencies: - condition: global.config.enabled name: config @@ -6189,7 +6309,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.4.0 - created: "2024-08-22T09:56:00.211334+03:00" + created: "2024-08-22T12:35:48.009364+03:00" dependencies: - condition: global.config.enabled name: config @@ -6309,7 +6429,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.3.1 - created: "2024-08-22T09:56:00.197148+03:00" + created: "2024-08-22T12:35:47.995432+03:00" dependencies: - condition: global.config.enabled name: config @@ -6429,7 +6549,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.3.1 - created: "2024-08-22T09:56:00.189522+03:00" + created: "2024-08-22T12:35:47.987252+03:00" dependencies: - condition: global.config.enabled name: config @@ -6549,7 +6669,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.3.1 - created: "2024-08-22T09:56:00.181778+03:00" + created: "2024-08-22T12:35:47.979929+03:00" dependencies: - condition: global.config.enabled name: config @@ -6669,7 +6789,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.3.1 - created: "2024-08-22T09:56:00.174215+03:00" + created: "2024-08-22T12:35:47.972807+03:00" dependencies: - condition: global.config.enabled name: config @@ -6789,7 +6909,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.3.1 - created: "2024-08-22T09:56:00.166659+03:00" + created: "2024-08-22T12:35:47.965349+03:00" dependencies: - condition: global.config.enabled name: config @@ -6909,7 +7029,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.3.0 - created: "2024-08-22T09:56:00.159238+03:00" + created: "2024-08-22T12:35:47.958004+03:00" dependencies: - condition: global.config.enabled name: config @@ -7029,7 +7149,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.3.0 - created: "2024-08-22T09:56:00.151548+03:00" + created: "2024-08-22T12:35:47.950401+03:00" dependencies: - condition: global.config.enabled name: config @@ -7149,7 +7269,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.3.0 - created: "2024-08-22T09:56:00.144867+03:00" + created: "2024-08-22T12:35:47.943659+03:00" dependencies: - condition: global.config.enabled name: config @@ -7269,7 +7389,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.3.0 - created: "2024-08-22T09:56:00.137492+03:00" + created: "2024-08-22T12:35:47.936318+03:00" dependencies: - condition: global.config.enabled name: config @@ -7389,7 +7509,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.3.0 - created: "2024-08-22T09:56:00.203287+03:00" + created: "2024-08-22T12:35:48.001607+03:00" dependencies: - condition: global.config.enabled name: config @@ -7513,7 +7633,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.2.3 - created: "2024-08-22T09:56:00.126356+03:00" + created: "2024-08-22T12:35:47.925751+03:00" dependencies: - condition: global.config.enabled name: config @@ -7636,7 +7756,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.2.3 - created: "2024-08-22T09:56:00.118234+03:00" + created: "2024-08-22T12:35:47.918063+03:00" dependencies: - condition: global.config.enabled name: config @@ -7759,7 +7879,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.2.3 - created: "2024-08-22T09:56:00.112948+03:00" + created: "2024-08-22T12:35:47.913097+03:00" dependencies: - condition: global.config.enabled name: config @@ -7882,7 +8002,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.2.3 - created: "2024-08-22T09:56:00.130764+03:00" + created: "2024-08-22T12:35:47.92938+03:00" dependencies: - condition: global.config.enabled name: config @@ -8005,7 +8125,7 @@ entries: artifacthub.io/license: Apache-2.0 apiVersion: v2 appVersion: 4.2.3 - created: "2024-08-22T09:56:00.122206+03:00" + created: "2024-08-22T12:35:47.921812+03:00" dependencies: - condition: global.config.enabled name: config @@ -8092,7 +8212,7 @@ entries: ldap-backup: - apiVersion: v2 appVersion: 4.3.0 - created: "2024-08-22T09:56:00.61154+03:00" + created: "2024-08-22T12:35:48.416431+03:00" description: A backup strategy for LDAP digest: f00564718757bd0d53f1f3dbaa9399327695eb883000f5d6ade7690bb8a2d371 home: https://gluu.org/docs/gluu-server @@ -8115,7 +8235,7 @@ entries: version: 1.6.11 - apiVersion: v2 appVersion: 4.3.0 - created: "2024-08-22T09:56:00.612023+03:00" + created: "2024-08-22T12:35:48.416893+03:00" description: A backup strategy for LDAP digest: 2fd5f9c62784f0bc6c4b30e5b90abb5edeca1a6cb865e414a3e87a42b115b647 home: https://gluu.org/docs/gluu-server @@ -8138,7 +8258,7 @@ entries: version: 1.6.9 - apiVersion: v2 appVersion: 4.2.3 - created: "2024-08-22T09:56:00.610932+03:00" + created: "2024-08-22T12:35:48.415898+03:00" description: A backup strategy for LDAP digest: 838ca4b13bb22686f6ff7da98abc523878d64a105ec27cb85da5489d208bf8dc home: https://www.gluu.org @@ -8154,4 +8274,4 @@ entries: urls: - ldap-backup-1.5.9.tgz version: 1.5.9 -generated: "2024-08-22T09:56:00.106518+03:00" +generated: "2024-08-22T12:35:47.907569+03:00" diff --git a/pygluu/kubernetes/version.py b/pygluu/kubernetes/version.py index a8ce44b0..88bc0c40 100644 --- a/pygluu/kubernetes/version.py +++ b/pygluu/kubernetes/version.py @@ -4,4 +4,4 @@ """ -__version__ = "1.8.37" +__version__ = "1.8.38" From 468960373effa91f760724c823ac63f125811088 Mon Sep 17 00:00:00 2001 From: moabu <47318409+moabu@users.noreply.github.com> Date: Thu, 22 Aug 2024 13:12:14 +0300 Subject: [PATCH 3/5] fix: fix release Release-As: 1.8.38 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 93f345a9..be1df4f0 100644 --- a/README.md +++ b/README.md @@ -57,3 +57,4 @@ ``` This command will generate executable called `pygluu-kubernetes-gui.pyz` under the same directory. + From 12962f19378088d538e3c00d674e856889ecc96c Mon Sep 17 00:00:00 2001 From: mo-auto <54212639+mo-auto@users.noreply.github.com> Date: Thu, 22 Aug 2024 10:16:10 +0000 Subject: [PATCH 4/5] chore(4.5): release 1.8.38 (#652) --- CHANGELOG.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b9ce9e5c..13f76b5f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # Changelog +## [1.8.38](https://github.com/GluuFederation/cloud-native-edition/compare/v1.8.37...v1.8.38) (2024-08-22) + + +### Features + +* prepare assets for Gluu v4.5.5 ([#651](https://github.com/GluuFederation/cloud-native-edition/issues/651)) ([eac45e8](https://github.com/GluuFederation/cloud-native-edition/commit/eac45e8a9d37880317960676af8e014880ead0d7)) + + +### Bug Fixes + +* fix release ([4689603](https://github.com/GluuFederation/cloud-native-edition/commit/468960373effa91f760724c823ac63f125811088)) + ## [1.8.37](https://github.com/GluuFederation/cloud-native-edition/compare/v1.8.36...v1.8.37) (2024-07-30) From 87fedbc7dfaf6b0612dc82db348b9b7ab776285e Mon Sep 17 00:00:00 2001 From: Amro Misbah Date: Tue, 27 Aug 2024 18:57:02 +0300 Subject: [PATCH 5/5] feat(oxauth-key-rotation): add schedule property (#654) * feat(oxauth-key-rotation): add schedule property --- pygluu/kubernetes/templates/helm/gluu/README.md | 7 ++++--- .../kubernetes/templates/helm/gluu/charts/casa/README.md | 2 +- .../kubernetes/templates/helm/gluu/charts/config/README.md | 2 +- .../templates/helm/gluu/charts/cr-rotate/README.md | 2 +- .../kubernetes/templates/helm/gluu/charts/fido2/README.md | 2 +- .../templates/helm/gluu/charts/gluu-alb-ingress/README.md | 2 +- .../helm/gluu/charts/gluu-istio-ingress/README.md | 2 +- .../templates/helm/gluu/charts/jackrabbit/README.md | 2 +- .../templates/helm/gluu/charts/nginx-ingress/README.md | 2 +- .../kubernetes/templates/helm/gluu/charts/opendj/README.md | 2 +- .../helm/gluu/charts/oxauth-key-rotation/README.md | 5 +++-- .../charts/oxauth-key-rotation/templates/cronjobs.yaml | 4 ++++ .../helm/gluu/charts/oxauth-key-rotation/values.yaml | 4 +++- .../kubernetes/templates/helm/gluu/charts/oxauth/README.md | 2 +- .../templates/helm/gluu/charts/oxd-server/README.md | 2 +- .../templates/helm/gluu/charts/oxpassport/README.md | 2 +- .../templates/helm/gluu/charts/oxshibboleth/README.md | 2 +- .../templates/helm/gluu/charts/oxtrust/README.md | 2 +- .../templates/helm/gluu/charts/persistence/README.md | 2 +- .../kubernetes/templates/helm/gluu/charts/scim/README.md | 2 +- pygluu/kubernetes/templates/helm/gluu/values.yaml | 4 +++- 21 files changed, 33 insertions(+), 23 deletions(-) diff --git a/pygluu/kubernetes/templates/helm/gluu/README.md b/pygluu/kubernetes/templates/helm/gluu/README.md index c3b53c90..b55ca35d 100644 --- a/pygluu/kubernetes/templates/helm/gluu/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/README.md @@ -506,10 +506,11 @@ Kubernetes: `>=v1.22.0-0` | opendj.volumeMounts | list | `[]` | Configure any additional volumesMounts that need to be attached to the containers | | opendj.volumes | list | `[]` | Configure any additional volumes that need to be attached to the pod | | oxauth | object | `{"additionalAnnotations":{},"additionalLabels":{},"affinity":{},"customScripts":[],"dnsConfig":{},"dnsPolicy":"","hpa":{"behavior":{},"enabled":true,"maxReplicas":10,"metrics":[],"minReplicas":1,"targetCPUUtilizationPercentage":50},"image":{"pullPolicy":"IfNotPresent","pullSecrets":[],"repository":"gluufederation/oxauth","tag":"4.5.5-1"},"lifecycle":{},"livenessProbe":{"exec":{"command":["python3","/app/scripts/healthcheck.py"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":5},"nodeSelector":{},"pdb":{"enabled":true,"maxUnavailable":"90%"},"readinessProbe":{"exec":{"command":["python3","/app/scripts/healthcheck.py"]},"initialDelaySeconds":25,"periodSeconds":25,"timeoutSeconds":5},"replicas":1,"resources":{"limits":{"cpu":"2500m","memory":"2500Mi"},"requests":{"cpu":"2500m","memory":"2500Mi"}},"service":{"name":"http-oxauth","oxAuthServiceName":"oxauth","port":8080},"tolerations":[],"topologySpreadConstraints":{},"usrEnvs":{"normal":{},"secret":{}},"volumeMounts":[],"volumes":[]}` | OAuth Authorization Server, the OpenID Connect Provider, the UMA Authorization Server--this is the main Internet facing component of Gluu. It's the service that returns tokens, JWT's and identity assertions. This service must be Internet facing. | -| oxauth-key-rotation | object | `{"additionalAnnotations":{},"additionalLabels":{},"affinity":{},"customScripts":[],"dnsConfig":{},"dnsPolicy":"","image":{"pullPolicy":"IfNotPresent","pullSecrets":[],"repository":"gluufederation/certmanager","tag":"4.5.5-1"},"keysLife":48,"keysPushDelay":0,"keysPushStrategy":"NEWER","keysStrategy":"NEWER","lifecycle":{},"nodeSelector":{},"resources":{"limits":{"cpu":"300m","memory":"300Mi"},"requests":{"cpu":"300m","memory":"300Mi"}},"tolerations":[],"usrEnvs":{"normal":{},"secret":{}},"volumeMounts":[],"volumes":[]}` | Responsible for regenerating auth-keys per x hours | +| oxauth-key-rotation | object | `{"additionalAnnotations":{},"additionalLabels":{},"affinity":{},"cronJobSchedule":"","customScripts":[],"dnsConfig":{},"dnsPolicy":"","image":{"pullPolicy":"IfNotPresent","pullSecrets":[],"repository":"gluufederation/certmanager","tag":"4.5.5-1"},"keysLife":48,"keysPushDelay":0,"keysPushStrategy":"NEWER","keysStrategy":"NEWER","lifecycle":{},"nodeSelector":{},"resources":{"limits":{"cpu":"300m","memory":"300Mi"},"requests":{"cpu":"300m","memory":"300Mi"}},"tolerations":[],"usrEnvs":{"normal":{},"secret":{}},"volumeMounts":[],"volumes":[]}` | Responsible for regenerating auth-keys per x hours | | oxauth-key-rotation.additionalAnnotations | object | `{}` | Additional annotations that will be added across all resources in the format of {cert-manager.io/issuer: "letsencrypt-prod"}. key app is taken | | oxauth-key-rotation.additionalLabels | object | `{}` | Additional labels that will be added across all resources definitions in the format of {mylabel: "myapp"} | | oxauth-key-rotation.affinity | object | `{}` | https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/ | +| oxauth-key-rotation.cronJobSchedule | string | `""` | Auth server key rotation job schedule. It accepts any Cron syntax supported by Kubernetes. If empty, the schedule will run based on keysLife value. | | oxauth-key-rotation.customScripts | list | `[]` | Add custom scripts that have been mounted to run before the entrypoint. - /tmp/custom.sh - /tmp/custom2.sh | | oxauth-key-rotation.dnsConfig | object | `{}` | Add custom dns config | | oxauth-key-rotation.dnsPolicy | string | `""` | Add custom dns policy | @@ -517,7 +518,7 @@ Kubernetes: `>=v1.22.0-0` | oxauth-key-rotation.image.pullSecrets | list | `[]` | Image Pull Secrets | | oxauth-key-rotation.image.repository | string | `"gluufederation/certmanager"` | Image to use for deploying. | | oxauth-key-rotation.image.tag | string | `"4.5.5-1"` | Image tag to use for deploying. | -| oxauth-key-rotation.keysLife | int | `48` | Auth server key rotation keys life in hours | +| oxauth-key-rotation.keysLife | int | `48` | Auth server key rotation keys life in hours. | | oxauth-key-rotation.keysPushDelay | int | `0` | Delay (in seconds) before pushing private keys to Auth server | | oxauth-key-rotation.keysPushStrategy | string | `"NEWER"` | Set key selection strategy after pushing private keys to Auth server (only takes effect when keysPushDelay value is greater than 0) | | oxauth-key-rotation.keysStrategy | string | `"NEWER"` | Set key selection strategy used by Auth server | @@ -761,4 +762,4 @@ Kubernetes: `>=v1.22.0-0` | scim.volumes | list | `[]` | Configure any additional volumes that need to be attached to the pod | ---------------------------------------------- -Autogenerated from chart metadata using [helm-docs v1.13.1](https://github.com/norwoodj/helm-docs/releases/v1.13.1) +Autogenerated from chart metadata using [helm-docs v1.12.0](https://github.com/norwoodj/helm-docs/releases/v1.12.0) diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/casa/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/casa/README.md index 2bbd28cc..5ef71dd6 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/casa/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/casa/README.md @@ -68,4 +68,4 @@ Kubernetes: `>=v1.22.0-0` | volumes | list | `[]` | Configure any additional volumes that need to be attached to the pod | ---------------------------------------------- -Autogenerated from chart metadata using [helm-docs v1.13.1](https://github.com/norwoodj/helm-docs/releases/v1.13.1) +Autogenerated from chart metadata using [helm-docs v1.12.0](https://github.com/norwoodj/helm-docs/releases/v1.12.0) diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/config/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/config/README.md index e6183e38..fe1ab944 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/config/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/config/README.md @@ -133,4 +133,4 @@ Kubernetes: `>=v1.22.0-0` | volumes | list | `[]` | Configure any additional volumes that need to be attached to the pod | ---------------------------------------------- -Autogenerated from chart metadata using [helm-docs v1.13.1](https://github.com/norwoodj/helm-docs/releases/v1.13.1) +Autogenerated from chart metadata using [helm-docs v1.12.0](https://github.com/norwoodj/helm-docs/releases/v1.12.0) diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/cr-rotate/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/cr-rotate/README.md index 2fde21e5..cf1d4adb 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/cr-rotate/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/cr-rotate/README.md @@ -57,4 +57,4 @@ Kubernetes: `>=v1.22.0-0` | volumes | list | `[]` | Configure any additional volumes that need to be attached to the pod | ---------------------------------------------- -Autogenerated from chart metadata using [helm-docs v1.13.1](https://github.com/norwoodj/helm-docs/releases/v1.13.1) +Autogenerated from chart metadata using [helm-docs v1.12.0](https://github.com/norwoodj/helm-docs/releases/v1.12.0) diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/fido2/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/fido2/README.md index 6a828d1c..bd6e316e 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/fido2/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/fido2/README.md @@ -63,4 +63,4 @@ Kubernetes: `>=v1.22.0-0` | volumes | list | `[]` | Configure any additional volumes that need to be attached to the pod | ---------------------------------------------- -Autogenerated from chart metadata using [helm-docs v1.13.1](https://github.com/norwoodj/helm-docs/releases/v1.13.1) +Autogenerated from chart metadata using [helm-docs v1.12.0](https://github.com/norwoodj/helm-docs/releases/v1.12.0) diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/gluu-alb-ingress/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/gluu-alb-ingress/README.md index 7b936b70..0af871a2 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/gluu-alb-ingress/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/gluu-alb-ingress/README.md @@ -45,4 +45,4 @@ Kubernetes: `>=v1.22.0-0` | ingress.webfingerEnabled | bool | `true` | Enable endpoint /.well-known/webfinger | ---------------------------------------------- -Autogenerated from chart metadata using [helm-docs v1.13.1](https://github.com/norwoodj/helm-docs/releases/v1.13.1) +Autogenerated from chart metadata using [helm-docs v1.12.0](https://github.com/norwoodj/helm-docs/releases/v1.12.0) diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/gluu-istio-ingress/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/gluu-istio-ingress/README.md index 7370a4c4..c03ff2b5 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/gluu-istio-ingress/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/gluu-istio-ingress/README.md @@ -22,4 +22,4 @@ Istio Gateway Kubernetes: `>=v1.22.0-0` ---------------------------------------------- -Autogenerated from chart metadata using [helm-docs v1.13.1](https://github.com/norwoodj/helm-docs/releases/v1.13.1) +Autogenerated from chart metadata using [helm-docs v1.12.0](https://github.com/norwoodj/helm-docs/releases/v1.12.0) diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/jackrabbit/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/jackrabbit/README.md index 414ac0fe..1c2c2653 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/jackrabbit/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/jackrabbit/README.md @@ -79,4 +79,4 @@ Kubernetes: `>=v1.22.0-0` | volumes | list | `[]` | Configure any additional volumes that need to be attached to the pod | ---------------------------------------------- -Autogenerated from chart metadata using [helm-docs v1.13.1](https://github.com/norwoodj/helm-docs/releases/v1.13.1) +Autogenerated from chart metadata using [helm-docs v1.12.0](https://github.com/norwoodj/helm-docs/releases/v1.12.0) diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/nginx-ingress/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/nginx-ingress/README.md index 66ffb5fb..2ce497fb 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/nginx-ingress/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/nginx-ingress/README.md @@ -83,4 +83,4 @@ Kubernetes: `>=v1.22.0-0` | service.type | string | `"ClusterIP"` | | ---------------------------------------------- -Autogenerated from chart metadata using [helm-docs v1.13.1](https://github.com/norwoodj/helm-docs/releases/v1.13.1) +Autogenerated from chart metadata using [helm-docs v1.12.0](https://github.com/norwoodj/helm-docs/releases/v1.12.0) diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/opendj/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/opendj/README.md index e5309b48..9fc4e777 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/opendj/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/opendj/README.md @@ -75,4 +75,4 @@ Kubernetes: `>=v1.22.0-0` | volumes | list | `[]` | Configure any additional volumes that need to be attached to the pod | ---------------------------------------------- -Autogenerated from chart metadata using [helm-docs v1.13.1](https://github.com/norwoodj/helm-docs/releases/v1.13.1) +Autogenerated from chart metadata using [helm-docs v1.12.0](https://github.com/norwoodj/helm-docs/releases/v1.12.0) diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/oxauth-key-rotation/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/oxauth-key-rotation/README.md index 9dcff2bc..b2044662 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/oxauth-key-rotation/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/oxauth-key-rotation/README.md @@ -28,6 +28,7 @@ Kubernetes: `>=v1.22.0-0` | additionalAnnotations | object | `{}` | Additional annotations that will be added across all resources in the format of {cert-manager.io/issuer: "letsencrypt-prod"}. key app is taken | | additionalLabels | object | `{}` | Additional labels that will be added across all resources definitions in the format of {mylabel: "myapp"} | | affinity | object | `{}` | | +| cronJobSchedule | string | `""` | Auth server key rotation job schedule. It accepts any Cron syntax supported by Kubernetes. If empty, the schedule will run based on keysLife value. | | customScripts | list | `[]` | Add custom scripts that have been mounted to run before the entrypoint. | | dnsConfig | object | `{}` | Add custom dns config | | dnsPolicy | string | `""` | Add custom dns policy | @@ -35,7 +36,7 @@ Kubernetes: `>=v1.22.0-0` | image.pullSecrets | list | `[]` | Image Pull Secrets | | image.repository | string | `"gluufederation/certmanager"` | Image to use for deploying. | | image.tag | string | `"4.5.5-1"` | Image tag to use for deploying. | -| keysLife | int | `48` | Auth server key rotation keys life in hours | +| keysLife | int | `48` | Auth server key rotation keys life in hours. | | keysPushDelay | int | `0` | Delay (in seconds) before pushing private keys to Auth server | | keysPushStrategy | string | `"NEWER"` | Set key selection strategy after pushing private keys to Auth server (only takes effect when keysPushDelay value is greater than 0) | | keysStrategy | string | `"NEWER"` | Set key selection strategy used by Auth server | @@ -54,4 +55,4 @@ Kubernetes: `>=v1.22.0-0` | volumes | list | `[]` | Configure any additional volumes that need to be attached to the pod | ---------------------------------------------- -Autogenerated from chart metadata using [helm-docs v1.13.1](https://github.com/norwoodj/helm-docs/releases/v1.13.1) +Autogenerated from chart metadata using [helm-docs v1.12.0](https://github.com/norwoodj/helm-docs/releases/v1.12.0) diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/oxauth-key-rotation/templates/cronjobs.yaml b/pygluu/kubernetes/templates/helm/gluu/charts/oxauth-key-rotation/templates/cronjobs.yaml index 57fa5cda..5a3c4446 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/oxauth-key-rotation/templates/cronjobs.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/charts/oxauth-key-rotation/templates/cronjobs.yaml @@ -16,7 +16,11 @@ metadata: {{ toYaml .Values.additionalAnnotations | indent 4 }} {{- end }} spec: +{{- if ne .Values.cronJobSchedule "" }} + schedule: {{ .Values.cronJobSchedule | quote }} +{{- else }} schedule: "@every {{ .Values.keysLife }}h" +{{- end }} concurrencyPolicy: Forbid jobTemplate: spec: diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/oxauth-key-rotation/values.yaml b/pygluu/kubernetes/templates/helm/gluu/charts/oxauth-key-rotation/values.yaml index 6248f9a3..72dd083b 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/oxauth-key-rotation/values.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/charts/oxauth-key-rotation/values.yaml @@ -22,7 +22,9 @@ image: tag: 4.5.5-1 # -- Image Pull Secrets pullSecrets: [ ] -# -- Auth server key rotation keys life in hours +# -- Auth server key rotation job schedule. It accepts any Cron syntax supported by Kubernetes. If empty, the schedule will run based on keysLife value. +cronJobSchedule: "" +# -- Auth server key rotation keys life in hours. keysLife: 48 # -- Set key selection strategy used by Auth server keysStrategy: NEWER diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/oxauth/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/oxauth/README.md index 10f0e866..d1898b7c 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/oxauth/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/oxauth/README.md @@ -62,4 +62,4 @@ Kubernetes: `>=v1.22.0-0` | volumes | list | `[]` | Configure any additional volumes that need to be attached to the pod | ---------------------------------------------- -Autogenerated from chart metadata using [helm-docs v1.13.1](https://github.com/norwoodj/helm-docs/releases/v1.13.1) +Autogenerated from chart metadata using [helm-docs v1.12.0](https://github.com/norwoodj/helm-docs/releases/v1.12.0) diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/oxd-server/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/oxd-server/README.md index 6404a9e9..0e30ad20 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/oxd-server/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/oxd-server/README.md @@ -60,4 +60,4 @@ Kubernetes: `>=v1.22.0-0` | volumes | list | `[]` | Configure any additional volumes that need to be attached to the pod | ---------------------------------------------- -Autogenerated from chart metadata using [helm-docs v1.13.1](https://github.com/norwoodj/helm-docs/releases/v1.13.1) +Autogenerated from chart metadata using [helm-docs v1.12.0](https://github.com/norwoodj/helm-docs/releases/v1.12.0) diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/oxpassport/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/oxpassport/README.md index b89047e8..e5e7562b 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/oxpassport/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/oxpassport/README.md @@ -66,4 +66,4 @@ Kubernetes: `>=v1.22.0-0` | volumes | list | `[]` | Configure any additional volumes that need to be attached to the pod | ---------------------------------------------- -Autogenerated from chart metadata using [helm-docs v1.13.1](https://github.com/norwoodj/helm-docs/releases/v1.13.1) +Autogenerated from chart metadata using [helm-docs v1.12.0](https://github.com/norwoodj/helm-docs/releases/v1.12.0) diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/oxshibboleth/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/oxshibboleth/README.md index f55ebaa9..a3dc02e1 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/oxshibboleth/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/oxshibboleth/README.md @@ -65,4 +65,4 @@ Kubernetes: `>=v1.22.0-0` | volumes | list | `[]` | Configure any additional volumes that need to be attached to the pod | ---------------------------------------------- -Autogenerated from chart metadata using [helm-docs v1.13.1](https://github.com/norwoodj/helm-docs/releases/v1.13.1) +Autogenerated from chart metadata using [helm-docs v1.12.0](https://github.com/norwoodj/helm-docs/releases/v1.12.0) diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/oxtrust/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/oxtrust/README.md index adc3ced8..b208ea4f 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/oxtrust/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/oxtrust/README.md @@ -64,4 +64,4 @@ Kubernetes: `>=v1.22.0-0` | volumes | list | `[]` | Configure any additional volumes that need to be attached to the pod | ---------------------------------------------- -Autogenerated from chart metadata using [helm-docs v1.13.1](https://github.com/norwoodj/helm-docs/releases/v1.13.1) +Autogenerated from chart metadata using [helm-docs v1.12.0](https://github.com/norwoodj/helm-docs/releases/v1.12.0) diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/persistence/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/persistence/README.md index b1d2b625..a42ef44a 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/persistence/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/persistence/README.md @@ -53,4 +53,4 @@ Kubernetes: `>=v1.22.0-0` | volumes | list | `[]` | Configure any additional volumes that need to be attached to the pod | ---------------------------------------------- -Autogenerated from chart metadata using [helm-docs v1.13.1](https://github.com/norwoodj/helm-docs/releases/v1.13.1) +Autogenerated from chart metadata using [helm-docs v1.12.0](https://github.com/norwoodj/helm-docs/releases/v1.12.0) diff --git a/pygluu/kubernetes/templates/helm/gluu/charts/scim/README.md b/pygluu/kubernetes/templates/helm/gluu/charts/scim/README.md index d476a242..e46a3126 100644 --- a/pygluu/kubernetes/templates/helm/gluu/charts/scim/README.md +++ b/pygluu/kubernetes/templates/helm/gluu/charts/scim/README.md @@ -63,4 +63,4 @@ Kubernetes: `>=v1.22.0-0` | volumes | list | `[]` | Configure any additional volumes that need to be attached to the pod | ---------------------------------------------- -Autogenerated from chart metadata using [helm-docs v1.13.1](https://github.com/norwoodj/helm-docs/releases/v1.13.1) +Autogenerated from chart metadata using [helm-docs v1.12.0](https://github.com/norwoodj/helm-docs/releases/v1.12.0) diff --git a/pygluu/kubernetes/templates/helm/gluu/values.yaml b/pygluu/kubernetes/templates/helm/gluu/values.yaml index c749693b..8cfaa962 100644 --- a/pygluu/kubernetes/templates/helm/gluu/values.yaml +++ b/pygluu/kubernetes/templates/helm/gluu/values.yaml @@ -2120,7 +2120,9 @@ oxauth-key-rotation: tag: 4.5.5-1 # -- Image Pull Secrets pullSecrets: [ ] - # -- Auth server key rotation keys life in hours + # -- Auth server key rotation job schedule. It accepts any Cron syntax supported by Kubernetes. If empty, the schedule will run based on keysLife value. + cronJobSchedule: "" + # -- Auth server key rotation keys life in hours. keysLife: 48 # -- Set key selection strategy used by Auth server keysStrategy: NEWER