FiveNines

Terraform Provider

Define your monitoring setup in HCL, commit it to git, and deploy it with terraform apply. Servers, uptime monitors, workflows, and status pages - all managed as code. Drift detection catches manual changes. CI/CD pipelines keep your monitoring in sync with your infrastructure.

Start Free - 5 Servers

No credit card required · 2-minute setup

How It Works

Install Provider

Add the FiveNines provider from the Terraform Registry with your API token.

Write HCL

Define servers, monitors, workflows, and status pages as resources.

Plan & Apply

Preview changes with terraform plan, then apply to create or update.

Drift Detection

Detect manual changes made outside of Terraform. Stay in sync.

Declarative Monitoring Config

Define what your monitoring should look like, not how to set it up. Terraform handles creation, updates, and deletion. Review monitoring changes in pull requests.

Version-Controlled Monitoring

Your monitoring config lives in git alongside your infrastructure code. See who changed what, when, and why. Roll back monitoring changes like any other code change.

CI/CD Integration

Run terraform plan in your CI pipeline to preview monitoring changes. Auto-apply on merge to main. Monitoring stays in sync with the infrastructure it monitors.

HCL Resource Examples

Configure the provider and create an uptime monitor:

terraform {
  required_providers {
    fivenines = {
      source  = "Five-Nines-io/fivenines"
      version = "~> 0.1"
    }
  }
}

provider "fivenines" {
  api_token = var.fivenines_api_token
}

resource "fivenines_uptime_monitor" "production" {
  url            = "https://app.example.com"
  name           = "Production App"
  check_interval = 60
}

Manage Monitoring Alongside Infrastructure

Define your monitoring in the same Terraform configuration as your infrastructure. When you add a new server, add its monitoring in the same commit:

resource "fivenines_instance" "web_server" {
  name = "web-prod-01"
}

resource "fivenines_uptime_monitor" "web_server_http" {
  url            = "https://web-prod-01.example.com"
  name           = "Web Prod 01 HTTP"
  check_interval = 30
}

When the server is destroyed, its monitoring is cleaned up automatically. No orphaned monitors, no manual cleanup.

How It Compares

Approach Declarative Drift Detection State Mgmt CI/CD Ready Cost
Manual Setup Varies
Ansible / Scripts Partial Free
Pulumi Free / $50+
FiveNines Terraform Free & OSS

Terraform provider is free and open source

Works with any FiveNines plan

Frequently Asked Questions

What resources does the Terraform provider support?
The provider supports servers (instances), uptime monitors, workflows, tasks, network devices, and status pages. New resources are added as the platform expands.
Where is the provider published?
The FiveNines Terraform provider is published on the official Terraform Registry. Install it with a standard required_providers block - no manual download needed.
Can I import existing resources into Terraform state?
Yes. Use terraform import to bring existing FiveNines resources under Terraform management. Each resource type documents its import syntax.
Does it support drift detection?
Yes. Running terraform plan shows any differences between your HCL definitions and the actual state in FiveNines. This catches manual changes made through the UI that deviate from your code.
Is the provider free?
Yes. The Terraform provider is free and open source on GitHub. It works with any FiveNines plan, including the free tier.

Start managing your monitoring as code

Start Free - 5 Servers

Free tier includes 5 servers - no credit card required

View on Terraform Registry