checkpoint-api.hashicorp.com. It reports counted usage metrics to the CDKTN
project’s own Sentry instead, and asks for your consent first
(cdk-terrain#411,
#412,
#413).
Consent
Usage metrics have their own flag incdktf.json, sendUsageTelemetry. It’s
separate from sendCrashReports, which controls crash reports:
CHECKPOINT_DISABLEkeeps working as the environment-wide opt-out and takes precedence overcdktf.json.- The flags accept booleans or the strings
"true"and"false". Any other value counts as missing. - The CLI only prompts when stdin and stdout are terminals, it isn’t running in
CI, and the project has a
cdktf.jsonto save the answer to. cdktn initasks both questions for a new project. To answer them without a prompt, pass--enable-usage-telemetry=true|falseand--enable-crash-reporting=true|false. Every built-in template writes both flags.- If you agree to usage metrics only, the CLI sends no crash reports.
The crash-reporting prompt now also appears in existing projects whose
cdktf.json has no sendCrashReports key. Before v0.25 the CLI treated a
missing key as “no” and never asked.What the CLI reports
The metrics are counters and durations, aggregated per run. They cover:- Each command run: that it started, and whether it completed or failed, with the error category. Synthesis duration. A count of each CLI error type.
- Environment: the command, the CI system, the project language, the
operating system and architecture, whether the installed binary is Terraform
or OpenTofu and its version, your declared
targetVersionsranges, whethervalidateInstalledBinaryis on, and the package manager. - Stacks: the backend type, counts of overrides, imports, and moves, the
public registry providers you require (
namespace/type) with their version constraints and whether the bindings are pre-built or generated, and the resource types you override. Counts are capped per run. getandinit: which providers and modules they generate, how many, and which built-in templateinitused.convert: how many providers, modules, and lines it converted.
~/.cdktf/config.json.
The CLI never sends stack names, construct IDs, resource addresses, file
paths, your hostname or username, error messages, or SENTRY_* environment
variables. Private registry hosts and module sources are reduced to a category
such as private-registry, git, or local.
These commands report metrics: convert, deploy, destroy, diff, get,
init, list, output, synth, watch, provider add, provider list,
and provider upgrade. login, debug, shell completion, --help, and
--version don’t.