Adding a Helm Chart

Helm is an open source package manager for Kubernetes. Oracle Cloud Infrastructure (OCI) DevOps service supports deployment of Helm charts to Container Engine for Kubernetes (OKE) cluster.

Helm uses a packaging format called charts. A chart is a collection of files that describe a related set of Kubernetes resources. They contain templates of Kubernetes YAML manifest files and a values.yaml file to supply the default template values. A single Helm chart can be used to define something simple such as an NGINX service or a complex full-stack web application. For more details, see Helm Chart File Structure.

Every chart must have a version number that follows the Semantic Versioning 2.0.0 format. Helm v2 and later uses version numbers as release markers. Charts stored in the repositories are identified by their name and version. Example: nginx 1.2.1

Before adding the Helm chart for deployment, the chart must be located in the OCI Container Registry repository. You can package and push Helm chart to the Container Registry from the build pipeline. See Adding a Managed Build Stage.

You must create an artifact reference to point to the repository location containing the Helm chart. Before you create an artifact reference, you must have a DevOps project.

For accessing DevOps using the Oracle Cloud Console, REST API, and CLI, see Accessing DevOps.

Using the Console

  1. Open the navigation menu and click Developer Services. Under DevOps, click Projects.
  2. Select an existing project, or create a DevOps project.
  3. Click Add artifact.
  4. Enter a name for the artifact.
  5. For Type, select Helm Chart.
  6. Enter helm chart URL.

    For example, oci://<region-key>.ocir.io/<tenancy-namespace>/<repo-name> is the URL for a helm chart located in the OCI Container Registry repository.

  7. Enter the helm chart version to be deployed.

    You can also provide the chart version at runtime by entering the value as ${chartVersion}.

  8. (Optional) To add tags to the artifact, click Show tagging options. Tagging is a metadata system that lets you organize and track the resources in your tenancy.

    If you have permissions to create a resource, you also have permissions to add free-form tags to that resource.

    To add a defined tag, you must have permissions to use the tag namespace.

    For more information, see Resource Tags.

  9. Click Add.

Using the CLI

To add a Helm chart, run the create-helm-repository-artifact command:

oci devops deploy-artifact create-helm-repository-artifact

Required parameters:

  • --argument-substitution-mode
  • --artifact-chart-url
  • --artifact-version
  • --artifact-type
  • --project-id

To get all the commands for deploy-artifact:

oci devops deploy-artifact -h

To get help for the create-helm-repository-artifact command:

oci devops deploy-artifact create-helm-repository-artifact -h

Using the API

To add a Helm chart, use the CreateDeployArtifact operation. For the deployArtifactType attribute, specify the value as HELM_CHART.