Categories

Versions

Patch files from 2026.0.0 to 2026.0.2

As part of the upgrade after you downloaded the new version of the deployment templates, please apply the following changes in your values.yaml file:

As usual with patch files, the first character in every line has a meaning:

  • Lines starting with + need to be added
  • Lines starting with - need to be removed
  • Lines starting with a space ` ` are just for context and should not be changed
  • Lines starting with @@ indicate the line numbers in the original file and should not be changed

values.yaml

@@ -37,9 +37,9 @@ common:
   # The namespace of the deployment
   productNS: "<NAMESPACE-PLACEHOLDER>"
   # The docker image tag
-  mainVersion: "2026.0.0"
+  mainVersion: "2026.0.2"
   # The docker image tag for Coding Environment Storage
-  cesVersion: "2026.0.0"
+  cesVersion: "2026.0.2"
   # Docker registry prefix rapidminer/ references our public docker registry, but that can be changed to the fqdn of your internal registry
   dockerURL: "rapidminer/"
   # The TZ database name of the deployment's timezone, for example "America/New_York"
@@ -201,7 +201,7 @@ proxy:
   # You can overwrite the Docker registry prefix rapidminer/ if you have on own repository, but that can be changed to the fqdn of your internal registry
   # repoName: "<registry.example.com/> or <customedockerhubreponame/>"
   # You can overwrite the mainVersion value for this component
-  # version: "2026.0.0"
+  # version: "2026.0.2"
   configName: "proxy-config"
   # Deprecated, please use httpPort and httpsPort
   unprivilegedPorts: "true"
@@ -269,13 +269,12 @@ proxy:
     #      proxy_pass            $amq_webui_backend_service/console$1$is_args$args;
     #    }

-
 letsEncrypt:
   # You can overwrite the Docker registry prefix rapidminer/ if you have on own repository, but that can be changed to the fqdn of your internal registry
   # repoName: "<registry.example.com/> or <customedockerhubreponame/>"
   imageName: "rm-letsencrypt-client"
   # You can overwrite the mainVersion value for this component
-  # version: "2026.0.0"
+  # version: "2026.0.2"
   configName: "letsencrypt-client-config"
   allowLetsEncrypt: "true"
   certsHome: "/certificates/"
@@ -306,7 +305,7 @@ landingPage:
   # repoName: "<registry.example.com/> or <customedockerhubreponame/>"
   imageName: "rapidminer-deployment-landing-page"
   # You can overwrite the mainVersion value for this component
-  # version: "2026.0.0"
+  # version: "2026.0.2"
   configName: "landing-page-config"
   # You can overwrite the defaultstorageClass value for this component
   # storageClass: "<STORAGECLASS-PLACEHOLDER_RWO>"
@@ -335,6 +334,8 @@ landingPage:
 aihubDB:
   # Sample POD annotation
   podAnnotations:
+     # Helps Kubernetes prefer deleting the old pod first during updates
+     controller.kubernetes.io/pod-deletion-cost: "0"  
   #   pre.hook.backup.velero.io/command: '["/sbin/fsfreeze", "--freeze", "/rapidminer"]'
   #   pre.hook.backup.velero.io/container: aihub-db-cnt
   #   post.hook.backup.velero.io/command: '["/sbin/fsfreeze", "--unfreeze", "/rapidminer"]'
@@ -345,7 +346,7 @@ aihubDB:
   # repoName: "<registry.example.com/> or <customedockerhubreponame/>"
   imageName: "postgres-17"
   # You can overwrite the mainVersion value for this component
-  # version: "2026.0.0"
+  # version: "2026.0.2"
   configName: "aihub-db-config"
   # You can overwrite the defaultstorageClass value for this component
   # storageClass: "<STORAGECLASS-PLACEHOLDER_RWO>"
@@ -366,6 +367,7 @@ aihubDB:
     initialdelayseconds: 30
     periodseconds: 60
     timeoutseconds: 1
+  terminationGracePeriodSeconds: 90
   resources:
     requests:
       memory: "256M"
