mcpField
A
antithesis-setup-k8s

antithesis-setup-k8s

github.com/antithesishqテスト・品質302304 回インストール1 週間前に更新
リポジトリ

antithesis-setup-k8s について

Kubernetes ベースのシステム向けに Antithesis のテスト環境を準備するスキルです。Kubernetes アーティファクトとイメージがあるプロジェクトを対象に、テンプレートを絞り込んだマニフェストへ変換し、分類と検証を通じて構成を整えます。

主な機能

  1. 01antithesis/ ディレクトリの初期化
  2. 02Kubernetes 生マニフェストの生成
  3. 03SUT 構成の分類と最小化
  4. 04snouty validate の実行
  5. 05ローカル Kubernetes での任意検証

活用シーン

  1. 01Helm や Kustomize テンプレートのテスト用マニフェスト化
  2. 02Antithesis 向け Kubernetes SUT の最小構成準備
  3. 03マニフェストの確認とローカルデプロイ検証

インストール

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

$npx skills add https://github.com/antithesishq/antithesis-skills --skill antithesis-setup-k8s

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
apply-findings.md
directory-init.md
horizontal-classification.md
landmines.md
manifests.md
operator-recipes.md
submit.md
validate-local.md
validate-snouty.md
vertical-classification.md

詳細

Antithesis K8s セットアップ

スキルのバージョン: 2026-10-21 4f8d80b

目的と目標

システムをほぼアイドル状態のすぐに利用できる状態で Antithesis 上に起動するために必要な antithesis/ ハーネスを作成します。

成功の条件:

  • デプロイ定義が antithesis/config/manifests/ にあり、必要な SUT イメージを参照していること。これは生の Kubernetes マニフェストの集合です(helm も kustomize も使用しません)。
  • antithesis/config/manifests/ が、Antithesis の実行に必要な k8s ベースの SUT の最小限のセットアップであること。
  • antithesis/config/ に対する snouty validate が成功すること。
  • ハーネスが、antithesis-workload スキルでテストテンプレート、アサーション、ワークロードコードを追加または反復できる状態になっていること。
  • ユーザーが実行の送信または開始を求めた場合は、antithesis-launch スキルを使用してください。snouty launch を直接実行しないでください。

前提条件

  • ユーザーは Kubernetes アーティファクト一式を用意している必要があります。helm チャート、kustomize テンプレート、または Kubernetes マニフェストを使用できます。

    • ユーザーが helm チャートを使用する場合は、その helm チャートにテンプレートとして適用できる values ファイルを提供する必要があります。標準の values.yaml、values フィールドを含む ArgoCD Application、または values フィールドを含む FluxCD HelmRelease の形式を使用できます。
    • ユーザーが helm チャートを複数持っている場合は、そのうちどのサブセット(できれば単独のアプリケーションを構成する 1 つか 2 つ)を Antithesis でテストするシステムにするか特定してください。どれを選ぶか、ユーザーに尋ねる必要がある場合もあります。テスト対象の SUT が 1 つだと推測してはいけません。
  • ユーザーは、すでにイメージを antithesis レジストリにプッシュしているか、パブリックイメージを使用している必要があります。プッシュするイメージは、テンプレート化された helm チャートの実行に必要なすべてのイメージです。手順については references/manifests.md を参照してください。

  • snouty がインストールされていない場合は、作業を続行しないでください。インストール方法については https://raw.githubusercontent.com/antithesishq/snouty/refs/heads/main/README.md を参照してください。

  • snouty が 0.8.0 より古い場合は、作業を続行しないでください。バージョンは snouty --version で確認できます。更新するには snouty update を使用してください。

  • このスキルでは、マニフェストを Kubernetes 環境で起動できることを検証するため、稼働中の Kubernetes クラスターにアクセスする kubectl、kind、k3s、kapp を実行します。これらのコマンドを実行する前に、ユーザーに確認してください。このスキルでは、自ら作成した Kubernetes リソースのみを操作し、終了前に作成したすべてのリソースをクリーンアップしてください。

  • このスキルでは、マニフェストをテンプレート化するために helm または kustomize コマンドの実行が必要になる場合があります。

ドキュメントに基づく情報

antithesis-documentation スキルを使用して、以下のページにアクセスしてください。snouty docs を優先してください。

  • Kubernetes セットアップガイド:https://antithesis.com/docs/getting_started/setup_guide/setup_k8s.md
  • Kubernetes のベストプラクティス:https://antithesis.com/docs/best_practices/k8s_best_practices.md
  • 外部依存関係の処理:https://antithesis.com/docs/reference/dependencies.md
  • フォールトインジェクション:https://antithesis.com/docs/product/fault_injection.md

ワークフロー

このスキルは複数のステップに分かれており、各ステップは別々のリファレンスファイルに記載されています。プロジェクトを完全にセットアップするため、以下に記載された各リファレンスファイルを 1 つずつ読み、実装してください。各ステップを実装した後、そこで得た知見によって先行するステップの決定が無効になっていないか確認してください。無効になっている場合は、そのステップに戻ってやり直してから先へ進んでください。水平分類と垂直分類では、apply-findings の段階でマニフェストに適用する作業ファイルが必要です。Antithesis でセットアップを使用した際に何が変わったか分析する必要が生じた場合に備え、これらの調査結果を保持してください。

スキルの実行を開始する際に、最初から始めるか、過去のイテレーションを続けるか、ユーザーに尋ねてください。

パイプライン(順番に実行しますが、後のパスで矛盾が見つかった場合は、前のパスに戻って再実行してください)
  • references/directory-init.md:antithesis/ ディレクトリを初期化します。ここには、Antithesis 上で実行する Kubernetes マニフェスト一式を格納します
  • references/manifests.md:お客様の Kubernetes テンプレートから生成した Kubernetes マニフェストの集合として、antithesis/config/manifests/ を構成します
  • references/horizontal-classification.md:テストに必要なシステムの部分を特定します
  • references/vertical-classification.md:Antithesis の Kubernetes エクスペリエンスを向上させないマニフェストを除外します
  • references/apply-findings.md:分類ステップで得られた結果をマニフェストに適用し、セットアップを簡素化します
  • references/validate-snouty.md:マニフェストに対して snouty validate を実行し、静的解析を行います
  • references/validate-local.md:SUT が機能することを確認するため、ローカルの k3s クラスターに Kubernetes マニフェストをデプロイします
  • references/submit.md:ローカルでテストし、初回実行を送信します

このパイプラインの各ステージは、一方向の関門ではありません。いずれかのステップで、それ以前の分類判断が誤っていたことが判明した場合は、該当する前のパスに戻って再実行し、working.md を更新してください。

また、validate-local.md のステップはユーザーがスキップする場合があります。ユーザーがステップをスキップした場合は、そのステップがスキップされたことを記録し、スキルを続行してください。すべての項目が完了するまでタスクが完了したと告げて終了しないでください。

参照カタログ(上記のステップで使用)
  • references/landmines.md:Antithesis の Kubernetes エクスペリエンスを損なうマニフェストの種類を特定します
  • references/operator-recipes.md:オペレーターが管理するカスタムリソースをプリミティブに展開するためのレシピです。vertical-classification で使用します。

参照

SUT テスト対象システム。

snouty validate Antithesis のスキャフォールディングへの変更をすばやく検証するには、このコマンドを使用してください。詳細は snouty validate --help を参照してください。

working file 各パスを通じて更新されていく作業ファイル(antithesis/scratchbook/k8s-minimization/working.md)

landmine 一般に最小化の対象となる、プラットフォーム層の構成要素です。既知のレシピがあります(Istio、cert-manager、external-secrets など)。

コメント