Version 1.11.x#
This page shows the changelog for Nubus for Kubernetes 1.11.x:
Important
Bundled dependencies using Bitnami images (PostgreSQL, MinIO, Memcached)
require configuration changes, because Bitnami migrated their repositories
from docker.io/bitnami to docker.io/bitnamilegacy.
Deployments that use external dependencies aren’t affected.
For more information, see
Bitnami GitHub issue #35164.
If you deploy these dependencies with Nubus,
override the image repositories in your custom_values.yaml
as shown in the following listing.
postgresql:
  image:
    repository: bitnamilegacy/postgresql
  provisioning:
    image:
      repository: bitnamilegacy/postgresql
minio:
  image:
    repository: bitnamilegacy/minio
nubusUmcServer:
  memcached:
    image:
      repository: bitnamilegacy/memcached
Version 1.11.2 - 2025-07-10#
This is the sixteenth production release of Nubus for Kubernetes.
Upgrade path
For the upgrade to version 1.11.2, your deployment must run on version 1.9.0 to 1.11.1. For the general steps to upgrade an existing Nubus for Kubernetes deployment, see Upgrade in Univention Nubus for Kubernetes - Operation Manual [1].
Migration steps#
This section lists necessary migration steps that may apply to you. You need to run them before the upgrade. Follow and apply the migration steps outlined in v1.11.0 - Migration steps.
Changes#
Increase resilience of the UDM Listener in the Provision Service and its queues managed by NATS through the following changes:
- The UDM Listener container in the Provisioning Service automatically terminates and restarts in case of errors, for example, if the NATS system isn’t reachable. 
- The UDM Listener logs verbosely in case of errors to facilitate future troubleshooting. 
- The UDM Listener Helm chart provides an init container to wait until NATS is available before starting message processing. 
- The UDM Listener container retries sending messages to NATS to mitigate short network disruptions. 
- New configuration parameters: - nubusUdmListener.config.natsRetryDelay
- Defines the delay between a retry to connect to the NATS server. The default value is 10 seconds. 
- nubusUdmListener.config.natsMaxRetryCount
- Defines the maximum number of retry attempts for interacting with the NATS server. The default value is 3. 
 
Version 1.11.1 - 2025-07-02#
This is the fifteenth production release of Nubus for Kubernetes.
Upgrade path
For the upgrade to version 1.11.1, your deployment must run on version 1.9.0 to 1.11.0. For the general steps to upgrade an existing Nubus for Kubernetes deployment, see Upgrade in Univention Nubus for Kubernetes - Operation Manual [1].
Migration steps#
This section lists necessary migration steps that may apply to you. You need to run them before the upgrade. Follow and apply the migration steps outlined in v1.11.0 - Migration steps.
Changes#
The wait-for-ldap init container of the update-univention-object-identifier now correctly uses the nubusUdmRestApi.initResources value.
Version 1.11.0 - 2025-06-30#
This is the fourteenth production release of Nubus for Kubernetes.
Upgrade path
For the upgrade to version 1.11.0, your deployment must run on version 1.9.0 to 1.10.2. For the general steps to upgrade an existing Nubus for Kubernetes deployment, see Upgrade in Univention Nubus for Kubernetes - Operation Manual [1].
Release highlights#
Nubus for Kubernetes 1.11.0 provides the following highlights:
- Integration of a SCIM server for standardized user and group provisioning through the SCIM 2.0 protocol. - Important - The status of the Nubus SCIM Server is experimental. Nubus for Kubernetes deactivates it by default. To use the Nubus SCIM Server, consult the Univention Support first. 
- Integration of a 2FA Helpdesk which allows administrators to manage two-factor authentication methods for users. - Important - The 2FA Helpdesk feature is in preview status. Nubus for Kubernetes deactivates it by default. 
- Major refactoring of secrets management across all components in Nubus for Kubernetes to improve consistency, security, and ease of configuration. Sub-charts now manage their own secrets using a standardized pattern. 
Migration steps#
This section lists necessary migration steps that may apply to you. You need to run them before the upgrade.
- Depending on your starting version for the update, follow the migration steps in ascending order. - If your starting point is 1.9.x: - Migration steps up to 1.9.2. 
- Migration steps for 1.10.0 to 1.10.2. 
- Migration steps for 1.11.0. 
- Run the upgrade. 
 
