Быстрый старт: Terraform Provider
Несколько шагов до первого terraform apply со Status200.
Требования
- Terraform >= 1.0
- Аккаунт Status200 (облако или self-hosted)
- API key Status200
Шаг 1: API key
Облако
- Status200 → вход
- Settings → API Keys
- Create API Key
- Имя, например «Terraform Provider»
- Нужные permissions
- Скопировать ключ
Self-hosted
- Ваш инстанс Status200
- Settings → API Keys
- Далее как для облака
Шаг 2: Конфигурация Terraform
Каталог и main.tf:
terraform {
required_providers {
status200 = {
source = "status200/status200"
# Облако
version = "~> 7.0"
# Self-hosted — точная версия
# version = "= 7.0.123"
}
}
required_version = ">= 1.0"
}
provider "status200" {
status200_url = "https://status200.ru"
# Self-hosted:
# status200_url = "https://status200.yourcompany.com"
api_key = var.status200_api_key
}
variable "status200_api_key" {
description = "Status200 API Key"
type = string
sensitive = true
}
# Проекты создаются вручную в dashboard; укажите существующий project ID
variable "project_id" {
description = "Status200 project ID"
type = string
}
resource "status200_monitor" "website" {
name = "Website Monitor"
description = "Monitor for website uptime"
data = jsonencode({
url = "https://example.com"
interval = "5m"
timeout = "30s"
})
}
output "monitor_id" {
value = status200_monitor.website.id
}Шаг 3: terraform.tfvars
status200_api_key = "your-api-key-here"
project_id = "your-project-id-here"Добавьте terraform.tfvars в .gitignore.
Шаг 4: init и apply
terraform init
terraform plan
terraform applyШаг 5: Проверка
В dashboard проекта убедитесь, что монитор создан и работает.
Дальше
- Остальные ресурсы — complete-guide
- Алерты и каналы уведомлений
- Status pages
- Команды и права
Версии
Облако
terraform {
required_providers {
status200 = {
source = "status200/status200"
version = "~> 7.0"
}
}
}
provider "status200" {
status200_url = "https://status200.ru"
api_key = var.status200_api_key
}Self-hosted (pin)
terraform {
required_providers {
status200 = {
source = "status200/status200"
version = "= 7.0.123"
}
}
}
provider "status200" {
status200_url = "https://status200.mycompany.com"
api_key = var.status200_api_key
}Частые проблемы
Provider not found
Error: Failed to query available provider packagesРешение: terraform init
Authentication failed
Error: Invalid API keyРешение: ключ и права в dashboard; верный status200_url
Version mismatch (self-hosted)
Error: API version incompatibleРешение: версия Status200 в dashboard = версия provider; terraform init -upgrade
Удаление
terraform destroyУдалит ресурсы, созданные в этом quick start.