Skip to content

hashicorp/terraform-enterprise-helm

Terraform Enterprise

This chart is used to install Terraform Enterprise in a generic Kubernetes environment. It is minimal in its configuration and contains the basic things necessary to launch Terraform Enterprise on a Kubernetes cluster.

Support for forking

This helm chart aims to meet the needs of the majority of our users. You are welcome to fork our helm chart and adapt it to your organization’s requirements.

If you contact HashiCorp support, include your custom helm chart alongside your support bundle to ensure support has all the information they need.

Prerequisites

To use the charts here, Helm must be configured for your Kubernetes cluster. Setting up Kubernetes and Helm are outside the scope of this README. Please refer to the Kubernetes and Helm documentation.

The versions required are:

  • Helm 3.0+ - This is the earliest version of Helm tested. It is possible it works with earlier versions but this chart is untested for those versions.
  • Kubernetes 1.25+ - This is the earliest version of Kubernetes tested. It is possible that this chart works with earlier versions but it is untested.

Instructions

Complete documentation and instructions for the installation of Terraform Enterprise can be found on the Terraform Enterprise developer site.

Helpful Commands

There are a number of common helm or kubectl commands you can use to monitor the installation and the runtime of Terraform Enterprise. We list some of them here. We assume that the namespace is terraform-enterprise. If you have a different namespace, replace it with yours.

  • To see releases:

    helm list -n terraform-enterprise
  • To check the status of the Terraform Enterprise pod:

      kubectl get pod -n terraform-enterprise

    In the output, the STATUS should be in Running state and the READYsection should show 1/1. e.g:

    NAME                                   READY   STATUS    RESTARTS   AGE
    terraform-enterprise-5946d99fc-l22s9   1/1     Running   0          25m

    If this is not the case, you can use the following steps to debug:

  • Check pod logs:

    kubectl logs terraform-enterprise-5946d99fc-l22s9
  • To diagnose issues with the terraform-enterprise deployment such as image pull errors, run the following command:

    kubectl describe deployments -n terraform-enterprise
  • Exec into the pod if possible:

    kubectl exec -it terraform-enterprise-5946d99fc-l22s9 -- /bin/bash
  • In the Terraform Enterprise pod, run:

    supervisorctl status

    This should show you which service failed. From outside the pod you can also do this:

    kubectl exec -it terraform-enterprise-5946d99fc-l22s9 -- supervisorctl status
  • All Terraform Enterprise services logs can be found in the pod here /var/log/terraform-enterprise/. E.g:

    cat /var/log/terraform-enterprise/atlas.log

    From outside the pod, this will be:

    kubectl exec -it terraform-enterprise-5946d99fc-l22s9 -- cat /var/log/terraform-enterprise/atlas.log

Additional Documentation

For more information about Terraform Enterprise and the capabilities of this helm chart please see the following additional documentation: