Note: CDK for Terraform is currently in beta.
The CDK for Terraform CLI interacts with a HashiCorp service called Checkpoint to report project metrics such as cdktf version, project language, provider name, platform name, and other details that help guide the project maintainers with feature and roadmap decisions. All HashiCorp projects, including Terraform Core, use Checkpoint. Read more about project metrics in this issue.
Starting with CDK for Terraform 0.6, this information includes a random UUID that uniquely identifies the machine, and new projects will have a project-specific UUID added to the
cdktf.json file. The purpose of these UUIDs is to help team understand how the tool is used in order to help us prioritize features. The code that interacts with Checkpoint is part of CDK for Terraform CLI.
CDK for Terraform fingerprints the type of CI used and includes that in telemetry instead of the UUID when CDK for Terraform runs in a Continuous Integration tool, such as GitHub Actions, Jenkins, or GitLab. The only information submitted is the type of CI system, and no unique information about accounts, paths, workspaces, environment variables, or other potentially private information is shared. This data helps the team plan where to focus future efforts, because running infrastructure as code tools in CI is a key workflow we seek to improve.
The information that is sent to Checkpoint is anonymous and cannot be used to identify the user or host. The use of Checkpoint is completely optional and it can be disabled at any time by setting the
CHECKPOINT_DISABLE environment variable to a non-empty value.