@@ -385,7 +387,7 @@ aihubFrontend:
   # repoName: "<registry.example.com/> or <customedockerhubreponame/>"
   imageName: "rapidminer-aihub-ui"
   # You can overwrite the mainVersion value for this component
-  # version: "2026.0.0"
+  # version: "2026.0.2"
   configName: "aihub-frontend-config"
   nginxPort: "1080"
   ssoClientId: "aihub-frontend"
@@ -408,6 +410,11 @@ aihubFrontend:
 activemq:
   # Sample POD annotation
   podAnnotations:
+     # Helps Kubernetes prefer deleting the old pod first during updates
+     controller.kubernetes.io/pod-deletion-cost: "0"  
+  #   prometheus.io/scrape: "true"
+  #   prometheus.io/path: "/metrics"
+  #   prometheus.io/port: "9404"
   #   pre.hook.backup.velero.io/command: '["/sbin/fsfreeze", "--freeze", "/var/lib/artemis/data"]'
   #   pre.hook.backup.velero.io/container: activemq
   #   post.hook.backup.velero.io/command: '["/sbin/fsfreeze", "--unfreeze", "/var/lib/artemis/data"]'
@@ -419,7 +426,7 @@ activemq:
   # repoName: "<registry.example.com/> or <customedockerhubreponame/>"
   imageName: "rapidminer-activemq-artemis"
   # You can overwrite the mainVersion value for this component
-  # version: "2026.0.0"
+  # version: "2026.0.2"
   configName: "activemq-config"
   pvcName: "activemq-artemis-pvc"
   storageSize: "10Gi"
@@ -450,7 +457,7 @@ aihubBackendInit:
   # repoName: "<registry.example.com/> or <customedockerhubreponame/>"
   imageName: "aihub-backend-init-container"
   # You can overwrite the mainVersion value for this component
-  # version: "2026.0.0"
+  # version: "2026.0.2"
   configName: "aihub-backend-config"
   resources:
     requests:
@@ -465,6 +472,8 @@ aihubBackendInit:
 aihubBackend:
   # Sample POD annotation
   podAnnotations:
+     # Helps Kubernetes prefer deleting the old pod first during updates
+     controller.kubernetes.io/pod-deletion-cost: "0"
   #   prometheus.io/scrape: "true"
   #   prometheus.io/path: "/system/prometheus"
   #   prometheus.io/port: "8077"
@@ -478,7 +487,7 @@ aihubBackend:
   # repoName: "<registry.example.com/> or <customedockerhubreponame/>"
   imageName: "rapidminer-aihub"
   # You can overwrite the mainVersion value for this component
-  # version: "2026.0.0"
+  # version: "2026.0.2"
   configName: "aihub-backend-config"
   # You can overwrite the defaultstorageClass value for this component
   # storageClass: "<STORAGECLASS-PLACEHOLDER_RWO>"
@@ -570,7 +579,7 @@ jobagents:
       imageName: "rapidminer-jobagent"
       home: "/home/rapidminer"    
       # You can overwrite the mainVersion value for this component
-      # version: "2026.0.0"
+      # version: "2026.0.2"
       serviceName: "job-agents-default-queue"
       statefulsetName: "job-agents-default-queue"
       selectorLabels:
@@ -718,14 +727,17 @@ jobagents:
 keycloak:
   # Sample POD annotation
   podAnnotations:
+    # Helps Kubernetes prefer deleting the old pod first during updates
+    controller.kubernetes.io/pod-deletion-cost: "0"
   #  backup.velero.io/backup-volumes: proxy-pv
   # You can overwrite the Docker registry prefix rapidminer/ if you have on own repository, but that can be changed to the fqdn of your internal registry
   # repoName: "<registry.example.com/> or <customedockerhubreponame/>"
   serviceName: "keycloak-svc"
   imageName: "rapidminer-keycloak"
   # You can overwrite the mainVersion value for this component
-  # version: "2026.0.0"
+  # version: "2026.0.2"
   configName: "keycloak-config"
+  terminationGracePeriodSeconds: 60
   logLevel: "info"
   features: "token-exchange"
   healthEnabled: "true"
