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. The contents shown are subject to change.
{
"version":"2",
"mode": "automatic",
"timestamp":"${TIME_OF_EXPORT}",
"signature": "${UUID}",
"checksum": "${UUID}",
"snapshots":[
{
"snapshot_version":2,
"id":"${SNAPSHOT_ID}",
"timestamp":"${TIME_OF_EXPORT}",
"schema_version":"2.2.0",
"product":"terraform",
"process_id":"${PROCESS_ID}",
"product_version":"${TFE_VERSION}",
"license_id":"${LICENSE_IDENTIFIER}",
"checksum": "${SHA}",
"metrics": {
"active_agents_count": { # Count of all remote active agents
"key": "active_agents_count",
"value": 0,
"mode": "write"
},
"ado_vcs_present": { # 1 if Azure DevOps is configured as a VCS provider, 0 otherwise
"key": "ado_vcs_present",
"value": 0,
"mode": "write"
},
"aws_provider_present": { # 1 if AWS provider is in use on the installation.
"key": "aws_provider_present",
"value": 0,
"mode": "write"
},
"azure_provider_present": { # 1 if Azure provider is in use on the installation.
"key": "azure_provider_present",
"value": 0,
"mode": "write"
},
"billable_rum_count": { # Count of all billable RUM on the installation
"key": "billable_rum_count",
"value": 0,
"mode": "write"
},
"billable_rum_count_workspace_80th_percentile": { # 80th percentile workspace billable RUM on the installation
"key": "billable_rum_count_workspace_80th_percentile",
"value": 0,
"mode": "write"
},
"billable_rum_count_workspace_avg": { # Mean workspace billable RUM on the installation
"key": "billable_rum_count_workspace_avg",
"value": 0,
"mode": "write"
},
"billable_rum_count_workspace_max": { # Maximum workspace billable RUM on the installation
"key": "billable_rum_count_workspace_max",
"value": 0,
"mode": "write"
},
"billable_rum_count_workspace_median": { # Median workspace billable RUM on the installation
"key": "billable_rum_count_workspace_median",
"value": 0,
"mode": "write"
},
"billable_rum_count_workspace_min": { # Lowest workspace billable RUM on the installation
"key": "billable_rum_count_workspace_min",
"value": 0,
"mode": "write"
},
"billable_rum_opt_in": { 1 if billable RUM reporting is enabled, 0 otherwise
"key": "billable_rum_opt_in",
"value": 1,
"mode": "write"
},
"bitbucket_vcs_present": { # 1 if Bitbucket is configured as a VCS provider, 0 otherwise
"key": "bitbucket_vcs_present",
"value": 0,
"mode": "write"
},
"continuous_validation_used_last_90_days": { # 1 if continuous validation has run in the last 90 days, 0 otherwise
"key": "continuous_validation_used_last_90_days",
"value": 0,
"mode": "write"
},
"daily_api_runs": { # Count of all Terraform runs associated with api daily
"key": "daily_api_runs",
"value": 0,
"mode": "write"
},
"daily_cli_runs": { # Count of all Terraform runs associated with cli daily
"key": "daily_cli_runs",
"value": 0,
"mode": "write"
},
"daily_runs": { # Count of all Terraform runs daily
"key": "daily_runs",
"value": 0,
"mode": "write"
},
"daily_vcs_runs": { # Count of all Terraform runs associated with VCS daily
"key": "daily_vcs_runs",
"value": 0,
"mode": "write"
},
"deployment_option": { # No data collected
"key": "deployment_option",
"value": 0,
"mode": "write"
},
"drift_detection_used_last_90_days": { # 1 if drift detection has run in 90 days, 0 otherwise
"key": "drift_detection_used_last_90_days",
"value": 0,
"mode": "write"
},
"gcp_provider_present": { # 1 if GCP provider is in use on the installation.
"key": "gcp_provider_present",
"value": 0,
"mode": "write"
},
"github_vcs_present": { # 1 if Github is configured as a VCS provider, 0 otherwise
"key": "github_vcs_present",
"value": 0,
"mode": "write"
},
"gitlab_vcs_present": { # 1 if Gitlab is configured as a VCS provider, 0 otherwise
"key": "gitlab_vcs_present",
"value": 0,
"mode": "write"
},
"installation_reporting_environment_type": { # The environment the TFE installation is setup in, 0 = environment type not set, 1 = prod, 2 = non-prod
"key": "installation_reporting_environment_type",
"value": 0,
"mode": "write"
},
"operational_mode": { # No data collected
"key": "operational_mode",
"value": 0,
"mode": "write"
},
"org_admin_count": { # Count of admin users across all organizations in the installation
"key": "org_admin_count",
"value": 1,
"mode": "write"
},
"org_count": { # Count of “Organization” configured on the installation
"key": "org_count",
"value": 1,
"mode": "write"
},
"private_modules_count": { # Count of private modules in the private registry.
"key": "private_modules_count",
"value": 0,
"mode": "write"
},
"product_usage_reporting_opt_in": { 1 if product usage reporting is opted in, 0 otherwise
"key": "product_usage_reporting_opt_in",
"value": 1,
"mode": "write"
},
"project_count": { # Count of “Project” configured on the installation
"key": "project_count",
"value": 1,
"mode": "write"
},
"run_concurrency": { # Run concurrency configured for the TFE installation
"key": "run_concurrency",
"value": 0,
"mode": "write"
},
"run_tasks_count": { # Count of run tasks configured across all workspaces
"key": "run_tasks_count",
"value": 0,
"mode": "write"
},
"run_tasks_used_last_90_days": { # 1 if run tasks has been used in 90 days, 0 otherwise
"key": "run_tasks_used_last_90_days",
"value": 0,
"mode": "write"
},
"run_triggers_used_last_90_days": { # 1 if run triggers has been used in 90 days, 0 otherwise
"key": "run_triggers_used_last_90_days",
"value": 0,
"mode": "write"
},
"sentinel_used_last_90_days": { # 1 if sentinel has run in 90 days, 0 otherwise
"key": "sentinel_used_last_90_days",
"value": 0,
"mode": "write"
},
"servicenow_catalog_billable_rum_count": { Count of all billable RUM on ServiceNow workspaces for this install
"key": "servicenow_catalog_billable_rum_count",
"value": 0,
"mode": "write"
},
"servicenow_catalog_run_count": { # Count of of Terraform runs initiated from ServiceNow for this install
"key": "servicenow_catalog_run_count",
"value": 0,
"mode": "write"
},
"servicenow_catalog_workspace_count": { # Count of workspaces provisioned using servicenow integration
"key": "servicenow_catalog_workspace_count",
"value": 0,
"mode": "write"
},
"teams_count": { # Count of “Teams” configured on the installation
"key": "teams_count",
"value": 1,
"mode": "write"
},
"user_count": { # Count of "Users" configured on the installation
"key": "user_count",
"value": 1,
"mode": "write"
},
"using_admin_api": { # 1 is Admin API was used, 0 otherwise
"key": "using_admin_api",
"value": 0,
"mode": "write"
},
"using_iam_auth_s3": { # 1 if IAM auth-s3 is configured for the TFE installation, 0 otherwise
"key": "using_iam_auth_s3",
"value": 0,
"mode": "write"
},
"varsets_count": { # Count of varsets configured on the installation
"key": "varsets_count",
"value": 0,
"mode": "write"
},
"workspace_count_azure_devops": { # Workspace count connected to Azure DevOps
"key": "workspace_count_azure_devops",
"value": 0,
"mode": "write"
},
"workspace_count_bitbucket": { # Workspace count connected to Bitbucket
"key": "workspace_count_bitbucket",
"value": 0,
"mode": "write"
},
"workspace_count_github": { # Workspace count connected to GitHub
"key": "workspace_count_github",
"value": 0,
"mode": "write"
},
"workspace_count_gitlab": { # Workspace count connected to Gitlab
"key": "workspace_count_gitlab",
"value": 0,
"mode": "write"
},
"workspacecount": { # Count of all workspaces on the installation
"key": "workspacecount",
"value": 1,
"mode": "write"
},
"workspaces_api_driven_runs": { # Workspaces using API-driven runs
"key": "workspaces_api_driven_runs",
"value": 0,
"mode": "write"
},
"workspaces_cli_driven_runs": { # Workspaces using CLI-driven runs
"key": "workspaces_cli_driven_runs",
"value": 0,
"mode": "write"
},
"workspaces_count_continuous_validation": { # No data collected
"key": "workspaces_count_continuous_validation",
"value": 0,
"mode": "write"
},
"workspaces_count_drift_detection": { # No data collected
"key": "workspaces_count_drift_detection",
"value": 0,
"mode": "write"
},
"workspaces_count_no_code_modules": { # No data collected
"key": "workspaces_count_no_code_modules",
"value": 0,
"mode": "write"
},
"workspaces_count_notifications_enabled": { # No data collected
"key": "workspaces_count_notifications_enabled",
"value": 0,
"mode": "write"
},
"workspaces_count_opa_policy_sets": { # No data collected
"key": "workspaces_count_opa_policy_sets",
"value": 0,
"mode": "write"
},
"workspaces_count_run_tasks": { # Count of workspaces with run tasks
"key": "workspaces_count_run_tasks",
"value": 0,
"mode": "write"
},
"workspaces_count_sentinel_policy_sets": { # No data collected
"key": "workspaces_count_sentinel_policy_sets",
"value": 0,
"mode": "write"
}
},
}
],
"metadata":{
}
}
}