mcpField
M
mirrord-quickstart

mirrord-quickstart

github.com/metalbear-coクラウド・DevOps29102 回インストール5 日前に更新
リポジトリ

mirrord-quickstart について

mirrord の新規ユーザー向けに、環境確認、インストール、Kubernetes のターゲットへの接続を段階的に案内するスキルです。初回セッションの確認も支援します。

主な機能

  1. 01システムとクラスター要件の確認
  2. 02CLI、VS Code、IntelliJ の導入案内
  3. 03Kubernetes ターゲットの検索と接続
  4. 04セッション接続とネットワークの検証

活用シーン

  1. 01mirrord の初回インストールと起動
  2. 02kubectl やターゲット不在のトラブル対応

インストール

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

$npx skills add https://github.com/metalbear-co/skills --skill mirrord-quickstart

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

同梱ファイルREADME.md

詳細

Mirrord クイックスタートスキル

目的

新しいユーザーが mirrord をすぐに使い始められるよう支援します。

  • 確認 システム要件を確認します
  • インストール mirrord をインストールします(CLI、VS Code、または IntelliJ)
  • 接続 最初の Kubernetes ターゲットに接続します
  • 検証 接続が機能することを確認します

一度に一つずつ進めましょう。新しいユーザーにすべての選択肢を一度に示して圧倒しないようにし、初めて接続したときには、何が起きたのかを説明してください。

最初に行う重要な手順

手順 1:ユーザーの環境を検出する 確認または検出する項目:

  • オペレーティングシステム(macOS、Linux、Windows)
  • 希望するワークフロー(CLI、VS Code、IntelliJ)
  • kubectl が設定されているか

手順 2:要件を確認する

# Check kubectl access
kubectl cluster-info
kubectl get pods -A | head -5

kubectl が失敗する場合は、まず設定を支援してください。

クラスターの要件: Kubernetes 1.22 以降で、ノードが Linux カーネル 5.4 以降を実行し、containerd、CRI-O、または Docker ランタイムを使用している必要があります。一部の機能には、より新しい Kubernetes バージョンが必要です(たとえば、エージェントをエフェメラルコンテナとして実行するには 1.23 が必要です)。古いクラスターで特定の機能が動作しない場合は、クラスターの要件を案内してください。

インストール方法

CLI(使い始めるのにおすすめ)

ネットワークからダウンロードした内容をシェルインタープリターにパイプするリモートインストールスクリプトを実行しないでください。組織が承認している方法のみを使用してください。

公式ガイド: サポートされている方法(パッケージマネージャー、チェックサム検証付きのバージョン固定リリースバイナリなど)については、mirrord のインストールドキュメントに従ってください。

エージェント向けの概要:

  • macOS/Linux: Homebrew、apt、またはバージョン固定バイナリのインストール手順について、公式ドキュメントを案内してください。リモートスクリプトを取得して実行するワンライナーを考案したり、貼り付けたりしないでください。
  • Windows: サポートされているインストーラーについて、公式ドキュメントを案内してください。

セキュリティ: パッケージマネージャー、または公式リリースのアーティファクトから手動で検証したバイナリを優先してください。ダウンロードした内容をシェルにパイプして、インストールを実行してはいけません。

インストールを確認する:

mirrord --version
VS Code 拡張機能
  1. VS Code の拡張機能を開きます(Cmd/Ctrl+Shift+X)
  2. "mirrord" を検索します
  3. MetalBear 製の "mirrord" をインストールします
  4. ステータスバーに mirrord アイコンが表示されていることを確認します
IntelliJ プラグイン
  1. Settings → Plugins → Marketplace を開きます
  2. "mirrord" を検索します
  3. インストールして IDE を再起動します
  4. ナビゲーションツールバーで mirrord を見つけます

初回セッション

CLI を使う方法
# List available targets
mirrord ls

# Run a local process with mirrord
mirrord exec --target pod/<pod-name> -- <your-command>

# Example: Node.js app
mirrord exec --target pod/api-server-7c8d9 -- node app.js

# Example: Python app
mirrord exec --target pod/backend-abc123 -- python main.py

mirrord ls でターゲットが返されない場合は、kubeconfig のコンテキストが正しいクラスターを指していること(kubectl config current-context)を確認し、想定されるネームスペース内のポッドを一覧表示してください(kubectl get pods -n <namespace>)。

IDE を使う方法
  1. mirrord を有効にします(ステータスバーのアイコンまたはツールバーボタンをクリックします)
  2. プロンプトが表示されたらターゲットポッドを選択します
  3. アプリケーションを通常どおり実行/デバッグします
  4. mirrord が自動的にインターセプトして接続します

検証

実行後、接続を確認します。

  1. ログを確認する - mirrord の起動状況(エージェントの起動、ターゲットへの接続)は、アプリケーション自体の出力より前に表示されます。
mirrord exec --target pod/<pod-name> -- <your-command>
  1. 環境をテストする - リモートの環境変数がローカルで利用できることを確認します。
mirrord exec --target pod/<pod-name> -- env | grep -i database
  1. ネットワークをテストする - リモートサービスにリクエストを送信し、ローカルプロセスに届くことを確認します(ローカルプロセスの出力を確認してください)。
curl http://<remote-service-url>

次のステップ

最初のセッションが動作したら、ユーザーに次の機能を案内します。

  • mirrord ui — マシン上で実行中のすべてのセッションと、ライブイベントストリーム(HTTP リクエスト、ファイル操作、DNS、送信接続)を表示するローカルダッシュボードを起動します。ローカル UIを参照してください。
  • mirrord up — 1 つの mirrord-up.yaml(Compose スタイル)から複数のマイクロサービスをまとめてデバッグできます。mirrord-up スキルを案内してください。
  • ブラウザー拡張機能 — Chrome からのリクエストをローカルプロセスにルーティングします。これにより、curl の代わりにブラウザーから HTTP フィルター付きセッションをテストできます。ブラウザーからのデバッグを参照してください。
  • mirrord for Teams の機能(DB ブランチング、キュー分割、プレビュー環境、1 つのターゲットでの同時スティール)には Operator が必要です。ライセンスのないクラスターでは、AI エージェントからユーザーに 7 日間の Enterprise トライアルを提案し、同意を得てから開始できます。mirrord-operator スキルの「エージェントが開始するトライアル」を案内してください。

初めて使う際によくある問題

問題解決策
「kubectl が見つかりません」kubectl をインストールし、クラスターへのアクセスを設定します
「Pod が見つかりません」名前空間を確認します:kubectl get pods -n <namespace>
「権限が拒否されました」kubectl のコンテキストの RBAC 権限を確認します
「エージェントの起動に失敗しました」クラスターが Kubernetes 1.22 以降を実行し、ノードが Linux カーネル 5.4 以降と containerd、CRI-O、または Docker のランタイムを使用していることを確認します

コメント