Terraform
Configure a license
This topic describes how to configure the license so that you can deploy Terraform Enterprise to one of the supported runtimes environments. For information about configuring a Terraform Enterprise for the Replicated platform, refer to Deploy Terraform Enterprise to Replicated.
Acquiring a new Terraform Enterprise license
To acquire a new Terraform Enterprise license from HashiCorp, contact your account manager.
Apply the Terraform Enterprise license
There are two ways to apply the new license file on startup:
- Provide the body of the license file as a string to an environment variable called
TFE_LICENSE
. - Store the license in a file and provide the file path to an environment variable called
TFE_LICENSE_PATH
.
License expiration and termination
To prevent unexpected outages caused by delays in license updates, HashiCorp licenses provisioned for production use will not terminate on their expiry date.
If your license expires, you cannot use it for authentication with the HashiCorp image registry (images.registry.hashicorp.com
). If you configure your installation to pull directly from the HashiCorp registry and your license expires, you cannot reinstall, scale, or upgrade. You can check your license expiration date using the tfectl app license
command.
License updates
To update an existing installation with a new license, you will need to modify the TFE_LICENSE
or TFE_LICENSE_PATH
variable and restart the application.
Product data collection reference
The following JSON payload describes the product usage data that Terraform Enterprise collects.
{
"payload":{
"payload_version":"1",
"license_id":"${LICENSE_IDENTIFIER}",
"product":"terraform",
"product_version":"${TFE_VERSION}",
"export_timestamp":"${TIME_OF_EXPORT}",
"snapshots":[
{
"snapshot_version":1,
"snapshot_id":"${SNAPSHOT_ID}",
"process_id":"${PROCESS_ID}",
"timestamp":"${TIME_OF_EXPORT}",
"schema_version":"1.1.0",
"service":"terraform",
"metrics":{
"billable_rum_count":{
"key":"billable_rum_count",
"kind":"counter",
"mode":"write",
"value":1
},
"billable_rum_count_workspace_80th_percentile":{
"key":"billable_rum_count_workspace_80th_percentile",
"kind":"counter",
"mode":"write",
"value":1
},
"billable_rum_count_workspace_avg":{
"key":"billable_rum_count_workspace_avg",
"kind":"counter",
"mode":"write",
"value":1
},
"billable_rum_count_workspace_max":{
"key":"billable_rum_count_workspace_max",
"kind":"counter",
"mode":"write",
"value":1
},
"billable_rum_count_workspace_median":{
"key":"billable_rum_count_workspace_median",
"kind":"counter",
"mode":"write",
"value":1
},
"billable_rum_count_workspace_min":{
"key":"billable_rum_count_workspace_min",
"kind":"counter",
"mode":"write",
"value":1
},
"billable_rum_opt_in":{
"key":"billable_rum_opt_in",
"kind":"counter",
"mode":"write",
"value":1
},
"workspacecount":{
"key":"workspacecount",
"kind":"counter",
"mode":"write",
"value":0
}
}
}
],
"metadata":{
}
}
}