Skip to content

Get started using YAMLs

This guide walks you through setting up the Helm Operator using deployment YAMLs.

Prerequisites

  • Kubernetes cluster >=1.1.3.0
  • kubectl
  • (Optional) Tiller (secure setup)

Install the Helm Operator

First, install the HelmRelease Custom Resource Definition. By adding this CRD it will be possible to define HelmRelease resources on the cluster:

kubectl apply -f https://raw.githubusercontent.com/fluxcd/helm-operator/1.1.0/deploy/crds.yaml

Proceed to create the flux namespace, this is the namespace the Helm Operator will be deployed to:

kubectl create namespace flux

Apply the ServiceAccount, ClusterRole and ClusterRoleBinding so that the Helm Operator can access cluster resources:

kubectl apply -f https://raw.githubusercontent.com/fluxcd/helm-operator/1.1.0/deploy/rbac.yaml

Apply the Helm Operator deployment itself:

kubectl deploy -f https://raw.githubusercontent.com/fluxcd/helm-operator/1.1.0/deploy/deployment.yaml

Helm 3

The default deployment of the Helm Operator comes with support for Helm 2 and 3 enabled. To disable support for Helm 2 (and recover from the Tiller connection failure), patch the resource to set --enabled-helm-versions=v3:

kubectl deploy -f https://raw.githubusercontent.com/fluxcd/helm-operator/1.1.0/deploy/deployment.yaml \
    --type='json' \
    -p='[{"op": "add", "path": "/spec/template/spec/containers/0/args/-", "value":"--enabled-helm-versions=v3"}]'

Helm 2

The default deployment of the Helm Operator does enable support for Helm 2 but does not take any custom configurations like Tiller TLS settings into account. If your Tiller is e.g. in a different namespace than kube-system or securely setup, take a look at the available Tiller configuration flags and commented out sections in the example deployment to further tweak your Helm Operator installation.

Next