Terraform provider for managing OpenStatus resources: monitors, notifications, and status pages.
terraform {
required_providers {
openstatus = {
source = "openstatusHQ/openstatus"
}
}
}
provider "openstatus" {
# Set via OPENSTATUS_API_TOKEN environment variable or:
# api_token = "your-token"
}
resource "openstatus_http_monitor" "api" {
name = "API Health"
url = "https://api.example.com/health"
periodicity = "5m"
active = true
status_code_assertions {
target = 200
comparator = "eq"
}
}Full documentation is available on the Terraform Registry.
openstatus_http_monitor— HTTP monitors with assertionsopenstatus_tcp_monitor— TCP connection monitorsopenstatus_dns_monitor— DNS record monitorsopenstatus_notification— Notification channels (Slack, Discord, PagerDuty, email, webhook, etc.)openstatus_status_page— Status pages (title, slug, description, homepage_url, contact_url, icon, custom_domain, access_type, password, auth_email_domains)openstatus_status_page_component— Status page components (monitor or static, with order and group_order)openstatus_status_page_component_group— Component groups
openstatus_monitor— Look up a monitor by IDopenstatus_monitors— List all monitorsopenstatus_status_page— Look up a status page by ID (all fields including homepage_url, contact_url, icon, custom_domain, access_type, theme)openstatus_notification— Look up a notification by ID
just build # build the provider
just test # run unit tests
just testacc # run acceptance tests (requires OPENSTATUS_API_TOKEN)
just install # install to local plugin directory
just lint # run golangci-lint