Caputchin
Automatización

Usa Terraform o OpenTofu

El proveedor oficial de Caputchin te deja gestionar tu cuenta como infraestructura como código: declara equipos, claves de sitio, política de seguridad, miembros y tokens en archivos .tf y aplícalos como cualquier otro recurso. Es la misma API de gestión que todo lo demás bajo automatización, expresada como recursos de Terraform.

Se publica una vez y funciona con Terraform y OpenTofu desde la misma fuente; el HCL es idéntico, solo difieren el binario de CLI (terraform o tofu) y el registry. En todo lo de abajo, usa el que corras.

Acuña un access token

El proveedor lee su token de la variable de entorno CAPUTCHIN_MANAGEMENT_TOKEN (recomendado, para que se quede fuera del código). Cualquier tipo de token funciona (ver autenticación de la API): un personal access token para infraestructura de toda la cuenta, o un troop access token acotado a los equipos que tu configuración gestiona.

export CAPUTCHIN_MANAGEMENT_TOKEN=cpt_pat_...

Hay un caso del huevo y la gallina: el proveedor también puede acuñar tokens (los recursos caputchin_account_token y caputchin_troop_pat), pero necesita un token para autenticarse en primer lugar. Acuña el primero a mano en el dashboard, luego deja que Terraform gestione el resto.

Configura el proveedor

terraform {
  required_providers {
    caputchin = {
      source  = "caputchin/caputchin"
      version = "~> 0.1"
    }
  }
}

# Token from CAPUTCHIN_MANAGEMENT_TOKEN; endpoint defaults to https://caputchin.com/api.
provider "caputchin" {}

El mismo source = "caputchin/caputchin" se resuelve desde el Terraform Registry y el OpenTofu Registry, así que el bloque es el mismo bajo cualquiera de las herramientas.

Un ejemplo trabajado: un equipo con una clave de sitio con gate

Esto crea un equipo, una clave de sitio en él, y activa el gate de juego para esa clave:

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
}

Luego, con cualquiera de las herramientas:

terraform init && terraform apply
# or
tofu init && tofu apply

El secret de la clave de sitio es un atributo computado sensible; léelo del state (terraform output) para configurar tu verificación de backend. Cada apply se atribuye a tu token en el audit log en Apex, así que un cambio a través de Terraform es tan rastreable como una edición en el dashboard.

Qué puedes gestionar

Los recursos cubren la misma superficie que el dashboard: equipos y sus miembros y tokens, claves de sitio, ajustes de seguridad, verificación alojada, personalización de juego y white-label, y tokens de cuenta. Las data sources te dejan leer equipos, sitios, info de cuenta y estadística existentes hacia una configuración.

La referencia completa

Cada recurso y data source, con todos sus argumentos y atributos y sintaxis de import, está en la página de registry del proveedor. Se genera a partir de la fuente del proveedor, así que sigue la versión publicada exactamente:

  • Terraform Registry: registry.terraform.io/providers/caputchin/caputchin
  • OpenTofu Registry: search.opentofu.org/provider/caputchin/caputchin

Para las operaciones subyacentes que cada recurso realiza, mira la referencia interactiva de la API.

Véase también

En esta página