Adding custom applications

To add custom applications to the IBM® Cloud Private Catalog, create a Helm chart.

Kubernetes packages that are managed by Helm are also known as charts. The terms packages and charts are referenced interchangeably in this user guide.

You can add charts that you create or download from the Internet to either an external Helm repository or the internal IBM Cloud Private repository.

Package a Helm chart

  1. Set up the Helm command line interface (CLI). See Installing the Helm CLI (helm).
  2. Create a Helm chart. For example, to create the demoapp Helm chart, run the following command:

     helm create demoapp
    
  3. View the contents of the Helm chart. To view the contents of the demoapp Helm chart, run the following command:

     tree demoapp
    

    The contents of the chart display:

     demoapp
     |-- charts
     |-- Chart.yaml
     |-- templates
     |   |-- deployment.yaml
     |   |-- _helpers.tpl
     |   |-- NOTES.txt
     |   `-- service.yaml
     `-- values.yaml
    
  4. Configure the Helm chart. See Getting Started with a Chart Template Opens in a new tab. You can add maintainer information, software version, code source to the Chart.yaml file. You can also modify the deployment.yaml and service.yaml files or add more templates directories.

  5. Verify that the chart is well-formatted. Run the following command:

     helm lint --strict demoapp
    

    The output resembles the following code:

     ==> Linting demoapp
     Lint OK
    
     1 chart(s) linted, no failures
    
  6. Package your chart and confirm that the chart was added.

     helm package demoapp ; ls -l
    

    If the chart was added, the chart package is in the local repository. In the following output, the demoapp-0.1.0.tgz package is shown:

    drwxr-xr-x 4 root root     4096 Jan  8 10:23 demoapp
    -rw-r--r-- 1 root root     1768 Jan  8 10:37 demoapp-0.1.0.tgz
    
  7. Upload the Docker images for the chart to the source registry that it specifies. If you use the private image registry that is provided with IBM Cloud Private, see Pushing and pulling images.

  8. Add the chart to either an external repository or the IBM Cloud Private internal repository.

Add the chart to an external repository

After you package the Helm chart, you can add it to an external repository to make it available to IBM Cloud Private.

  1. Update the index of the remote chart repository.

    1. Get the index.yaml file for the remote chart repository.

      wget http://<remote_host>/charts/index.yaml
      
    2. Update the index.yaml file based on your chart.

      ./helm repo index --merge index.yaml --url http://<remote_host>/charts/ ./
      

      The --url option specifies the location of the chart repository. This path is the location from which the Helm CLI can get the new chart package.

  2. Upload your chart to the remote repository.

    Copy both the updated index.yaml and the new chart package files from your local host to the matching directory on the remote host.

  3. Update the chart repository by using the IBM Cloud Private cluster management console.

Required user type or access level to sync, add, or remove repositories: Cluster administrator

  1. From the IBM Cloud Private management console, click Menu > Manage > Helm Repositories.
  2. If you do not see the repository in the list, add it. See Adding a Helm repository.
  3. Click Sync Repositories.
  4. Click Catalog in the top right corner. The new Helm charts load into the Catalog, and you can install them into your cluster.

Add the chart to the internal repository

After you package the Helm chart, you can add it to the internal repository that is provided with IBM Cloud Private.

Required user type or access level: Cluster administrator

Before you load the chart, complete the following prerequisites: