Blog Viewer

Tanzu Application Catalog Customizations

By Javier Aguadero Garcia posted May 14, 2025 11:02 AM

  

What are Tanzu Application Catalog customizations?

Tanzu Application Catalog enables you to curate a customized set of trusted, pre-packaged application components that are continuously maintained and verifiably tested for production use.

When setting up your catalog, you can choose which application to include and specify the base image of your choice. Tanzu Application Catalog then builds these applications on top of the selected base image using a default configuration that includes all necessary packages and dependencies.

In some scenarios, however, the default configuration and included packages may not meet all your requirements. In such cases, Tanzu Application Catalog customizations lets you modify the contents of the container images in your catalog, allowing you to tailor them to your specific needs.

How do Tanzu Application Catalog customizations work?

To customize the applications in your Tanzu Application Catalog, you need to create a tar.gz file containing the customization contents you want to apply. This file will include any additional files that should be added to the final container image. You can also include a bash script that will be executed during the image build process to perform any extra modifications needed in the final image. 

Once the build is complete, the customized container image- reflecting your image- is pushed to your configured registry.

In the application release detail view, you can see the checksum of the customization tar.gz that was applied to the image. 

This will allow you to identify the exact customization that was applied to the final image.

Additionally, in the build reports section, you can download the applied customization tar.gz file to verify its contents.

How can I customize my images?

Log in to your catalog in Tanzu Application Catalog. From the left navigation menu, go to the Customizations section.

On the resulting page, you will see the customizations in your catalog. To create your first customization, click on the Add Customization card.

You will be presented with a form to create your customization, where you can specify a name, description, and upload your tar.gz file containing the customization files.

You can then choose to apply this new customization to all the applications in your catalog (also known as Global Customization) or to a specific product.

If you select a specific product, the customization will be applied only to the catalog images that include the product. All the other images will either remain unmodified or receive Global Customization, if one has already been defined in your catalog. 

 

Once the customization is created, it will appear in the Customizations section in your catalog. 

By accessing the details of the customization, you can view all the related information, including the list of images of your catalog the customization is applied. 

For each application with the customization applied, the current status is displayed:

  • COMPLETED: The customization is already present in the latest version of the image
  • PENDING: The customization is not yet present in the latest version.
  • IN PROGRESS: A new image is still being built with the customization applied.
  • FAILED: An error occurred while applying  the customization to the image

If the customization fails, a failure message with the corresponding error details will be shown.

From this view, you can also edit the customization, download the customization tar.gz file, or remove the customization from your catalog.

This allows you to customize any individual container image in your catalog or apply the customization to all the container images in your catalog at once.

What kind of modifications can I perform with my customization?

You can add any file to the final image and perform additional changes using the customization bash script. Note that binaries added through the customization that are not installed as system packages will not be tracked in the reports generated by Tanzu Application Catalog.

Here you have examples of modifications you can perform using Tanzu Application Catalog customizations:

Adding package repositories

To configure additional private APT repositories, include a bash script with the following content at “customization/script.sh” inside your customization tar.gz file:

#!/bin/bash

cat <<EOF > /etc/apt/sources.list
deb https://example.com/debian-virtual bullseye main
deb https://example.com/debian-virtual bullseye-security main
deb https://example.com/debian-virtual bullseye-updates main
EOF

This will add the additional repositories to the configured apt sources list.

Changing nginx configuration

You can modify any application configuration using the sed command. For example, to change the number of worker processes in nginx, include a bash script with the following content at customization/script.sh inside your customization tar.gz file:

#!/bin/bash

if [ -f /opt/bitnami/nginx/conf/nginx.conf ]; then
  sed -i ‘s/worker_processes auto;/worker_processes XX;/’ /opt/bitnami/nginx/conf/nginx.conf
fi

Adding Airflow plugins

You can add extra Airflow plugins via pip. For that, add a bash script with the following content at “customization/script.sh” inside your customization tar.gz file:

#!/bin/bash

if [ -e “etc/pothon-release” ]; then
  install_packages krb5-devel
  cd /opt/bitnami/airflow/venv && bin/pip install pykerberos
elif [ -e “/etc/redhat-release” ]; then
  install_packages krb5-devel
  cd /opt/bitnami/airflow/venv && bin/pip install pykerberos
fi 

In this case, the “if” clause allows you to install different packages based on the linux distribution used by the image. This ensures that if the Airflow application in your catalog uses different base images, the same customization will work across all of them. 

Adding custom CA certificates

You can add your own ca-certificates to the images of your catalog. To do this, place all your certificates in your customization tar.gz file under the /usr/local/share/ca-certificates directory. Additionally, include a bash script with the following content at customization/script.sh inside the same customization tar.gz file:

#!/bin/bash

update-ca-certificates

Conclusions

Tanzu Application Catalog customizations enable you to configure your container images to meet your requirements when the default configuration provided by Tanzu Application Catalog is not sufficient. They offer a flexible way to apply any necessary changes to your images during the build process. 

Visit Tanzu Application Catalog and begin creating your own customizations!

0 comments
4 views

Permalink