Terraform Enterprise deployment overview
This topic provides an overview of the Terraform Enterprise deployment process. For information about deploying Terraform Enterprise using the Replicated platform, refer to Deploy Terraform Enterprise to Replicated. If your existing Terraform Enterprise instances were deployed to Replicated, refer to our migration guide for instructions on how to deploy the platform to one of the supported runtimes.
Introduction
Terraform Enterprise runs in containerized instances that support flexible deployment options for self-hosted environments. You can deploy Terraform Enterprise to the following non-Replicated runtimes:
- Docker
- Kubernetes
- OpenShift
- Nomad
- Podman
You can configure Terraform Enterprise to run as a self-contained application that manages the associated data storage or as an integrated installation that connects to externally-managed data storage systems. Refer to Data storage overview for additional information.
Workflow
Terraform Enterprise supports several container runtime environments and operating modes for managing data that provide you with flexible deployment options. To deploy Terraform Enterprise, create a configuration file that specifies your deployment settings, complete any external prerequisites associated with your deployment configuration, then use your runtime interface to run the installation.
Prepare the deployment environment
Create a host instance on your cloud provider and install a runtime environment. You must also configure network access, assign a DNS hostname, and install the TLS certificate. If you intend to connect Terraform Enterprise to an external Vault server or PostgreSQL database, you must also configure and launch those systems. Refer to Prepare the Terraform Enterprise host environment for details.
Create the configuration
Create a deployment configuration file for your runtime environment, such as a values.yaml if you are deploying to Kubernetes or a compose.yaml file if you are deploying to Docker, and specify the Terraform Enterprise configurations. The runtime platform starts the Linux container for Terraform Enterprise according to the settings defined in the configuration file. Refer to Create deployment configuration overview for additional information.
Install Terraform Enterprise
After completing the prerequisites, deploy Terraform Enterprise to your runtime environment. Refer to the following topics for instructions:
- Deploy Terraform Enterprise to Docker
- Deploy Terraform Enterprise to Kubernetes
- Deploy Terraform Enterprise to OpenShift
- Deploy Terraform Enterprise to Podman
- Deploy Terraform Enterprise to Nomad
Review startup checks
When you start Terraform Enterprise, several startup checks also run to prevent errors related to invalid configurations or certificates, as well as other issues that could prevent the application from running successfully or safely. Refer to the startup checks reference for additional information.