These docs will reference the release v0.9.0-pre3+ which uses the latest CRD (ie the v1alpha2 apiVersion).

If this is a first installation on a cluster, the latest is safe to install.

For those who are upgrading the apiVersion from v1alpha1 to v1alpha2, the automatic conversion is still a work-in-progress. Use the helm release version v0.2.11 to prevent upgrading the apiVersion.

As always, please submit issues and bug on the Terraform-Operator GitHub Issues Page.

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.2.20 --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.2.20 --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/isaaguilar/terraform-operator.git
cd terraform-operator
kubectl apply -f deploy/bundles/v0.9.0-alpha1/v0.9.0-alpha1.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