@@ -756,6 +768,8 @@ keycloak:
 keycloakDB:
   # Sample POD annotation
   podAnnotations:
+     # Helps Kubernetes prefer deleting the old pod first during updates
+     controller.kubernetes.io/pod-deletion-cost: "0"  
   #   pre.hook.backup.velero.io/command: '["/sbin/fsfreeze", "--freeze", "/rapidminer"]'
   #   pre.hook.backup.velero.io/container: keycloak-db-cnt
   #   post.hook.backup.velero.io/command: '["/sbin/fsfreeze", "--unfreeze", "/rapidminer"]'
@@ -766,7 +780,7 @@ keycloakDB:
   # repoName: "<registry.example.com/> or <customedockerhubreponame/>"
   imageName: "postgres-17"
   # You can overwrite the mainVersion value for this component
-  # version: "2026.0.0"
+  # version: "2026.0.2"
   configName: "keycloak-db-config"
   # You can overwrite the defaultstorageClass value for this component
   # storageClass: "<STORAGECLASS-PLACEHOLDER_RWO>"
@@ -788,6 +802,7 @@ keycloakDB:
     initialdelayseconds: 15
     periodseconds: 60
     timeoutseconds: 1
+  terminationGracePeriodSeconds: 90
   resources:
     requests:
       memory: "256M"
@@ -804,6 +819,8 @@ licenseProxy:
   springProfilesActive: "default,prometheus"
   # Sample POD annotation
   podAnnotations:
+     # Helps Kubernetes prefer deleting the old pod first during updates
+     controller.kubernetes.io/pod-deletion-cost: "0"  
   #   prometheus.io/scrape: "true"
   #   prometheus.io/path: "/actuator/prometheus"
   #   prometheus.io/port: "9191"
@@ -820,7 +837,7 @@ licenseProxy:
   hostname: "license-proxy"
   imageName: "rapidminer-licenseproxy"
   # You can overwrite the mainVersion value for this component
-  # version: "2026.0.0"
+  # version: "2026.0.2"
   configName: "license-proxy-config"
   # You can overwrite the defaultstorageClass value for this component
   # storageClass: "<STORAGECLASS-PLACEHOLDER_RWO>"
@@ -855,7 +872,7 @@ deploymentInit:
   # repoName: "<registry.example.com/> or <customedockerhubreponame/>"
   imageName: "rapidminer-deployment-init"
   # You can overwrite the mainVersion value for this component
-  # version: "2026.0.0"
+  # version: "2026.0.2"
   configName: "deployment-init-config"
   # You can overwrite the defaultstorageClass value for this component
   # storageClass: "<STORAGECLASS-PLACEHOLDER_RWO>"
@@ -885,7 +902,7 @@ platformAdmin:
   # repoName: "<registry.example.com/> or <customedockerhubreponame/>"
   imageName: "rapidminer-platform-admin-webui"
   # You can overwrite the mainVersion value for this component
-  # version: "2026.0.0"
+  # version: "2026.0.2"
   configName: "platform-admin-webui-config"
   # You can overwrite the defaultstorageClass value for this component
   # storageClass: "<STORAGECLASS-PLACEHOLDER_RWO>"
@@ -918,6 +935,8 @@ platformAdmin:
 ces:
   # Sample POD annotation
   podAnnotations:
+     # Helps Kubernetes prefer deleting the old pod first during updates
+     controller.kubernetes.io/pod-deletion-cost: "0"  
   #   pre.hook.backup.velero.io/command: '["/sbin/fsfreeze", "--freeze", "/opt/coding-shared"]'
   #   pre.hook.backup.velero.io/container: rapidminer-ces
   #   post.hook.backup.velero.io/command: '["/sbin/fsfreeze", "--unfreeze", "/opt/coding-shared"]'
@@ -927,7 +946,7 @@ ces:
   # You can overwrite the Docker registry prefix rapidminer/ if you have on own repository, but that can be changed to the fqdn of your internal registry
   # repoName: "<registry.example.com/> or <customedockerhubreponame/>"
   # You can overwrite the mainVersion value for this component
