Checkly Terraform provider
Your infrastructure is in Terraform. Put your monitors there too.
The Checkly provider adds checks, groups, alert channels, status pages, and private locations to the HCL you already review, plan, and apply. Same pull request, same state, same pipeline as the services they watch.
Trusted by engineering teams that manage everything as code
“We chose Checkly because of the Terraform provider that was available out of the box. Another important thing for us was the fact that we could automate the generation of the checks from Terraform.”
Your app's code lives in source control. Your monitoring should too.
Monitoring configured by hand drifts behind the product. Monitoring declared in Terraform ships with the release, rolls back with the release, and documents itself in the process.
Monitors show up in the same diff as the service
A new endpoint and the check that watches it land in one pull request. Reviewers see the assertion next to the route, and terraform plan tells everyone what changes before anything runs.
State owns the lifecycle
Rename a check, move it into a group, or delete the service it covered, and apply reconciles the account to match. No orphaned monitors paging for an API that no longer exists.
The whole setup, not just checks
Groups, alert channels, status pages, dashboards, maintenance windows, private locations, snippets, and environment variables are all resources. One apply stands up the full account.
Resources in the provider
“Everything scaffolds out based on a configuration, so we just update a configuration file which specifies the environments, what services are there, what the URLs are, and from that, we just generate all the groups and their checks.”
Get started in three steps
From an empty folder to a running check in one apply. Or clone the getting-started repository and skip the typing.
Add the provider
Pin checkly/checkly from the Terraform Registry and pass your credentials through variables, so nothing sensitive lands in the repo.
Export your credentials
A user API key and the target account ID, both from your Checkly settings. TF_VAR_ prefixes feed them straight into the variables above.
Init and apply
terraform init installs the provider. terraform apply shows the plan, waits for your yes, and creates the resources in your Checkly account.
Terraform or the Checkly CLI?
Both are monitoring as code against the same account. The honest answer depends on where the rest of your configuration already lives.
The Checkly CLI
The primary path. Monitors are TypeScript constructs next to your Playwright tests, you run them against any environment with npx checkly test before they deploy, and the project layout is built for monitoring first.
Start here if monitoring is a new codebase for your team. Monitoring as code with the CLI
The Terraform provider
For teams whose infrastructure is already declared in Terraform. Monitors join the same state, the same plan, and the same pipeline, and the Playwright scripts they run still test locally with npx playwright test.
Pick one owner per resource. Checkly resources should be managed either through Terraform or through the UI, not both.
One apply away from monitored
Add the provider, export two variables, and your first check is running from the plan you just reviewed. No credit card required.