Version 1.8.x#
This page shows the changelog for Nubus for Kubernetes 1.8.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.8.0 - 2025-04-07#
This is the seventh production release of Nubus for Kubernetes.
Upgrade path
For the upgrade to version 1.8.0, your deployment must run on version 1.7.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 outlines the steps that apply to existing Nubus for Kubernetes installations. You need to run them before the upgrade.
- If you have services that use the UDM HTTP REST API outside the Kubernetes cluster, you need to explicitly enable the access through the ingress, because the ingress for the UDM HTTP REST API is disabled by default starting with version 1.8.0. - To keep the behavior that services outside the Kubernetes cluster can reach UDM HTTP REST API, you need to set - nubusUdmRestApi.ingress.enabledto- truein your values file.
- If you configured the container securityContext for the Portal Consumer, you need to rename the Helm Chart values from - nubusPortalConsumer.securityContext.*to- nubusPortalConsumer.containerSecurityContext.*. In addition, you may also configure the pod securityContext through- nubusPortalConsumer.podSecurityContext.*. For more information, see the change for the Portal Consumer.
- If you configured credentials for the - ldap-serverusing existing Kubernetes secret objects, you need to rename the following Helm Chart values sections:- nubusLdapServer.ldapServer.credentialSecret.*section to- nubusLdapServer.ldapServer.auth.existingSecret.*section
- nubusLdapServer.ldifProducer.nats.auth.credentialSecretNameto- nubusLdapServer.ldifProducer.nats.auth.existingSecret
 - For more information, see the change for the Directory Service. 
- If you configured credentials for the Portal Service using existing Kubernetes secrets, you need to rename the following Helm Chart values sections: - nubusPortalServer.portalServer.objectStorageCredentialSecret.*section to- nubusPortalServer.objectStorage.auth.existingSecret.*section
- nubusPortalServer.portalServer.centralNavigation.authenticatorSecretNameto- nubusPortalServer.portalServer.centralNavigation.existingSecret.name
 - Note - The secret needs to contain a key called password. If your secret contains a different key, you need to pass the name of the key to - nubusPortalServer.portalServer.centralNavigation.existingSecret.keyMapping.password.
- If you have configured credentials for the Portal Service connection to the object storage and have set explicit credential values, you need to rename the following sections of Helm Chart values: - nubusPortalServer.objectStorage.auth.accessKeyto- nubusPortalServer.objectStorage.auth.accessKeyId
- nubusPortalServer.objectStorage.auth.secretKeyto- nubusPortalServer.objectStorage.auth.secretAccessKey
 - For more information, see the change for the Portal Service. 
Added#
- Add the plugin type - umc-i18nto enable translation for UMC modules in packaged integrations.
- Add the following additional elements to the Portal Service: - Corner Links
- Configures a list of portal entries that the Portal Service shows in the lower right corner of the portal. 
- Quick Links
- Configures a list of portal entries that the Portal Service shows in the Quick Menu. Quick links are a set of tiles that appear above the regular application tiles in the portal. Use the links to present deep-links to commonly used functions directly in the portal, for example Create a document or Create a spreadsheet. 
 
- Add dynamic greeting to the Portal Service. - Warning - The dynamic greeting in the Portal Service is an experimental feature. You use it at your own risk. - To activate the feature anyway, set - nubusPortalServer.portalServer.featureToggles.welcome_messageto- true.
Changed#
- Change and improve the error handling in the ad-hoc provisioning plugin for Keycloak. 
- Change the default setting for reaching the UDM HTTP REST API to - false, because of security concerns.- UDM HTTP REST API is now only reachable when explicitly activated. The default value for the Helm Chart value - nubusUdmRestApi.ingress.enabledchanged from- trueto- false. For more information, see UDM HTTP REST API in Univention Nubus for Kubernetes - Nubus Customization and Modification Manual [2].
- Change the NATS container image version from - 2.10.10to- 2.10.26to integrate upstream bug fixes. The upstream bug fixes in NATS avoid potential consumer sequence identifier corruptions in queues.
- Change the LDAP notifier to run on the same Kubernetes node, where the LDAP Primary pod - primary-0runs, so that Kubernetes always schedules it on the same pod, even if there are two LDAP Primary pods running in the cluster.
- Change the Directory Service to configure existing secrets and password configuration using the values schema under - existingSecretto be in line with the other components.- Add the following Helm Chart values: - nubusLdapServer.ldapServer.auth.*
- nubusLdapServer.ldapServer.tls.*
- nubusLdapServer.ldifProducer.nats.auth.*
- nubusLdapServer.ldifProducer.nats.auth.existingSecret.keyMapping.NATS_USERNAME
 
 - Change and replace the following Helm Chart values: - nubusLdapServer.ldifProducer.nats.auth.credentialSecretNameto- nubusLdapServer.ldifProducer.nats.auth.existingSecret.keyMapping.NATS_PASSWORD.