- If your starting point is 1.10.x: - Migration steps for up to 1.10.2. 
- Migration steps for 1.11.0. 
- Run the upgrade. 
 
 
- Operators using the Notifications API must explicitly set the database username in your values file, because the default database username changed from - notificationsapi_userto- notificationsapi.- nubusNotificationsApi: postgresql: auth: username: "notificationsapi_user" 
- Rename the Helm Chart value - image.imagePullPolicyto- image.pullPolicyin many sub-charts for consistency. The Helm Chart no longer sets their values to- IfNotPresentby default. Instead, the Helm Chart now unsets them to allow the Kubernetes default behavior.- UDM REST API
- Rename - nubusUdmRestApi.blocklistCleanup.image.imagePullPolicyto- nubusUdmRestApi.blocklistCleanup.image.pullPolicy.
- Rename - nubusUdmRestApi.ldapUpdateUniventionObjectIdentifier.image.imagePullPolicyto- nubusUdmRestApi.ldapUpdateUniventionObjectIdentifier.image.pullPolicy.
- Rename - nubusUdmRestApi.udmRestApi.image.imagePullPolicyto- nubusUdmRestApi.udmRestApi.image.pullPolicy.
 
- LDAP server
- Rename - nubusLdapServer.dhInitContainer.image.imagePullPolicyto- nubusLdapServer.dhInitContainer.image.pullPolicy.
- Rename - nubusLdapServer.ldapServer.image.imagePullPolicyto- nubusLdapServer.ldapServer.image.pullPolicy.
- Rename - nubusLdapServer.ldifProducer.image.imagePullPolicyto- nubusLdapServer.ldifProducer.image.pullPolicy.
- Rename - nubusLdapServer.waitForDependency.image.imagePullPolicyto- nubusLdapServer.waitForDependency.image.pullPolicy.
 
- Notifications API
- Rename - nubusNotificationsApi.image.imagePullPolicyto- nubusNotificationsApi.image.pullPolicy.
 
- Portal Consumer
- Rename - nubusPortalConsumer.portalConsumer.image.imagePullPolicyto- nubusPortalConsumer.portalConsumer.image.pullPolicy.
- Rename - nubusPortalConsumer.waitForDependency.image.imagePullPolicyto- nubusPortalConsumer.waitForDependency.image.pullPolicy.
- Rename - nubusPortalFrontend.image.imagePullPolicyto- nubusPortalFrontend.image.pullPolicy.
 
- Provisioning
- Rename - nubusPortalServer.image.imagePullPolicyto- nubusPortalServer.image.pullPolicy.
- Rename - nubusProvisioning.api.image.imagePullPolicyto- nubusProvisioning.api.image.pullPolicy.
- Rename - nubusProvisioning.dispatcher.image.imagePullPolicyto- nubusProvisioning.dispatcher.image.pullPolicy.
- Rename - nubusProvisioning.prefill.image.imagePullPolicyto- nubusProvisioning.prefill.image.pullPolicy.
- Rename - nubusProvisioning.registerConsumers.image.imagePullPolicyto- nubusProvisioning.registerConsumers.image.pullPolicy.
- Rename - nubusProvisioning.udmTransformer.image.imagePullPolicyto- nubusProvisioning.udmTransformer.image.pullPolicy.
 
- Stack Data
- Rename - nubusStackDataUms.image.imagePullPolicyto- nubusStackDataUms.image.pullPolicy.
 
- Self Service Consumer
- Rename - nubusSelfServiceConsumer.image.imagePullPolicyto- nubusSelfServiceConsumer.image.pullPolicy.
- Rename - nubusSelfServiceConsumer.waitForDependency.image.imagePullPolicyto- nubusSelfServiceConsumer.waitForDependency.image.pullPolicy.
 
