Skip to content
Knowledge base

Manage monitoring with Terraform

Checks, status pages, components and notification channels as code with the realuptime provider. Source available; Terraform Registry publish pending.

1. Get a read_write API key

The provider talks to the REST API, which is available on Growth and Scale. Generate a key with read_write permission from your account's API & MCP access section and export it as REALUPTIME_API_KEY. A read-only key can plan but every apply is refused with RU-1004.

2. Build the provider and point Terraform at it

The source is public at github.com/RealUptimeHQ/terraform-provider-realuptime and builds with go build. It is not on the Terraform Registry yet, so add a dev_overrides entry for RealUptimeHQ/realuptime in ~/.terraformrc and skip terraform init. The docs page shows the exact block.

3. Declare resources with the API's own field names

realuptime_check creates an http monitor (regions and response assertions update in place; name, url and interval_seconds replace the check). realuptime_status_page, realuptime_status_page_component and realuptime_notification_channel cover the rest, and data.realuptime_status_page finds the page created at signup by slug.

4. Import what already exists instead of recreating it

terraform import works by id for checks, pages and channels, and by <status page id>/<component id> for components. A channel's credential is write-only, so the first plan after import sets config from your configuration once.

Go deeper

The full reference lives in the docs: Terraform provider documentation. Error codes named above are each explained in the error-code reference.