olares-market について
olares-market は、Olares アプリの一覧とライフサイクルを管理するコマンドラインスキルです。カタログ検索、デプロイ操作、状態確認、チャート管理に対応します。
主な機能
- 01カタログとインストール済みアプリの表示
- 02アプリのインストール、アップグレード、複製
- 03アプリの停止、再開、再起動、アンインストール
- 04アプリのライフサイクル状態の確認
- 05チャートのアップロード、ダウンロード、削除
活用シーン
- 01現在のユーザーが導入したアプリの確認
- 02インストールやアップグレードの追跡
- 03アップロード済みチャートのデプロイ
- 04特定アプリの一時停止や削除
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ beclab/ olares --skill olares-marketインストール後、Claude Code で/olares-marketを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/olares-market-chart-download.mdolares-market-chart-publish.mdolares-market-lifecycle-add.mdolares-market-lifecycle-remove.mdolares-market-list.mdolares-market-restart.mdolares-market-watch.md詳細
market(App-store v2)
共通の入口: スイート内のルーティング、アクティブプロフィールの選択、プラットフォームのエントリーポイント、認証の続行/停止ゲートについては、
../olares-shared/SKILL.mdを読み込んでください。ログイン、プロフィールの切り替え、トークンの保存、または認証の復旧が実際に必要な場合に限り、認証リファレンスを読み込んでください。
正式な構文は olares-cli market <verb> --help で確認してください。
使用する場面
- カタログを閲覧したり、「自分のアプリ」を確認したりします。
- アプリのインストール、アップグレード、アンインストール、複製、停止、再開、再起動、またはキャンセルを行います。
- ライフサイクルの状態を確認したり、アップロード済みのチャートを管理したりします。
基本的な考え方:
marketは、アプリストアレベルでのライフサイクルとインベントリ(インストール/アップグレード/チャートのプッシュ)を扱います。ランタイムの K8s オブジェクト、設定、またはメトリクスについては、関連する別の機能にルーティングしてください。
モデルアプリケーションも、他のアプリと同様にここでインストールします。固定されたモデルの場合は install を、フォームでモデルを選択するエンジンベースの場合は clone を使います。異なるのはその後の動作です。olares-router がアプリケーションを検知して、そこへルーティングするゲートウェイプロバイダーを作成し、その後、モデル自体のダウンロード、エンジンの状態、カードを管理します。
すぐ使える手順
| タスク | 参照先 | 最初のコマンド |
|---|---|---|
| カタログアプリをインストールし、起動したタイミングを確認する | 監視と診断のルーティング | olares-cli market install <app> --watch --watch-timeout 1m -o json を実行し、続けて .status を確認 |
| このユーザーがインストールしたものを確認する | このファイル | olares-cli market list --mine -o json |
| 1つのアプリのライフサイクルを追跡する | このファイル | olares-cli market status <app> |
| アプリを削除、一時停止、または実行中に停止する | アンインストール、停止、再開、キャンセル | olares-cli market status <app> -o json を実行して、状態が確定しているか確認 |
| 作成したチャートをこの Olares に配置する | チャートの公開 | olares-cli market upload ./chart.tgz を実行し、続けて olares-cli market install <name> -s upload |
--watch はポーリングを行うため、タイムアウトは失敗ではなく「まだ終端状態になっていない」ことを意味します。また、running はすべての入口が TCP 応答することを示すだけで、アプリが正常に動作しているという意味ではありません。インストールで問題が起きた場合、通常は installFailed ではなく downloadFailed になります。よくある原因(存在しないイメージタグ、到達できないレジストリなど)は、インストール開始前のプル中に発生するためです。この違いによって、状態を解消するために実行できる操作も変わります。downloadFailed で受け付けられるのは新しい install のみですが、installFailed では uninstall を実行できます。
.statusはコマンドの成否を判定し、.finalStateはアプリの最終状態を示します。また、動詞に依存しないのは前者だけです。--watchを指定すると、行の状態がその動詞の意図どおりに確定した時点で.statusはsuccessになります。スクリプトでは、これと終了コードを判定に使います。状態そのものが重要な場合は.finalStateを確認します。ただし、runningが確定状態となるのはinstall、upgrade、restartの場合だけです。成功したstopはstoppedに、成功したuninstallはuninstalledになるため、インストール例からコピーしたrunningのチェックでは、どちらも失敗と判定されます。--watchを指定しない場合、.finalStateはなく、.statusはacceptedになります。これはサーバーがリクエストを受け付けたことを示すもので、アプリが起動していることを意味するものではありません。
動詞一覧
| ファミリー | 動詞 | トリガー時に確認 |
|---|---|---|
| カタログとインベントリ | list、get、categories、status | list、--mine、および status |
| ライフサイクル — アプリを追加する | install、upgrade、clone | 3つすべてで -s と --compute-mode を指定し、clone の新しい名前は .targetApp です — install、upgrade、clone |
| ライフサイクル — アプリを削除または一時停止する | uninstall、stop、resume、cancel | いずれも -s を指定しません。アプリの処理中に uninstall を実行すると、先にキャンセルされます。また、resuming/upgrading のキャンセルには Olares 1.12.7 以降が必要です — uninstall、stop、resume、cancel |
| 再起動 | restart | restart、コンピュートバインディング、ベースライン監視 |
| チャート | upload、delete | どちらもバケットとして upload を固定で使用します。公開済みバージョンのバイト列は変更できません — チャートの公開 |
| チャート | download | 読み取り側の操作で、3つのうち -s を指定するのはこれだけです — チャートの取り出し |
| 監視/停止した操作 | ライフサイクルの --watch、status --watch | 監視と診断の振り分け |
ソースの解決(横断的な事項)
market.olaresは公開カタログであり、閲覧とソースを考慮するライフサイクル動詞のデフォルトです。uploadは Local Sources バケットです。uploadとdeleteは常にこれを使用し、downloadもデフォルトでこれを使用します。cliとstudioは、読み取り専用インベントリで使用されるレガシー/開発用ソースです。--all-sourcesは読み取り専用です。uninstall、stop、resume、restartはソースを受け取らず、ユーザーの状態行を解決します。cancel --sourceを渡すのは、状態行が存在しないか読み取れず、かつユーザーがソースを明確に把握している場合だけです。
アプリのライフサイクル/状態マシン
状態、遷移、失敗時の TTL、シリアル化されたダウンロード、または running を解釈するときは、共通のアプリケーション状態モデルを読み込んでください。
State と OpType は別々です。変更操作の後、OpType が変わる前に、古い終端状態に見える状態が残ることがあります。そのため、変更操作のウォッチャーは、成功と判断する前に要求された操作が観測されることを必要とします。ただし uninstall は、状態行が消えた場合も成功することがあります。status と cancel は意図的に操作の種類に依存しません。
インベントリに関する判断
- 「自分のアプリ」→
market list --mine。完了したインストールだけでなく、有用な移行中および失敗の状態行も含まれます。 - 1つのアプリのライフサイクル →
market status <app>。 - 実行中のアプリ →
market status --all-sourcesを実行し、STATE=runningで絞り込みます。 - カタログの検索 →
market list。
安全性とエスカレーション
- ユーザーが指定したライフサイクル要求は、タスク範囲内での承認として扱います。承認されたデプロイ/デバッグの作業中は、install、upgrade、restart、uninstall、およびクリーン再インストールのたびに確認を繰り返す必要はありません。
- アプリ/ソースが曖昧な場合、削除対象がユーザーデータにまで広がる場合、または操作が承認済みタスクの範囲外である場合は、再度確認してください。
- コンピュートバインディングは
settings compute listから取得してください。ノード/デバイス識別子を作り出してはいけません。 - ライフサイクル操作が停止した場合は、複数のコマンドをまたいで診断します。まず status を確認し、次に
olares-doctorを使用してポッド、イベント、ログ、イメージ、リソースを調べてください。 - 認証情報、必須の環境値、コンピュートの選択肢、または対象アプリ/ソースが曖昧な場合は停止してください。認証エラーには共通の認証ゲートに従ってください。