-  # version: "2026.0.0"
+  # version: "2026.0.2"
   configName: "rapidminer-coding-environment-storage-config"
   pvcName: "coding-environment-storage"
   pvcSubPath: "coding-shared"
@@ -967,11 +986,12 @@ scoringAgent:
   # repoName: "<registry.example.com/> or <customedockerhubreponame/>"
   imageName: "rapidminer-scoringagent"
   # This is the last version of scoring agent, please migrate to webapi
-  # version: "2026.0.0"
+  # version: "2026.0.2"
   configName: "scoring-agent-config"
   # You can overwrite the defaultstorageClass value for this component
   # storageClass: "<STORAGECLASS-PLACEHOLDER_RWX>"
   pvcName: "scoring-home-pvc"
+  replicas: 1
   storageSize: "10Gi"
   licensesPvcName: "scoring-licenses-pvc"
   ssoClientId: "aihub-scoringagent"
@@ -1031,6 +1051,8 @@ scoringAgent:
 jupyterDB:
   # Sample POD annotation
   podAnnotations:
+     # Helps Kubernetes prefer deleting the old pod first during updates
+     controller.kubernetes.io/pod-deletion-cost: "0"  
   #  backup.velero.io/backup-volumes: proxy-pv
   # You can overwrite the Docker registry prefix rapidminer/ if you have on own repository, but that can be changed to the fqdn of your internal registry
   # repoName: "<registry.example.com/> or <customedockerhubreponame/>"
@@ -1038,7 +1060,7 @@ jupyterDB:
   serviceName: "jupyterhub-db"
   imageName: "rapidminer-jupyterhub-postgres"
   # You can overwrite the mainVersion value for this component
-  # version: "2026.0.0"
+  # version: "2026.0.2"
   configName: "jupyterhub-db-config"
   # You can overwrite the defaultstorageClass value for this component
   # storageClass: "<STORAGECLASS-PLACEHOLDER_RWO>"
@@ -1059,6 +1081,7 @@ jupyterDB:
     initialdelayseconds: 35
     periodseconds: 60
     timeoutseconds: 1
+  terminationGracePeriodSeconds: 90
   resources:
     requests:
       memory: "256M"
@@ -1072,6 +1095,8 @@ jupyterDB:
 jupyterHub:
   # Sample POD annotation
   podAnnotations:
+     # Helps Kubernetes prefer deleting the old pod first during updates
+     controller.kubernetes.io/pod-deletion-cost: "0"  
   #  backup.velero.io/backup-volumes: proxy-pv
   # You can overwrite the Docker registry prefix rapidminer/ if you have on own repository, but that can be changed to the fqdn of your internal registry
   # repoName: "<registry.example.com/> or <customedockerhubreponame/>"
@@ -1080,7 +1105,7 @@ jupyterHub:
   serviceName: "jupyterhub-hub-svc-priv"
   imageName: "rapidminer-jupyterhub-jupyterhub"
   # You can overwrite the mainVersion value for this component
-  # version: "2026.0.0"
+  # version: "2026.0.2"
   configName: "jupyterhub-config"
   createServiceAccount: "true"
   initRBAC: "true"
@@ -1125,6 +1150,7 @@ jupyterHub:
   #       mem_guarantee: 3G
   #       cpu_limit: 2
   #       mem_limit: 3G
+  #       image_pull_policy: Always
   #       node_selector:
   #         rapidminer.com/workload-type: aihub
   #   - display_name: Single NVidia GPU
@@ -1137,6 +1163,7 @@ jupyterHub:
   #       mem_guarantee: 28G
   #       cpu_limit: 3.5
   #       mem_limit: 28G
+  #       image_pull_policy: Always
   #       extra_resource_limits:
   #         nvidia.com/gpu: "1"
   #       node_selector:
@@ -1156,6 +1183,7 @@ jupyterHub:
   #       mem_guarantee: 170G
   #       cpu_limit: 40
   #       mem_limit: 170G
+  #       image_pull_policy: Always
   #       extra_resource_limits:
   #         nvidia.com/gpu: "4"
   #       node_selector:
