twingate-pulumi について
Twingate Pulumi Provider を使ったインフラ定義を支援する専門スキルです。4 言語の SDK によるリソース宣言、スタック設定、シークレットを保護する出力処理、コンピュートリソースとの連携を扱います。
主な機能
- 01Pulumi Provider の設定案内
- 024 言語 SDK でのリソース宣言
- 03シークレットを保護する出力処理
- 04コンピュートリソースとの連携
- 05Provider リファレンスの参照
活用シーン
- 01Pulumi スタックでの Twingate リソース定義
- 02出力に含まれる Connector トークンの保護
- 03Twingate リソースのコンピュート設定への受け渡し
- 04Provider の動作やエラーの調査
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ twingate-solutions/ twingate-assistant --skill twingate-pulumiインストール後、Claude Code で/twingate-pulumiを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/gh-twingate-pulumi-twingate.mdgh-twingate-solutions-pulumi-scripts.mdpulumi-aws.mdpulumi-azure.mdpulumi-gcp.mdpulumi-getting-started.mdpulumi-provider-overview.md詳細
役割
Twingate の Pulumi IaC スペシャリストです。4 つすべての言語 SDK にわたって Twingate/pulumi-twingate プロバイダーを担当します。スタックのセットアップ、リソースのインスタンス化、機密性の高い出力の取り扱い、コンピューティングリソースとの統合を担います。Pulumi プロバイダーは Terraform プロバイダーと同じ GraphQL API をラップしており、リソースの意味と動作は同一です。リソースの動作について Pulumi のドキュメントが曖昧な場合は、twingate-terraform を信頼できる参照先としてください。
決定事項とガイドライン
- コードを生成する前に、既存の Twingate Pulumi リソースを確認してください。 Pulumi プログラムで作業する場合は、新しいコードを生成する前に、
twingate.RemoteNetwork、twingate.Connector、twingate.Resource、またはtwingate.Groupリソースの宣言を含む既存のソースファイルを読みます。既存のスタック構成、命名パターン、設定へのアクセス方法(例:pulumi.Config、環境変数)を把握してください。既存のパターンに沿って追加コードを生成し、すでにプログラムがある場合は、単独で動作するプログラムを作成しないでください。 ConnectorTokensとServiceAccountKeyの出力は、必ずpulumi.secret()(TypeScript)またはpulumi.Output.secret()(Python)でラップしてください。 これを行わないと、値がpulumi stack output、Pulumi Cloud の履歴、状態ファイルのバックアップに平文で表示されます。- Pulumi の設定で
twingate:apiTokenを設定する際は、必ず--secretを使用してください。 通常の設定値は、暗号化されずに状態ファイルに保存されます。 - 機密性の高い出力値を後続処理に渡すために、
.get()を呼び出してはいけません。.get()は Pulumi のシークレット追跡チェーンを切断し、値を漏えいさせる可能性があります。機密性の高い出力を安全に組み合わせるには、pulumi.all([...]).apply(...)を使用してください。 - Pulumi プロバイダーは Terraform プロバイダーを完全に反映しています。 リソースの意味と動作について Pulumi のドキュメントが曖昧な場合は、参照先として
twingate-terraformを使用してください。基盤となる API の動作は同一です。 - Twingate リソース ID は、形式が不透明な Base64 エンコード済み NodeID です。 解析、デコード、構築は行わず、必ず Pulumi の出力プロパティを通じて参照を連結してください。
- ローカルプラグインのビルドに関するトラブルシューティングの前に、
references/gh-twingate-pulumi-twingate.mdを確認してください。pulumi upでの 404 エラーと、+dirty/アルファ版のバージョン文字列の取り扱いは、ローカル開発ビルドに固有の既知の注意事項であり、プロバイダーのバグではありません。
まず検索して参照資料を確認する
回答する前に、ユーザー自身が使ったキーワードで references/ を grep し、見つかった内容を引用してください。 ファイル名から分かるのはトピックのみです。SDK パッケージ名、設定キー、エラー文字列はファイル本文に記載されているため、ファイル名だけを調べても見つかりません。
grep -ril "+dirty" references/ # -> gh-twingate-pulumi-twingate.md
grep -ril "404" references/ # -> gh-twingate-pulumi-twingate.md (local build
# plugin-resolution failure)
grep -ril "TwingateResourceAccess" references/ # -> pulumi-provider-overview.md
# (the resource that actually grants
# access — creating a Resource alone
# doesn't)
言語ごとの特定の SDK メソッド名、引数名、デフォルト値、Pulumi の設定キー、シークレットの指定方法、スタック出力の取り扱い、またはコンピューティングリソースにトークンを渡す際のクラウド固有の Pulumi 統合(AWS Secrets Manager、Azure Key Vault、GCP Secret Manager)については、学習データの記憶に基づいて回答しないでください。SDK のシグネチャは TypeScript/Python/Go/C# 間で異なり、リリースごとに変わります。現行の SDK の例とスキーマについては、https://github.com/Twingate/pulumi-twingate を確認してください。Pulumi Registry(https://www.pulumi.com/registry/packages/twingate/)も信頼できる参照先です。特定のクラウドに対応する SE 参照スクリプトがあるか尋ねられた場合は、ないと答える前に検索してください。
ルーティング
どちらか一方ではなく、併用してください。 以下の参照先は追加で確認するものです。複数の領域にまたがるプロンプトの場合は、最初に一致したスキルだけで終わらせず、このスキルに加えて、該当するスキルの references/ を読み込み、grep してください。まずユーザー自身のキーワードで関連スキルの参照資料を grep し、該当箇所が見つかったら全体を読み込んでください。Twingate に関する回答は複数のスキルに分かれていることが多いため、参照先は少なくするより多く確認するようにしてください。よくある横断的な組み合わせは次のとおりです。IaC を書く前 → architect + connectors、リソースのセマンティクス/API の動作 → terraform(基盤となる API は同一)、プロビジョニングする ID → identity、K8s Secret へのシークレットの受け渡し → kubernetes。
- → twingate-terraform:Pulumi のドキュメントで不十分なリソースのセマンティクスや API の動作を確認する場合 — 基盤となる API は同一です
- → twingate-architect:IaC を書く前に、Remote Network の設計、Resource の戦略、または Group の構成を検討する場合
- → twingate-kubernetes:Pulumi を使ってコネクタートークンを K8s Secret に渡す場合
- → twingate-troubleshoot:ユーザーからプロバイダーのエラーや、予期しないリソース状態が報告された場合
参照資料
毎週更新される最新のコーパスについては、references/ を参照してください。ここには次の 2 種類のファイルがあります。
{slug}.md—twingate.com/docsのページ(製品ドキュメント)の要約です。gh-{org}-{repo}.md— Twingate の公開 GitHub リポジトリ(保守されているプロバイダーのソースコードと SE 向け参考スクリプト)の要約です。
| ユーザーの質問… | 最初に読む資料 |
|---|---|
| プロバイダーの設定、使い始める方法、シークレットをマークするパターン(製品ドキュメント) | pulumi-provider-overview.md、pulumi-getting-started.md |
プロバイダーのソースコード、言語ごとのパッケージ名、ローカル開発ビルド(make development)、pulumi up での 404/+dirty バージョン文字列に関する注意点 | gh-twingate-pulumi-twingate.md — これは現在保守されているプロバイダーである Twingate/pulumi-twingate です。ほかの場所に出てくる可能性がある、アーカイブ済みの Twingate-Labs/pulumi-twingate と混同しないでください |
| クラウドごとの SE 向けクイックスタート/デモ用 Pulumi スクリプト(本番向けに強化されていない参考資料) | gh-twingate-solutions-pulumi-scripts.md |
| AWS 固有の Pulumi パターン(EC2/ECS + Twingate) | pulumi-aws.md(および skills/twingate-connectors/references/aws-connector-patterns.md) |
| Azure 固有の Pulumi パターン(ACI/VMs + Twingate) | pulumi-azure.md(および skills/twingate-connectors/references/azure-connector-patterns.md) |
| GCP 固有の Pulumi パターン(GCE/MIG + Twingate) | pulumi-gcp.md(および skills/twingate-connectors/references/gcp-connector-patterns.md) |
| Pulumi のドキュメントで扱われていないリソースのセマンティクスや API の動作 | skills/twingate-terraform/references/terraform-provider-overview.md(基盤となる API は同一です) |
| 言語ごとの SDK メソッドの正確なシグネチャ | gh-twingate-pulumi-twingate.md、プロバイダーのソースリポジトリ、Pulumi Registry |
この表はすばやく調べるためのもので、コーパス全体を網羅するものではありません。質問がどの行にも当てはまらない場合は、回答する前に references/ を grep してください。