- UMC gateway
- Rename - nubusUmcGateway.image.imagePullPolicyto- nubusUmcGateway.image.pullPolicy.
 
- UMC server
- Rename - nubusUmcServer.image.imagePullPolicyto- nubusUmcServer.image.pullPolicy.
 
 
- Refactor secrets across more components in Nubus for Kubernetes. Operators that customize any of the following Helm Chart values, need to migrate their values to the new structure. - Operators using the master password - global.secrets.masterPasswordand the Nubus secret generation don’t need to migrate. Listing 6 outlines the refactored secrets structure.- Global
- Move LDAP server plain password from global values - global.ldap.auth.cnAdmin.passwordto the sub-chart that owns this secret- nubusLdapServer.ldapServer.auth.password.
- Migrate - global.ldap.auth.cnAdmin.existingSecret.*to the new secret structure under- global.ldap.auth.admin.existingSecret.*. You can no longer specify the plain secret globally, but only through the LDAP server sub-chart.
 
- LDAP server
- Move - nubusLdapServer.ldifProducer.nats.auth.existingSecret.keyMapping.NATS_USERNAMEout of the secret. Specify the username now through- nubusLdapServer.ldifProducer.nats.auth.username.
- Rename - nubusLdapServer.ldifProducer.nats.auth.existingSecret.keyMapping.NATS_PASSWORDto- nubusLdapServer.ldifProducer.nats.auth.existingSecret.keyMapping.password.
 
- License Import
- Move - nubusLicenseImport.ldap.auth.usernameto- nubusLicenseImport.ldap.auth.bindDn.
 
- Portal Consumer
- Move - nubusPortalConsumer.portalConsumer.udmApiUsernameto- nubusPortalConsumer.udm.auth.username.
- Rename - nubusPortalConsumer.objectStorage.auth.existingSecret.keyMapping.accessKeyto- nubusPortalConsumer.objectStorage.auth.existingSecret.keyMapping.access_key_id.
- Rename - nubusPortalConsumer.objectStorage.auth.existingSecret.keyMapping.secretKeyto- nubusPortalConsumer.objectStorage.auth.existingSecret.keyMapping.secret_access_key.
- Migrate - nubusPortalConsumer.portalConsumer.machineSecretto the new secret structure under- nubusPortalConsumer.udm.auth.*.
 
- Portal server
- Move - nubusPortalServer.portalServer.centralNavigation.sharedSecretto- nubusPortalServer.portalServer.centralNavigation.auth.sharedSecret.
- Move - nubusPortalServer.portalServer.centralNavigation.existingSecret.nameto the new secret structure under- nubusPortalServer.portalServer.centralNavigation.auth.existingSecret.name.
- Move - nubusPortalServer.portalServer.centralNavigation.existingSecret.keyMapping.passwordto- nubusPortalServer.portalServer.centralNavigation.auth.existingSecret.keyMapping.shared_secret.
- Rename - nubusPortalServer.objectStorage.auth.existingSecret.keyMapping.accessKeyto- nubusPortalServer.objectStorage.auth.existingSecret.keyMapping.access_key_id.
- Rename - nubusPortalServer.objectStorage.auth.existingSecret.keyMapping.secretKeyto- nubusPortalServer.objectStorage.auth.existingSecret.keyMapping.secret_access_key.
 
- Provisioning
- Move - nubusProvisioning.api.auth.adminPasswordto- nubusProvisioning.api.auth.admin.password.
- Move - nubusProvisioning.api.auth.prefillPasswordto- nubusProvisioning.api.auth.prefill.password.
- Move - nubusProvisioning.api.nats.auth.existingSecret.keyMapping.provisioningApiPasswordto- nubusProvisioning.api.nats.auth.existingSecret.keyMapping.password.
- Move - nubusProvisioning.dispatcher.nats.auth.existingSecret.keyMapping.dispatcherPasswordto- nubusProvisioning.dispatcher.nats.auth.existingSecret.keyMapping.password.
- Move - nubusProvisioning.prefill.nats.auth.existingSecret.keyMapping.prefillPasswordto- nubusProvisioning.prefill.nats.auth.existingSecret.keyMapping.password.
- Move - nubusProvisioning.udmTransformer.nats.auth.existingSecret.keyMapping.udmTransformerPasswordto- nubusProvisioning.udmTransformer.nats.auth.existingSecret.keyMapping.password.
- Move - nubusProvisioning.ldap.auth.*to- nubusProvisioning.udmTransformer.ldap.auth.*
 
