mcpField
C
configure-skaffold

configure-skaffold

github.com/laurigatesクラウド・DevOps5958 回インストール1 日前に更新
リポジトリ

configure-skaffold について

Kubernetes プロジェクトで Skaffold を確認、設定するスキルです。設定の準拠状況を報告し、ローカルホスト限定のポート転送、プロファイル、API バージョン、dotenvx フックなどを調整できます。

主な機能

  1. 01Kubernetes プロジェクトへの適用可否の確認
  2. 02Skaffold 設定とプロファイルの監査
  3. 03安全でないポート転送アドレスの検出
  4. 04プロファイルと dotenvx フックの追加
  5. 05準拠チェックと修正に対応

活用シーン

  1. 01Kubernetes プロジェクトの Skaffold 設定の確認
  2. 02ポート転送をローカルホストに限定
  3. 03標準 skaffold.yaml の作成や更新

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/laurigates/claude-plugins --skill configure-skaffold

インストール後、Claude Code で/configure-skaffoldを入力して読み込まれたか確認します。

同梱ファイルREFERENCE.md

詳細

/configure:skaffold

Skaffold を確認し、プロジェクト標準に合わせて設定します。

このスキルを使用する場面

次の場合にこのスキルを使用してください次の場合は別の方法を使用してください
Kubernetes プロジェクトの Skaffold 設定が準拠しているか確認する場合プロジェクトに k8s/ または helm/ ディレクトリがない場合(Skaffold は適用できません)
ポートフォワーディングのセキュリティ問題(0.0.0.0 へのバインド)を修正する場合Kubernetes マニフェストまたは Helm チャートを直接管理する場合
Skaffold でシークレットを生成するための dotenvx フックを追加する場合Kubernetes を使わずにコンテナビルドを設定する場合(/configure:dockerfile を使用してください)
Skaffold API バージョンを最新にアップグレードする場合Skaffold の実行時エラーをデバッグする場合(system-debugging エージェントを使用してください)
テンプレートから標準の skaffold.yaml を作成する場合Skaffold 以外のローカル開発ワークフロー(例:Docker Compose)を設定する場合

コンテキスト

  • K8s/Helm ディレクトリ: !find . -maxdepth 1 -type d \( -name 'k8s' -o -name 'helm' \)
  • Skaffold 設定: !find . -maxdepth 1 -name \'skaffold.yaml\'
  • Skaffold API バージョン: !grep -m1 apiVersion skaffold.yaml
  • ポートフォワーディング設定: !grep -m1 address skaffold.yaml
  • 定義されているプロファイル: !grep -m10 'name:' skaffold.yaml
  • シークレット生成スクリプト: !find . -maxdepth 1 -name \'scripts/generate-secrets.sh\'
  • dotenvx が利用可能か: !command -v dotenvx
  • プロジェクト標準: !find . -maxdepth 1 -name '.project-standards.yaml' -type f

参照するスキル:skaffold-standards、container-development、skaffold-orbstack

適用範囲:Kubernetes デプロイを行うプロジェクト(k8s/、helm/ ディレクトリがある場合)のみ

パラメーター

$ARGUMENTS から次の項目を解析します。

フラグ説明
--check-only修正を提案せずに状態を報告します
--fix修正を自動的に適用します

バージョン確認

重要:Skaffold を設定する前に、最新バージョンを確認してください。

  1. Skaffold:skaffold.dev または GitHub リリースを確認します
  2. API バージョン:現在推奨されているのは skaffold/v4beta13 です
  3. dotenvx:最新のパターンについて dotenvx.com を確認します

WebSearch または WebFetch を使って、現在の Skaffold バージョンと API バージョンを確認してください。

実行

次の Skaffold 準拠チェックを実行します。

ステップ 1:適用可能性を確認する

k8s/ または helm/ ディレクトリがあるか確認します。どちらも見つからない場合は「SKIP: Skaffold not applicable (no Kubernetes manifests)」と報告して終了します。見つかった場合は、skaffold.yaml の確認に進みます。

ステップ 2:設定を解析する

skaffold.yaml を読み取り、次の項目を抽出します。

  • API バージョン
  • ビルド設定(local.push、useBuildkit)
  • デプロイ設定(kubeContext、statusCheck)
  • ポートフォワーディング(addresses)
  • 定義されているプロファイル
  • フック(dotenvx との連携)
ステップ 3:準拠状況を分析する

各設定が次の標準に準拠しているか確認します。

チェック項目標準重大度
API バージョンskaffold/v4beta13古い場合は WARN
local.pushfalsetrue の場合は FAIL
portForward.address127.0.0.1未設定または 0.0.0.0 の場合は FAIL
useBuildkittruefalse の場合は WARN
kubeContextorbstackINFO(ローカル開発向けの推奨設定)
dotenvx フックビルドまたはデプロイのフックINFO(シークレット向けの推奨設定)

セキュリティ上重要:ポートフォワーディングは localhost(127.0.0.1)のみにバインドする必要があります。0.0.0.0 やアドレス未指定は決して許可しないでください。

推奨設定:

  • ローカル開発ワークフロー向けの db-only または services-only プロファイル
  • 妥当な期限(init コンテナには 180 秒)を設定した statusCheck: true
  • Pod の初期化を適切に行うための tolerateFailuresUntilDeadline: true
  • 構造化されたアプリケーションログ向けの JSON ログ解析
  • .env ファイルからシークレットを生成する dotenvx フック
ステップ 4:結果を報告する

次の項目を含む準拠状況レポートを出力します。

  • Skaffold ファイルの場所と API バージョン
  • 各設定チェックの結果(PASS/WARN/FAIL)
  • 見つかったプロファイル
  • スクリプトの状態(generate-secrets.sh)
  • 全体の準拠状況

--check-only が指定されている場合は、ここで終了します。

ステップ 5:修正を適用する(--fix が指定された場合、またはユーザーが確認した場合)
  1. skaffold.yaml がない場合:REFERENCE.md の標準テンプレートから作成します
  2. セキュリティ上の問題:ポートフォワーディングのアドレスを 127.0.0.1 に修正します
  3. プロファイルがない場合:db-only プロファイルのテンプレートを追加します
  4. 古い API:apiVersion を v4beta13 に更新します
  5. dotenvx フックがない場合:シークレット生成フックを追加します
  6. スクリプトがない場合:REFERENCE.md のテンプレートから scripts/generate-secrets.sh を作成します
  7. kubeContext がない場合:ローカル開発用に orbstack を追加します
ステップ 6:標準の追跡情報を更新する

.project-standards.yaml を更新します:

components:
  skaffold: "2025.1"

エージェント向け最適化

コンテキストコマンド
手早く準拠状況を確認/configure:skaffold --check-only
すべての問題を自動修正/configure:skaffold --fix
API バージョンを確認head -5 skaffold.yaml | grep apiVersion
ポートフォワーディングのセキュリティを確認grep -A2 'portForward' skaffold.yaml | grep address
プロファイルを一覧表示grep 'name:' skaffold.yaml | grep -v metadata

セキュリティに関する注意

address: 127.0.0.1 を指定せずにポートフォワーディングを行うと、サービスがネットワークに公開されます。これは常に修正すべき FAIL 条件です。

標準の Skaffold テンプレート、dotenvx の統合パターン、および generate-secrets スクリプトのテンプレートについては、REFERENCE.md を参照してください。

関連項目

  • /configure:dockerfile - コンテナー設定
  • /configure:all - すべての準拠チェックを実行
  • skaffold-standards スキル - Skaffold のパターン

コメント