コンテンツにスキップ
これは最新の機能を備えた最新リリースですが、長期サポートは提供されません。サポートを継続するには、新しいリリースごとにアップグレードするか、四半期ごとの安定版リリースをご利用ください。

For the complete documentation index, see llms.txt. Markdown versions of all docs pages are available by appending .md to any docs URL.

プラグインを公開する

Page as Markdown

プラグイン定義を作成してレジストリカタログに公開し、ハーネスエージェントの定義から参照できるようにします。

始める前に

  1. OIDC プロバイダーをセットアップして、ユーザーがレジストリで認証できるようにします。

  2. AWS EKS クラスターに Solo Enterprise for agentregistry をインストールし、arctl CLI をセットアップします。

  3. まだ実行していない場合は、Solo Enterprise for agentregistry サーバーをポート 12121 でポートフォワードします。レジストリはデフォルトでは外部に公開されないため、ローカルマシンから到達するにはポートフォワードが必要です。

    kubectl -n agentregistry-system port-forward svc/agentregistry-enterprise-server 12121:12121

プラグインを公開する

プラグイン用のスキャフォールドコマンドはありません。プラグイン定義を手動で作成してから適用します。

  1. プラグイン定義ファイルを作成し、レジストリカタログにプッシュします。次の例では、Solo.io の doc-examples リポジトリから hello-plugin を公開します。

    arctl apply -f- <<EOF
    apiVersion: ar.dev/v1alpha1
    kind: Plugin
    metadata:
      name: hello-plugin
    spec:
      title: Hello Plugin
      description: A simple test plugin with a /hello slash command.
      harnesses:
        - claude-code
      source:
        type: git
        git:
          repository:
            url: https://github.com/solo-io/doc-examples
            branch: main
            subfolder: agentregistry/plugin
    EOF
    フィールド説明
    spec.titleカタログ UI に表示される、人が読みやすい表示名。
    spec.descriptionカタログ一覧に表示される短い説明。
    spec.harnessesバンドルがサポートするハーネスの参考リスト。指定できる値: claude-code、openclaw。このフィールドは、レジストリがプラグインを解決したりインデックス化したりする方法には影響しません。
    spec.source.typeソースの種類。git を指定する必要があります。
    spec.source.git.repository.urlプラグインバンドルを含むリポジトリの URL です。GitHub (github.com) と GitLab リポジトリをサポートします。セルフホストの GitLab インスタンスも含まれます。リポジトリがプライベートの場合は、先に認証情報を設定し、spec.source.git.repository.credentialsRef フィールドで認証情報 Secret を参照していることを確認してください。
    spec.source.git.repository.branchプラグインバンドルを含むブランチ。プラグインをレジストリカタログに公開すると、レジストリはブランチを特定のコミット SHA に解決し、その SHA をプラグインに保存します。以降のデプロイはすべて、ブランチの先端ではなくピン留めされたコミットを使用します。新しいコミットを反映するには、プラグインを再公開する必要があります。
    spec.source.git.repository.commit任意。ブランチではなく特定のコミット SHA を直接ピン留めします。ブランチがどこに進んでも、プラグインを正確なリビジョンに固定したい場合に使用します。
    spec.source.git.repository.subfolder任意。リポジトリ内でのプラグインルートへのパス。プラグインがリポジトリのルートにない場合に使用します。

    出力例:

    ✓ Plugin/hello-plugin (latest) created
    
  2. プラグインがカタログに作成されたことを確認します。

    arctl get plugin

    出力例:

    NAME           TAG      DESCRIPTION
    hello-plugin   latest   A simple test plugin with a /hello slash command.
    
  3. プラグインの詳細を取得し、指定した GitHub URL がレジストリで正しく解決され、プラグインバンドルの情報が取得されたことを確認します。この情報はプラグインの status セクションに保存されます。

    arctl get plugin hello-plugin -o yaml

    出力例:

    status:
      conditions:
      - lastTransitionTime: "2026-08-13T16:11:53.147855761Z"
        reason: Resolved
        status: "True"
        type: Ready
      inventory:
        commands:
        - hello
      manifest:
        description: A simple test plugin
        name: hello-plugin
        version: 1.0.0
      resolvedSource:
        commit: a1681ab532ee6bce445db351aa8048bf06df9159
        type: git
    
    ステータスフィールド説明
    status.conditions[Ready=True]レジストリがプラグインを正常に解決してスキャンしました。
    status.resolvedSource.commitレジストリがピン留めした具体的な git コミット SHA。以降のデプロイはブランチの先端ではなくこのコミットを使用するため、ブランチが進んでもカタログエントリは再現可能なままです。
    status.manifestプラグインの plugin.json マニフェストを解析した内容。
    status.inventoryプラグインにバンドルされていて、スキャン時にレジストリが見つけたリソース。スキル、フック、MCP サーバー、実行ファイルなどが含まれます。

    プラグインの Ready 条件が False の場合は、reason フィールドで詳細を確認します。

    理由意味
    Progressingレジストリはまだプラグインのソースをスキャンしています。
    Resolvedレジストリがソース URL を正常に解決し、コミット SHA を作成しました。
    RefNotFound指定されたブランチまたはコミットがリポジトリに存在しません。spec.source.git.repository.branch または commit を確認してください。
    SourceInvalidリポジトリに有効なプラグインバンドルが含まれていません。想定されるパスに plugin.json マニフェストがあることを確認してください。
    SourceUnresolvableネットワークのタイムアウトなど一時的なエラーによって、ソースリポジトリの解決に失敗しました。レジストリはソースリポジトリのスキャンを自動的に再試行します。
    SourceUnsupportedプラグインのソースがサポートされていません。プラグインは Git リポジトリでホストする必要があります。プラグインバンドルに OCI イメージなど他のソース種別は指定できません。

次のステップ