[PORTALNG] 14.1.0 release 04/141804/6
authorFiete Ostkamp <Fiete.Ostkamp@telekom.de>
Wed, 13 Aug 2025 08:44:36 +0000 (10:44 +0200)
committerFiete Ostkamp <Fiete.Ostkamp@telekom.de>
Fri, 15 Aug 2025 06:59:25 +0000 (08:59 +0200)
- fix missing roles in the keycloak userinfo response
- change bff client authentication flow to service account
  to resolve exception for user management
- update bff image (0.1.2 -> 0.2.0)
- update preferences image (0.2.1 -> 0.3.0)
- update history image (0.2.1 -> 0.3.0)
- adjust COLLECTOR_HOST env variable to include
  a http:// prefix
- introduce startup probes to allow pods to come up as
  early as possible (instead of waiting 20 to 30 seconds
  depending on the initialDelaySeconds)

Issue-ID: PORTALNG-157
Change-Id: Ia0b773c37f44cb76d25f8fa214e040125805bf13
Signed-off-by: Fiete Ostkamp <Fiete.Ostkamp@telekom.de>
14 files changed:
docs/sections/guides/infra_guides/oom_infra_optional_addons.rst
kubernetes/authentication/values.yaml
kubernetes/portal-ng/Chart.yaml
kubernetes/portal-ng/components/portal-ng-bff/Chart.yaml
kubernetes/portal-ng/components/portal-ng-bff/templates/deployment.yaml
kubernetes/portal-ng/components/portal-ng-bff/values.yaml
kubernetes/portal-ng/components/portal-ng-history/Chart.yaml
kubernetes/portal-ng/components/portal-ng-history/templates/deployment.yaml
kubernetes/portal-ng/components/portal-ng-history/values.yaml
kubernetes/portal-ng/components/portal-ng-preferences/Chart.yaml
kubernetes/portal-ng/components/portal-ng-preferences/templates/deployment.yaml
kubernetes/portal-ng/components/portal-ng-preferences/values.yaml
kubernetes/portal-ng/components/portal-ng-ui/templates/deployment.yaml
kubernetes/portal-ng/components/portal-ng-ui/values.yaml

index ce623f3..78dfb29 100644 (file)
@@ -8,7 +8,7 @@
 .. _ONAP Next Generation Security & Logging Architecture: https://lf-onap.atlassian.net/wiki/x/bVn7
 .. _Istio setup guide: https://istio.io/latest/docs/setup/install/helm/
 .. _Kiali setup guide: https://kiali.io/docs/installation/installation-guide/example-install/
-.. _Kserve setup guide: https://kserve.github.io/website/0.10/admin/kubernetes_deployment/
+.. _Kserve setup guide: https://kserve.github.io/website/docs/admin-guide/kubernetes-deployment
 .. _K8ssandra setup guide: https://docs.k8ssandra.io/install/
 .. _Mariadb-Operator setup guide: https://github.com/mariadb-operator/mariadb-operator
 .. _Postgres-Operator setup guide: https://github.com/CrunchyData/postgres-operator
index f6d3c08..bc04f6a 100644 (file)
@@ -293,6 +293,7 @@ realmSettings:
               claim.name: "sdc_user"
               jsonType.label: "String"
         additionalDefaultScopes:
+          - "basic"
           - "onap_roles"
       portal_app:
         clientId: "portal-app"
@@ -307,7 +308,7 @@ realmSettings:
           post.logout.redirect.uris: 'https://{{ include "ingress.config.host" (dict "dot" . "baseaddr" "portal-ng-ui") }}/*'
         protocolMappers:
           - name: "User-Roles"
-            protocolMapper: "oidc-usermodel-attribute-mapper"
+            protocolMapper: "oidc-usermodel-realm-role-mapper"
             config:
               userinfo.token.claim: "true"
               id.token.claim: "true"
@@ -325,8 +326,10 @@ realmSettings:
               jsonType.label: "String"
       portal_bff:
         clientId: "portal-bff"
-        protocol: openid-connect
         secret : pKOuVH1bwRZoNzp5P5t4GV8CqcCJYVtr
