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.
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.
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.
Complete documentation and instructions for the installation of Terraform Enterprise can be found on the Terraform Enterprise developer site.
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 inRunning
state and theREADY
section should show1/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
For more information about Terraform Enterprise and the capabilities of this helm chart please see the following additional documentation: