How to Upgrade the Catalog chart
To upgrade the catalog chart, update the chart version and run helm upgrade.
tip
The chart follows semver: breaking changes are introduced only in major version bumps. Minor releases add new optional configuration; patch releases contain only fixes. Always review the changelog before upgrading across a major boundary.
Direct chart upgrade
If you installed the chart directly:
helm repo update
helm upgrade catalog mia-platform/catalog \
--namespace catalog \
--values values.yaml \
--atomic \
--timeout 10m
Upgrade via the catalog-deployment wrapper
If you use the catalog-deployment wrapper repository, update the pinned chart version in Chart.yaml:
dependencies:
- name: catalog
version: "~0.X" # ← bump to the new target version constraint
repository: "https://nexus.mia-platform.eu/repository/helm-internal/"
Then update and deploy:
helm dependency update
helm upgrade catalog . \
--namespace catalog \
--values values/<env>.yaml \
--atomic \
--timeout 10m
Version-specific upgrade notes
From 0.3.28 to 0.3.42-0 (Mia-Platform v15.0.1 to v15.1.0)
- Catalog Engine now syncs Catalog permissions to the Authz service with the
catalog-engineKeycloak client. Upgrade thekeycloak-realm-managementchart to0.1.35first: withproducts.catalog: trueit creates this client. If you do not manage the realm with that chart, create a confidential clientcatalog-enginewith service accounts enabled, the "Signed JWT" client authenticator with the JWKS URL<catalog url>/.well-known/jwks.json, the default client scopesmia:authzandmia:authz-roles, and theauthz-apiclient roleurn:mia-platform-internal:role:authz:permissions:writerassigned to its service account user. - Add the client credential to the
catalog-engine-keysSecret. With the defaultcatalogEngine.config.authzServiceAuthorization.tokenAuthMethod: private_key_jwt, add a PEM-encoded private key under thekey.pemkey. With any othertokenAuthMethod, add the client secret under theclient-secretkey. If the chart creates the Secret (secrets.catalogEngineKeys.enabled: true), setsecrets.catalogEngineKeys.privateKeyorsecrets.catalogEngineKeys.clientSecretinstead.
Also note:
- To turn off the permissions sync, set
catalogEngine.config.authzServiceAuthorization.enabled: false. The client and the credential of the steps above are then not needed. - With
catalogKafkaContext.embedded.enabled: true(defaultfalse) the chart deploys its own Kafka cluster in the Catalog namespace, without an operator or CRDs. It needs a StorageClass that can provision one ReadWriteOnce volume per Kafka node, and it cannot be combined withsecrets.kafkaKeys.enabled: true. - The new optional
namespacePrefixvalue (default empty) adds a<namespacePrefix>-prefix to the names of all the resources the chart creates, including the image pull Secret and the TLS Secret set iningressRoute.tls.secretName. Secrets that you create yourself must then use the prefixed names. Setting it on an existing installation renames its resources.