+        standardFlowEnabled: "false"
+        directAccessGrantsEnabled: "false"
+        serviceAccountsEnabled: "true"
         protocolMappers:
           - name: "Client Host"
             protocolMapper: "oidc-usersessionmodel-note-mapper"
index 649b1cd..17c1025 100644 (file)
@@ -15,7 +15,7 @@
 apiVersion: v2
 description: ONAP Next Generation Portal
 name: portal-ng
-version: 14.0.0
+version: 14.1.0
 
 dependencies:
   - name: common
index 457e5fb..4121cca 100644 (file)
@@ -29,12 +29,12 @@ type: application
 # This is the chart version. This version number should be incremented each time you make changes
 # to the chart and its templates, including the app version.
 # Versions are expected to follow Semantic Versioning (https://semver.org/)
-version: 13.0.1
+version: 13.1.0
 
 # This is the version number of the application being deployed. This version number should be
 # incremented each time you make changes to the application. Versions are not expected to
 # follow Semantic Versioning. They should reflect the version the application is using.
-appVersion: 0.1.2
+appVersion: 0.2.0
 
 dependencies:
   - name: common
index 7d521cf..dffd7e2 100644 (file)
@@ -27,16 +27,20 @@ spec:
             - name: http
               containerPort: {{ .Values.service.port }}
               protocol: TCP
-          readinessProbe:
+          startupProbe:
             httpGet:
-              path: /actuator/health/readiness
+              path: /actuator/health/liveness
               port: {{ .Values.service.port }}
-            initialDelaySeconds: {{ .Values.probes.readiness.initialDelaySeconds }}
-            failureThreshold: {{ .Values.probes.readiness.failureThreshold }}
+            failureThreshold: {{ .Values.probes.startup.failureThreshold }}
+            periodSeconds: {{ .Values.probes.startup.periodSeconds }}
           livenessProbe:
             httpGet:
               path: /actuator/health/liveness
               port: {{ .Values.service.port }}
-            initialDelaySeconds: {{ .Values.probes.liveness.initialDelaySeconds }}
             failureThreshold: {{ .Values.probes.liveness.failureThreshold }}
+          readinessProbe:
+            httpGet:
+              path: /actuator/health/readiness
+              port: {{ .Values.service.port }}
+            failureThreshold: {{ .Values.probes.readiness.failureThreshold }}
           resources: {{ include "common.resources" . | nindent 12 }}
index 90ac470..439592c 100644 (file)
@@ -2,7 +2,7 @@ global:
   env:
     KEYCLOAK_URL: http://keycloak-http.keycloak
     KEYCLOAK_REALM: onap
-    COLLECTOR_HOST: jaeger-collector.istio-config
+    COLLECTOR_HOST: http://jaeger-collector.istio-config
     COLLECTOR_PORT: 9411
 
 ## Default values for portal-ng-bff.
@@ -77,16 +77,20 @@ resources:
 ## Readiness and liveness probes
 ##
 probes:
-  # Configuration of the readiness probe to check if the container is ready.
+  # Configuration of the startup probe that
+  # runs before readiness and liveness probe.
+  startup:
+    ## Number of consecutive failures allowed before marking probe as failed.
+    failureThreshold: 90
+    ## check interval of probe.
+    periodSeconds: 1
+  # Configuration of the readiness probe to check
+  # if the container is ready to accept traffic.
   readiness:
-    ## Wait before performing the first probe
-    initialDelaySeconds: 20
     ## Number of consecutive failures allowed before marking probe as failed.
     failureThreshold: 4
   # Configuration of the liveness probe to check if the container is alive.
   liveness:
-    ## Wait before performing the first probe
-    initialDelaySeconds: 20
     ## Number of consecutive failures allowed before marking probe as failed.
     failureThreshold: 4
 
index bd9a531..0e98168 100644 (file)
@@ -29,12 +29,12 @@ type: application
 # This is the chart version. This version number should be incremented each time you make changes
 # to the chart and its templates, including the app version.
 # Versions are expected to follow Semantic Versioning (https://semver.org/)
