This guide will walk you through the basics of VMware Tanzu Application Catalog:
To access VMware Tanzu Application Catalog, ensure that:
Go to VMware Tanzu Application Catalog and sign in using your VMware Account.
To browse the Library page:
In the left navigation panel, click “Library”. A list of all the applications available on VMware Tanzu Application Catalog will appear.
You can use the “Search the library” filter to search for specific software components, format, architecture, base image, application category, security verifications, and license. List of all containers, Helm charts, VMs, or both based on your filter criteria available on VMware Tanzu Application Catalog are displayed.
To get more information on any of the applications listed in the library, click “Details”. In the resulting screen, you will see the following information:
To add a new registry:
In the “Add Registry” dialog, provide the required information and click “ADD”.
To see specific guides for each provider, see below:
The newly added registry will appear in the "My Registries section.
If you do not have any of the previously mentioned registries, or have any networking restrictions, you can request a VMware hosted registry by opening a support ticket in VMware Tanzu Application Catalog.
If you added a hosted registry, you would need to obtain its credentials before using VMware Tanzu Application Catalog. These credentials allow you to access the registry, and pull the container images and Helm charts.
To obtain registry credentials:
In the resulting dialog box, enter a description for the new credentials, and click “GENERATE THE NEW CREDENTIALS”. The credentials are generated and displayed. Make a note of the username and token, or click “Download as JSON file” to download them as a JSON file. The default name of the file that is downloaded is called ‘_json_key.json’.
NoteThese credentials will not be displayed again, so ensure that you download or copy them to a secure location, as you will need them in subsequent steps.
For a cluster to use the registry, it must have a secret that contains the registry key that was created. When deploying a helm chart, it’s necessary to instruct the pods to pull images using the registry secret. This is done by setting the imagePullSecrets value in the helm command.
See the section Consuming artifacts for further information.
VMware Tanzu Application Catalog allows you to create your own custom catalog.
To create a custom catalog:
In the left navigation panel, click “Applications”. In the page that displays, click “ADD NEW APPLICATIONS”. The “Add New Applications” page displays.
Select a platforms, the associated base image options, and then click “NEXT”. You can deploy VMware Tanzu Application Catalog on Kubernetes or virtual machine platforms.
Select the applications for your catalog and then click “NEXT”
The “Active Artifacts” counter, below the application list, displays the number of artifacts selected, the total number of artifacts eligible for your subscription quota, and the number of artifacts remaining in your subscription quota.
You will see a list of all the registries you have previously added. Select the registry or registries from the list where you want to push the applications and click “NEXT”. After your request is processed, all the applications and their updates will be pushed to the registry or registries you have selected. To add a registry, see the section Adding a new registry.
Provide a name and an optional description for your request and then click “NEXT”
NoteWhile non-custom base images are processed within minutes, it may take up to 1-2 hours for the system to review and process custom ones. You can monitor the status of your request in the “My Requests” tab. It displays the list of all the requests you have submitted along with the status. It also displays the statistics of your active artifacts and requests. You can view the details by clicking the arrow next to each request.
After your request is processed, the application will appear in the “My Applications” tab. It also shows the list of registries used for each request.
Sign into VMware Tanzu Application Catalog, and from the left navigation page, click “Applications”.
A list of all the applications available on VMware Tanzu Application Catalog will be shown along with the following information in graphs and tabular format:
Application releases: This is the number of new application versions that have been built, verified, and delivered into your registry or registries per day.
Vulnerabilities addressed by continuous update: The number of vulnerabilities that we have patched every day by releasing those updates into your registries. This number also includes future patches that upstream providers have officially committed to delivering.
Application packages: Shows the top package manager contributions to your OSS ecosystem to give you a sense of your reliance on and exposure to various open source ecosystems.
Below the three charts, you will see a list of the applications and components in your custom catalog.
You can use the filters on the left side to filter by name, type, status, or base image. The listed artifacts will display the following information:
Base image
Release version
Release status
Date of the latest release
These applications are continuously updated, so that you can consume them for development and deployment. Click on any individual artifact to see information specific to their application.
Each application contains an overview tab with:
Graphs with the number of packages, vulnerabilities, and Open Source licenses
Release info with instructions to consume your Container Image or Helm Chart, or to download you Virtual Machine
Downloadable validation reports and build time reports
Additional tabs will provide further information on vulnerabilities, packages, artifact structure, and so on.
VMware Tanzu Application Catalog builds trusted and continuously maintained content that can be consumed in many different ways. The easiest way to get started is to useVMware Tanzu Application Catalog container images and Helm charts in your local development environment using the Docker or Helm CLI.
To use a container image from VMware Tanzu Application Catalog:
Here is an example of how to run a VMware Tanzu Application Catalog container image for MySQL. When prompted, you would need to enter the registry credentials obtained in the “Obtaining registry credentials” section earlier.
$ cat _json_key.json | docker login -u _json_key --password-stdin us-east1-docker.pkg.dev/vmw-app-catalog/YOUR_HOSTED_REGISTRY
$ docker run --rm
us-east1-docker.pkg.dev/vmw-app-catalog/YOUR_HOSTED_REGISTRY/containers/ubuntu-22/mysql:latest
Before deploying a Helm chart from VMware Tanzu Application Catalog, it is necessary to create a Kubernetes ImagePullSecret for us-east1-docker.pkg.dev/vmw-app-catalog/YOUR_HOSTED_REGISTRY with the registry credentials obtained in the “Obtaining registry credentials” section earlier.
Here is an example of how to create an ImagePullSecret. Make sure the “_json_key.json” file obtained in the “Obtaining registry credentials” section earlier is available in the folder you run the command below.
$ kubectl create secret docker-registry your-registry \
--docker-server https://us-east1-docker.pkg.dev/vmw-app-catalog/YOUR_HOSTED_REGISTRY \
--docker-username "_json_key" \
--docker-password "$(cat _json_key.json)"
Charts can then be deployed either by adding the global.imagePullSecrets[0]=your-registry parameter to each Helm deployment command, or by configuring the ImagePullSecret globally.
To use a Helm chart from the VMware Tanzu Application Catalog:
Here is an example of how to deploy a VMware Tanzu Application Catalog Helm chart for Apache Kafka using the ImagePullSecret created earlier:
If you are using Helm CLI version 3.8.0 or later
$ cat "_json_key" | helm registry login -u _json_key --password_stdin us-east1-docker.pkg.dev/vmw-app-catalog/YOUR_HOSTED_REGISTRY/charts/ubuntu-22
$ helm chart pull us-east1-docker.pkg.dev/vmw-app-catalog/YOUR_HOSTED_REGISTRY/charts/ubuntu-22/kafka:28.0.3
$ helm chart export us-east1-docker.pkg.dev/vmw-app-catalog/YOUR_HOSTED_REGISTRY/charts/ubuntu-22/kafka:28.0.3
$ helm install kafka/ --generate-name --set "global.imagePullSecrets[0]=your-registry"
If you are using an older Helm CLI version
$ cat "_json_key" | helm registry login -u _json_key --password_stdin us-east1-docker.pkg.dev/vmw-app-catalog/YOUR_HOSTED_REGISTRY/charts/ubuntu-22
$ helm install oci://us-east1-docker.pkg.dev/vmw-app-catalog/YOUR_HOSTED_REGISTRY/charts/ubuntu-22/kafka --version 28.0.3 --generate-name --set "global.imagePullSecrets[0]=your-registry"
The Knowledge Graph enables you to browse a comprehensive view of catalog vulnerabilities and all packages included in your Open Source software catalog.
To access the Vulnerabilities page, from the left navigation panel, click on the “Vulnerabilities” section under the Knowledge Graph menu. This global view lets you explore all the different vulnerabilities that have been detected by VMware Tanzu Application Catalog’s continuous SBOM scanning.
You can do the following in the Vulnerabilities page:
To focus on the most critical issues, click on the funnel icon in the Severity column header. This allows you to filter vulnerabilities by severity levels, such as Critical, High, Medium, Low, or Unknown. This filtered view provides a list of the most pressing vulnerabilities affecting your applications.
If you need to check whether your catalog is affected by a particular CVE, use the search box at the top of the Vulnerabilities page. Enter the CVE identifier to quickly determine if the vulnerability impacts any applications in your catalog.
For a more detailed examination, click on the CVE identifier within the main Vulnerabilities page. This opens a global view with comprehensive information about the vulnerability, including a list of affected containers, Helm charts, or Virtual Machines.
Scrolling further will reveal the specific releases and packages impacted by the CVE, as well as any assessments related to it. This section is particularly useful for understanding the blast radius of the vulnerability. Additionally, you can check if there is a newer version of the application available that resolves the issue.
For instance, if a vulnerability affects Helm charts in Milvus version 2.4.6, but not version 2.4.7, this indicates an immediate need to upgrade to the latest version to ensure your applications remain secure.
To access the Packages page, from the left navigation panel, click on the “Packages” section under the Knowledge Graph menu. This page provides a comprehensive overview of all packages included in your catalog, allowing you to sort and filter by various criteria such as package name, kind, version, distribution, or architecture.
You can do the following in the Packages page:
If you need to check if a specific package and version are included in any of your applications, use the search box at the top. For instance, if you want to find out whether Log4j is present in your Helm charts, container images, or virtual machines from VMware Tanzu Application Catalog, simply enter the package name into the search box. The search results will display all instances where the package is included in the catalog.
Clicking on a package will give you detailed information, including any associated vulnerabilities, licensing details, and transitive dependencies. You can also see which applications incorporate the package, helping you quickly evaluate its impact on your open source software dependencies.
Upon completion of this guide using your account credentials, you will gain visibility into the constructed catalog examples, understand how to access antivirus and CVE results, and effectively utilize artifacts available in the VMware Tanzu Application Catalog. For customized testing experiences, please reach out to a VMware sales representative. They will collaborate with you to develop a Proof of Concept (POC) that integrates your specified target format, base image, and chosen applications.