Skip to main content

infrastructure as code

Uptime monitoring you declare in Terraform

Provision a monitor the same way you provision the service it watches. The official Uptimepage provider manages monitors, status pages, components and notification channels in HCL, so every new service ships with monitoring instead of a follow-up ticket.

what you get

  • Terraform provider uptimepage/uptimepage
  • Resources monitors, pages, channels
  • Check types HTTP, TCP, DNS, TLS
  • Check interval every 60s
  • Auth scoped, expiring API tokens
  • Price to start free, no card

monitoring ships with the service

Declare the monitor next to the resource it watches. Every service gets consistent monitoring from its first apply, with no gap between deploy and the first check.

review it like any other change

Monitors, status pages and alert channels live in HCL, so a change is a pull request with a plan and an apply. Roll the same config across orgs and keep your monitoring reproducible instead of hand-clicked.

more than Terraform

The same data model answers a full REST API and an MCP server, so an assistant can read your monitors while Terraform owns their shape. Everything you can click, you can declare.

Declare a monitor in Terraform

terraform {
  required_providers {
    uptimepage = {
      source = "uptimepage/uptimepage"
    }
  }
}

resource "uptimepage_target" "api" {
  name     = "api prod"
  interval = 60

  check = {
    type = "http"
    http = {
      url = "https://example.com/healthz"
      expected_status = {
        kind  = "exact"
        exact = 200
      }
    }
  }
}

links

FAQ

Which provider do I use?
The official provider, source uptimepage/uptimepage on the Terraform Registry. It manages monitors, status pages, components and notification channels.
What can I declare in Terraform?
Monitors with HTTP, TCP, DNS or TLS checks, public status pages and their components, and notification channels: the same things you change in the dashboard.
Do I need the hosted service?
No. Start free on the hosted tier with no card, or self-host under AGPL and point the provider at your own instance.
How does the provider authenticate?
With a scoped API token: resource-and-action permissions bound to one org, with an enforced expiry. Mint a write-scoped token for Terraform rather than an all-or-nothing key.

Start in under 5 minutes.

Start free

features · pricing · notes