CL
cluster-api
Cluster APIのCRDやControllerなどを実装する時のルール
Install
mkdir -p .claude/skills/cluster-api && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/14224" && unzip -o skill.zip -d .claude/skills/cluster-api && rm skill.zipInstalls to .claude/skills/cluster-api
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Cluster APIのCRDやControllerなどを実装する時のルール38 charsno explicit “when” trigger
About this skill
Cluster APIのCRDやControllerなどを作成する際は、公式ドキュメント をよく読んで、これらの使用に準拠するようにして下さい。
主要なドキュメントと要約
1. Provider Overview
インフラストラクチャプロバイダーの役割と、開発の全体像を説明しています。
- 役割: VM、ロードバランサー、ネットワークなどのクラウド固有リソースのライフサイクル管理。
- 開発ツール:
kubebuilderによるプロジェクト初期化、Tiltによる高速な開発サイクルが推奨されます。
2. Getting Started
プロバイダー実装の最初の一歩から詳細な実装ガイドです。
- Naming Conventions: リポジトリ名は
cluster-api-provider-${env}、略称(CAPA, CAPG等)の利用。 - Implement API Types:
Spec(望ましい状態)とStatus(現在の状態)の明確な分離。runtime.NewSchemeBuilderによる依存関係の最小化。 - Webhooks: 不正な設定の拒否(Validation)、デフォルト値の設定(Defaulting)、複数バージョン間の変換(Conversion)。
- Controllers and Reconciliation: べき等性の確保、
OwnerReference(Cluster等)の適切な処理、patch.NewHelperによる状態更新。
3. Contracts
Core CAPI と連携するためにプロバイダーが遵守すべき「契約」です。
- Infrastructure Cluster Contract:
- Infrastructure Machine Contract:
- Infrastructure MachinePool Contract: マシンのグループ管理(任意/実験的)。
4. Best Practices
- リソース識別: 名前ではなく、タグやラベルを用いてクラウドサービス上のリソースを識別する。
- 可観測性: 状態を Conditions や Events として公開し、トラブルシューティングを容易にする。
- コントローラーの調整: 並列実行数やレート制限を適切に設定する。
5. Security Guidelines
- 最小権限: プロバイダーが使用する資格情報には必要最小限の権限のみを付与する。
- 機密情報の保護: Bootstrap Data(SSHキー等を含む)をセキュアに扱い、使用後はクリーンアップする。
- レート制限: クラウドAPIへの過剰なリクエストを防ぎ、クォータ超過やDOSを防ぐ。
実装上の注意点
- べき等性:
Reconcile関数は何度実行されても同じ結果になるように実装してください。 - 状態の永続化: メモリ内に状態を持たず、必ず Kubernetes オブジェクトの
StatusやSpecに保存してください。 - エラー処理: 一時的なエラーは
requeueし、致命的なエラーはConditionsでユーザーに通知してください。