@@ -1185,13 +1213,17 @@ jupyterNoteBook:
   # repoName: "<registry.example.com/> or <customedockerhubreponame/>"
   imageName: "rapidminer-jupyter_notebook"
   # You can overwrite the mainVersion value for this component
-  # version: "2026.0.0"
+  # version: "2026.0.2"
   memLimit: "3G"
   cpuLimit: "100"
   ssoUidKey: "X_NB_UID"
   ssoGidKey: "X_NB_GID"
   ssoCustomBindMountsKey: "X_NB_CUSTOM_BIND_MOUNTS"
   customBindMounts: ""
+  # PVC names in kubernetes are limited to 63 characters, please set the property below
+  # as short as possible
+  # For backward compatibility we kept the previous default value below
+  # volumeNameTemplate: "<NAMESPACE-PLACEHOLDER>-jupyter-notebook-{username}-pvc"
   storageAccessMode: "ReadWriteOnce"
   storageSize: "5Gi"
   # You can overwrite the defaultstorageClass value for this component
@@ -1215,7 +1247,7 @@ grafanaProxy:
   threadNumbers: "16"
   imageName: "rapidminer-grafana-proxy"
   # You can overwrite the mainVersion value for this component
-  # version: "2026.0.0"
+  # version: "2026.0.2"
   # Possible values: NOTSET, DEBUG, INFO, WARNING, ERROR, CRITICAL
   logLevel: "INFO"
   logResponseData: "False"
@@ -1245,7 +1277,7 @@ grafanaAnonProxy:
   serviceName: "grafana-anonymous-proxy-svc"
   imageName: "rapidminer-grafana-proxy"
   # You can overwrite the mainVersion value for this component
-  # version: "2026.0.0"
+  # version: "2026.0.2"
   # Possible values: NOTSET, DEBUG, INFO, WARNING, ERROR, CRITICAL
   logLevel: "INFO"
   threadNumbers: "16"
@@ -1272,7 +1304,7 @@ grafanaInit:
   # repoName: "<registry.example.com/> or <customedockerhubreponame/>"
   imageName: "rapidminer-grafana-init"
   # You can overwrite the mainVersion value for this component
-  # version: "2026.0.0"
+  # version: "2026.0.2"
   configName: "grafana-init-config"
   resources:
     requests:
@@ -1289,6 +1321,8 @@ grafanaInit:
 grafana:
   # Sample POD annotation
   podAnnotations:
+     # Helps Kubernetes prefer deleting the old pod first during updates
+     controller.kubernetes.io/pod-deletion-cost: "0"   
   #   pre.hook.backup.velero.io/command: '["/sbin/fsfreeze", "--freeze", "/var/lib/grafana"]'
   #   pre.hook.backup.velero.io/container: grafana
   #   post.hook.backup.velero.io/command: '["/sbin/fsfreeze", "--unfreeze", "/var/lib/grafana"]'
@@ -1300,7 +1334,7 @@ grafana:
   serviceName: "grafana-svc"
   # You can overwrite the mainVersion value for this component
   # This is the version of the official Grafana docker image
-  staticVersion: "12.1.1-ubuntu"
+  staticVersion: "12.3.2-ubuntu"
   configName: "grafana-config"
   # You can overwrite the defaultstorageClass value for this component
   # storageClass: "<STORAGECLASS-PLACEHOLDER_RWO>"
@@ -1308,7 +1342,6 @@ grafana:
   homeStorageSize: "10Gi"
   provisioningPvcName: "grafana-provisioning-pvc"
   provisioningStorageSize: "10Gi"
-  angularSupportEnabled: "true"
   readinessprobe:
     failurethreshold: 2
     initialdelayseconds: 30
@@ -1364,7 +1397,7 @@ tokenTool:
   serviceName: "token-tool-svc"
   imageName: "rapidminer-deployment-landing-page"
   # You can overwrite the mainVersion value for this component
-  # version: "2026.0.0"
+  # version: "2026.0.2"
   configName: "token-tool-config"
   # You can overwrite the defaultstorageClass value for this component
   # storageClass: "<STORAGECLASS-PLACEHOLDER_RWO>"
