Terraform oder OpenTofu nutzen
Der offizielle Caputchin-Provider lässt dich dein Konto als Infrastructure-as-Code verwalten: deklarier Teams, Site-Keys, Sicherheitsrichtlinie, Mitglieder und Tokens in .tf-Dateien und wende sie wie jede andere Ressource an. Es ist dieselbe Management-API wie alles andere unter Automatisierung, ausgedrückt als Terraform-Ressourcen.
Er wird einmal veröffentlicht und funktioniert mit sowohl Terraform als auch OpenTofu aus derselben Quelle; das HCL ist identisch, nur das CLI-Binary (terraform oder tofu) und die Registry unterscheiden sich. Überall unten nimm, was du auch ausführst.
Ein Access Token prägen
Der Provider liest seinen Token aus der Umgebungsvariable CAPUTCHIN_MANAGEMENT_TOKEN (empfohlen, damit er aus dem Quellcode bleibt). Beide Token-Arten funktionieren (siehe API-Authentifizierung): ein Personal Access Token für vollständige Konto-Infrastruktur oder ein Troop Access Token, eingeschränkt auf die Teams, die deine Konfiguration verwaltet.
export CAPUTCHIN_MANAGEMENT_TOKEN=cpt_pat_...Es gibt einen Henne-Ei-Fall: der Provider kann auch Tokens prägen (die Ressourcen caputchin_account_token und caputchin_troop_pat), aber er braucht überhaupt erst einen Token, um sich zu authentifizieren. Präg den ersten von Hand im Dashboard, dann lass Terraform den Rest verwalten.
Den Provider konfigurieren
terraform {
required_providers {
caputchin = {
source = "caputchin/caputchin"
version = "~> 0.1"
}
}
}
# Token from CAPUTCHIN_MANAGEMENT_TOKEN; endpoint defaults to https://caputchin.com/api.
provider "caputchin" {}Dasselbe source = "caputchin/caputchin" löst sich aus der Terraform Registry und der OpenTofu Registry auf, also ist der Block unter beiden Tools gleich.
Ein ausgearbeitetes Beispiel: ein Team mit einem gegateten Site-Key
Das erstellt ein Team, einen Site-Key darin und schaltet das Spiel-Gate für diesen Key ein:
resource "caputchin_troop" "shop" {
name = "shop-team"
}
resource "caputchin_site_key" "shop_frontend" {
name = "shop-frontend"
troop_id = caputchin_troop.shop.id
}
resource "caputchin_site_security_settings" "shop_frontend" {
site_id = caputchin_site_key.shop_frontend.id
require_game = true
}
# The public key is an attribute; the secret is sensitive, in state only.
output "shop_site_key" {
value = caputchin_site_key.shop_frontend.key
}Dann, mit beiden Tools:
terraform init && terraform apply
# or
tofu init && tofu applyDas secret des Site-Keys ist ein sensitives berechnetes Attribut; lies es aus dem State (terraform output), um deine Backend-Verifizierung zu konfigurieren. Jeder Apply wird deinem Token im Audit-Log auf Apex zugeschrieben, sodass eine Änderung durch Terraform so nachverfolgbar ist wie eine Dashboard-Bearbeitung.
Was du verwalten kannst
Ressourcen decken dieselbe Fläche wie das Dashboard ab: Teams und ihre Mitglieder und Tokens, Site-Keys, Sicherheitseinstellungen, gehostete Verifizierung, Spiel- und White-Label-Anpassung und Konto-Tokens. Data Sources lassen dich bestehende Teams, Sites, Konto-Infos und Statistik in eine Konfiguration einlesen.
Die vollständige Referenz
Jede Ressource und Data Source, mit all ihren Argumenten und Attributen und ihrer Import-Syntax, ist auf der Registry-Seite des Providers. Sie wird aus der Provider-Quelle generiert, also verfolgt sie die veröffentlichte Version exakt:
- Terraform Registry:
registry.terraform.io/providers/caputchin/caputchin - OpenTofu Registry:
search.opentofu.org/provider/caputchin/caputchin
Für die zugrunde liegenden Operationen, die jede Ressource ausführt, sieh dir die interaktive API-Referenz an.
Siehe auch
- Caputchin über die API verwalten: die HTTP-API, auf der der Provider sitzt.
- Den MCP-Server nutzen: die KI-Agenten-Fläche.
- Teams und Site-Keys: die Ressourcen, die du verwaltest.