Terraform
- Terraform Enterprise
- 1.0.x (latest)
- v202507-1
- v202506-1
- v202505-1
- v202504-1
- v202503-1
- v202502-2
- v202502-1
- v202501-1
- v202411-2
- v202411-1
- v202410-1
- v202409-3
- v202409-2
- v202409-1
- No versions of this document exist before v202408-1. Click below to redirect to the version homepage.
- v202408-1
- v202407-1
- v202406-1
- v202405-1
- v202404-2
- v202404-1
- v202402-2
- v202402-1
- v202401-2
- v202401-1
- v202312-1
- v202311-1
- v202310-1
- v202308-1
- v202307-1
- v202306-1
- v202305-2
- v202305-1
- v202304-1
- v202303-1
- v202302-1
- v202301-2
- v202301-1
- v202212-2
- v202212-1
- v202211-1
- v202210-1
- v202209-2
- v202209-1
- v202208-3
- v202208-2
- v202208-1
- v202207-2
- v202207-1
- v202206-1
Startup checks
Terraform Enterprise startup checks validate the supplied configuration to prevent operators from starting Terraform Enterprise with invalid configurations, invalid certificates or other issues that could prevent the application from running successfully or safely.
Startup checks:
- Run concurrently at startup
- Cannot be skipped
- Have a 1 minute timeout
The results of the startup checks are logged alongside application logs. When all of the startup checks pass, the application will continue to start up.
2023-06-30T17:54:58.628Z [INFO]  terraform-enterprise: check passed: name=configuration duration="29.741µs"
2023-06-30T17:54:58.628Z [INFO]  terraform-enterprise: check passed: name=database duration=10.053393ms
2023-06-30T17:54:58.628Z [INFO]  terraform-enterprise: check passed: name=disk duration="169.438µs"
2023-06-30T17:54:58.628Z [INFO]  terraform-enterprise: check passed: name=license duration=7.896534ms
2023-06-30T17:54:58.628Z [INFO]  terraform-enterprise: check passed: name=redis duration="632.735µs"
2023-06-30T17:54:58.628Z [INFO]  terraform-enterprise: check passed: name=tls duration="241.12µs"
If any of the startup checks fail, the application will log the checks that failed and exit. Operators can check the logs for information on how they can resolve the failing checks.
2023-06-30T18:14:45.792Z [INFO]  terraform-enterprise: check passed: name=configuration duration="102.266µs"
2023-06-30T18:14:45.792Z [INFO]  terraform-enterprise: check passed: name=database duration=11.925026ms
2023-06-30T18:14:45.792Z [INFO]  terraform-enterprise: check passed: name=disk duration="360.432µs"
2023-06-30T18:14:45.792Z [ERROR] terraform-enterprise: check failed: name=license duration="423.448µs" err="failed parsing license: incorrectly formatted license"
2023-06-30T18:14:45.792Z [INFO]  terraform-enterprise: check passed: name=redis duration="945.784µs"
2023-06-30T18:14:45.792Z [INFO]  terraform-enterprise: check passed: name=tls duration="795.072µs"
2023-06-30T18:14:45.792Z [ERROR] terraform-enterprise: the following startup checks failed: checks=["license"]
2023-06-30T18:14:45.792Z [ERROR] terraform-enterprise: startup: error="startup checks failed"
Types of checks
Startup checks run the following validations to detect misses and gaps during the setup of the installation.
Configuration Variables
Validate required configuration and acceptable values for Flexible Deployment Options, listed in the install configuration page.
Database
Validates database access by querying for the supported version. When database connection fails, it will retry using a linear backoff strategy. For external database configuration, the following must be set and are used for validation.
The database validation can fail for the following reasons:
- The database user set via TFE_DATABASE_USERhas insufficient permissions to execute the query:SHOW server_version;
- The Postgres database version is a value other than 12,13,14or15.
Filesystem access
This validation only applies to application running TFE_OPERATIONAL_MODE: disk on Docker runtime.  
Validates the application has read / write privileges in the directory configured in TFE_DISK_PATH.  This filesystem access validation can fail for the following reasons:
- The application has no privilege to read / write files to the directory and its subdirectories configured in TFE_DISK_PATH.
License
Validate the application has read privilege to the license, and is a valid HashiCorp provided license. The license validation will not fail if the license is expired. It can fail for the following reasons:
- The license value was not provided via TFE_LICENSEorTFE_LICENSE_PATHis empty.
Redis
Validate the application's connectivity to Redis. When connection fails, it will retry using a linear backoff strategy. For external Redis configuration, the following must be set and are used for validation:
- TFE_REDIS_HOST
- If TFE_REDIS_USE_TLSis set totruethe application will useredissinstead ofredisas the scheme.
- If TFE_REDIS_USE_AUTHis set totruethe application will use the credentials provided byTFE_REDIS_PASSWORDandTFE_REDIS_USER(optional) for authentication.
TLS certificates
Validate the presence of TFE_TLS_CA_BUNDLE_FILE and it is a valid PEM-encoded file.