Helm plugin

The Digital.ai Deploy Helm plugin supports:

  • Deploy & upgrade helm.Chart V2 & V3

The Digital.ai Deploy Helm plugin can deploy and undeploy Helm charts on a Kubernetes host. To use the plugin:

  1. Download the Deploy Helm plugin ZIP from the distribution site.
  2. Unpack the plugin inside the XL_DEPLOY_SERVER_HOME/plugins/ directory.
  3. Restart Deploy.

This plugin enables the use of Helm client host types and tasks that are specific to installing and deleting Helm charts, in Deploy.

Setting up the Deploy Helm plugin:

  1. In the infrastructure create an Overthere host(Linux and Unix hosts) which Helm binary installed(helm binary uses kubectl and its config).
  2. After successful connection to the host, hover on host Infrastructure and click the Menu button,
  3. Click new and select helm.Client.
  4. Create a Helm Client with the required properties.
  5. In Helm Client, provide value in “Helm Host” only when using helm v2. For helm v3, keep it blank.
  6. The Helm client also needs a reference in the Kubernetes master(k8s.Master) in order to manage Helm charts deployments on Kubernetes cluster.
  7. If the Kubernetes Master already exists in the Infrastructure list, then just point the helmClient property of k8s.Master to the helm Client created in point 4. If Kubernetes master is not already there in Infrastructure list then create a new k8s.Master as deploy Kubernetes plugin and set the Helm client property to point at helm client.
    For more information, Refer Using Deploy Helm Plugin section.

Using Deploy Helm plugin:

Infrastructure Set-up for Helm (Helm-client):

To Setup the Kubernetes master in infrastructure refer to Kubernetes Master

Create the Helm Client

To Create the Helm Client in Infrastructure CI

  1. In the side navigation bar, Click Explorer.
  2. Expand the Infrastructure Cl list.
  3. Navigate to a CI of Helm Client type, click Menu button, and select New > Overthere > LocalHost. Image1 Image
  4. Specify the Name region as LocalHost.
  5. In the Operating system field, select UNIX from the drop-down List.

    Note: if required we can provide username and Password in Authentication section.

  6. Click Save or Save and close.

Create the Helm Client using helm.client

  1. In the side navigation bar, click Explorer.
  2. Expand the Infrastructure, hover over newly created infrastructure and clickMenu button, and select New > helm > client. image Image
  3. In the Name field enter the name of the configuration item.
  4. In the Home field enter the path where the Helm client is installed.
  5. Under the Advanced section, select the version from the drop down list in the version field.

Verify the connectivity of Helm Client

  1. Expand the Infrasturcture list.
  2. Hover over newly Created Infrastructure and click Menu button, and Select Check Connection. Image

    Note: Once connection is Successful, provide path for Helm-Client in the configuration of created K8-Master-infra.You can find it in Helm section of configuration.

  3. Click Save and close

Environment setup for Deployment:

To create an new environment, follow the steps,

  1. In the side navigation bar, click Explorer.
  2. Hover over Environments, click Menu button, then select New > Environment. Image Image
  3. In the Name field, enter the name of the Configuration item.
  4. Under Common section, Select the Containers field from the drop-down list. The selected container path should be the namespace of Kubernetes on which we are deploying.
  5. We can also select dictionary from drop down section. Before selecting dictionary, user must be created dictionary in Environments.

Create an dictionary

To create an dictionary:

  1. In the top bar, click Explorer.
  2. Hover over Environments, click Menu button, and select New >dictionary.

Application Creation for Helm

Chart and repository Deployment

  1. To Create a new Application, click Menu button, and select New > Application.
  2. Specify the Name for application.
  3. Expand the Application list.
  4. Hover over newly created application and click: and select New > Deployment Package.
  5. Specify the Name for the Deployment Package. Image
  6. Hover over newly created Package and click: and select New > Helm > Chart. Image Image
  7. In the Name field, enter the name of the configuration item.
  8. Under the Common section:

    1. In the Chart Name field ,enter the chart name.
    2. In the Chart Version field . enter the chart version.
  9. Under the Repository section, enter the URL for the helm repository in Repository URL field.

    Note: If Repository is already present then, no need to give repository URL.

  10. Click Save and close.

To update values.yaml using ConfigFile specification,

  1. A YAML file which overrides the Values.yaml of a Helm chart, is supported as helm.ConfigFile type. To specify a Config file which overrides the values in Values.yaml.
  2. To create a helm.ConfigFile under Helm.Chart. Hover Over newly created chart application, Click : and select helm > ConfigFile. image112 Image41
  3. In the Name field, enter the name of the configuration item.
  4. In the Choose file field, select the .yml file of ConfigMap from the Browser.
  5. Click Save and close.
  6. The custom values for Values.yaml can also be specified in Input Variables and Secret Input Variables.

Deploy the Package

To deploy the package, select the environment on which you want to deploy.

  1. Click Continue and Deploy

Image Image

  • Use “helm ls -n helm-demo” command on terminal to check the deployment. Where helm-demo is name of namespace on which we are deploying,


Deploying two helm charts in parallel with Deploy:

  • Users can deploy Helm charts in parallel with Deploy. The Deploy Helm plugin supports all the core features of deployments provided by Deploy.