-version: 14.0.0
+version: 14.1.0
 
 # This is the version number of the application being deployed. This version number should be
 # incremented each time you make changes to the application. Versions are not expected to
 # follow Semantic Versioning. They should reflect the version the application is using.
-appVersion: 0.2.1
+appVersion: 0.3.0
 
 dependencies:
   - name: common
index 9f41df5..2989158 100644 (file)
@@ -48,16 +48,20 @@ spec:
             - configMapRef:
                 name: {{ include "common.fullname" . }}-configmap
           ports: {{ include "common.containerPorts" . | nindent 12  }}
+          startupProbe:
+            httpGet:
+              path: /actuator/health/liveness
+              port: {{ .Values.service.port }}
+            failureThreshold: {{ .Values.probes.startup.failureThreshold }}
+            periodSeconds: {{ .Values.probes.startup.periodSeconds }}
           livenessProbe:
             httpGet:
               path: /actuator/health/liveness
               port: {{ .Values.service.port }}
-            initialDelaySeconds: {{ .Values.probes.liveness.initialDelaySeconds }}
             failureThreshold: {{ .Values.probes.liveness.failureThreshold }}
           readinessProbe:
             httpGet:
               path: /actuator/health/readiness
               port: {{ .Values.service.port }}
-            initialDelaySeconds: {{ .Values.probes.readiness.initialDelaySeconds }}
             failureThreshold: {{ .Values.probes.readiness.failureThreshold }}
           resources: {{ include "common.resources" . | nindent 12 }}
index af99e18..1169cf6 100644 (file)
@@ -2,7 +2,7 @@ global:
   env:
     KEYCLOAK_URL: http://keycloak-http.keycloak
     KEYCLOAK_REALM: onap
-    COLLECTOR_HOST: jaeger-collector.istio-config
+    COLLECTOR_HOST: http://jaeger-collector.istio-config
     COLLECTOR_PORT: 9411
   #Service Names of the postgres db to connect to.
   postgres:
@@ -82,12 +82,22 @@ autoscaling:
   targetCPUUtilizationPercentage: 80
 
 probes:
+  # Configuration of the startup probe that
+  # runs before readiness and liveness probe.
+  startup:
+    ## Number of consecutive failures allowed before marking probe as failed.
+    failureThreshold: 90
+    ## check interval of probe.
+    periodSeconds: 1
+  # Configuration of the readiness probe to check
+  # if the container is ready to accept traffic.
   readiness:
-    initialDelaySeconds: 30
-    failureThreshold: 5
+    ## Number of consecutive failures allowed before marking probe as failed.
+    failureThreshold: 4
+  # Configuration of the liveness probe to check if the container is alive.
   liveness:
-    initialDelaySeconds: 30
-    failureThreshold: 5
+    ## Number of consecutive failures allowed before marking probe as failed.
+    failureThreshold: 4
 
 env:
   TRACING_ENABLED: true
index 9afd859..6102c00 100644 (file)
@@ -29,12 +29,12 @@ type: application
 # This is the chart version. This version number should be incremented each time you make changes
 # to the chart and its templates, including the app version.
 # Versions are expected to follow Semantic Versioning (https://semver.org/)
-version: 14.0.0
+version: 14.1.0
 
 # This is the version number of the application being deployed. This version number should be
 # incremented each time you make changes to the application. Versions are not expected to
 # follow Semantic Versioning. They should reflect the version the application is using.
-appVersion: 0.2.1
+appVersion: 0.3.0
 
 dependencies:
   - name: common
index 3ce98fe..3e56a7d 100644 (file)
@@ -48,16 +48,20 @@ spec:
             - configMapRef:
                 name: {{ include "common.fullname" . }}-configmap
           ports: {{ include "common.containerPorts" . | nindent 12  }}
+          startupProbe:
+            httpGet:
+              path: /actuator/health/liveness
+              port: {{ .Values.service.port }}
+            failureThreshold: {{ .Values.probes.startup.failureThreshold }}
+            periodSeconds: {{ .Values.probes.startup.periodSeconds }}
           livenessProbe:
             httpGet:
               path: /actuator/health/liveness
               port: {{ .Values.service.port }}
-            initialDelaySeconds: {{ .Values.probes.liveness.initialDelaySeconds }}
             failureThreshold: {{ .Values.probes.liveness.failureThreshold }}
           readinessProbe:
             httpGet:
               path: /actuator/health/readiness
               port: {{ .Values.service.port }}
-            initialDelaySeconds: {{ .Values.probes.readiness.initialDelaySeconds }}
             failureThreshold: {{ .Values.probes.readiness.failureThreshold }}
           resources: {{ include "common.resources" . | nindent 12 }}
index a008091..3d7cbb7 100644 (file)
@@ -2,7 +2,7 @@ global:
   env:
     KEYCLOAK_URL: http://keycloak-http.keycloak
     KEYCLOAK_REALM: onap
-    COLLECTOR_HOST: jaeger-collector.istio-config
+    COLLECTOR_HOST: http://jaeger-collector.istio-config
     COLLECTOR_PORT: 9411
   #Service Names of the postgres db to connect to.
   postgres:
@@ -83,12 +83,22 @@ autoscaling:
   targetCPUUtilizationPercentage: 80
 
 probes:
+  # Configuration of the startup probe that
+  # runs before readiness and liveness probe.
+  startup:
+    ## Number of consecutive failures allowed before marking probe as failed.
+    failureThreshold: 90
+    ## check interval of probe.
+    periodSeconds: 1
+  # Configuration of the readiness probe to check
+  # if the container is ready to accept traffic.
   readiness:
-    initialDelaySeconds: 30
-    failureThreshold: 5
+    ## Number of consecutive failures allowed before marking probe as failed.
+    failureThreshold: 4
+  # Configuration of the liveness probe to check if the container is alive.
   liveness:
-    initialDelaySeconds: 30
-    failureThreshold: 5
+    ## Number of consecutive failures allowed before marking probe as failed.
+    failureThreshold: 4
 
 env:
   TRACING_ENABLED: true
index e9562bc..926ae53 100644 (file)
@@ -38,17 +38,21 @@ spec:
           - configMapRef:
               name: {{ include "common.fullname" . }}-configmap
           ports: {{ include "common.containerPorts" . | nindent 12  }}
+          startupProbe:
+            httpGet:
+              path: /
+              port: {{ .Values.service.internalPort }}
+            failureThreshold: {{ .Values.probes.startup.failureThreshold }}
+            periodSeconds: {{ .Values.probes.startup.periodSeconds }}
           livenessProbe:
             httpGet:
               path: /
-              port: {{ .Values.service.internalPort}}
-            initialDelaySeconds: {{ .Values.probes.liveness.initialDelaySeconds }}
+              port: {{ .Values.service.internalPort }}
             failureThreshold: {{ .Values.probes.liveness.failureThreshold }}
           readinessProbe:
             httpGet:
               path: /
-              port: {{ .Values.service.internalPort}}
-            initialDelaySeconds: {{ .Values.probes.readiness.initialDelaySeconds }}
+              port: {{ .Values.service.internalPort }}
             failureThreshold: {{ .Values.probes.readiness.failureThreshold }}
           volumeMounts:
           - name: tiles-icons
index f806c4c..b1d64f4 100644 (file)
@@ -88,11 +88,21 @@ autoscaling:
   targetCPUUtilizationPercentage: 80
 
 probes:
+  # Configuration of the startup probe that
+  # runs before readiness and liveness probe.
+  startup:
+    ## Number of consecutive failures allowed before marking probe as failed.
+    failureThreshold: 90
+    ## check interval of probe.
+    periodSeconds: 1
+  # Configuration of the readiness probe to check
+  # if the container is ready to accept traffic.
   readiness:
-    initialDelaySeconds: 20
+    ## Number of consecutive failures allowed before marking probe as failed.
     failureThreshold: 4
+  # Configuration of the liveness probe to check if the container is alive.
   liveness:
-    initialDelaySeconds: 20
+    ## Number of consecutive failures allowed before marking probe as failed.
     failureThreshold: 4
 
 nodeSelector: {}