Caputchin
自動化

Terraform または OpenTofu を使う

公式の Caputchin プロバイダーは、あなたのアカウントを infrastructure-as-code として管理させます。チーム、サイトキー、セキュリティポリシー、メンバー、トークンを .tf ファイルで宣言し、ほかのリソースと同じように適用します。それは automation の下のすべてと同じ管理 API を、Terraform リソースとして表したものです。

それは一度公開され、同じソースから Terraform と OpenTofu の両方 で動きます。HCL は同一で、CLI バイナリ(terraformtofu)とレジストリだけが違います。以下のどこでも、あなたが走らせるほうを使ってください。

アクセストークンを発行する

プロバイダーはトークンを CAPUTCHIN_MANAGEMENT_TOKEN 環境変数から読みます(ソースの外に留まるよう推奨)。どちらの種類のトークンも動きます(API 認証 を参照)。アカウント全体のインフラのための Personal Access Token、または設定が管理するチームにスコープづけされた Troop Access Token です。

export CAPUTCHIN_MANAGEMENT_TOKEN=cpt_pat_...

鶏が先か卵が先かのケースがあります。プロバイダーはトークンを 発行 もできます(caputchin_account_tokencaputchin_troop_pat リソース)が、そもそも認証するためにトークンを要します。最初の 1 つはダッシュボードで手で発行し、それから残りを Terraform に管理させてください。

プロバイダーを設定する

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

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

同じ source = "caputchin/caputchin" が Terraform Registry と OpenTofu Registry から解決されるので、ブロックはどちらのツールでも同じです。

実例:ゲートされたサイトキーを持つチーム

これはチーム、その中のサイトキーを作り、そのキーのゲームゲートをオンにします:

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
}

それから、どちらのツールでも:

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

サイトキーの secret は機微な計算属性です。バックエンドの検証 を設定するために、state から読んでください(terraform output)。すべての apply は、Apex では 監査ログ であなたのトークンに帰属するので、Terraform 経由の変更はダッシュボードの編集と同じくらい追跡できます。

管理できるもの

リソースはダッシュボードと同じ面をカバーします。チームとそのメンバーとトークン、サイトキー、セキュリティ設定、ホスト型認証、ゲームとホワイトラベルのカスタマイズ、そしてアカウントトークンです。データソースは、既存のチーム、サイト、アカウント情報、統計を設定に読み込ませます。

完全なリファレンス

すべてのリソースとデータソースを、そのすべての引数と属性とインポート構文とともに、プロバイダーのレジストリページに載せています。それはプロバイダーのソースから生成されるので、リリースされたバージョンを正確に追います:

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

各リソースが行う根底の操作については、インタラクティブ API リファレンス を参照してください。

あわせて読む

このページの内容