@@ -1458,7 +1491,7 @@ webApiAgents:
     # repoName: "<registry.example.com/> or <customedockerhubreponame/>"
     imageName: "rapidminer-scoringagent"
     # You can overwrite the mainVersion value for this component
-    # version: "2026.0.0"
+    # version: "2026.0.2"
     statefulsetName: "webapi-agent-default-queue"
     eurekaInstanceHostname: "webapi-agent-default-queue"
     # You can overwrite the defaultstorageClass value for this component
@@ -1677,7 +1710,7 @@ panopticonVizapp:
   # You can overwrite the Docker registry prefix rapidminer/ if you have on own repository, but that can be changed to the fqdn of your internal registry
   # repoName: "<registry.example.com/> or <customedockerhubreponame/>"
   # You can overwrite the mainVersion value for this component
-  # version: "2026.0.0"
+  # version: "2026.0.2"
   serviceName: "panopticon-vizapp"
   catalinaOpts: "-Xms900m -Xmx1900m --add-opens java.base/java.nio=ALL-UNNAMED"
   lmxUseEpoll: '1'
@@ -1750,7 +1783,7 @@ panopticonVizappPython:
   # You can overwrite the Docker registry prefix rapidminer/ if you have on own repository, but that can be changed to the fqdn of your internal registry
   # repoName: "<registry.example.com/> or <customedockerhubreponame/>"
   # You can overwrite the mainVersion value for this component
-  # version: "2026.0.0"
+  # version: "2026.0.2"
   serviceName: "panopticon-vizapp-python"
   #xsmall
   # You can overwrite these values:
@@ -1758,6 +1791,17 @@ panopticonVizappPython:
   # pvcName: ""
   # pvcAccessMode: [ ReadWriteMany, ReadWriteOnce ]
   # diskSize: 500Mi
+  pythonPackages:
+    - "uvicorn[standard]==0.34.0"
+    - "gunicorn==23.0.0"
+    - "fastapi[all]==0.115.9"
+    - "pandas==2.2.3"
+    - "scikit-learn==1.5.2"
+    - "pyarrow==19.0.1"
+    - "python-string-utils==1.0.0"
+    - "requests==2.32.3"
+    - "beautifulsoup4==4.13.1"
+    - "lxml==5.3.0"
   resources:
     requests:
       cpu: "1"
@@ -1785,7 +1829,7 @@ panopticonRserve:
   # You can overwrite the Docker registry prefix rapidminer/ if you have on own repository, but that can be changed to the fqdn of your internal registry
   # repoName: "<registry.example.com/> or <customedockerhubreponame/>"
   # You can overwrite the mainVersion value for this component
-  # version: "2026.0.0"
+  # version: "2026.0.2"
   serviceName: "panopticon-rserve"
   # You can overwrite these values:
   # storageClass: "<STORAGECLASS-PLACEHOLDER_RWO>"
@@ -1806,6 +1850,8 @@ panopticonMonetDB:
     fsGroup: 0
   # Sample POD annotation
   podAnnotations:
+     # Helps Kubernetes prefer deleting the old pod first during updates
+     controller.kubernetes.io/pod-deletion-cost: "0" 
   #   pre.hook.backup.velero.io/command: '["/sbin/fsfreeze", "--freeze", "/var/monetdb5/dbfarm"]'
   #   pre.hook.backup.velero.io/container: monetdb
   #   post.hook.backup.velero.io/command: '["/sbin/fsfreeze", "--unfreeze", "/var/monetdb5/dbfarm"]'
@@ -1816,7 +1862,7 @@ panopticonMonetDB:
   # repoName: "<registry.example.com/> or <customedockerhubreponame/>"
   deploy: true
   # You can overwrite the mainVersion value for this component
-  # version: "2026.0.0"
+  # version: "2026.0.2"
   serviceName: "panopticon-monetdb"
   adminPass: "<ADMIN_PASSWORD_PLACEHOLDER>"
   # You can overwrite these values: