Aller au contenu

Provider Terraform

Le provider Terraform officiel okstatus permet de gérer monitors, incidents, pages de statut, canaux d’alerte et fenêtres de maintenance as code — utile pour provisionner la surveillance en même temps que l’infrastructure qu’elle observe, ou pour garder une flotte de monitors versionnée plutôt que gérée à la souris dans le dashboard.

Le provider est publié sur le Terraform Registry où vit sa référence complète (ressources/data sources). Ce guide couvre uniquement la prise en main — consultez la doc du registry pour chaque champ.

terraform {
required_providers {
okstatus = {
source = "clearcloud-fr/okstatus"
}
}
}
provider "okstatus" {
# api_key peut aussi venir de la variable d'environnement OKSTATUS_API_KEY.
# api_key = "oks_live_..."
}

Préférez la variable d’environnement plutôt que d’écrire la clé en dur dans vos fichiers .tf :

Fenêtre de terminal
export OKSTATUS_API_KEY="oks_live_..."
resource "okstatus_monitor" "api" {
name = "API Production"
url = "https://api.example.com/health"
type = "http"
interval = 60
regions = ["fr-dc3", "de-fra", "es-mad"]
accepted_status_codes = ["200-299"]
}

Les valeurs de regions réellement autorisées dépendent de votre plan — une région non incluse dans votre plan est rejetée à l’apply avec une erreur 400, pas au plan. Voir Régions et intervalles pour la liste par plan.

Le config d’un canal d’alerte utilise les noms de champs du backend (camelCase), pas la convention snake_case habituelle de Terraform — voir la référence okstatus_alert_channel pour la forme exacte de chaque type de canal.

resource "okstatus_alert_channel" "team_discord" {
type = "discord"
config = {
webhookUrl = "https://discord.com/api/webhooks/..."
}
}
Ressource / data sourceGère
okstatus_monitorMonitors HTTP, TCP, ping et DNS
okstatus_llm_monitorMonitors canari LLM (Max et au-delà)
okstatus_alert_channelEmail, Discord, webhook, Slack, Telegram, et plus
okstatus_incidentIncidents et leurs mises à jour horodatées
okstatus_maintenanceFenêtres de maintenance planifiées
okstatus_status_pagePages de statut publiques
data.okstatus_monitorsRechercher des monitors existants (ex. pour les référencer par nom)
data.okstatus_orgLire le plan et les paramètres de l’organisation courante
data.okstatus_alert_channelsRechercher des canaux d’alerte existants

Schéma complet, tous les champs, valeurs par défaut : registry.terraform.io/providers/clearcloud-fr/okstatus.

Les ressources créées depuis le dashboard peuvent être reprises sous gestion Terraform avec terraform import, en utilisant l’ID de la ressource (visible dans l’URL du dashboard ou via l’API REST) :

Fenêtre de terminal
terraform import okstatus_monitor.api <monitor-id>