- nubus.LdapServer.ldapServer.credentialSecretto- nubusLdapServer.ldapServer.auth.existingSecret.name
 
- Change and rename the following Helm Chart values for the Portal Consumer. Reason is a fix for the implementation for the securityContext in the Portal Consumer pod. The Helm Chart template didn’t render the securityContext correctly. - nubusPortalConsumer.securityContext.allowPrivilegeEscalationto- nubusPortalConsumer.containerSecurityContext.allowPrivilegeEscalation
- nubusPortalConsumer.securityContext.capabilities.dropto- nubusPortalConsumer.containerSecurityContext.capabilities.drop
- nubusPortalConsumer.securityContext.enabledto- nubusPortalConsumer.containerSecurityContext.enabled
- nubusPortalConsumer.securityContext.privilegedto- nubusPortalConsumer.containerSecurityContext.privileged
- nubusPortalConsumer.securityContext.seccompProfile.typeto- nubusPortalConsumer.containerSecurityContext.seccompProfile.type
- nubusPortalConsumer.securityContext.readOnlyRootFilesystemto- nubusPortalConsumer.containerSecurityContextNonRoot.readOnlyRootFilesystem
- nubusPortalConsumer.securityContext.runAsGroupto- nubusPortalConsumer.containerSecurityContextNonRoot.runAsGroup
- nubusPortalConsumer.securityContext.runAsNonRootto- nubusPortalConsumer.containerSecurityContextNonRoot.runAsNonRoot
- nubusPortalConsumer.securityContext.runAsUserto- nubusPortalConsumer.containerSecurityContextNonRoot.runAsUser
 
- Change the Portal Service to use the default schema with - existingSecretfor the central navigation and the object storage configuration. It changes the way how to pass existing secrets and plain credentials to the Portal Server in the Helm Chart.- Add the following Helm Chart values for the Central Navigation in the Portal Service: - nubusPortalServer.portalServer.centralNavigation.sharedSecret
- nubusPortalServer.portalServer.centralNavigation.existingSecret.keyMapping.password
 - Rename the following Helm Chart values: - Object storage: Unify the configuration of the secrets with - authunder- nubusPortalServer.objectStoragethat already contains the configuration for the endpoint and the bucket.- nubusPortalServer.portalServer.objectStorageCredentialSecret.nameto- nubusPortalServer.objectStorage.auth.existingSecret.name
- nubusPortalServer.portalServer.objectStorageCredentialSecret.accessKeyKeyto- nubusPortalServer.objectStorage.auth.existingSecret.keyMapping.accessKey
- nubusPortalServer.portalServer.objectStorageCredentialSecret.secretKeyKeyto- nubusPortalServer.objectStorage.auth.existingSecret.keyMapping.secretKey
- Consolidate - nubusPortalServer.portalServer.objectStorageAccessKeyIdand- nubusPortalServer.objectStorage.auth.accessKeyto- nubusPortalServer.objectStorage.auth.accessKeyId
- Consolidate - nubusPortalServer.portalServer.objectStorageSecretAccessKeyand- nubusPortalServer.objectStorage.auth.secretKeyto- nubusPortalServer.objectStorage.auth.secretAccessKey
 
- Central Navigation - nubusPortalServer.portalServer.centralNavigation.authenticatorSecretNameto- nubusPortalServer.portalServer.centralNavigation.existingSecret.name
 
 
Fixed#
- Fix the behavior of the configuration option - extraEnvVarsin the sub-chart of the- portal-server. It works as intended.
- Fix a template error in the Identity Provider for the Keycloak pod that caused the Keycloak bootstrap pod to start in the default namespace. The pod now starts in the namespace that the operator defined when installing the Helm Chart, and where Kubernetes starts all other pods of Nubus for Kubernetes, as well. 
- Fix the path to the container image for Keycloak. It now matches the defined path - nubus/images/keycloakand is consistent with the other image paths.
- Fix the implementation of resources in the Helm Chart for the Directory Service. The Helm Chart template didn’t render the resources correctly. 
- Fix the behavior of portal folders when removing a portal. When a functional administrator removes a portal the Portal Service also removes their portal folders from the link lists. 
Removed#
- Remove the groups - DC Backup Hostsand- DC Slave Hostsfrom the default authorization groups in the UDM HTTP REST API. They come from the Nubus for UCS deployment and aren’t relevant in Nubus for Kubernetes. For more information about authorization groups in UDM HTTP REST API, see Authorization groups in Univention Nubus for Kubernetes - Nubus Customization and Modification Manual [2].
- Remove the following Helm Chart values from the Portal Consumer: - nubusPortalConsumer.securityContext.fsGroup
- nubusPortalConsumer.mountSecrets
 
- Remove the - nubusPortalServer.portalServer.credentialSecretHelm Chart value from the Portal Server.