Install using Helm

Add or update the helm repos

#!/usr/bin/env bash
helm repo add galleybytes https://galleybytes.github.io/helm-charts
helm repo update

CRD Upgrades when using Helm

Helm is a great tool for upgrading resources, but it does not handle CRDs very well. See Helm Custom Resource Definitions for details.

Here is a nifty script to install the right CRD for a specific version of the helm chart:

#!/usr/bin/env bash
tmpdir=$(mktemp -d)
helm fetch galleybytes/terraform-operator -d $tmpdir --version 0.7.1 --untar
kubectl apply -f $tmpdir/terraform-operator/crds

Install the latest using helm:

#!/usr/bin/env bash
helm upgrade --install terraform-operator galleybytes/terraform-operator --version 0.7.1 --namespace tf-system --create-namespace

See previous versions that can be installed by running helm search repo -l.

Install using kubectl

Install the bundle which includes the correct CRD version for the release:

#!/usr/bin/env bash
git clone https://github.com/galleybytes/terraform-operator.git
cd terraform-operator
kubectl apply -f deploy/bundles/v0.17.0/v0.17.0.yaml

Once the operator is installed, terraform resources are ready to be deployed.

Check out the examples directory to see the different options tf-operator handles. For a full list of options, see API References