Kovair DevOps and Helm Integration Plugin

Listen to this article

Kovair DevOps – Helm Plugin Details

Plugin Version: 1.0

Overview

Helm helps you manage Kubernetes applications. Helm Charts help you define, install, and upgrade even the most complex Kubernetes application.

Helm Charts are simply Kubernetes YAML manifests combined into a single package that can be advertised to your Kubernetes clusters. Once packaged, installing a Helm Chart into your cluster is as easy as running a single helm install, which really simplifies the deployment of containerized applications.

This plugin integrates Kovair DevOps with Helm tool for automating creation, packaging, configuration, and deployment of applications and services to Kubernetes clusters.

Helm Information:

More information can be found at Helm. 

Version Supported:

This plugin was developed and tested against Helm CLI client (helm) v3.9.3.

Plugin Operation:

1. Create
Creates a chart directory along with the common files and directories used in a chart.

Input parameter(s):

Parameter

Is Mandatory

Help Text

Container Platform

true

Select a container platform. Provide the authentication credentials only if the selected container platform is OpenShift.

API Server URL

false

API server url of OpenShift cluster.

Authentication Type

false

Select an authentication type. Provide either API token or username with password based on the selected authentication type.

API Token

false

API token for authentication with API server.

Username

false

Username for authentication with API server.

Password

false

Password for authentication with API server.

Other Auth Options

false

Other optional flag(s) for authentication with API server.

Chart Name

true

Name for the chart to be created. The chart name must match the regular expression ‘^[a-zA-Z0-9._-]+$’.

Chart Path

true

Provide the path where the chart tree will be created. Please ensure necessary privileges of the user account in the provided path through which the agent service is running.

Output parameter(s):

Parameter Help Text

OutputLog

Output log of the operation.

HelmStatus

Status of the operation.

2. Install

Installs a new helm package. At its simplest, it takes two arguments: A release name that you pick and the name of the chart you want to install.

Input parameter(s):

Parameter

Is Mandatory

Help Text

Container Platform

true

Select a container platform. Provide the authentication credentials only if the selected container platform is OpenShift.

API Server URL

false

API server url of OpenShift cluster.

Authentication Type

false

Select an authentication type. Provide either API token or username with password based on the selected authentication type.

API Token

false

API token for authentication with API server.

Username

false

Username for authentication with API server.

Password

false

Password for authentication with API server.

Other Auth Options

false

Other optional flag(s) for authentication with API server.

Release Name

true

Name for the release to be created. The release name must match regex ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ and the length must not be longer than 53.

Chart Name

true

Name of the chart which is to be installed. It must be a chart reference, a path to a packaged chart, a path to an unpacked chart directory or a URL.

Other Options

false

Other optional flag(s) for installing a chart.
Ex: –repo ‘chart repository url’

Note: There are five different ways you can express the chart you want to install:

  1. By chart reference: example/mariadb
  2. By path to a packaged chart: ./nginx-1.2.3.tgz
  3. By path to an unpacked chart directory: ./nginx
  4. By absolute URL: https://example.com/charts/nginx-1.2.3.tgz
  5. By chart reference and repo url: nginx –repo ‘https://example.com/charts’

Output parameter(s):

Parameter Help Text

OutputLog

Output log of the operation.

HelmStatus

Status of the operation.

3. Upgrade

Upgrades a release to a new version of a chart.

Input parameter(s):

Parameter

Is Mandatory

Help Text

Container Platform

true

Select a container platform. Provide the authentication credentials only if the selected container platform is OpenShift.

API Server URL

false

API server url of OpenShift cluster.

Authentication Type

false

Select an authentication type. Provide either API token or username with password based on the selected authentication type.

API Token

false

API token for authentication with API server.

Username

false

Username for authentication with API server.

Password

false

Password for authentication with API server.

Other Auth Options

false

Other optional flag(s) for authentication with API server.

Release Name

true

