Getting Started with VMware Application Catalog

VMware Application Catalog is a customizable selection of open source software from the Bitnami collection that is continuously maintained and verifiably tested for use in production environments. VMware Application Catalog gives developers the productivity and agility of pre-packaged apps and components, while enabling operators to meet the stringent security and transparency requirements of enterprise IT.

This guide will walk you through a VMware Application Catalog demo account that includes all of the features of a fully functional VMware Application Catalog environment. We have pre-built two catalogs for you to check out, view, and consume for your testing needs.

In addition, you will learn how to consume the VMware Application Catalog content in the following ways:

  • Consume the VMware Application Catalog artifacts in your local machine via Docker or Helm CLI
  • Consume the VMware Application Catalog artifacts through Kubeapps
  • Consume the VMware Application Catalog artifacts through Google Container Registry
  • Consume the VMware Application Catalog artifacts through a private repository: Harbor

Enterprises can consume and deploy trusted and updated applications from a catalog tailored to their needs. This catalog is distributed through a private repository to internal customers.

How VMware Application Catalog does work

Assumptions and prerequisites

This tutorial assumes that:

Step 1: Sign in to the VMware Application Catalog with your VMware account

To sign in to the VMware Application Catalog with your VMware account, your organization must include this service within its VMware Cloud Services. You can check if your organization has access to this service by signing into the VMware Application Catalog. Follow the steps below:

  1. Navigate to the VMware Application Catalog.
  2. Click the "Sign in with VMware" button. If you have access to the VMware Application Catalog, you should be redirected to the "Catalogs" dashboard.

    VMware Application Catalog

If your organization does not have access to this service, you will see a message like the one shown below, which allows you to change your current organization or navigate to the VMware Cloud Services Portal to get access to the service.

No access

Step 2: Browse VMware Application Catalog

With VMware Application Catalog, you will have 24 / 7 access to your applications, their status, and deployment details.

In this demo account example, you will see two different assets available by default:

  • Containers
  • Helm charts

VMware Application Catalog overview

These are real artifacts that are continuously updated and can be consumed for testing purposes.

NOTE: This catalog is just an example of what can be done for your team. With VMware Application Catalog, your team will be able to build a customized catalog that is built with the target format, base image, and applications of your choice.

Browse Containers

When you access your catalog, you will see the list of the applications included in your catalog. Container images show, at first glance, the following information:

  • Base image
  • Container image version
  • Release status of the container
  • Date of the most recent release
  • "Details" link to view more information associated with that container image

    Container General Information

If a container has more than one version released, you will see the different version branches that the container has:

Container branches version

You can also filter the catalog to show only those containers that accomplish any of these criteria:

  • By Type
  • By Flavor
  • By Status
  • By Operating System

In the following image, the catalog was filtered by type, operating system, and status so you can only see the list of released containers that use CentOS 7:

Container catalog filtered by operating system

Click the "Details" link for an application to see the following information related to the selected container image:

  • Name of the container and if that image is a part of a Helm chart
  • Status of the release
  • Image References:
    • Digest: Repository URL where the image is stored
    • Container tags: use these tags to run your container
  • Build Time Reports: Click "Download" to save a copy of the available reports in your local machine. There are four types of reports for containers:
    • Asset Specification
    • Test Results
    • Antivirus Scan Result
    • CVE Scan Result, in both scanner-native and CVRF formats

Container detail

Browse Helm Charts

When you access your catalog, you will see the list of the applications included in your catalog. Helm charts show, at first glance, the following information:

  • Base image
  • Chart version
  • Status of chart's release
  • Date of the latest release
  • Dependencies: container image included in the chart and its related information such as status, base image, and release version
  • "Details" link to view more information associated with that chart or its container image

    Helm chart General Information

Also, you can filter the catalog to show only those Helm charts that accomplish any of these criteria:

  • By Type
  • By Flavor
  • By Status
  • By Operating System

In the following image, the catalog was filtered by type, operating system, and status so you can only see the list of released Helm charts that are built in CentOS 7:

Helm charts catalog filtered by status

Click the "Details" link for a chart. On the resulting screen, you will see the following information related to the selected chart:

  • Name of the Helm chart and if it has any container image as a dependency
  • Status of the release
  • Release information: commands to install the chart
  • Chart information: digest, name, version, and repository URL
  • Build Time Reports: Click "Download" to save a copy of the available reports in your local machine. There are two types of reports for charts:
    • Asset Specification
    • Test Results
  • Dependencies: container image included in the chart and its related information such as status, base image and release version

    Helm chart detail

You can inspect the chart dependencies by clicking the container image. You will see the information related to that container, showing a tag indicating that the selected container is a part of a Helm chart:

Helm chart container dependencies

Step 3: Create custom catalogs

In the demo account, you will be unable to add applications to the catalog. However, you can still follow the steps to see how this process works when it is activated in the full version of VMware Application Catalog.

  1. In the "My Requests" tab, click the "Add new application" button.

    Request new applications

    The "Add New Applications" page appears.

  2. You can deploy VMware Application Catalog on Kubernetes and virtual machine platforms. Select one of the following platforms and the associated base image options, and then click the "NEXT" button:

    "Kubernetes" option

    Select base image

    If you are deploying VMware Application Catalog on Kubernetes, click on the "Kubernetes" tile.

    When you click on the "Kubernetes" tile, a list of all the VMware supported base images appears. Select a base image from the list.

    If you wish to add your own base image, select the "Custom Base Image" option. A list of all the custom base images that you would have added previously appears. Select a base image from the list and then click the "NEXT" button. If you wish to add a new custom base image, then follow these instructions:

    Note: If you select the "Custom Base Image" option, a list of all the custom base images that you would have added previously will appear. Select a base image from the list and then click the "NEXT" button. If you wish to add a new custom base image, then follow these instructions:

    1. On the left navigation, click "Base Images".
    2. In the "Base Images" page that appears, click the "ADD" button on the "Add New Image" tile.
    3. In the "Add Custom Base Image" dialog, do the following and then click the "ADD" button:

      • Provide a name and description for the base image.
      • Select a registry that you have already added to VMware Application Catalog.
      • Enter the location or path to the base image in the chosen registry you configured previously. For example, base-images/debian:buster or just debian:buster depending on the registry URL you previously configured. If you don’t specify a version, then VMware Application Catalog considers the latest version.
      • Select an operating system for the base image.

      The base image that you added appears in the "My Custom Base Images" section.

      Add Custom Base Image

    "Virtual Machines" option

    Select base image

    If you are deploying VMware Application Catalog on virtual machines, click on the "Virtual Machines" tile.

    NOTES:

    • Virtual machine image is provided in OVA format.
    • At present, only Debian 10 base image is available and it is selected by default.
  3. Select the applications for your catalog and click the "NEXT" button.

    Select applications

    The "Active Artifacts" counter, below the application list, displays the number of artifacts selected, total number of artifacts eligible for your subscription quota, and the number of artifacts remaining in your subscription quota.

    Example: At the time of adding a new application, your subscription entitles you to 25 artifacts and you have already consumed five artifacts. The Active Artifacts counter displays "25 (20 left)". You select five applications from the list. Now the Active Artifacts counter displays "25 (15 left)".

    NOTE: You will not be able to select an application in the following scenarios:

    • Application is not compatible with the base image that you have selected.
    • Application is already part of your catalog.

    Active Artifacts counter

  4. After your request is processed, all the applications and their updates will be pushed to a registry. A list of all the registries that you would have added previously will appear. Select an appropriate registry from the list and click the "NEXT" button. If you are creating registry for the first time or if you wish to create a new registry, then click the "Add Registry" button to configure a registry.

    Add registry

  5. In the "Add Registry" dialog, based on the registry type that you want to configure, provide the appropriate configuration details, and then click the "ADD" button to close the dialog. VMware Application Catalog verifies if the configuration details that you have entered are valid. If the configuration details are valid, then a message saying that the request for adding custom registry has been submitted appears. Click "OK". Click the "NEXT" button to continue to the next step.

    NOTE: If you wish VMware to host your registry, open a support request in Cloud Services Platform (CSP).

    VMware Application Catalog supports Google Container Registry, Azure Container Registry, and Harbor. Enter the configuration details based on your storage registry provider.

    Google Container Registry (GCR)

    If you are adding GCR, do the following:

    Field Description
    Provider Select the "Google Container Registry (GCR)" option.
    Name Enter a name.
    Description Enter appropriate description.
    Registry URL Enter the path to the GCR registry appended with https://. For example, https://gcr.io/myvacregistry. This corresponds to the base URL where the GCR instance resides. VAC pushes all the requested assets to this GCR instance. The registry URL contains path to the repository. In GCR, repositories are created on the fly while pushing the subscribed assets for the first time.
    Credentials (JSON) Copy and paste the contents of the Credentials.JSON file generated by GCR in the service account as shown in the image below. For more information on how to generate credentials in GCR, see JSON key file.

    Add Google Contain Registry

    Azure Container Registry

    If you are adding Azure Container Registry, do the following:

    Field Description
    Provider Select the "Azure Container Registry" option.
    Name Enter a name.
    Description Enter a description.
    Registry URL Enter the Azure login server path appended with https://. For example, https://myvacregistry.azurecr.io. This corresponds to the base URL where the Azure Container Registry instance resides. VAC pushes all the requested assets to this Azure container registry. The registry URL contains path to the repository. In the Azure Container Registry, the repositories are created on the fly while pushing the subscribed assets for the first time.
    Access Key Enter the username that corresponds to the username generated on the Azure portal. It is recommended to provide the registry access by generating a service principal with read and write access. For more information on how to generate service principal object, see Azure Container Registry authentication with service principals.
    Password Enter the password that corresponds to the password generated on the Azure portal. It is recommended to provide registry access by generating a service principal with read and write access. For more information on how to generate service principal object, see Azure Container Registry authentication with service principals.

    Add Azure Container Registry

    Harbor

    If you are adding a Harbor registry, do the following:

    • Ensure that you have created a project in Harbor. For more information on how to create a project, see Create Projects.

    • Enter the following configuration details:

    Field Description
    Provider Select the "Harbor" option.
    Name Enter a name.
    Description Enter a description.
    Registry URL Enter the path to the Harbor project appended with https://. For example, https:\\demo.goharbor.io\myproject. This corresponds to the base URL where the Harbor project instance resides. VAC pushes all the requested assets to this Harbor project. The registry URL contains path to the repository. In Harbor, the repositories are created on the fly while pushing the subscribed assets for the first time.
    Access Key Enter the username that corresponds to the username generated on the Harbor portal. It is recommended to provide registry access by generating a robot account with read and write access. For more information on robot accounts, see Create Project Robot Accounts.
    Password Enter the password that corresponds to the password generated on the Harbor portal. It is recommended to provide registry access by generating a robot account with read and write access. For more information on robot accounts, see Create Project Robot Accounts.

    Add Harbor Container Registry

  6. (Optional) Provide an appropriate name and description for your request and click "NEXT".

    Add name and description

  7. Review the summary of your request, make appropriate changes if required and, then click the "SUBMIT" button.

    Review and submit

    A message appears confirming that your new application request has been successfully submitted.

    NOTE: It may take up to two weeks to review and process your request. 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.

    Application request status

