Skip to content

Terraform provider (roadmap)

What the provider will manage

Resources:

  • pathwatch_monitor — any monitor type (HTTP, SSL, DNS, port, ping, keyword, domain expiration, browser).
  • pathwatch_alert_channel — email, Slack, PagerDuty, webhook, Discord, Telegram, Pushover, and the other channels listed under Alert channels.
  • pathwatch_alert_rule — bind a channel to a monitor with confirmation windows and recurring reminders.
  • pathwatch_escalation_policy — multi-step on-call escalation.
  • pathwatch_status_page — public or private status page including its component layout.
  • pathwatch_maintenance_window — scheduled alert suppression (one-off or recurring).

Data sources:

  • pathwatch_regions — every enabled checker region, filterable by continent/country/tier.
  • pathwatch_organisation — the org bound to the API key in use.

Auth

The provider will accept a PathWatch API key the same way the REST API does:

provider "pathwatch" {
# Or set PATHWATCH_API_KEY in the environment.
api_key = var.pathwatch_api_key
}

Create the key at Settings → API keys in the WebUI; scopes are the same monitors:write, alerts:write, etc. enforced by the REST API today.

Sketch of a future config

The block below is illustrative, not a contract — final field names will track whatever the REST API exposes at GA.

terraform {
required_providers {
pathwatch = {
source = "VertexionPlatforms/pathwatch"
version = "~> 0.1"
}
}
}
resource "pathwatch_monitor" "api" {
name = "Production API"
monitor_type = "uptime_http"
config = {
url = "https://api.example.com/health"
method = "GET"
expected_status = 200
}
schedule_interval_seconds = 60
regions = ["gb-london", "us-virginia", "jp-tokyo"]
}
resource "pathwatch_alert_channel" "ops" {
name = "Ops Slack"
channel_type = "slack"
config = {
webhook_url = var.slack_webhook
}
}

If Terraform support is a procurement requirement for you, please raise it with us — pull from real customer config is what gates the field-naming decisions before we cut a 1.0.