Name of the release to be upgraded.

Chart Name

true

Name of the chart which is to be installed. It must be a chart reference, a path to a packaged chart, a path to an unpacked chart directory or a URL.

Other Options

false

Other optional flag(s) for upgrading a release.
Ex: –repo ‘chart repository url’

Output parameter(s):

Parameter Help Text

OutputLog

Output log of the operation.

HelmStatus

Status of the operation.

4. Uninstall

Uninstalls the release. It removes all of the resources associated with the last release of the chart as well as the release history, freeing it up for future use.

Input parameter(s):

Parameter

Is Mandatory

Help Text

Container Platform

true

Select a container platform. Provide the authentication credentials only if the selected container platform is OpenShift.

API Server URL

false

API server url of OpenShift cluster.

Authentication Type

false

Select an authentication type. Provide either API token or username with password based on the selected authentication type.

API Token

false

API token for authentication with API server.

Username

false

Username for authentication with API server.

Password

false

Password for authentication with API server.

Other Auth Options

false

Other optional flag(s) for authentication with API server.

Release Name

true

Name of the release to be uninstalled.

Other Options

false

Other optional flag(s) for uninstalling a release.
Ex: –keep-history

Output parameter(s):

Parameter Help Text

OutputLog

Output log of the operation.

HelmStatus

Status of the operation.

5. ExecuteCommand

This operation executes the supplied command in the Helm CLI.

Input parameter(s):

Parameter

Is Mandatory

Help Text

Container Platform

true

Select a container platform. Provide the authentication credentials only if the selected container platform is OpenShift.

API Server URL

false

API server url of OpenShift cluster.

Authentication Type

false

Select an authentication type. Provide either API token or username with password based on the selected authentication type.

API Token

false

API token for authentication with API server.

Username

false

Username for authentication with API server.

Password

false

Password for authentication with API server.

Other Auth Options

false

Other optional flag(s) for authentication with API server.

Command

true

Command that will be executed as in the cmd/shell prompt.

Error Text

false

If the given text is found in the console log, the overall task status will be an error. To concatenate multiple error text use ‘||’ operator.

Output parameter(s):

Parameter Help Text

OutputLog

Output log of the operation.

HelmStatus

Status of the operation.

Pass/Fail Conditions:

Method

Status

Condition

Create

Passed

If the Output Log contains ‘Creating <chart-name>‘.

Create

Failed

If the Output Log contains the word 'Error'.

Install
Upgrade

Passed

If the Output Log contains the word 'STATUS: deployed'.

Install
Upgrade

Failed

If the Output Log contains the word 'Error' or 'failed'.

Uninstall

Passed

If the Output Log contains the word 'uninstalled'.

Uninstall

Failed

If the Output Log contains the word 'Error' or 'not found'.

ExecuteCommand

Passed

If the Output Log contains output of the command.

ExecuteCommand

Failed

If the Output Log is not empty and contains any of the following:

  1. 'Login failed' or 'connection refused'
  2. 'Error' or 'error'
  3. 'is not recognized as an internal or external command'
  4. 'ERROR' or 'Invalid' or 'invalid'
  5. 'FullyQualifiedErrorId' or 'Could not find'
  6. 'command not found' or 'Incorrect syntax'
  7. 'No such file or directory' or 'doesn't exist'
  8. 'The system cannot find the file specified' or 'The system cannot find the path specified'
  9. 'already exists and is not an empty directory' or 'Invalid filename'
  10. 'fatal' or 'Access denied'

Limitations:

  1. The Helm CLI (helm) should be installed in the agent machine.
  2. Provide the authentication credentials only if the selected container platform is OpenShift.
  3. The functionality solely depends on the Helm CLI, if the command behaviour changes the result may vary.

Release Details:

Helm: 1.0
Initial version with basic functionalities.

Contact us:

    Yes, I accept the Privacy Statement and want to receive latest information from Kovair.
    Cloud DevOps