Getting started
Install the Uptimeify provider, authenticate with an API token and create your first website monitor with OpenTofu or Terraform.
1. Create an API token
Open Settings > API in the dashboard and create a token, see Generate an API token. An organization token manages everything in the organization; a customer token only its customers.
export UPTIMEIFY_API_TOKEN=wsm_...2. Write the configuration
terraform {
required_version = ">= 1.11"
required_providers {
uptimeify = {
source = "uptimeify/uptimeify"
version = "~> 0.2"
}
}
}
provider "uptimeify" {} # reads UPTIMEIFY_API_TOKEN
data "uptimeify_customer" "shop" {
name = "Example Shop GmbH"
}
resource "uptimeify_website" "shop" {
customer_id = tonumber(data.uptimeify_customer.shop.id)
name = "Shop homepage"
url = "https://shop.example.com/"
check_interval = 5
check_expected_response_enabled = true
expected_response_match_type = "contains"
expected_response_value = "Add to cart"
}
resource "uptimeify_tag" "production" {
name = "production"
color = "red"
}
resource "uptimeify_monitor_tag" "shop_production" {
monitor_type = "website"
monitor_id = tonumber(uptimeify_website.shop.id)
tag_id = tonumber(uptimeify_tag.production.id)
}3. Apply
tofu init
tofu plan
tofu applyWith Terraform, use terraform instead of tofu, the commands are the same. The monitor appears in the dashboard right after apply and starts checking within its interval.
4. Change and review
Edit the configuration, run tofu plan and review the diff like any other code change. A change somebody made in the dashboard shows up in the next plan as drift and is reset on apply.
Next steps
- Customer tokens: one configuration per client.
- Import existing setup: bring monitors you created in the dashboard under code.
- Secrets and updates: headers, passwords and how the provider sends updates.
uptimeify_website: every attribute of the website monitor.