Helm Action Pack

Action Pack for Helm 10.1.2104.1
Helm is an open-source package manager for Kubernetes. It provides the ability to provide, share, and use software built for Kubernetes. It is a tool for managing Kubernetes packages called charts.
The following video shows how you can leverage the Helm Action pack from Nolio Release Automation to deploy a helm chart on Kubernetes.

Supported Platforms
  • Nolio
    - Nolio Release Automation versions 6.6 and 6.7
  • Helm
    - Version: 3.4.1
Install Action Pack
Install and use these actions to execute commands and tasks in Helm.
Follow these steps:
  • Deploy the action pack for Helm. For more information, see Manage Action Packs in Release Operations Centre.
  • Use Helm actions in Nolio Release Automation processes. For more information, see Create Processes in Deployment Automation
Prerequisites to Run Helm Actions
The following prerequisites are required to run Helm actions:
Download and import the action pack:
  • Download the action pack from CA Support.
  • Extract the action pack .zip file to get the action pack .jar and the dependencies .zip files.
  • Extract the dependencies.zip.
  • Import both the action pack .jar and the contents of the dependencies .zip into Nolio Release Automation using Actions Management.
  • Agent used for running the helm actions should be installed on same machine on which Helm is installed i.e., Nolio agent & helm should be installed on same machine.
Helm Actions
All Helm actions are now delivered as an action pack. The Helm actions are stored in the Nolio Release Automation Repository, Database, and in the folder structure.
The Action Pack for Helm provides the following actions:
Helm-Install
This action installs a chart archive.
Input Parameters
Name
Type
Description
*Chart Location
String
Location of the chart.
E.g., /root/user/home/chart
*Release Name
String
Name of the release to be install.
E.g., helm1
Timeout
Integer
Times in seconds to wait for any individual Kubernetes operation. Default is 300.
Additional Flags
String[]
Additional Flags
E.g., --dry-run
Value File
String
Value file location.
E.g., /root/testvalue.yaml
Wait
Boolean
Wait until complete.  Default is True.
Output Parameters
None
Helm-Delete
This action takes a release name and uninstalls/delete the release.
Input Parameters
Name
Type
Description
*
Release Name
String
Name of the release to be deleted.
E.g., helm1
Timeout
Integer
Times in seconds to wait for any individual Kubernetes operation. Default is 300.
Additional Flags
String[]
Additional Flags
E.g., --dry-run
Output Parameters
None
Helm-Check Status
This action displays the status of the release.
Input Parameters
Name
Type
Description
*Helm Release Name
String
Name of the release to check its status.
E.g., helm1
Helm Resource Kind
String
Helm resource kind.
E.g., Pod, Service etc.
Helm Resource Name Filter
String
Additional Flags
E.g., --dry-run
Number
Integer
Resource status column index. Default is 0.
Additional Flags
String[]
Additional Flags
E.g., --dry-run
Output Parameters
Name
Type
Description
Last Release Deployment Time
String
Time of the last release deployed as received from result.
Release Status
String
Status of the release.
E.g., deployed, uninstalled etc.
Namespace
String
K8S namespace in which the release lives.
E.g., --dry-run
Resource Status
String
The name of the resource status.
Helm-Upgrade
This action upgrades a release to a new version of a chart.
Input Parameters
Name
Type
Description
*Chart Location
String
Location of the chart.
E.g., /root/user/home/chart
*Release Name
String
Name of the release to be upgrade.
E.g., helm1
Timeout
Integer
Times in seconds to wait for any individual Kubernetes operation. Default is 300.
Additional Flags
String[]
Additional Flags
E.g., --dry-run
Value File
String
Value file location.
E.g., /root/testvalue.yaml
Wait
Boolean
Wait until complete.  Default is True.
Output Parameters
None.
Example
The following workflow demonstrates the use case of Helm Action Pack. You can also view this use case in this video.
In this workflow:
  1. We are first checking the status of the release using
    Helm-Check Status
    action.
  2. If the status of the release is deployed, it will upgrade the release using
    Helm-Upgrade
    action.
  3. If the status of the release is failed, it will delete the release using
    Helm-Delete action
    followed by
    Helm-Install action
    .
  4. For all other statuses, for example “release not found” status, it will install the release using
    Helm-Install
    action.