メインコンテンツにスキップ ナビゲーションにスキップ フッターにスキップ

CLIアプリケーション

プラットフォーム管理のためのRediaccコマンドラインインターフェースの完全ガイド

Rediacc CLIリファレンス

概要

**Rediacc CLI**(`rdc`)は、セルフホスト型インフラストラクチャ — マシン、リポジトリ、ストレージ、バックアップなど — を管理するためのコマンドラインインターフェースです。

インストール

[Rediaccリリースページ](https://www.rediacc.com)からプラットフォーム用の最新バイナリをダウンロードするか、パッケージマネージャーでインストールしてください:

# macOS / Linux
curl -fsSL https://www.rediacc.com | sh

# Or use the packaged binary directly
./rdc --help

グローバルオプション

すべてのコマンドはこれらのグローバルフラグをサポートしています:

フラグ説明
--output出力形式 (table|json|yaml|csv)。REDIACC_DEFAULT_OUTPUT でデフォルトを上書きします。
--configこのコマンドに特定の設定を使用する
--lang言語オーバーライド ({{languages}})
--force確認プロンプトをスキップする

1. 設定管理

設定ファイルを管理する: 作成、切り替え、編集、状態の reconcile、横断的機能(フィールド、監査、SSH キー、リモート同期)

設定ファイルには接続の詳細(API URL、認証情報、デフォルトのチーム/リージョン/ブリッジ)が保存されており、環境間を素早く切り替えることができます。

1.1 prune

~/.config/rediacc/<config>.json にあるローカル設定ファイルから不要な要素を削除します。3つのバケットがクリーンアップされ、すべて純粋にローカルです(SSH/renet 呼び出しなし):(1) アンカー GUID/repo/machine がアクティブな設定にない ACME 証明書キャッシュエントリ;(2) 猶予期間が経過したアーカイブ済みリポジトリ(デフォルト 7 日、defaults.pruneGraceDays 参照);(3) ぶら下がりクロスリファレンス(machine→strategy、strategy→repo)。使用中のリソース、認証情報、ストレージトークン、known-hosts は触れません。デフォルトでは変更が適用されます;--dry-run でプレビューのみ。

rdc config prune [options]
フラグ説明必須デフォルト
--dry-run設定ファイルを変更せずに削除される内容をプレビューします。他の prune コマンドのデフォルトオフセマンティクスを反映します。いいえ-
--certs-onlyACME 証明書キャッシュバケットに制限します。アーカイブのパージとクロスリファレンスのクリーンアップをスキップします。--archives-only および --refs-only と相互排他的。いいえ-
--archives-only期限切れアーカイブのパージに制限します。証明書キャッシュとクロスリファレンスのクリーンアップをスキップします。--certs-only および --refs-only と排他的。いいえ-
--refs-onlyぶら下がりクロスリファレンス(machine→strategy、strategy→repo excludes/includes)に制限します。証明書キャッシュとアーカイブをスキップします。--certs-only および --archives-only と排他的。いいえ-
--purge-archived猶予期間を過ぎたものだけでなく、経過期間に関係なくアーカイブ済みリポジトリをすべて削除する。すべてのアーカイブ済みリポジトリに対して 'rdc repo admin archive purge' を実行するのと同等。復元用に保存された認証情報が一切不要だと確信できる場合のみ使用することいいえ-
--orphan-reposどのマシンにも配置されていないリポジトリエントリを削除します。各エントリにはそのリポジトリの認証情報と SSH キーが保持されているため、この操作は復元できません。先に 'rdc config reconcile' を実行し、配置情報をマシンの状態に反映させてください。いいえ-
--grace-days <days>この呼び出しのアーカイブ猶予期間(日数)を上書きします。設定の defaults.pruneGraceDays にフォールバックし、どちらも設定されていない場合は 7 にフォールバックします。いいえ-

1.2 init

新しい名前付き設定ファイルを作成する

ローカルモードでは、マシンを直接追加できます:

rdc config init [name] [options]
フラグ説明必須デフォルト
--ssh-key <path>SSH 秘密鍵へのパス (例: ~/.ssh/id_rsa)いいえ-
--renet-path <path>renet バイナリへのパス (デフォルト: PATH の renet)いいえ-
--master-password <password>マスターパスワードでリソースを暗号化するいいえ-
--server <url>アカウントサーバーURLいいえ-

1.3 list

すべての設定ファイルをリスト表示する

rdc config list

1.4 show

現在の設定の詳細を表示する

rdc config show [options]
フラグ説明必須デフォルト
--reveal機密値を平文で表示(対話モードのみ)いいえ-

1.5 current

アクティブな設定を表示します: 名前、ファイル、解決されたサーバーとチャンネル、トークンの状態

rdc config current

1.6 delete

設定ファイルを削除する

rdc config delete <name>

1.7 set

デフォルト値を設定する (team、region、bridge)

rdc config set <key> <value>

1.8 clear

デフォルト値をクリアする(すべてまたは特定のキー)

rdc config clear [key]

1.9 recover

バックアップファイル (.bak) から設定を復元する

rdc config recover [name] [options]
フラグ説明必須デフォルト
-y, --yes確認プロンプトをスキップするいいえ-

1.10 ssh

SSH キーの設定を管理する

set

現在の設定に SSH キーを設定する

rdc config ssh set [options]
フラグ説明必須デフォルト
--key <path>SSH 秘密キーファイルのパスはい-
--embedパスを保存する代わりにキーの内容を設定に埋め込むいいえ-

show

現在の SSH キー設定を表示する

rdc config ssh show

remove

現在の設定から SSH キーを削除する

rdc config ssh remove

1.11 remote

リモート設定ストレージ接続を管理

enable

この設定をリモート暗号化ストレージにリンク

rdc config remote enable [options]
フラグ説明必須デフォルト
--headlessデバイスコードフローを使用(ヘッドレスサーバー用)いいえ-
--password事前にプロビジョニングされたパスワードスロットでヘッドレス登録する(ブラウザ不要)いいえ-
--api-url <url>アカウントサーバーURLいいえ-
--force確認なしでローカルの相違内容をサーバーのコピーで置き換えるいいえ-

disable

リモートストレージから切断し、設定をローカルに保存

rdc config remote disable

status

リモート接続状態を表示

rdc config remote status

refresh

リモートストレージから設定を強制再取得

rdc config remote refresh

1.12 field

ポインタ指定による設定フィールド操作(get/set/unset/rotate/list)。/credentials/cfDnsApiToken のような JSON Pointer(RFC 6901)を使用します。

get

JSON ポインタで単一の設定値を読み取ります。機密フィールドは --reveal を指定しない限り秘匿されます(人間のみ)。

rdc config field get [options]
フラグ説明必須デフォルト
--pointer <pointer>フィールドへのJSONポインタ(例: /credentials/cfDnsApiToken)はい-
--reveal機密値を平文で表示する(対話型 TTY のみ、監査ログに記録)いいえ-
--digest値の代わりに SHA-256 ダイジェストを出力(エージェントに共有しても安全)いいえ-

set

JSON ポインタ位置に設定値を書き込みます。機密パスには --current(知識ゲート)が必要です。

rdc config field set [options]
フラグ説明必須デフォルト
--pointer <pointer>フィールドへのJSONポインタ(例: /credentials/cfDnsApiToken)はい-
--new <value>新しい値({, [, ", true/false/null, 数値で始まる場合は JSON として解釈)はい-
--current <value>現在の平文値 — 機密パスの変更に必須(知識ゲート証明)いいえ-

unset

JSON ポインタ位置の設定値を削除。機密パスには --current が必要です。

rdc config field unset [options]
フラグ説明必須デフォルト
--pointer <pointer>フィールドへのJSONポインタ(例: /credentials/cfDnsApiToken)はい-
--current <value>現在の平文値 — 機密パスの削除に必須いいえ-

rotate

--current なしで機密値をローテーションします。対話型 TTY のみ、詳細に監査されます。

rdc config field rotate [options]
フラグ説明必須デフォルト
--pointer <pointer>機密フィールドへのJSONポインタ(例: /credentials/cfDnsApiToken)はい-
--new <value>新しい値はい-

list

登録済みのすべてのセンシティビティ・ポインタ・テンプレートと種類、commit/encrypt ポリシーを一覧表示。

rdc config field list [options]
フラグ説明必須デフォルト
--sensitive機密(非パブリック)テンプレートのみ表示いいえ-

1.13 edit

アクティブな設定を秘匿された JSONC プロジェクションとして $EDITOR で開きます。人間のみ、エージェントは拒否されます。

rdc config edit [options]
フラグ説明必須デフォルト
--reveal機密値を平文で表示する(対話型 TTY のみ、監査ログに記録)いいえ-
--dumpエディタを開かず、現在の設定を JSONC として stdout に出力(読み取り専用。秘匿時はエージェントでも安全)いいえ-
--apply <file>編集済み JSONC ファイルを適用($EDITOR 起動をスキップ)いいえ-
--current-secrets <file>ポインタ → 旧平文 のマップ JSON ファイル。--apply 時の知識ゲート用いいえ-
--editor <cmd>エディタ コマンドの上書き(git と同じ優先順位: --editor > $GIT_EDITOR > git config core.editor > $VISUAL > $EDITOR)いいえ-

1.14 audit

設定監査ログを確認(~/.config/rediacc/audit.log.jsonl のハッシュチェーン JSONL)

log

最近の監査エントリを JSON として出力

rdc config audit log [options]
フラグ説明必須デフォルト
--since <spec>指定より新しいエントリのみ表示(例: '24h', '7d', ISO タイムスタンプ)いいえ-
--path <glob>JSON Pointer グロブでフィルタ(例: /credentials/*)いいえ-
--actor <kind>アクターの種類でフィルタ(human|agent)いいえ-

tail

新しいエントリを書き込まれた順にストリーム(Ctrl+C で停止)

rdc config audit tail

verify

すべての監査エントリにおける SHA-256 ハッシュチェーンの整合性を検証

rdc config audit verify

1.15 reconcile

マシン側の実態からランタイム状態を再構築する。古くなったアタッチ情報やルーティング情報を修正する

rdc config reconcile [options]
フラグ説明必須デフォルト
--machine <m...>対象マシンを指定して reconcile を限定するいいえ-
--dry-run変更を加えずに実行内容を表示するいいえ-
--accept-observed宣言された配置を、イメージが実際にある場所に一致するよう書き換える。ただしそれが一意である場合のみ(正確に 1 台のマシンで観測された場合)。重複は競合のままとなる。いいえ-

1.16 rotate-cek

組織の設定暗号化キーをローテーションする

rdc config rotate-cek [options]
フラグ説明必須デフォルト
--api-url <url>アカウントサーバーURLいいえ-

2. データストア管理

リポジトリを保持する名前付きストレージプール。データストアは可搬(マシンにアタッチし、別のマシンへ移動できる)かつシングルマウンター(常にちょうど1台のマシンだけが保持する)である。各マシンの暗黙のデフォルトデータストアはここでは管理しない

2.1 resize

データストアを拡張または縮小する。これはオフライン操作であり、内部のリポジトリは停止しておく必要がある

rdc datastore resize <datastore> [options]
フラグ説明必須デフォルト
--size <size>新しいサイズ(例: 200G)はい-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

2.2 fork

データストアを copy-on-write でフォークする。フォークは即時に完了し、コストはプールのサイズに比例しない。rbd バックエンドが必要: local データストアにはブロックレベルのクローンがないため、内部のリポジトリは代わりに reflink で1つずつフォークする(rdc repo fork)

rdc datastore fork <datastore> [options]
フラグ説明必須デフォルト
--tag <tag>フォークのタグ(結果は name:tag になる)はい-
--attach-to <machine>フォーク作成後すぐにこのマシンへアタッチする(--writes が必要)いいえ-
--writes <disposition>フォークの書き込み先: local(即時・一時的)または ceph(永続クローン)いいえ-
--cow-size <size>--writes local 用のオーバーレイサイズいいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

2.3 status

1つのデータストアを表示する: バックエンド、アタッチ状態、使用量、リポジトリ、スナップショット。デタッチされたデータストアでもレコードは表示される

rdc datastore status <datastore> [options]
フラグ説明必須デフォルト
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

2.4 create

マシン上に追加の名前付きデータストアを作成する。local バックエンドはそのマシン上のファイルベースのプールで、そこに固定される。rbd バックエンドは Ceph 上に存在するため、同じクラスターに到達できる任意のマシンへ移動できる。Kubernetes 用データストアにするには --cluster を渡す。この参照は作成時に固定される

rdc datastore create <datastore> [options]
フラグ説明必須デフォルト
-m, --machine <name>データストアを作成するマシンはい-
--size <size>データストアサイズ(例: 100G)はい-
--backend <type>ストレージバックエンド: local(ファイルベース、このマシンに固定)または rbd(Ceph、移動可能)いいえlocal
--pool <name>rbd バックエンド用の Ceph プール(デフォルト: rbd)いいえ-
--image <name>rbd バックエンド用の RBD イメージ名(デフォルト: データストア名)いいえ-
--cluster <name>このデータストアが属する Kubernetes クラスター。指定すれば Kubernetes リポジトリ専用、未指定なら Docker リポジトリ専用となる。作成時に固定されるいいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

2.5 list

名前付きデータストアの一覧、アタッチ先、保持しているリポジトリを表示する

rdc datastore list [place]

2.6 attach

データストアをマシンにアタッチする。常にちょうど1台のマシンだけがデータストアを保持するため、別のマシンへアタッチすると実質的に移動になる: 元の保持者が先に手放し、引き渡しに失敗した場合は元のアタッチがそのまま維持される。フォークは書き込み先(--writes)を指定する必要がある

rdc datastore attach <datastore> [options]
フラグ説明必須デフォルト
--to <machine>データストアのアタッチ先マシンはい-
--writes <disposition>フォークの書き込み先: local(即時・一時的、デタッチで消失)または ceph(プール内の永続クローン)。フォークの場合は必須いいえ-
--cow-size <size>--writes local 用のオーバーレイサイズいいえ-
--no-auto起動時にこのデータストアを自動的に再アタッチしないいいえ-
--forceデータストアを正常に手放さなかった古い保持者をフェンシングするいいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

2.7 detach

データストアをマシンからデタッチする。内部のリポジトリはまず停止される。--writes local でアタッチされたフォークはオーバーレイの書き戻し先がないため、デタッチするとオーバーレイは破棄され、--discard が必要になる

rdc datastore detach <datastore> [options]
フラグ説明必須デフォルト
--discardlocal 書き込みフォークとそのオーバーレイを破棄する。データは復元できないいいえ-
-y, --yes確認プロンプトをスキップするいいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

2.8 snapshot

データストアのポイントインタイムスナップショットを作成・一覧表示する。スナップショットは静止時に一切コストがかからず、フォークはここからクローンされる

create

データストアのポイントインタイムスナップショットを取得する。何も停止しない。この瞬間はクラッシュコンシステントであり、アプリケーションコンシステントではない: 特定の書き込みをスナップショットに含めたい場合は、事前に同期(sync)しておくこと。

rdc datastore snapshot create <datastore> [options]
フラグ説明必須デフォルト
--snapshot <label>スナップショットのラベル(デフォルト: UTC タイムスタンプ)いいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

list

データストアのスナップショットを一覧表示する

rdc datastore snapshot list <datastore> [options]
フラグ説明必須デフォルト
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

2.9 delete

データストアとその中身をすべて破棄する。まずデタッチを試み、正常にデタッチできない場合は、マウント中のプールを孤立させないよう削除自体を失敗させる

rdc datastore delete <datastore> [options]
フラグ説明必須デフォルト
-y, --yes確認プロンプトをスキップするいいえ-
--forceリポジトリがまだそれを参照していても削除する。それらのデータも一緒に失われるいいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

3. マシン管理

リモートマシンの状態を調べる: システムリソース、実行中のコンテナ、systemd サービス、デプロイ済みリポジトリ、ヘルス診断。読み取り専用のクエリであり、リポジトリを変更するには `repo` を使用する。主なサブコマンド: status(--system、--containers、--repositories、--services で絞り込める完全な状態)、health、list、add、remove、setup、prune、provision、deprovision。

3.1 list

マシンをリスト表示する

rdc machine list [options]
フラグ説明必須デフォルト
--search <text>{{field}}で検索いいえ-
--sort <field>フィールドで並び替えいいえ-
--desc降順でソートいいえ-

3.2 health

CI/CDパイプライン用のマシン健全性を確認する

healthコマンドはシステムメトリクス、コンテナステータス、サービス安定性、ストレージ情報を出力します — CI/CDパイプラインチェックに便利です。

rdc machine health <name> [options]
フラグ説明必須デフォルト
-t, --team <name>チーム名いいえ-

3.3 provision

OpenTofuを使用してクラウドプロバイダーに新しいマシンをプロビジョニングする

rdc machine provision <name> [options]
フラグ説明必須デフォルト
--provider <name>クラウドプロバイダー名(machine provider addから)はい-
--region <region>デフォルトリージョンを上書きいいえ-
--type <type>デフォルトインスタンスタイプを上書きいいえ-
--image <image>デフォルトOSイメージを上書きいいえ-
--ssh-user <user>新しいVMのSSHユーザー名(デフォルト: root)いいえ-
--base-domain <domain>インフラストラクチャのベースドメイン(例: example.com)。--infra を含むいいえ-
--no-infraインフラ設定をスキップ(プロキシ + DNS)いいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

3.4 deprovision

クラウドでプロビジョニングされたマシンを破棄し、設定から削除する

rdc machine deprovision <name> [options]
フラグ説明必須デフォルト
--force確認プロンプトをスキップするいいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

3.5 prune

孤立したデータストアリソースと古いスナップショットをマシンから削除する

rdc machine prune <name> [options]
フラグ説明必須デフォルト
--dry-run変更を加えずに削除される内容を表示するいいえ-
--orphaned-reposローカル CLI 設定に存在しないマシン上のリポジトリイメージをすべて削除する。粗い操作であり、renet ミラーがフォークだと正しく識別している場合でも、ローカル設定エントリがない他ツール作成のフォークまで削除してしまう。ミラーを尊重するより狭い挙動には --prune-unknown を使用すること。いいえ-
--prune-unknownrenet .interim/state ミラーが分類できないリポジトリのみを削除します(ローカル設定になく、かつフォークマークされたミラーがない)。--orphaned-repos より厳密に狭い:ミラーがそれらを識別する場合、設定なしのフォークは保持されます。プレミラーレガシー孤児と設定エントリが削除された古い grands は両方ともこのバケットに入ります。いいえ-
--force-delete-mountedマウント安全プリフライトを上書きし、現在マウントされているか実行中の Docker コンテナがあってもリポジトリを削除します。--force(アーカイブ猶予期間のみを上書き)とは異なります。--orphaned-repos と --prune-unknown の両方に適用されます。いいえ-
--force確認プロンプトをスキップするいいえ-
--grace-days <days>最近アーカイブされたリポジトリの猶予期間(日数、デフォルト: 7)いいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

3.6 add

現在の設定にマシンを追加

rdc machine add <name> [options]
フラグ説明必須デフォルト
--ip <address>マシン IP アドレスまたはホスト名はい-
--user <username>SSH ユーザー名はい-
--port <port>SSH ポートいいえ22

3.7 infra

インフラ設定を管理する(プロキシ、DNS、証明書)

cert

キャッシュされたTLS証明書を管理

clear:

証明書キャッシュを削除

rdc machine infra cert clear

pull:

マシンからTLS証明書をダウンロードしてキャッシュ

rdc machine infra cert pull <machine> [options]
フラグ説明必須デフォルト
--no-prune古いネットワークID証明書の整理をスキップいいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

push:

キャッシュされたTLS証明書をマシンにアップロード

rdc machine infra cert push <machine> [options]
フラグ説明必須デフォルト
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

status:

キャッシュされた証明書のインベントリを表示

rdc machine infra cert status

push

インフラ設定をマシンにプッシュします(Traefik プロキシ、ルーター、Cloudflare DNS)。先に 'machine infra set <machine>' を実行してください

rdc machine infra push <machine> [options]
フラグ説明必須デフォルト
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

set

マシンのインフラ設定を行います(マシン固有: IP、ドメイン、ポート;共有: 証明書メール、CF DNS トークン)

rdc machine infra set <machine> [options]
フラグ説明必須デフォルト
--public-ipv4 <ip>パブリック IPv4 アドレス(マシンごと)いいえ-
--public-ipv6 <ip>パブリック IPv6 アドレス(マシンごと)いいえ-
--base-domain <domain>アプリケーション用ベースドメイン(マシンごと)いいえ-
--cert-email <email>TLS 証明書通知用メールアドレス(マシン間で共有)いいえ-
--cf-dns-token <token>ACME DNS-01 チャレンジ用 Cloudflare DNS API トークン(マシン間で共有)いいえ-
--tcp-ports <ports>転送する TCP ポート(カンマ区切り、例: 25,143,465)いいえ-
--udp-ports <ports>転送する UDP ポート(カンマ区切り、例: 53)いいえ-

show

マシンのインフラ設定を表示する

rdc machine infra show <machine>

3.8 provider

自動マシンプロビジョニング用クラウドプロバイダーを管理する

add

クラウドプロバイダーを追加する

rdc machine provider add <name> [options]
フラグ説明必須デフォルト
--provider <source>既知のプロバイダーソース(例: linode/linode, hetznercloud/hcloud)いいえ-
--source <source>カスタム OpenTofu プロバイダーソース(例: vultr/vultr)いいえ-
--token <token>クラウドプロバイダーの API トークンはい-
--region <region>新規マシンのデフォルトリージョンいいえ-
--type <type>デフォルトのインスタンスタイプ/サイズいいえ-
--image <image>デフォルトの OS イメージいいえ-
--ssh-user <user>新規 VM 用の SSH ユーザー名(デフォルト: root)いいえ-
--resource <type>カスタム: VM 用の OpenTofu リソースタイプいいえ-
--label-attr <attr>カスタム: VM ラベルの属性名いいえ-
--region-attr <attr>カスタム: リージョンの属性名いいえ-
--size-attr <attr>カスタム: インスタンスタイプの属性名いいえ-
--image-attr <attr>カスタム: OS イメージの属性名いいえ-
--ipv4-output <attr>カスタム: IPv4 アドレスの出力属性いいえ-
--ipv6-output <attr>カスタム: IPv6 アドレスの出力属性いいえ-
--ssh-key-attr <attr>カスタム: SSH キーの属性名いいえ-
--ssh-key-format <format>カスタム: SSH キーの形式(inline_list または resource_id)いいえ-
--ssh-key-resource <type>カスタム: SSH キー用の OpenTofu リソースタイプいいえ-

list

設定済みクラウドプロバイダーをリスト表示する

rdc machine provider list

remove

クラウドプロバイダー設定を削除する

rdc machine provider remove <name>

3.9 remove

現在の設定からマシンを削除する

rdc machine remove <name> [options]
フラグ説明必須デフォルト
-y, --yes確認プロンプトをスキップするいいえ-
--forceリポジトリがまだ配置されていてもマシンを削除し、それらの配置をダングリング状態のまま残す。いいえ-

3.10 scan-keys

現在の設定のマシンの SSH ホストキーをスキャンする

rdc machine scan-keys [name]

3.11 setup

リモートマシンをリポジトリ用にプロビジョニング(renetインストール、Docker設定、BTRFSデータストア)。冪等。config machine addの後、repo createの前に必要

rdc machine setup <name> [options]
フラグ説明必須デフォルト
--datastore-path <path>リモートマシン上のデータストアパスいいえ/mnt/rediacc
--datastore-size <size>データストアサイズ(例: 95%、100G)いいえ95%
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

3.12 status

マシンの完全なステータスを表示(システム、リポジトリ、コンテナ、サービス)

rdc machine status [name] [options]
フラグ説明必須デフォルト
--debugデバッグ出力を有効化 (ローカルモード)いいえ-
--systemシステム情報のみを含めるいいえ-
--repositoriesリポジトリのみを含めるいいえ-
--containersコンテナのみを含めるいいえ-
--servicesサービスのみを含めるいいえ-
--networkネットワークインターフェースのみを含めるいいえ-
--block-devicesブロックデバイスのみを含めるいいえ-
--licensesリポジトリのライセンス状態を含めるいいえ-
--storage-healthリポジトリごとのBTRFSフラグメンテーションとreflink節約量を表示いいえ-
--datastoresアタッチされたデータストアを表示する(マウント、アタッチ、使用量)いいえ-
--health-check健全性チェックモード - 不健全なものがある場合はコード2で終了しますいいえ-
--stability-check安定性チェックモード - 失敗/再起動中のものがある場合はコード2で終了しますいいえ-
--search <text>リポジトリ名でフィルターいいえ-
--sync-certsクエリ後にマシンから ACME 証明書キャッシュも取得しますいいえ-
--strictいずれかのコンテナがヘルスドリフトしきい値を超えた場合、ゼロ以外(コード 2)で終了しますいいえ-

4. クラスター管理

クラスターをプロビジョニングして管理する: プライベートネットワーク上のノードプール(ceph、k8s-server、k8s-agent、hyperconverged)の名前付きセットです。プールのメンバーはマシンとして実体化するため、あらゆる -m コマンドがそのまま使えます。

4.1 create

クラスターを宣言・プロビジョニングする: マシン、Ceph プール、Kubernetes。--provider と --pool を渡すと1ステップで宣言できる。引数なしの create は、既に宣言済みのクラスターをプロビジョニングする

rdc cluster create <cluster> [options]
フラグ説明必須デフォルト
--provider <provider>プロバイダー: cloudProviders のキー、または 'kvm'いいえ-
--pool <spec...>プール指定 name:role:count[:size](role: ceph|k8s-server|k8s-agent|hyperconverged)いいえ-
--declare-onlyプロビジョニングせずにクラスターを設定に記録するいいえ-
--network-cidr <cidr>プライベートネットワークの CIDR(例: 10.0.0.0/24)いいえ-
--network-primitive <primitive>ネットワークプリミティブ(例: vlan、vpc、network)いいえ-
--control-node <machine>コントロールノードとする明示的なマシン(デフォルト: 最初の k8s-server メンバー)いいえ-
--net-name <name>KVM: このクラスターの libvirt ネットワーク(例: renet12)いいえ-
--net-base <prefix>KVM: ネットワークプレフィックス、最初の3オクテット(例: 192.168.112)いいえ-
--net-offset <n>KVM: アドレスを導出する際に各 VM id に加算されるオフセットいいえ-
--control-id <n>KVM: コントロールおよびレジストリノードの VM id(デフォルト: 1)いいえ-
--docker-registry <endpoint>KVM: このクラスターの VM 内 Docker レジストリのエンドポイントいいえ-
--ssh-user <user>プロビジョニングされたメンバー用の SSH ユーザーいいえ-
--base-domain <domain>クラスターの公開 DNS 用ベースドメイン(未指定の場合は兄弟マシンから継承)いいえ-
--control-ds-size <size>アンカーコントロールデータストアのサイズ(デフォルト 10G)いいえ-
--control-ds-backend <backend>アンカーコントロールデータストアのバックエンド: local | ceph(デフォルト: クラスターに ceph があれば ceph、なければ local)いいえ-
--control-ds-pool <pool>アンカーコントロールデータストア用の Ceph rbd プール(ceph バックエンド)いいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

4.2 status

すべてのクラスターを一覧表示、または --name で特定クラスターの全設定を表示する。

rdc cluster status [cluster]

4.3 scale

プールのメンバー数を変更する(マシンの追加・削除、ノードの参加・排出)。k8s-agent プールはその場でスケールされ、ceph プールの拡張は cephadm 経由で直接行う。

rdc cluster scale <cluster> [options]
フラグ説明必須デフォルト
--pool <pool>プール名はい-
--count <n>希望するメンバー数はい-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

4.4 destroy

プロビジョニング済みのメンバーを解体し、クラスターとそのマシンを設定から削除する。

rdc cluster destroy <cluster> [options]
フラグ説明必須デフォルト
--force確認をスキップし、解体中のエラーが出ても続行するいいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

4.5 kubeconfig

クラスターのコントロールノードから SSH 経由で kubeconfig を取得し、kubectl 用にローカルへキャッシュする(0600)。

rdc cluster kubeconfig <cluster>

4.6 fork

クラスター全体を、その配下のリポジトリのデータごと新しいクラスターへクローンする: クラスターイメージと PV イメージの copy-on-write を協調させたのち、ノードの identity を書き換えてフォークが新しいアドレスで起動する。複製元は動作を継続する。

rdc cluster fork <cluster> [options]
フラグ説明必須デフォルト
--tag <tag>フォークのタグはい-
--to <dest-cluster>フォークをホストするノードを持つ移動先クラスター(そのコントロールノードとエージェント)。クラスターは自分自身のマシンへフォークできない(2つの k3s が同一のホストネットワーク名前空間を共有できないため)はい-
--writes <disposition>フォークの書き込み方式: local(一時的な dm-COW オーバーレイ、Ceph の使用量ゼロ) | ceph(永続的なクローン)。デフォルトは localいいえ-
--upフォークしたリポジトリを起動し、フォーク起動後にクラスターの健全性を確認するいいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

4.7 migrate

クラスター全体を、その配下のリポジトリのデータごと、別のマシンまたはデータセンターへ短いカットオーバーで移動する(実行中にホットプリコピーを行い、移動先で停止・再起動する)。

rdc cluster migrate <cluster> [options]
フラグ説明必須デフォルト
--to <dest-cluster>移動先はい-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

4.8 join

既存の登録済みマシンを、クラスターの Kubernetes エージェントノードとして迎え入れる。アンカー構築や再参加時と同じ、CA 由来の join トークンを使用する。

rdc cluster join <machine> [options]
フラグ説明必須デフォルト
--cluster <name>マシンの参加先クラスターはい-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

4.9 evict

ノードをドレインし、その Node オブジェクトを削除して、クラスターメンバーシップを解除する。クラスターはマシンから自動的に判定される。データストアをまだマウントしているマシンは拒否される。

rdc cluster evict <machine> [options]
フラグ説明必須デフォルト
--forceノードが既にダウンしている場合はドレインをスキップするいいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

4.10 rehearse

リリース/アップグレードをリハーサルする: クラスターを使い捨ての一時フォークとして目的地へフォークし(writes=local、シークレットを持たない role=rehearsal)、起動して健全性を確認したのち破棄する。複製元には一切手を加えない。

rdc cluster rehearse <cluster> [options]
フラグ説明必須デフォルト
--on <dest-cluster>使い捨てのリハーサルを起動する移動先クラスターはい-
--tag <tag>リハーサルフォーク用のタグ(任意、デフォルトはタイムスタンプ)いいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

4.11 snapshot

クラスター全体のポイントインタイムスナップショット。クラスターが保有するすべての rbd バックエンドデータストアにわたる、クラッシュコンシステントな単一の瞬間を Ceph のグループスナップショットによって取得する: 何も停止せず、クラスターは何も気づかない。local バックエンドデータストアにはブロックレベルのグループプリミティブがないため、この瞬間の対象外となりその旨が報告される。この瞬間はクラッシュコンシステントであり、アプリケーションコンシステントではない: 特定の書き込みをスナップショットに含めたい場合は、事前に同期(sync)しておくこと。

create

クラスター内のすべての rbd バックエンドデータストアを、単一の瞬間でスナップショットする。何も停止しない。クラスター内の local バックエンドデータストアはこの瞬間の対象外として一覧表示され、スナップショットには含まれない。この瞬間はクラッシュコンシステントであり、アプリケーションコンシステントではない: 特定の書き込みをスナップショットに含めたい場合は、事前に同期(sync)しておくこと。

rdc cluster snapshot create <cluster> [options]
フラグ説明必須デフォルト
--snapshot <label>スナップショットのラベル(デフォルト: UTC タイムスタンプ)いいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

list

クラスターのグループスナップショットを一覧表示する

rdc cluster snapshot list <cluster> [options]
フラグ説明必須デフォルト
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

5. MCPサーバー

AIエージェント向けの Model Context Protocol サーバー

5.1 serve

MCP サーバーを起動する (stdio トランスポート)

rdc mcp serve [options]
フラグ説明必須デフォルト
--config <name>すべてのコマンドに使用する設定名いいえ-
--timeout <ms>デフォルトのコマンドタイムアウト (ミリ秒単位)いいえ120000

6. リポジトリライフサイクル

マシン上の暗号化リポジトリをデプロイ・管理する。主なサブコマンド: create、up(デプロイ)、down(停止)、fork(即時 CoW クローン)、delete、push/pull(バックアップ)、sync(ファイル転送)。ライフサイクル: repo create → repo up → repo down。アーキテクチャ、ルーティング、環境変数の詳細は rdc --help の Key Concepts を参照。

6.1 up

リポジトリをデプロイまたは更新する(マウントし、renet compose を呼び出す Rediaccfile の up を実行する)。マシンは ref の配置から自動的に決まる。プロキシルートはデプロイ後 ~3 秒で有効になる。完了時に、HTTP 公開サービス(rediacc.service_port ラベル)の URL パターンを表示する。初回デプロイとフォークは自動的にマウントされる。CRIU チェックポイントの復元は自動検出される。新規に起動するには --skip-checkpoint を使用する。マシン上のすべてのリポジトリをデプロイするには --all --machine <m> を使用する

rdc repo up [ref] [options]
フラグ説明必須デフォルト
--no-startup() の手順を実行せずにリポジトリをマウント・準備する(廃止された 'repo mount' を統合したもの。LUKS のオープン、クラスターリポジトリでは PV の生成を行う)いいえ-
--skip-checkpointcheckpoint データが存在しても CRIU checkpoint の復元をスキップする(強制的に新規起動)いいえ-
--tlsこのリポジトリ用の専用 TLS 証明書をリクエスト (フォークはデフォルトで共有マシン証明書を使用)いいえ-
--no-waitコンテナが起動した時点で戻る。ヘルスチェックはバックグラウンドで継続するいいえ-
--all--machine をホームとするすべてのリポジトリをデプロイする(バッチ形式)いいえ-
-m, --machine <name>--all と併用: バッチ処理の対象となるリポジトリを持つマシンいいえ-
--include-forksフォークされたリポジトリもマウント/開始するいいえ-
--parallelリポジトリを並行して開始するいいえ-
--concurrency <n>最大同時リポジトリ数 (デフォルト: 3)いいえ3
-y, --yesバッチ操作の確認をスキップいいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-
--skip-router-restartバイナリ更新後のルートサーバーの再起動をスキップするいいえ-
--dry-run変更を加えずに実行内容を表示するいいえ-

6.2 down

リポジトリの Docker コンテナを停止する(renet compose 経由で Rediaccfile の down を実行)。マシンは ref の配置から自動的に決まる。暗号化ボリュームはアンマウントしない -- リポジトリはマウントされたままとなり、'repo up' で再起動できる。停止後に LUKS コンテナも閉じるには --unmount を使用する(廃止された 'repo unmount' を統合したもの)。停止前に CRIU プロセス状態を保存するには --checkpoint を使用する(次回の 'repo up' で自動復元される)。マシン上のすべてのリポジトリを停止するには --all --machine <m> を使用する

rdc repo down [ref] [options]
フラグ説明必須デフォルト
--unmount停止後にアンマウントも行う(LUKS コンテナを閉じる)。'repo resize' の前、またはボリュームを完全に保護するために必要いいえ-
--checkpoint停止前に CRIU checkpoint を作成する(プロセスメモリ状態を保存し、後で 'repo up' で復元)いいえ-
--all--machine をホームとするすべてのリポジトリを停止する(バッチ形式)いいえ-
-m, --machine <name>--all と併用: バッチ処理の対象となるリポジトリを持つマシンいいえ-
--parallelリポジトリを並行して開始するいいえ-
--concurrency <n>最大同時リポジトリ数 (デフォルト: 3)いいえ3
-y, --yesバッチ操作の確認をスキップいいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-
--skip-router-restartバイナリ更新後のルートサーバーの再起動をスキップするいいえ-
--dry-run変更を加えずに実行内容を表示するいいえ-

6.3 status

リポジトリのステータスを取得する

rdc repo status <ref> [options]
フラグ説明必須デフォルト
--debugデバッグ出力を有効化 (ローカルモード)いいえ-
--skip-router-restartバイナリ更新後のルートサーバーの再起動をスキップするいいえ-

6.4 cat

リポジトリ内のファイルを範囲指定で読み取り、stdout に書き出します(サーバー側で範囲制限あり。診断情報は stderr に出力)

rdc repo cat <ref> [options]
フラグ説明必須デフォルト
--remote-file <path>リポジトリマウントルートからの相対パスで読み取るファイルパスはい-
--max-bytes <n>読み取って出力する最大バイト数(デフォルト 1 MiB、上限 50 MiB)いいえ-
--offset <n>読み取りを開始するバイトオフセットいいえ-
--head <lines>最初の N 行のみを出力する(バイト範囲との併用不可)いいえ-
--tail <lines>最後の N 行のみを出力する(バイト範囲との併用不可)いいえ-
--statサイズ、種類、更新日時のみを出力する(コンテンツは読み取らない)いいえ-
--force-binaryバイナリ(NUL を含む)コンテンツの読み取りを許可するいいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-
--skip-router-restartバイナリ更新後のルートサーバーの再起動をスキップするいいえ-

6.5 diff

コピーオンライトでフォークされた2つのリポジトリ間の、git風ファイル単位の差分。追加・変更・削除・リネームされたファイルを報告します。--name で与えられたリポジトリ(対象/新側)を、ローカル設定から解決した親、あるいは明示的な --base リポジトリ(基底/旧側)と比較します。メタデータのみでサイズに依存しません: 暗号化された LUKS イメージを復号せずブロックレベルで差分を取るため、1 GB のリポジトリと 100 GB のリポジトリが同じミリ秒で差分されます。

rdc repo diff <ref> [options]
フラグ説明必須デフォルト
--base <ref>差分対象のリポジトリ(基底/旧側)。既定では --name の親いいえ-
--name-only変更されたファイルパスのみを1行ずつ出力(状態文字なし)いいえ-
--statファイルごとの変更量(バイトおよびブロックのデルタ)と合計を表示いいえ-
--content [path]単一ファイルの統一テキスト差分を表示(ファイルパスが必要)いいえ-
--fastブロックフィルタを信頼し、コンテンツハッシュ確認を省略する(変更を過大報告する可能性あり)いいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-
--skip-router-restartバイナリ更新後のルートサーバーの再起動をスキップするいいえ-

6.6 list

マシン上のリポジトリをリスト表示する

rdc repo list [options]
フラグ説明必須デフォルト
-m, --machine <name>対象マシン名いいえ-
--datastore <name>このデータストア内のリポジトリを一覧表示する(現在保持しているマシンへ自動的に解決される)いいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-
--skip-router-restartバイナリ更新後のルートサーバーの再起動をスキップするいいえ-

6.7 create

新しいリポジトリを作成する。ホームを一度だけ指定する: マシンまたはデータストア

rdc repo create <name> [options]
フラグ説明必須デフォルト
-m, --machine <name>対象マシン名いいえ-
--datastore <name>リポジトリを保持する名前付きデータストア(Docker の階層化、またはクラスター形式)いいえ-
--size <size>リポジトリサイズ(例: 10G、100G、1T)いいえ-
--no-docker作成後に Docker デーモンの起動をスキップするいいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-
--skip-router-restartバイナリ更新後のルートサーバーの再起動をスキップするいいえ-

6.8 delete

リポジトリとそのデータを削除する。設定エントリは保持される。--archive-config を使用すると、認証情報を deletedRepositories に移動し 'repo admin archive restore' で復元可能になる。位置引数として <ref> を取る。裸の名前はグランド系列に解決されるが、同じベース名を複数のリポジトリが共有している場合は拒否されるため、フォークを対象にするには 名前:タグ を指定すること

rdc repo delete <ref> [options]
フラグ説明必須デフォルト
--archive-config設定エントリを deletedRepositories に移動して後から復元可能にするいいえ-
-y, --yes確認プロンプトをスキップするいいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-
--skip-router-restartバイナリ更新後のルートサーバーの再起動をスキップするいいえ-
--dry-run変更を加えずに実行内容を表示するいいえ-

6.9 commit

マウント中の作業 fork の現在の状態を凍結し、新しいイミュータブルな commit を作成します(git ライク)。commit はメッセージ・作成者・タイムスタンプ・親をボリューム内に記録するため、push 時にも一緒に転送されます。また読み取り専用としてマークされ、マウントを拒否します。作業 fork は git が作業ツリーをそのまま残すのと同様に、変更されずに維持されます。書き込み可能なコピーを得るには 'rdc repo checkout' で commit をチェックアウトしてください。

rdc repo commit <ref> [options]
フラグ説明必須デフォルト
--message <msg>commit メッセージはい-
--author <author>commit の作成者いいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

6.10 branch

作業 fork の現在の commit(その先端)を指す名前付き branch 参照を作成します。branch 参照は CLI の設定内に保存されます(マシン = オブジェクトストア、設定 = 参照ストア)。

rdc repo branch <ref> [options]
フラグ説明必須デフォルト
--branch <branch>新しいブランチの名前はい-

6.11 checkout

イミュータブルな commit(または branch の先端)を新しい書き込み可能な作業 fork に reflink クローンし、HEAD をそこに向けます。ほぼ瞬時かつ定数時間で完了します(BTRFS reflink)。

rdc repo checkout <commit-or-branch-ref> [options]
フラグ説明必須デフォルト
--tag <name>新しい書き込み可能な作業 fork の名前はい-
--from <workingFork>位置引数 <commit-or-branch-ref> をこの作業フォーク上のブランチ名として解決しますいいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-
--skip-router-restartバイナリ更新後のルートサーバーの再起動をスキップするいいえ-

6.12 log

作業 fork の現在の commit(または commit 参照)から到達可能な commit 履歴を、'rdc repo commit' が記録した親チェーンをたどって表示します。ボリューム外のミラーを読み取るため、commit がアンロックされることはありません。

rdc repo log <ref> [options]
フラグ説明必須デフォルト
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

6.13 merge

ソースの commit または fork を対象の作業用 fork に merge します。稼働中の対象がその場で変更されることはありません。結果は reflink クローン上に構築され、アトミックに入れ替えられます。マウント中または実行中の対象は、--force を指定しない限り拒否されます。--force を指定した場合は、まず対象を安全に停止してから merge します。--resolve を指定しない場合は、イメージ全体の take-theirs となり (対象がソースに置き換わります)、--resolve ours|theirs を指定した場合は、共通の祖先に対するファイル単位の three-way merge となり、各サイド固有の変更を取り込み、両サイドで衝突する箇所はフラグに従って解決します。

rdc repo merge <ref> [options]
フラグ説明必須デフォルト
--from <source>merge 元となるソースの commit または forkはい-
--forceマウント中/実行中の対象をまず停止してから merge します (稼働中のマウントを直接変更することはありません)いいえ-
`—resolve <ourstheirs>`3-way マージのファイル単位の競合解決: 'ours' はターゲット側のバージョンを保持し、'theirs' はソース側を採用します。省略するとイメージ全体の fast-forward(take-theirs)になります。いいえ
--base <guid>3-way マージの共通祖先コミットの GUID(--resolve と併用)。既定ではソースコミットの親、またはターゲットの現在のコミット。いいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

6.14 gc

どのブランチや HEAD からも到達できない不変コミットオブジェクトをマシン上から削除します(到達可能性 GC)。マシンがオブジェクトストア、CLI 設定が ref ストアです。既定はドライランで、削除するには --apply を指定します。マウント中のオブジェクトや作業中の fork には一切手を加えません。

rdc repo gc [options]
フラグ説明必須デフォルト
-m, --machine <name>対象マシン名はい-
--apply到達不能なコミットを実際に削除する(既定はドライランのプレビュー)いいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

6.15 fork

リポジトリの CoW(コピーオンライト)フォークを作成する。フォークはリポジトリのサイズに関わらずほぼ瞬時かつ定数時間で完了する。BTRFS reflink が基盤イメージをクローンするため、100 GB のリポジトリと 1 GB のリポジトリが同じ数秒でフォークされる。フォークは新しい GUID、networkId、IP 範囲、自動ルートドメイン({service}-fork-{tag}.{repo}.{machine}.{baseDomain})を持ち、完全に独立したコピーとなる。オンラインフォークに対応しており、親は稼働したままでよい。フォークは親の暗号化認証情報を自動的に継承する。--checkpoint を使用するとフォーク前に CRIU プロセス状態をキャプチャし、フォークは最初の 'repo up' 時に自動復元される(メモリ内状態が保持される)。クロスマシンフォーク: まずローカルでフォークしてから転送する: (1) rdc repo fork <parent-ref> --tag <name>、(2) rdc repo push <fork-ref> --to <target-machine>、(3) rdc backup restore <fork-ref> --as <fork-name> -m <target-machine> --up。警告: フォークのために "repo push" だけを使用しないこと。同じ GUID を持つ生のコピーが作成される(独立したフォークではない)。常に先にフォークして新しい identity を取得すること。自動ルートはリポジトリ名を使用するため、各フォークは自動的に一意のドメインを取得する

rdc repo fork <ref> [options]
フラグ説明必須デフォルト
--tag <name>フォークのタグ(名前:タグを作成)はい-
--checkpointfork 前にソースで CRIU checkpoint を作成する(fork 先での復元用にプロセスメモリ状態を取得)いいえ-
--immutableフォークを読み取り専用にします。マウントを拒否し、イメージをバイト単位で永続的に安定させます(マシン間デルタプッシュのための凍結されたコミット/ベース)いいえ-
--upfork後にマウントしてサービスを開始(fork + mount + upを1コマンドで)いいえ-
--no-wait--up と併用: コンテナ起動後すぐに戻ります。ヘルスチェックはバックグラウンドで継続します(使い捨てフォークに最適)いいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-
--skip-router-restartバイナリ更新後のルートサーバーの再起動をスキップするいいえ-

6.16 replicate

データベースのサイズに関わらず、数秒でリポジトリのリードレプリカを N 個作成する。まずデータストアのスナップショットを1回取得し、そこからクラスターの各ノードに分散させる形で N 個の定数時間フォークアタッチ(コピーオンライト、使い捨てのローカル書き込み)を行い、生成されたオーバーレイを適用する: レプリカごとに固定された PersistentVolume を1つ、StatefulSet を1つ、そして2つの Service(プライマリ向けの {repo}-rw と、全レプリカにまたがる {repo}-ro)。レプリカは特定時点のコピーであり、レプリケーションストリームは存在せず、書き込み直後の読み取り整合性(read-your-writes)も保証しない。各レプリカはサービス提供の前に1回のクラッシュリカバリを実行する。'repo replicate refresh' で最新化できる。レプリカセットは管理された状態であり、'repo replicate status' で確認し、'repo replicate remove' で削除する。

status

管理下のレプリカセットを表示する: レプリカ、ホスティングノード、フォークしたデータストア、スナップショット、更新日時。

rdc repo replicate status <ref>

remove

レプリカセットを削除する: 生成された k8s オブジェクトを削除し(ラベルスコープで対象を特定)、フォークしたデータストアを破棄し、スナップショットを削除して、状態を忘れる。インフラ側の操作はベストエフォートで行われるため、クラスターの一部が既に失われていても削除処理は最終的に収束する。

rdc repo replicate remove <ref> [options]
フラグ説明必須デフォルト
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

refresh

すべてのレプリカを新しい特定時点のスナップショットへ、1台ずつ順番に切り替える: レプリカ Pod を再起動し、そのデータストアを同じパスのまま破棄して再フォークし、readiness チェックが通ったら再びトラフィックを受け付けさせる。この間、残りの N-1 台のレプリカはサービスを提供し続ける。

rdc repo replicate refresh <ref> [options]
フラグ説明必須デフォルト
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

6.17 canary

新しいイメージを安定版と並行して稼働させ、ライブトラフィックを両者へパーセンテージで振り分ける(リリースラダーの第2段)。同一のライブデータ上にカナリア用の Deployment と Service を1つ作成する(フォークはしない。フォークしたデータ上のカナリアユーザーは古いデータを読み、どのみち破棄されるコピーへ書き込むことになるため)。そして Rediacc プロキシに対し、安定版ホスト名宛てトラフィックのうち指定した割合をカナリアへルーティングするよう指示する。ウェイト 0 はカナリアをダークのままにし、ウェイト 100 は blue/green への完全切り替えとなる。カナリアを変更するたびに、クラスターのデータストアの自動グループスナップショットが取得され(リリースラダーの第0段)、万能の取り消し手段として機能する。両バージョン間のスキーマ互換性(expand-contract 方式)を保つのはアプリケーション側の責任である。スキーマを破壊する変更を伴うリリースでは、代わりに blue/green を使用する: リポジトリをフォークし(即時完了、データを含む)、フォークの Service のウェイトを 100 にしてここへ向け、手を加えていない複製元を再起動することでロールバックする。切り替え後に行われた書き込みは新しいコピーにのみ残るため、ロールバック可能な期間をどこまで確保するかはポリシー上の判断となる。

status

管理下のカナリアセットを表示する: ウェイト、イメージ、安定版 Service、直近のリリース取り消し用スナップショット。

rdc repo canary status <ref>

weight

カナリアへルーティングするトラフィックの割合を変更する。まず新しいリリース取り消し用のグループスナップショットを取得したうえでオーバーレイを再適用し、プロキシは次回の更新タイミングで新しい分割比率を反映する。ウェイトを 100 にするとすべてのトラフィックが新バージョンへ送られる(blue/green への完全切り替え)。

rdc repo canary weight <ref> [options]
フラグ説明必須デフォルト
--weight <percent>カナリアへ振り分けるトラフィックの割合(0-100 の整数。0 = ダーク、100 = 完全切り替え)はい-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

remove

カナリアの Deployment と Service を削除する(ラベルスコープで対象を特定)。これにより安定版の Service が再び 100% のトラフィックを処理する。リリース取り消し用のスナップショットは保持されるので、データストアのスナップショットコマンドで整理する。

rdc repo canary remove <ref> [options]
フラグ説明必須デフォルト
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

create

安定版と並行して新しいイメージを実行し、ライブトラフィックの一部を送る。カナリアはリポジトリのライブデータを共有する(フォークしない)ため、両バージョン間のスキーマ互換性はアプリケーション側の責任となる。取り消し手段として、まずクラスターのデータストアのグループスナップショットを取得する

rdc repo canary create <ref> [options]
フラグ説明必須デフォルト
--image <image>カナリアの Deployment が実行する新しいイメージ(共有の本番データに対して)はい-
--port <port>アプリが待ち受けるポート(安定版の Service と一致させること)はい-
--weight <percent>カナリアへ振り分けるトラフィックの割合(0-100 の整数。0 = ダーク、100 = 完全切り替え)はい-
--service <name>トラフィックを分割する対象の安定版 Service(デフォルト: リポジトリ名)いいえ-
--replicas <n>カナリア Deployment のレプリカ数(デフォルト: 1)いいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

6.18 resize

リポジトリをオフラインでリサイズ(拡張と縮小をサポート)

rdc repo resize <ref> [options]
フラグ説明必須デフォルト
--size <size>新しいリポジトリサイズ(例: 10G、100G、1T)はい-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-
--skip-router-restartバイナリ更新後のルートサーバーの再起動をスキップするいいえ-

6.19 expand

マウント済みリポジトリをオンラインで拡張(ゼロダウンタイム)

rdc repo expand <ref> [options]
フラグ説明必須デフォルト
--size <size>新しいリポジトリサイズ(例: 10G、100G、1T)はい-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-
--skip-router-restartバイナリ更新後のルートサーバーの再起動をスキップするいいえ-

6.20 trim

マウント済みリポジトリからデータストアプールの空き領域を回収する(オンライン、停止なし)。リポジトリ内で削除されたブロックは fstrim でプールに返される。ref を省略すると、-m 上のマウント済みのすべてのリポジトリとデータストア自体をトリムする。バックアップ実行中のリポジトリでは fstrim はスキップされるが、--docker の回収は引き続き実行される

rdc repo trim [ref] [options]
フラグ説明必須デフォルト
--dockerDocker の領域を回収(停止中コンテナ、宙吊りイメージ、ビルドキャッシュ)。バックアップのスナップショットが有効な間も実行されますいいえ-
--docker-volumes未使用の Docker ボリュームも削除するいいえ-
--report-onlyトリムせずに discard 状態と回収可能量の見積もりを表示するいいえ-
-m, --machine <name>対象マシン名いいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

6.21 policy

マシンのストレージメンテナが適用する自動サイズポリシーを管理する: リポジトリが満杯に近づくとクォータをオンラインで拡大し(max-quota を超えず、プール残量が少ないときは拡大しない)、スケジュールされたトリムを実行する。自動縮小はない。縮小には 'repo resize' を使用する。ref を省略すると、-m のマシン全体のデフォルトポリシーを対象とする

set

サイズポリシーのフィールドを設定します。渡したフラグだけが変更され、他の保存済みフィールドは値を保持します。自動拡大の有効化には --max-quota が必要です。上限はプールのオーバープロビジョニングへの明示的な同意です

rdc repo policy set [ref] [options]
フラグ説明必須デフォルト
--auto-grow <bool>クォータのオンライン自動拡大を有効化(true/false)いいえ-
--max-quota <size>自動拡大の上限(例: 200G)。自動拡大には必須いいえ-
--grow-threshold <percent>拡大を引き起こすファイルシステム使用率 %(デフォルト 85)いいえ-
--grow-step <step>1 ステップの拡大量: 絶対値(10G)またはクォータの割合(20%)いいえ-
--auto-trim <bool>スケジュールトリムを有効化(true/false)いいえ-
--trim-interval <hours>自動トリムの最小間隔(時間、デフォルト 24)いいえ-
-m, --machine <name>対象マシン名いいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

get

保存されたマシンデフォルト、リポジトリの上書き(ref 指定時)、メンテナが実際に適用するマージ済みの有効ポリシーを表示する

rdc repo policy get [ref] [options]
フラグ説明必須デフォルト
-m, --machine <name>対象マシン名いいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

6.22 push

リポジトリをリモート(マシンまたはストレージ)にプッシュ。ターゲットタイプは設定から自動検出。マシン間転送では、暗号化されたリポジトリイメージが同じGUIDでコピーされます — これはバックアップ/移行であり、forkではありません。独立したforkを作成するには、まず'repo fork'を使用してからpush。プッシュされたコピーはバックアップアーティファクトとして配置されます: 'backup restore <ref> --as <name> -m <target> --up' でターゲット上に起動してください

rdc repo push <ref> [options]
フラグ説明必須デフォルト
--to <remote>宛先マシンまたはストレージ名(設定から自動検出)いいえ-
--to-machine <machine>いいえ-
--provision <provider>ターゲットマシンが存在しない場合、クラウドプロバイダー経由で自動プロビジョニングいいえ-
--checkpointバックアップ前にCRIUチェックポイントを作成(ライブマイグレーション用にプロセスメモリ状態をキャプチャ)いいえ-
--force既存のバックアップを強制的に上書きするいいえ-
-w, --watch変更を監視するいいえ-
--bwlimit <limit>rsync転送の帯域幅制限(例: "6M", "10M")いいえ-
--delta-base <guid>両マシンにバイト単位で同一に存在するイミュータブルなベースGUID。変更されたブロックのみを転送(マシンターゲット)。省略すると自動ベースで手間なく処理いいえ-
--strategy <strategy>差分ベース使用時のブロック差分戦略: auto、physical、または sharedいいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-
--skip-router-restartバイナリ更新後のルートサーバーの再起動をスキップするいいえ-

6.23 pull

リモート(マシンまたはストレージ)からリポジトリをプル。名前を省略するとすべてのリポジトリをプル。ソースタイプは設定から自動検出。pull後にデプロイするには--upを使用

rdc repo pull <ref> [options]
フラグ説明必須デフォルト
--from <remote>ソースマシンまたはストレージ名(設定から自動検出)いいえ-
--from-machine <machine>いいえ-
--force既存のリポジトリを強制的に上書きするいいえ-
--uppull後、このマシンでリポジトリをマウントしてデプロイいいえ-
-w, --watch変更を監視するいいえ-
--bwlimit <limit>rsync転送の帯域幅制限(例: "6M", "10M")いいえ-
--delta-base <guid>両マシンにバイト単位で同一に存在するイミュータブルなベースGUID。変更されたブロックのみを受信(マシンソース)いいえ-
--strategy <strategy>差分ベース使用時のブロック差分戦略: auto、physical、または sharedいいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-
--skip-router-restartバイナリ更新後のルートサーバーの再起動をスキップするいいえ-

6.24 migrate

リポジトリを最小限のダウンタイムで別のマシンへライブマイグレーションする。二段階の rsync: 稼働中に一括転送し、その後短時間停止してデルタ同期を行う。リポジトリ全体を移動し(ルーティングは新しい場所に再設定される)、移動成功後にソースイメージを削除する(保持するには --keep-source を使用)。プロセスのメモリ状態を移行する CRIU チェックポイントと、ターゲットマシンの自動プロビジョニングをサポートする

rdc repo migrate <ref> [options]
フラグ説明必須デフォルト
--to <place>移行先マシンまたはクラスターはい-
--provision <provider>クラウドプロバイダー経由でターゲットを自動プロビジョニング(例: hetzner, linode)いいえ-
--bwlimit <limit>rsync転送の帯域幅制限(例: 10M)いいえ-
--checkpointCRIUライブマイグレーション: プロセスメモリ状態のキャプチャと復元いいえ-
--delta-base <guid>切り替え差分用のイミュータブルなベースGUID(上級者向け。既定はフェーズ1のベース)いいえ-
--strategy <strategy>切り替え時のブロック差分戦略: auto、physical、または sharedいいえ-
--skip-dns移行後のDNSレコード切り替えをスキップいいえ-
--keep-source移動成功後もソースイメージを保持する(デフォルトでは削除される。残されたコピーはどの設定レコードからも参照できず、reconcile によって迷子として検出される)いいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

6.25 sync

リポジトリとファイルの同期(一括プッシュ/プル、ファイル転送)

upload

リポジトリにファイルをアップロード

rdc repo sync upload <ref> [options]
フラグ説明必須デフォルト
--local <paths...>1 つ以上のローカルファイルまたはディレクトリのパス(既定: カレントディレクトリ)いいえ-
--remote <path>リポジトリ内のリモートサブディレクトリパスいいえ-
--remote-file <path>アップロード先となる単一のリモートファイルパス(リポジトリのルート相対)。--remote とは併用できません。いいえ-
--mirrorミラーモード - ローカルに存在しないリモートファイルを削除いいえ-
--verify同期後にチェックサムを使用してファイルを検証するいいえ-
--confirm同期前に変更をプレビューして確認を要求するいいえ-
--exclude <patterns...>同期から除外するパターンいいえ-
--dry-run変更を加えずに実行内容を表示するいいえ-

download

リポジトリからファイルをダウンロード

rdc repo sync download <ref> [options]
フラグ説明必須デフォルト
--local <path>ローカルディレクトリパス (デフォルト: 現在のディレクトリ)いいえ-
--remote <path>リポジトリ内のリモートサブディレクトリパスいいえ-
--remote-file <path>リポジトリ内のリモートファイルパス(単一ファイル転送時の --remote の代替)いいえ-
--mirrorミラーモード - リモートに存在しないローカルファイルを削除いいえ-
--verify同期後にチェックサムを使用してファイルを検証するいいえ-
--confirm同期前に変更をプレビューして確認を要求するいいえ-
--exclude <patterns...>同期から除外するパターンいいえ-
--dry-run変更を加えずに実行内容を表示するいいえ-

status

同期ステータスを確認しローカル/リモートファイルを比較

rdc repo sync status <ref> [options]
フラグ説明必須デフォルト
--local <path>ローカルディレクトリパス (デフォルト: 現在のディレクトリ)いいえ-
--remote <path>リポジトリ内のリモートサブディレクトリパスいいえ-
--remote-file <path>リポジトリ内のリモートファイルパス(単一ファイル転送時の --remote の代替)いいえ-

6.26 tunnel

リモートマシン上のコンテナポートへのSSHポートフォワードトンネルを作成。コンテナとポートが一意の場合は自動検出。Ctrl+Cを押すまでトンネルは開いたままになります

rdc repo tunnel <ref> [options]
フラグ説明必須デフォルト
-c, --container <name>コンテナ名(実行中のコンテナが1つの場合は自動検出)いいえ-
--port <port>転送するリモートコンテナポートいいえ-
--local <port>ローカルポート(デフォルトはリモートポートと同じ)いいえ-
--url-onlyトンネルが準備できたらローカル URL のみを表示する(スクリプト向け)いいえ-

6.27 secret

デプロイ時に注入されるリポジトリ単位のシークレットを管理する。書き込み専用: get はダイジェストのみを返し(平文は返さない)、set/unset には --current によるダイジェスト一致または --rotate-secret が必要。配信モードは2種類: env(REDIACC_SECRET_<KEY>)と file(compose の `secrets:` 経由で /var/run/rediacc/secrets/<networkId>/<KEY> の tmpfs に配置)。シークレットは暗号化された LUKS イメージには一切入らないため、フォークはシークレットを一切継承しない。

get

シークレットの SHA-256 ダイジェストを表示する。平文値は設計上決して返されない(書き込み専用)。既知の値を確認するには、後続の set/unset で --current を使用するか、`set --rotate-secret` でローテーションすること。

rdc repo secret get <ref> [options]
フラグ説明必須デフォルト
--key <KEY>UPPER_SNAKE_CASE 形式のシークレットキー(最大 64 文字)。env モードでは REDIACC_SECRET_<KEY> として、file モードではコンテナ内の /run/secrets/<key> として公開されます。はい-

list

シークレットのキーとモードを一覧表示(値もダイジェストも決して返しません)。

rdc repo secret list <ref>

set

シークレットを設定または上書き。フォークは継承しません。フォーク上に明示的に設定してください。エージェントコンテキストでは --current ダイジェスト一致が必要です(passwd スタイル)。

rdc repo secret set <ref> [options]
フラグ説明必須デフォルト
--key <KEY>UPPER_SNAKE_CASE 形式のシークレットキー(最大 64 文字)。env モードでは REDIACC_SECRET_<KEY> として、file モードではコンテナ内の /run/secrets/<key> として公開されます。はい-
--value <value>シークレット値。`-` を渡して stdin から読み取ります(シェル履歴への露出を回避)。はい-
--mode <mode>配信モード: 'env'(コンテナ環境、docker inspect で表示)または 'file'(tmpfs ファイル、env には決して入らない)。デフォルト: file。いいえfile
--current <value>以前の平文値(passwd スタイルの事前条件)。上書き/削除には必須。--rotate-secret とは併用不可。いいえ-
--rotate-secretローテーションを承認;--current 前提条件をスキップ(ローテーションとして監査)。前の値を確認せずに意図的にローテーションする場合に使用。いいえ-

unset

シークレットを削除します。エージェントコンテキストでは --current ダイジェスト一致が必要です。

rdc repo secret unset <ref> [options]
フラグ説明必須デフォルト
--key <KEY>UPPER_SNAKE_CASE 形式のシークレットキー(最大 64 文字)。env モードでは REDIACC_SECRET_<KEY> として、file モードではコンテナ内の /run/secrets/<key> として公開されます。はい-
--current <value>以前の平文値(passwd スタイルの事前条件)。上書き/削除には必須。--rotate-secret とは併用不可。いいえ-
--rotate-secretローテーションを承認;--current 前提条件をスキップ(ローテーションとして監査)。前の値を確認せずに意図的にローテーションする場合に使用。いいえ-

6.28 admin

リポジトリの管理・保守用コマンド群

archive

アーカイブ済みリポジトリレコードの管理

list:

アーカイブ済みリポジトリ資格情報をリスト表示する

rdc repo admin archive list

purge:

アーカイブ済み資格情報をすべて完全に削除する

rdc repo admin archive purge [name] [options]
フラグ説明必須デフォルト
-y, --yes確認プロンプトをスキップするいいえ-

restore:

アーカイブ済みリポジトリ資格情報を復元する

rdc repo admin archive restore <name> [options]
フラグ説明必須デフォルト
--new-name <name>新しいリソース名いいえ-

validate

リポジトリの整合性を検証する

rdc repo admin validate <ref> [options]
フラグ説明必須デフォルト
--debugデバッグ出力を有効化 (ローカルモード)いいえ-
--skip-router-restartバイナリ更新後のルートサーバーの再起動をスキップするいいえ-

fsck

CLI 設定の ref(ブランチ、HEAD)を、マシン上に実際に存在するオブジェクトと照合して検証します。ダングリング ref(存在しないオブジェクトを指す ref)と孤立コミット(どの ref からも到達できない不変コミット)を報告します。読み取り専用です。

rdc repo admin fsck [options]
フラグ説明必須デフォルト
-m, --machine <name>対象マシン名はい-

ownership

リポジトリディレクトリの所有権を変更する

rdc repo admin ownership <ref> [options]
フラグ説明必須デフォルト
--uid <uid>所有者UID(デフォルト: 7111)いいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-
--skip-router-restartバイナリ更新後のルートサーバーの再起動をスキップするいいえ-

autostart

起動時の自動リポジトリ開始を管理する

enable:

リポジトリの自動開始を有効にする

rdc repo admin autostart enable [ref] [options]
フラグ説明必須デフォルト
--debugデバッグ出力を有効化 (ローカルモード)いいえ-
--skip-router-restartバイナリ更新後のルートサーバーの再起動をスキップするいいえ-

disable:

リポジトリの自動開始を無効にする

rdc repo admin autostart disable [ref] [options]
フラグ説明必須デフォルト
--debugデバッグ出力を有効化 (ローカルモード)いいえ-
--skip-router-restartバイナリ更新後のルートサーバーの再起動をスキップするいいえ-

list:

自動開始が有効なリポジトリを一覧表示する

rdc repo admin autostart list [options]
フラグ説明必須デフォルト
-m, --machine <name>対象マシン名はい-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-
--skip-router-restartバイナリ更新後のルートサーバーの再起動をスキップするいいえ-

template

リポジトリにテンプレートを適用する

list:

CLIに組み込まれたすべてのデプロイテンプレートを一覧表示

rdc repo admin template list

apply:

リポジトリにテンプレートを適用します。組み込みテンプレート名(例: app-postgres)を使用するか、カスタム JSON テンプレートには --file を使用してください。Rediaccfile のライフサイクル: up() はコンテナを起動します(イメージの pull、設定生成はここで行う)、down() は停止します。最小構成の Rediaccfile: up() { renet compose -- pull; renet compose -- up -d; } down() { renet compose -- down; }。重要: Rediaccfile は必ず 'renet compose' を使用してください。'docker compose' は拒否されます。環境変数: 2 つのレベルがあります。(a) Rediaccfile シェル: ${SVCNAME_IP}(例: APP_IP)、${REDIACC_WORKING_DIR}、${REDIACC_NETWORK_ID}。(b) コンテナ内部: renet が SERVICE_IP と REDIACC_NETWORK_ID 環境変数を自動的に注入します。eBPF バインド書き換えが IP 分離を透過的に処理するため、アプリは 0.0.0.0 にバインドでき、カーネルが正しいループバック IP に書き換えます。ヘルスチェックは localhost を使用できます。network_mode:host が注入され、ports: は無視されます。ストレージ: ${REDIACC_WORKING_DIR}/... へのバインドマウントと Docker の named volume はどちらも安全です。Docker の data-root は暗号化された LUKS マウント内にあります。再起動ポリシー: 再起動ポリシーは安全です。renet が CRIU 互換性のために自動的に取り除き、watchdog が復旧を処理します。Compose: network_mode や rediacc.* ラベルは追加しないでください(renet が注入します)。マルチプロジェクト: 各サブプロジェクトを独自の Rediaccfile を持つ専用のサブディレクトリに配置してください。renet が自動的に検出し、順番に実行します。HTTPS ルーティング: (A) 自動ルート(フォークフレンドリー、推奨): traefik.enable を追加しないでください。Renet が https://{serviceName}.{repoName}.{machineName}.{baseDomain} を自動生成します。80 番以外のポートには rediacc.service_port=<port> ラベルを追加してください。各フォークは一意のドメインを取得します。(B) Traefik ラベル(カスタムドメイン、フォークフレンドリーではない): traefik.enable=true、traefik.http.routers.<n>.rule=Host(`domain`)、traefik.http.routers.<n>.entrypoints=websecure,websecure-v6、traefik.http.routers.<n>.tls.certresolver=letsencrypt、traefik.http.services.<n>.loadbalancer.server.port=<port>。TCP/UDP の場合: rediacc.tcp_ports=3306 / rediacc.udp_ports=53

rdc repo admin template apply <ref> [options]
フラグ説明必須デフォルト
--template <name>適用するテンプレートはい-
--file <path>カスタムテンプレート JSON ファイルのパス({"version":"2","files":{"Rediaccfile":"...","docker-compose.yml":"..."}}): 組み込みテンプレート名を上書きしますいいえ-
--grand <name>グランドリポジトリ名 (自動的に GUID に解決)いいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-
--skip-router-restartバイナリ更新後のルートサーバーの再起動をスキップするいいえ-

6.29 promote

グランドリポジトリのデータをフォークのデータで置き換えます。グランドはその ID(GUID、networkId、ドメイン、自動起動、バックアップチェーン)を保持しつつ、フォークの更新されたデータを取得します。古い本番データはバックアップフォークとして保存されます。使用方法: フォークでアップグレードをテスト → 確認 → 本番への引き継ぎ。

rdc repo promote <fork-ref> [options]
フラグ説明必須デフォルト
-y, --yes確認プロンプトをスキップするいいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-
--skip-router-restartバイナリ更新後のルートサーバーの再起動をスキップするいいえ-

6.30 logs

リポジトリのコンテナからアプリケーションログを表示する。Docker リポジトリではリポジトリ自身の Docker デーモンから読み取り、Kubernetes リポジトリではリポジトリの namespace 内の Pod ログを読み取る。リポジトリが複数のコンテナを実行している場合は、--container で対象を指定する

rdc repo logs <ref> [options]
フラグ説明必須デフォルト
-c, --container <name>ログを読み取るコンテナ(リポジトリが複数のコンテナを実行している場合のみ必要)いいえ-
-f, --follow中断されるまで新しい行をストリーミングし続けるいいえ-
--lines <n>表示する履歴の行数(デフォルト: 100)いいえ100
--timestamps各行の先頭にタイムスタンプを付けるいいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

6.31 exec

リポジトリのコンテナ内でコマンドを実行する。コマンド自身の終了コードがそのまま返されるため、スクリプトや条件分岐でも利用できる。Docker リポジトリではリポジトリの Docker デーモン経由で実行され、Kubernetes リポジトリではリポジトリの namespace 内で実行される

rdc repo exec <ref> <cmd...> [options]
フラグ説明必須デフォルト
-c, --container <name>実行対象のコンテナ(リポジトリが複数のコンテナを実行している場合のみ必要)いいえ-
-i, --interactiveターミナルを割り当てる(ターミナルを前提とするコマンド向け)いいえ-
-u, --user <user>コマンドを実行するユーザーいいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

7. デタッチジョブ

マシン上のデタッチジョブを管理します。一覧表示、ステータス確認、イベントログの再生またはフォロー、ジョブのキャンセル、完了済みジョブのガベージコレクションが行えます。デタッチジョブはマシン上で systemd によって実行されるため、接続が切断されても存続し、後で再アタッチできます。

7.1 list

マシン上のデタッチジョブを新しい順に一覧表示

rdc job list [options]
フラグ説明必須デフォルト
-m, --machine <name>対象マシン名はい-

7.2 status

デタッチジョブのステータスを表示

rdc job status <job-id> [options]
フラグ説明必須デフォルト
-m, --machine <name>対象マシン名はい-

7.3 logs

デタッチジョブのイベントログを再生またはフォロー

rdc job logs <job-id> [options]
フラグ説明必須デフォルト
-m, --machine <name>対象マシン名はい-
-f, --followジョブが完了するまでストリーミングいいえ-
--since-line <n>指定した行数の続きから再開(すでに受信済みの行数)いいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

7.4 cancel

実行中のデタッチジョブをキャンセル

rdc job cancel <job-id> [options]
フラグ説明必須デフォルト
-m, --machine <name>対象マシン名はい-
-y, --yes確認プロンプトをスキップするいいえ-

7.5 gc

完了済みジョブとそのログを削除

rdc job gc [options]
フラグ説明必須デフォルト
-m, --machine <name>対象マシン名はい-
--older-than <duration>指定した時間(単位:時間)より前に完了したジョブを収集します(デフォルト: 168)いいえ-
-y, --yes確認プロンプトをスキップするいいえ-

8. バックアップと復元

バックアップ戦略、そのスケジュール実行、および生成されるアーティファクトを管理する: リポジトリに対して戦略を宣言し、必要に応じて実行・復元し、ストレージエンドポイントに書き出されたアーカイブを確認する

8.1 schedule

リモートマシンにバックアップスケジュールをデプロイする(systemd タイマー)

rdc backup schedule [options]
フラグ説明必須デフォルト
-m, --machine <name>マシン名はい-
--dry-runデプロイせずに生成されるユニットをプレビューいいえ-
--force現在バックアップが実行中でも続行する(新しいユニットは次のタイマーティックで適用され、実行中の呼び出しは古いユニットを保持)いいえ-
--reset-failedデプロイ成功後、変更したサービスの失敗状態をクリアする(既定は無効、失敗シグナルを保持)いいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

8.2 cancel

リモートマシン上の実行中バックアップをキャンセル

rdc backup cancel [strategy] [options]
フラグ説明必須デフォルト
-m, --machine <name>マシン名はい-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

8.3 list

マシンまたはストレージ上のバックアップアーティファクトを一覧表示する

rdc backup list [artifact-ref] [options]
フラグ説明必須デフォルト
-m, --machine <name>マシン名いいえ-
--storage <name>このストレージエンドポイント上のアーティファクトを一覧表示するいいえ-
--path <subdir>ストレージルート内のサブディレクトリ。省略時は hot/ と cold/ の両方を一覧表示してマージするいいえ-
-w, --watch変更を監視するいいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

8.4 restore

バックアップアーティファクトを稼働中のリポジトリに変換する。配置先はここで指定する

rdc backup restore <artifact-ref> [options]
フラグ説明必須デフォルト
--as <name>復元後のリポジトリ名(デフォルトはアーティファクト名)いいえ-
-m, --machine <name>マシン名いいえ-
--datastore <name>この名前付きデータストアに復元する(アタッチ先のマシンがホストする)いいえ-
--up転送後に復元したリポジトリをデプロイするいいえ-
--health-window <seconds>ヘルスゲート全体のウィンドウ秒数(デフォルト 300)いいえ-
--health-timeout <seconds>ヘルスチェック1回あたりのタイムアウト秒数(デフォルト 30)いいえ-
-y, --yes確認プロンプトをスキップするいいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

8.5 run

リモートマシンで今すぐバックアップを実行

rdc backup run [strategy] [options]
フラグ説明必須デフォルト
-m, --machine <name>マシン名はい-
-w, --watch変更を監視するいいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

8.6 status

リモートマシンのバックアップ状態とタイマー状態を表示

rdc backup status [strategy] [options]
フラグ説明必須デフォルト
-m, --machine <name>マシン名はい-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

8.7 strategy

名前付きバックアップ戦略を管理(ホット/コールドモード、宛先、スケジュール)

set

バックアップ戦略を作成または更新

rdc backup strategy set <strategy> [options]
フラグ説明必須デフォルト
--destination <name>戦略内の宛先名いいえ-
--storage <name>ストレージ設定名(rclone資格情報)いいえ-
--cron <expression>cronスケジュール(例: "0 * * * *" で毎時実行)いいえ-
--mode <mode>バックアップモード: "hot"(ダウンタイムなし)または "cold"(停止、スナップショット、再起動)いいえ-
--bwlimit <limit>rclone帯域幅制限(例: "6M"、"10M:off"、"08:00,3M;22:00,10M")いいえ-
--include <repos>これらのリポジトリのみバックアップ(カンマ区切りの名前)いいえ-
--exclude <repos>これらのリポジトリをバックアップから除外(カンマ区切りの名前)いいえ-
--folder <path>この宛先のストレージバケット内のサブフォルダー(例: hot, cold)いいえ-
--enable戦略または宛先を有効にするいいえ-
--disable戦略または宛先を無効にするいいえ-

bind

バックアップ戦略をマシンに紐付け、そのスケジュールをそこにデプロイする

rdc backup strategy bind <strategy> [options]
フラグ説明必須デフォルト
-m, --machine <name>対象マシン名はい-

unbind

バックアップ戦略をマシンから切り離す

rdc backup strategy unbind <strategy> [options]
フラグ説明必須デフォルト
-m, --machine <name>対象マシン名はい-

remove

バックアップ戦略または宛先を削除

rdc backup strategy remove <strategy> [options]
フラグ説明必須デフォルト
--destination <name>この宛先のみ削除(他の宛先は保持)いいえ-

list

すべてのバックアップ戦略を一覧表示

rdc backup strategy list

show

バックアップ戦略の詳細を表示

rdc backup strategy show [strategy]

9. ストレージ管理

外部バックアップストレージエンドポイント(S3 やその他の rclone 互換先)を管理する: 登録・削除、登録済み一覧の表示、保持しているアーティファクトの閲覧、孤立したバックアップの整理を行う。

9.1 list

ストレージエンドポイントを一覧表示する。名前を指定すると詳細を表示する

rdc storage list [name] [options]
フラグ説明必須デフォルト
--revealストレージ構成を平文で表示する(対話型 TTY のみ、監査ログに記録)いいえ-

9.2 browse

ストレージシステム内のファイルを参照する

rdc storage browse <storage> [options]
フラグ説明必須デフォルト
--path <subpath>リスト表示するサブディレクトリのパスいいえ

9.3 prune

どの設定にも存在しなくなった孤立したバックアップをストレージから削除します。マルチ設定対応で猶予期間による保護付き。

rdc storage prune <storage> [options]
フラグ説明必須デフォルト
-m, --machine <name>実行マシン、rclone のリスト/削除呼び出しをストレージに対して実行します。クライアントはローカルに rclone がインストールされていることが期待されないため必須です;ストレージの認証情報は引き続きローカル設定から取得されます。はい-
--dry-run変更を加えずに実行内容を表示するいいえ-
--force確認プロンプトをスキップするいいえ-
--force-delete-mountedマウント安全チェックを上書きし、ソース GUID が現在実行マシンにマウントされているか実行中のコンテナを持っていてもクラウドバックアップを削除します。--force(アーカイブ済みリポジトリの猶予期間のみを上書き)とは異なります。いいえ-
--grace-days <days>最近アーカイブされたリポジトリの猶予期間(日数、デフォルト: 7)いいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-
--skip-router-restartバイナリ更新後のルートサーバーの再起動をスキップするいいえ-

9.4 add

ストレージエンドポイントを登録する

rdc storage add <name> [options]
フラグ説明必須デフォルト
--vault <json>JSON 文字列としてのボルトコンテンツはい-

9.5 import

rclone 設定ファイルからストレージをインポートする

rdc storage import <file> [options]
フラグ説明必須デフォルト
--name <name>指定したセクションのみインポートするいいえ-

9.6 remove

設定からストレージエンドポイントを削除する

rdc storage remove <name> [options]
フラグ説明必須デフォルト
-y, --yes確認プロンプトをスキップするいいえ-
--dry-run変更を加えずに実行内容を表示するいいえ-

10. VS Code統合

マシンまたはリポジトリへの VS Code Remote SSH を開く

10.1 connect

マシン上、またはリポジトリ内で VS Code を開く

rdc vscode connect <target> [options]
フラグ説明必須デフォルト
-f, --folder <path>リモートフォルダーパスいいえ-
--url-onlyVS Code URI を印刷して起動しないいいえ-
-n, --new-window新しい VS Code ウィンドウで開くいいえ-
--skip-env-setupリモート環境セットアップをスキップするいいえ-
--insidersVS Code Insiders 設定を使用するいいえ-
--browserリポジトリサンドボックスからブラウザ VS Code を提供する(ローカルの VS Code 不要)いいえ-
--no-openローカルブラウザを起動せずに URL のみを表示するいいえ-
--local <port>ローカルポート(デフォルトはリモートポートと同じ)いいえ-
--server-provider <id>ブラウザ VS Code サーバー実装 (openvscode, code-server)いいえ-
--server-archive <file>マシン上に事前配置されたサーバー tarball のパス(エアギャップインストール用)いいえ-

10.2 list

設定済みの VS Code SSH 接続をリスト表示する

rdc vscode list

10.3 cleanup

VS Code SSH 設定を削除する

rdc vscode cleanup [options]
フラグ説明必須デフォルト
--allすべての rediacc SSH 設定を削除するいいえ-
-c, --connection <name>特定の接続を削除するいいえ-

10.4 check

VS Code のインストールと設定を確認する

rdc vscode check [options]
フラグ説明必須デフォルト
--insidersVS Code Insiders 設定を使用するいいえ-

10.5 serve

サンドボックス内のブラウザ VS Code サーバーを管理する

status

ブラウザ VS Code サーバーが起動しているか確認する

rdc vscode serve status <target> [options]
フラグ説明必須デフォルト
--server-provider <id>ブラウザ VS Code サーバー実装 (openvscode, code-server)いいえ-

stop

ブラウザ VS Code サーバーを停止する

rdc vscode serve stop <target> [options]
フラグ説明必須デフォルト
--server-provider <id>ブラウザ VS Code サーバー実装 (openvscode, code-server)いいえ-

11. SSHターミナルアクセス

マシンまたはリポジトリへの SSH ターミナルを開く。対象にはマシン名またはリポジトリ ref を指定でき、リポジトリコンテキスト(DOCKER_HOST、作業ディレクトリ、環境変数)は自動的に設定される。`-c` で単一コマンドを非対話的に実行できる。コンテナのログや単発コマンドの実行には `repo logs` と `repo exec` を使用する。VS Code には `vscode` を使用する

11.1 connect

マシン上、またはリポジトリ内(Docker 設定済み)でシェルを開く

rdc term connect <target> [options]
フラグ説明必須デフォルト
-c, --command <cmd>インタラクティブシェルの代わりにコマンドを実行するいいえ-
--external外部ターミナルウィンドウで起動を強制するいいえ-
--reset-homeリポジトリごとのホームオーバーレイをリセットして初期状態にするいいえ-

12. クイックコマンド(ショートカット)

12.1 run

関数を実行する (短縮形: queue create)

rdc run

12.2 trace

タスクをトレースする (queue trace のショートカット)

rdc trace

12.3 cancel

タスクをキャンセルする (queue cancel のショートカット)

rdc cancel

12.4 retry

失敗したタスクをリトライする (queue retry のショートカット)

rdc retry

13. サブスクリプション管理

ライセンスとサブスクリプショントークンを管理する。login でサインインし、status で確認し、refresh でライセンスを再発行する

13.1 login

WebポータルのAPIトークンで認証

rdc subscription login [options]
フラグ説明必須デフォルト
-t, --token <token>APIトークン (rdt_...)いいえ-
--server <url>アカウントサーバーURLいいえ-

13.2 logout

保存されたサブスクリプショントークンを削除する

rdc subscription logout

13.3 status

サブスクリプションと、マシンのライセンス状態を表示する

rdc subscription status [options]
フラグ説明必須デフォルト
-m, --machine <name>マシン名いいえ-

13.4 refresh

アカウントサーバーからライセンスを更新する

rdc subscription refresh [options]
フラグ説明必須デフォルト
-m, --machine <name>マシン名いいえ-
--repo <ref>リポジトリ ref: 名前、または 名前:タグ、任意で @machine を付加(例: shop、shop:test)いいえ-

14. CLIアップデート

CLIのアップデートを確認して適用

rdc update [options]
フラグ説明必須デフォルト
--force最新でも強制的にアップデートいいえ-
--check-onlyダウンロードせずにアップデートの確認のみいいえ-
--rollback以前のバージョンにロールバックいいえ-
--status自動更新のステータスと診断情報を表示いいえ-
--channel <channel>リリースチャンネルを設定 (stable または edge)いいえ-

15. サードパーティクレジット

rdc に同梱されているサードパーティコンポーネントを表示する: renet が組み込み・配布するバイナリ(CRIU、rsync、rclone)、組み込みの Node.js ランタイム、同梱の npm 依存関係。バージョン、SPDX ライセンス識別子、GPL コンプライアンスに必要な正確なバージョンのソースアーカイブ URL を表示する。--licenses を指定するとリリースビルドに同梱される THIRD_PARTY_LICENSES の全文を表示する。

rdc credits [options]
フラグ説明必須デフォルト
--licensesリリースビルドに同梱される THIRD_PARTY_LICENSES の全文を表示するいいえ-

16. システム診断

CLI環境とrenet統合を診断

rdc doctor

17. ローカル VM 操作

KVM/QEMU/Hyper-V を使ったローカル VM のプロビジョニングと管理(プラットフォームは自動検出)。リモートマシン向けではない — そちらには `machine` を使用する。主なサブコマンド: up(VM 起動)、down(停止)、status(実行中 VM の一覧)、ssh(VM へ接続)、setup(前提条件のインストール)、check(ホストの準備状況を確認)。

17.1 up

VM クラスターをローカルにプロビジョニング

rdc ops up [options]
フラグ説明必須デフォルト
--forceすべての VM を強制再起動いいえ-
--parallelVM を並列で作成いいえ-
--basic最小構成クラスター (ブリッジ + ワーカー1台)いいえ-
--liteVM プロビジョニングをスキップ (ステータスのみ)いいえ-
--skip-orchestrationクラスターオーケストレーションをスキップいいえ-
--backend <backend>仮想化バックエンド (kvm|qemu、自動検出)いいえ-
--os <name>VM オペレーティングシステム (例: ubuntu-24.04, debian-12)いいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

17.2 down

VM クラスターを破棄

rdc ops down [options]
フラグ説明必須デフォルト
--backend <backend>仮想化バックエンド (kvm|qemu、自動検出)いいえ-
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

17.3 status

VM クラスターの状態を表示

rdc ops status [options]
フラグ説明必須デフォルト
--backend <backend>仮想化バックエンド (kvm|qemu、自動検出)いいえ-

17.4 ssh

VM に SSH 接続

rdc ops ssh [options]
フラグ説明必須デフォルト
--vm-id <id>仮想マシン IDはい-
-c, --command <cmd>インタラクティブシェルの代わりにコマンドを実行するいいえ-
--backend <backend>仮想化バックエンド (kvm|qemu、自動検出)いいえ-
--user <user>VM 接続用の SSH ユーザー名いいえ-

17.5 setup

仮想化の前提条件をインストール

rdc ops setup [options]
フラグ説明必須デフォルト
--debugデバッグ出力を有効化 (ローカルモード)いいえ-

17.6 check

仮想化の前提条件を確認

rdc ops check

18. エグゼキューターサービス

クライアントが自分で SSH 接続する代わりに、このプロセスをエグゼキューターとして実行し、コマンドを実行できるようにします

rdc serve [options]
フラグ説明必須デフォルト
-p, --port <port>待ち受けるポートいいえ8080
--host <host>バインドするアドレスいいえ0.0.0.0
--mode <mode>配置先: daemon(顧客ホスト)または containerいいえdaemon

一般的なエラーメッセージ

問題が発生した場合、CLIは明確なエラーメッセージを提供します:

エラー意味
認証が必要です。実行してください: rdc subscription login最初にログインする必要があります
アクティブな設定がありません。次のコマンドで作成してください: rdc config init <name>アクティブな設定がありません — `rdc config init` で作成してください
権限がありませんアカウントに必要な権限がありません
マシン名が必要です。--machine <name> を使用してください`--machine`でマシンを指定するか、コンテキストのデフォルトを設定してください
チーム名が必要です。--team を使用するか、次のコマンドでデフォルトを設定してください: rdc config set team <name>`--team`でチームを指定するか、コンテキストのデフォルトを設定してください
リージョン名が必要です。--region を使用するか、次のコマンドでデフォルトを設定してください: rdc config set region <name>`--region`でリージョンを指定するか、コンテキストのデフォルトを設定してください

出力形式

すべてのlist/getコマンドは`--output`を通じて複数の出力形式をサポートしています:

rdc machine list --output json
rdc machine list --output yaml
rdc machine list --output csv
rdc machine list --output table   # default

これにより、Rediacc CLIをスクリプト、CI/CDパイプライン、自動化ワークフローに簡単に統合できます。