Caputchin
자동화

Terraform 또는 OpenTofu 쓰기

공식 Caputchin 프로바이더는 당신의 계정을 코드형 인프라로 관리하게 합니다: 팀, 사이트 키, 보안 정책, 멤버, 토큰을 .tf 파일에 선언하고 여느 리소스처럼 적용하세요. 그것은 자동화 아래의 다른 모든 것과 같은 관리 API를, Terraform 리소스로 표현한 것입니다.

그것은 한 번 공개되어 같은 소스에서 Terraform과 OpenTofu 둘 다와 동작합니다; HCL은 동일하고, CLI 바이너리(terraform 또는 tofu)와 레지스트리만 다릅니다. 아래 모든 곳에서, 당신이 돌리는 무엇이든 쓰세요.

액세스 토큰 발급하기

프로바이더는 CAPUTCHIN_MANAGEMENT_TOKEN 환경 변수에서 토큰을 읽습니다(권장, 소스 밖에 머물도록). 어느 종류의 토큰이든 동작합니다(API 인증을 보세요): 전체 계정 인프라를 위한 Personal Access Token, 또는 당신의 구성이 관리하는 팀으로 범위 지정된 Troop Access Token.

export CAPUTCHIN_MANAGEMENT_TOKEN=cpt_pat_...

닭이 먼저냐 달걀이 먼저냐 하는 경우가 있습니다: 프로바이더는 토큰을 발급할 수도 있지만(caputchin_account_tokencaputchin_troop_pat 리소스), 애초에 인증하려면 토큰이 필요합니다. 첫 번째 것은 대시보드에서 손으로 발급하고, 그다음 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은 민감한 계산 속성입니다; 백엔드 검증을 구성하려면 상태에서 그것을 읽으세요(terraform output). 모든 apply는 Apex에서 감사 로그에 당신의 토큰으로 귀속되니, Terraform을 통한 변경은 대시보드 편집만큼 추적 가능합니다.

관리할 수 있는 것

리소스는 대시보드와 같은 표면을 덮습니다: 팀과 그 멤버와 토큰, 사이트 키, 보안 설정, 호스팅 인증, 게임과 화이트라벨 맞춤화, 그리고 계정 토큰. 데이터 소스는 기존 팀, 사이트, 계정 정보, 통계를 구성으로 읽게 합니다.

전체 레퍼런스

모든 리소스와 데이터 소스가, 그 모든 인자와 속성과 임포트 문법과 함께, 프로바이더의 레지스트리 페이지에 있습니다. 그것은 프로바이더 소스에서 생성되니, 공개된 버전을 정확히 추적합니다:

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

각 리소스가 수행하는 바탕 작업은 대화형 API 레퍼런스를 보세요.

함께 보기

이 페이지에서