After your request is processed, the application appears in the "My Applications" tab.

Step 4: Consume VMware Application Catalog artifacts

VMware Application Catalog builds trusted and continuously maintained content that can be consumed in the following ways:

  • In your local machine via Docker or Helm CLI
  • Through Kubeapps
  • Through Google Container Registry
  • Through a private repository: Harbor

Consume the VMware Application Catalog artifacts in your local machine

TIP: Check out the Consume VMware Application Catalog Helm charts In Your Local Machine guide to learn more about this topic.

In this scenario, we will describe how to push the content to your local machine using the Docker or the Helm CLI depending on the type of content you want to use.

To run a container from VMware Application Catalog:

  1. Navigate to a catalog and click the "Details" link of the container you want to run.
  2. Copy any of the links you will find under the "Container Tags" section, depending on the base OS image you want to run.
  3. Execute the docker run command followed by the container tag you selected. The below command is an example of how to download and run the container image for Chartmuseum (replace the example registry URL shown with the corresponding URL for your VMware Application Catalog container registry):

    $ docker run gcr.io/sys-2b0109it/demo/bitnami/chartmuseum:0-centos-7
    

To run a Helm chart from VMware Application Catalog:

  1. Navigate to a catalog and click the "Details" link of the chart you want to deploy.
  2. Copy the commands you will find in the "Helm Install" section and execute them in a terminal window on the machine you have your Kubernetes cluster running.

    Install Helm chart

Consume the VMware Application Catalog artifacts through Kubeapps

TIP: Check out the Consume VMware Application Catalog Helm charts using Kubeapps guide to learn more about this topic.

You can deploy the Helm charts available in your catalog using the Kubeapps user interface. To do so, you only need to add the VMware Application Catalog as an application repository in Kubeapps.

  1. Log in to Kubeapps.
  2. In the "Configuration" menu, select the "App Repositories" option.

    App repositories

  3. In the resulting screen, give a name to your repository and add the chart URL you will find under the "Chart Information" section in VMware Application Catalog if you want to add a specific chart to Kubeapps:

    Repository URL

    To add the entire catalog to Kubeapps, use this URL instead: https://charts.app-catalog.vmware.com/demo

  4. Select an authentication method and click "Install Repo" to finish the process.

    Add an application repository in Kubeapps

Consume the VMware Application Catalog artifacts through Google Container Registry

The VMware Application Catalog demo that you are accessing automatically pushes the content of the container catalogs to Google Container Registry (GCR), so it is very easy to check and manage a container image from the Google Cloud platform user interface.

  1. Navigate to a container catalog and click the "Details" link of the container image you want to check.

  2. Copy the URL you will find under the "Digest" section.

    Containers URL

  3. Log in to Google Cloud Platform if you aren't, open a new tab of your browser and paste the URL in the navigation bar. You will be redirected to the Google Container Registry. You will see all the information related to the container image you selected:

    Container Registry

  4. To pull the image, click the "Show Pull Command" button, copy the commands and paste them into a terminal window or in the Google Cloud Shell:

    Pull container image from Google Container Registry

Consume the VMware Application Catalog artifacts through a private repository: Harbor

Check out the Consume VMware Application Catalog Images using a Private Harbor Registry guide to learn more about this topic.

Summary

After going through this guide with your demo account, you should be able to see the catalog examples that we have built, how to view the anti-virus and CVE results, and how to consume the artifacts that are in the VMware Application Catalog.

If you need a more customized experience for testing, please reach out to your VMware sales representative. We will work with you to create a POC that includes your target format, base image, and applications of your choice.

Useful links

check-circle-line exclamation-circle-line close-line
Scroll to top icon