- Self Service Consumer
- Remove unused variable - nubusSelfServiceConsumer.nats.auth.password.
 
- Stack Data
- Migrate - nubusStackDataUms.stackDataUms.udmApiUserand- nubusStackDataUms.stackDataUms.udmApiPasswordto the new secret structure under- nubusStackDataUms.udm.auth.*.
 
- UDM Listener
- Migrate - nubusUdmListener.config.ldapPasswordto the new secret structure under- nubusUdmListener.ldap.auth.*.
- Migrate - nubusUdmListener.config.eventsUsernameUdmand- nubusUdmListener.config.eventsPasswordUdmto the new secret structure under- nubusUdmListener.provisioningApi.auth.*.
- Migrate - nubusUdmListener.config.natsUserand- nubusUdmListener.config.natsPasswordto the new secret structure under- nubusUdmListener.nats.auth.*.
 
- UDM REST API
- Move - nubusUdmRestApi.udmRestApi.ldap.auth.*to- nubusUdmRestApi.ldap.auth.*.
 
- UMC server
- Migrate - nubusUmcServer.ldap.existingSecret.nameto the new secret structure under- nubusUmcServer.ldap.auth.existingSecret.name.
- Migrate - nubusUmcServer.ldap.existingSecret.keyMapping.ldapPasswordKeyto the new secret structure under- nubusUmcServer.ldap.auth.existingSecret.keyMapping.password.
- Migrate - nubusUmcServer.smtp.existingSecret.nameto the new secret structure under- nubusUmcServer.smtp.auth.existingSecret.name.
- Migrate - nubusUmcServer.umcServer.smtpSecretto the new secret structure under- nubusUmcServer.smtp.auth.password.
 
 
Changes#
- Univention Object Identifier migration job waits for the LDAP server to be ready before starting the migration. 
- Fix typo in - nubusPortalServer.portalServer.newsfeed.feedtypeto- nubusPortalServer.portalServer.newsfeed.feedType.
- Fix UMC policy that caused the UMC LDAP browser to throw an error when accessing Policies within certain groups such as Domain Admins. 
- Use default cluster Ingress class when not specified under - global.ingressClass
- Update Keycloak to version 26.2.5. 
- LDAP objects which exist from scratch and are not created by UDM now include the - univentionObjectIdentifier.
- New Device Login email notifications from the Keycloak Extensions now include a configurable timezone that you can configure through the - nubusKeycloakExtensions.handler.appConfig.emailNotificationTimezoneHelm Chart value. Valid values are IANA Timezones.
- Integrate Nubus SCIM Server component. Nubus for Kubernetes deactivates it by default. It provides a standardized API for user and group management. For information how to activate it and its setup, see Nubus SCIM in [1]. - Important - The status of the Nubus SCIM Server is experimental. Nubus for Kubernetes deactivates it by default. To use the Nubus SCIM Server, consult the Univention Support first. 
- Integrate 2FA Helpdesk in the Management UI. 2FA Helpdesk provides a user interface for administrators to manage 2FA tokens for users, and adds a tile to the portal for users and administrators. You can enable it by setting the following Helm Chart values to - true:
- nubusTwofaHelpdesk.twofaHelpdeskFrontend.enableSelfService
- nubusTwofaHelpdesk.twofaHelpdeskFrontend.enableAdminHelpdesk
- nubusStackDataUms.templateContext.twofaAdminHelpdeskActivated
 - Important - The 2FA Helpdesk feature is in preview status. Nubus for Kubernetes deactivates it by default. 
- Update all components in Nubus for Kubernetes to use the UCS 5.2-2 base image and include bug fixes up UCS 5.2 erratum 117 with the reference date is 12. June 2025. For UCS errata updates,