Справочник CLI Rediacc
Обзор
**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. Управление конфигурацией
Управление файлами конфигурации: создание, переключение, редактирование, сверка состояния и сквозные функции (поля, аудит, SSH-ключи, удалённая синхронизация).
Файлы конфигурации хранят данные подключения (URL API, учётные данные, команда/регион/мост по умолчанию), что позволяет быстро переключаться между средами.
1.1 prune
Удаляет лишний груз из локального файла конфигурации по адресу ~/.config/rediacc/<config>.json. Очищаются три категории, все чисто локально (без вызовов SSH/renet): (1) записи кэша сертификатов ACME, чей якорь GUID/репо/машина больше не в активной конфигурации; (2) архивированные репозитории с истёкшим льготным периодом (по умолчанию 7 дней, см. defaults.pruneGraceDays); (3) висячие перекрёстные ссылки (machine→strategy, strategy→repo). Используемые ресурсы, учётные данные, токены хранилища и known-hosts никогда не затрагиваются. По умолчанию изменения применяются; используйте --dry-run для предпросмотра.
rdc config prune [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--dry-run | Предпросмотр того, что будет удалено, без изменения файла конфигурации. Отражает семантику по умолчанию-выкл других команд prune. | Нет | - |
--certs-only | Ограничить корзиной кэша сертификатов ACME. Пропускает очистку архивов и перекрёстных ссылок. Взаимоисключающее с --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 (по умолчанию: renet в PATH) | Нет | - |
--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
Задать значение по умолчанию (команда, регион, мост)
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 | Зарегистрироваться в безголовом режиме с заранее выданным password slot (без браузера) | Нет | - |
--api-url <url> | URL сервера аккаунта | Нет | - |
--force | Заменить отличающееся локальное содержимое копией с сервера без подтверждения | Нет | - |
disable
Отключиться от удалённого хранилища и сохранить конфигурацию локально
rdc config remote disable
status
Показать состояние удалённого подключения
rdc config remote status
refresh
Принудительно загрузить конфигурацию из удалённого хранилища
rdc config remote refresh
1.12 field
Операции над полями конфигурации по JSON-указателю (get/set/unset/rotate/list). Указатели JSON (RFC 6901), например /credentials/cfDnsApiToken.
get
Прочитать значение конфигурации по указателю JSON. Секретные поля скрываются, если не указан --reveal (только для человека).
rdc config field get [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--pointer <pointer> | JSON Pointer к полю (например, /credentials/cfDnsApiToken) | Да | - |
--reveal | Показать секретные значения в открытом виде (только интерактивный TTY; аудируется) | Нет | - |
--digest | Вывести дайджест SHA-256 вместо значения (безопасно для агентов) | Нет | - |
set
Записать значение конфигурации по JSON-указателю. Для секретных путей требуется --current (шлюз знаний).
rdc config field set [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--pointer <pointer> | JSON Pointer к полю (например, /credentials/cfDnsApiToken) | Да | - |
--new <value> | Новое значение (парсится как JSON, если начинается с {, [, " или равно true/false/null/числу) | Да | - |
--current <value> | Текущее значение в открытом виде — обязательно для изменения секретных путей (доказательство знания) | Нет | - |
unset
Удалить значение конфигурации по JSON-указателю. Для секретных путей требуется --current.
rdc config field unset [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--pointer <pointer> | JSON Pointer к полю (например, /credentials/cfDnsApiToken) | Да | - |
--current <value> | Текущее значение в открытом виде — обязательно для удаления секретных путей | Нет | - |
rotate
Ротация секретного значения без --current. Только интерактивный TTY; подробно аудируется.
rdc config field rotate [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--pointer <pointer> | JSON Pointer к конфиденциальному полю (например, /credentials/cfDnsApiToken) | Да | - |
--new <value> | Новое значение | Да | - |
list
Показать все зарегистрированные шаблоны указателей с типом и политикой commit/шифрования.
rdc config field list [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--sensitive | Показать только секретные (непубличные) шаблоны | Нет | - |
1.13 edit
Открыть активную конфигурацию в $EDITOR как редактированную JSONC-проекцию. Только для человека; агенты отклоняются.
rdc config edit [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--reveal | Показать секретные значения в открытом виде (только интерактивный TTY; аудируется) | Нет | - |
--dump | Вывести текущую конфигурацию в stdout как JSONC вместо открытия редактора (только чтение; безопасно для агентов при редактировании) | Нет | - |
--apply <file> | Применить отредактированный файл JSONC (пропуская запуск $EDITOR) | Нет | - |
--current-secrets <file> | JSON-файл, сопоставляющий указатель→старый открытый текст для шлюза знаний при --apply | Нет | - |
--editor <cmd> | Команда редактора (следует порядку git: --editor > $GIT_EDITOR > git config core.editor > $VISUAL > $EDITOR) | Нет | - |
1.14 audit
Проверка журнала аудита конфигурации (JSONL с хеш-цепочкой в ~/.config/rediacc/audit.log.jsonl)
log
Вывести недавние записи аудита в формате JSON
rdc config audit log [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--since <spec> | Показать только записи новее (например '24h', '7d', ISO-временная метка) | Нет | - |
--path <glob> | Фильтровать по шаблону JSON-указателя (например /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...> | Ограничить сверку этими машинами | Нет | - |
--dry-run | Показать действия без внесения изменений | Нет | - |
--accept-observed | Переписать заявленное размещение так, чтобы оно соответствовало фактическому расположению образа, но только если это однозначно (обнаружено ровно на одной машине). Дубликаты остаются конфликтами. | Нет | - |
1.16 rotate-cek
Ротировать ключ шифрования конфигурации организации
rdc config rotate-cek [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--api-url <url> | URL сервера аккаунта | Нет | - |
2. Управление хранилищем данных
Именованные пулы хранения, содержащие репозитории. Хранилище данных мобильно (подключается к одной машине, можно переместить на другую) и однопользовательское (в каждый момент им владеет ровно одна машина). Неявное хранилище данных по умолчанию на каждой машине здесь не управляется.
2.1 resize
Увеличить или уменьшить хранилище данных. Это офлайн-операция: репозитории внутри него должны быть остановлены.
rdc datastore resize <datastore> [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--size <size> | Новый размер (например, 200G) | Да | - |
--debug | Включить отладочный вывод (локальный режим) | Нет | - |
2.2 fork
Форкнуть хранилище данных методом copy-on-write. Форк выполняется мгновенно, и его стоимость не растёт с размером пула. Требует бэкенд rbd: у хранилища данных local нет блочного клонирования, поэтому репозитории внутри него форкаются по одному через reflink (rdc repo fork).
rdc datastore fork <datastore> [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--tag <tag> | Тег для форка (результат — имя:тег) | Да | - |
--attach-to <machine> | Сразу подключить форк к этой машине (требует --writes) | Нет | - |
--writes <disposition> | Куда идёт запись форка: local (мгновенно, временно) или ceph (долговечный клон) | Нет | - |
--cow-size <size> | Размер оверлея для --writes local | Нет | - |
--debug | Включить отладочный вывод (локальный режим) | Нет | - |
2.3 status
Показать одно хранилище данных: его бэкенд, подключение, использование, репозитории и снимки. Отключённое хранилище данных всё равно отображает свою запись.
rdc datastore status <datastore> [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--debug | Включить отладочный вывод (локальный режим) | Нет | - |
2.4 create
Создать дополнительное именованное хранилище данных на машине. Бэкенд local — это пул на основе файла на этой машине, который остаётся на ней. Бэкенд rbd находится в Ceph, поэтому может переместиться на любую машину, имеющую доступ к тому же кластеру. Передайте --cluster, чтобы сделать его хранилищем данных мира kubernetes; эта обратная ссылка фиксируется при создании.
rdc datastore create <datastore> [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
-m, --machine <name> | Машина, на которой создать хранилище данных | Да | - |
--size <size> | Размер хранилища данных (например, 100G) | Да | - |
--backend <type> | Бэкенд хранилища: local (на основе файла, остаётся на этой машине) или rbd (Ceph, перемещаемый) | Нет | local |
--pool <name> | Пул Ceph для бэкенда rbd (по умолчанию: rbd) | Нет | - |
--image <name> | Имя RBD-образа для бэкенда rbd (по умолчанию: имя хранилища данных) | Нет | - |
--cluster <name> | Кластер Kubernetes, которому принадлежит это хранилище данных. Если задан — только репозитории kubernetes; если нет — только репозитории docker. Фиксируется при создании. | Нет | - |
--debug | Включить отладочный вывод (локальный режим) | Нет | - |
2.5 list
Список именованных хранилищ данных, мест их подключения и содержимого.
rdc datastore list [place]
2.6 attach
Подключить хранилище данных к машине. В каждый момент времени хранилищем данных владеет ровно одна машина, поэтому подключение его в другом месте перемещает его: прежний владелец сначала отказывается от него, а при неудачной передаче исходное подключение остаётся нетронутым. Для форка необходимо указать, куда идёт запись.
rdc datastore attach <datastore> [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--to <machine> | Машина, к которой подключить хранилище данных | Да | - |
--writes <disposition> | Куда идёт запись форка: local (мгновенно, временно, теряется при отключении) или ceph (долговечный клон в пуле). Обязателен для форка. | Нет | - |
--cow-size <size> | Размер оверлея для --writes local | Нет | - |
--no-auto | Не подключать это хранилище данных автоматически при загрузке | Нет | - |
--force | Изолировать (fence) устаревшего владельца, который не освободил хранилище данных корректно | Нет | - |
--debug | Включить отладочный вывод (локальный режим) | Нет | - |
2.7 detach
Отключить хранилище данных от его машины. Репозитории внутри него сначала останавливаются. Форку, подключённому с --writes local, некуда записать обратно свой оверлей, поэтому при отключении оверлей отбрасывается и требуется --discard.
rdc datastore detach <datastore> [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--discard | Отбросить форк с локальной записью и его оверлей. Данные невозможно восстановить. | Нет | - |
-y, --yes | Пропустить подсказку подтверждения | Нет | - |
--debug | Включить отладочный вывод (локальный режим) | Нет | - |
2.8 snapshot
Создание и просмотр списка моментальных снимков хранилища данных. Снимок ничего не стоит в состоянии покоя, и именно из него клонируется форк.
create
Сделать снимок хранилища данных на определённый момент времени. Ничего не останавливается. Этот момент согласован при сбое, но не согласован на уровне приложения: если вам нужно, чтобы конкретная запись попала в снимок, сначала синхронизируйте её.
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> | Переопределить образ ОС по умолчанию | Нет | - |
--ssh-user <user> | Имя пользователя 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-unknown | Удалить только репо, которые зеркало renet .interim/state не может классифицировать (не в локальной конфигурации И без отмеченного как форк зеркала). Строго уже, чем --orphaned-repos: форки без конфигурации сохраняются, когда зеркало их идентифицирует. Pre-mirror унаследованные сироты и устаревшие 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-сертификатами
Удалить кэш сертификатов
rdc machine infra cert clear
Скачать и кэшировать TLS-сертификаты с машины
rdc machine infra cert pull <machine> [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--no-prune | Пропустить очистку устаревших сертификатов сетевых ID | Нет | - |
--debug | Включить отладочный вывод (локальный режим) | Нет | - |
Загрузить кэшированные TLS-сертификаты на машину
rdc machine infra cert push <machine> [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--debug | Включить отладочный вывод (локальный режим) | Нет | - |
Показать инвентарь кэшированных сертификатов
rdc machine infra cert status
push
Отправить конфигурацию инфраструктуры на машину (Traefik-прокси, маршрутизатор, Cloudflare DNS). Сначала выполните 'machine infra set <machine>'
rdc machine infra push <machine> [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--debug | Включить отладочный вывод (локальный режим) | Нет | - |
set
Настройка инфраструктуры машины (для машины: IP, домен, порты; общие: email сертификата, CF DNS-токен)
rdc machine infra set <machine> [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--public-ipv4 <ip> | Публичный IPv4-адрес (для каждой машины) | Нет | - |
--public-ipv6 <ip> | Публичный IPv6-адрес (для каждой машины) | Нет | - |
--base-domain <domain> | Базовый домен для приложений (для каждой машины) | Нет | - |
--cert-email <email> | Email для уведомлений о TLS-сертификатах (общий для всех машин) | Нет | - |
--cf-dns-token <token> | Cloudflare DNS API-токен для ACME DNS-01 проверки (общий для всех машин) | Нет | - |
--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> | Образ ОС по умолчанию | Нет | - |
--ssh-user <user> | SSH-пользователь для новых ВМ (по умолчанию: root) | Нет | - |
--resource <type> | Пользовательский: тип ресурса OpenTofu для ВМ | Нет | - |
--label-attr <attr> | Пользовательский: имя атрибута метки ВМ | Нет | - |
--region-attr <attr> | Пользовательский: имя атрибута региона | Нет | - |
--size-attr <attr> | Пользовательский: имя атрибута типа инстанса | Нет | - |
--image-attr <attr> | Пользовательский: имя атрибута образа ОС | Нет | - |
--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> | Пользовательский: тип ресурса OpenTofu для SSH-ключей | Нет | - |
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, чтобы объявить кластер за один шаг; create без параметров провизирует уже объявленный кластер.
rdc cluster create <cluster> [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--provider <provider> | Провайдер: ключ cloudProviders или 'kvm' | Нет | - |
--pool <spec...> | Спецификация пула имя:роль:количество[:размер] (роль: 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: сетевой префикс, первые три октета (например, 192.168.112) | Нет | - |
--net-offset <n> | KVM: смещение, добавляемое к id каждой VM при вычислении её адреса | Нет | - |
--control-id <n> | KVM: id VM узла управления и реестра (по умолчанию: 1) | Нет | - |
--docker-registry <endpoint> | KVM: конечная точка реестра Docker внутри VM для этого кластера | Нет | - |
--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 для якорного управляющего хранилища данных (backend 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
Получить kubeconfig с управляющего узла кластера по SSH и закешировать его локально (0600) для kubectl.
rdc cluster kubeconfig <cluster>
4.6 fork
Клонировать целый кластер, включая данные его репозиториев, в новый кластер: скоординированный copy-on-write образов кластера и PV, затем переписывание идентичности узлов, чтобы форк поднялся на новых адресах. Родитель продолжает работать.
rdc cluster fork <cluster> [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--tag <tag> | Тег форка | Да | - |
--to <dest-cluster> | Целевой кластер, чьи узлы примут форк (его управляющий узел и агенты); кластер не может форкнуться на собственные машины, так как два 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-токен присоединения, что и при закреплении (anchor) и повторном присоединении (rejoin).
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
Моментальные снимки всего кластера на определённый момент времени. Один согласованный при сбое (crash-consistent) момент для всех хранилищ данных на бэкенде rbd, которыми владеет кластер, выполняемый через групповой снимок Ceph: ничего не останавливается, и кластер этого не замечает. У хранилищ данных с бэкендом local нет блочного группового примитива, поэтому они не входят в этот момент и отмечаются как таковые. Этот момент согласован при сбое, но не согласован на уровне приложения: если вам нужно, чтобы конкретная запись попала в снимок, сначала синхронизируйте её.
create
Создать снимок всех хранилищ данных на бэкенде rbd в кластере в ОДИН момент времени. Ничего не останавливается. Любое хранилище данных с бэкендом local в кластере указывается как находящееся вне этого момента: оно не входит в снимок. Этот момент согласован при сбое, но не согласован на уровне приложения: если вам нужно, чтобы конкретная запись попала в снимок, сначала синхронизируйте её.
rdc cluster snapshot create <cluster> [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--snapshot <label> | Метка снимка (по умолчанию: метка времени UTC) | Нет | - |
--debug | Включить отладочный вывод (локальный режим) | Нет | - |
list
Список групповых снимков кластера.
rdc cluster snapshot list <cluster> [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--debug | Включить отладочный вывод (локальный режим) | Нет | - |
5. Сервер MCP
Сервер Model Context Protocol для AI-агентов
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. Подробности об архитектуре, маршрутизации и переменных окружения см. в разделе Key Concepts в rdc --help.
6.1 up
Развернуть или обновить репозиторий (монтирование, запуск Rediaccfile up, вызывающего renet compose). Машина определяется из места размещения ссылки. Прокси-маршруты становятся активны примерно через 3с после развёртывания. По завершении выводится шаблон URL для служб, доступных по HTTP (метка rediacc.service_port). Первое развёртывание и форки монтируются автоматически. Восстановление контрольной точки CRIU определяется автоматически; используйте --skip-checkpoint для принудительного чистого запуска. Используйте --all --machine <m>, чтобы развернуть все репозитории на машине.
rdc repo up [ref] [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--no-start | Смонтировать и подготовить репозиторий без выполнения его шагов up() (объединяет упразднённую 'repo mount': открытие LUKS и, для репозиториев кластера, генерацию PV). | Нет | - |
--skip-checkpoint | Пропустить восстановление из checkpoint 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-контейнеры репозитория (выполняет Rediaccfile down через renet compose). Машина определяется из места размещения ссылки. НЕ размонтирует зашифрованный том — репозиторий остаётся смонтированным и может быть перезапущен командой 'repo up'. Используйте --unmount, чтобы также закрыть контейнер LUKS после остановки (объединяет упразднённую 'repo unmount'). Используйте --checkpoint, чтобы сохранить состояние процесса CRIU перед остановкой (следующий 'repo up' восстановит его автоматически). Используйте --all --machine <m>, чтобы остановить все репозитории на машине.
rdc repo down [ref] [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--unmount | Также размонтировать (закрыть контейнер LUKS) после остановки. Требуется перед 'repo resize' или для полной защиты тома | Нет | - |
--checkpoint | Создать checkpoint CRIU перед остановкой (сохранить состояние памяти процессов для последующего восстановления через '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
Сравнение на уровне файлов в стиле git между двумя репозиториями, форкнутыми с копированием при записи. Сообщает о добавленных, изменённых, удалённых и переименованных файлах. Сравнивает репозиторий, указанный --name (целевая/новая сторона), с его родителем, разрешённым из локальной конфигурации, либо с явным --base репозиторием (базовая/старая сторона). Только метаданные и не зависит от размера: сравнивает зашифрованные образы LUKS на уровне блоков без расшифровки, поэтому репозиторий 1 ГБ и 100 ГБ сравниваются за те же миллисекунды.
rdc repo diff <ref> [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--base <ref> | Репозиторий для сравнения (базовая/старая сторона); по умолчанию родитель --name | Нет | - |
--name-only | Печатать только пути изменённых файлов, по одному в строке (без букв состояния) | Нет | - |
--stat | Показать величину изменения по файлам (дельты байтов и блоков) и итоги | Нет | - |
--content [path] | Показать унифицированный текстовый diff для одного файла (требует путь к файлу) | Нет | - |
--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>; голое имя разрешается в главную (grand) линию и отклоняется, если несколько репозиториев используют одно базовое имя — в этом случае передайте имя:тег, чтобы указать конкретный форк.
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 оставляет рабочее дерево нетронутым. Чтобы получить записываемую копию, выполните checkout commit командой 'rdc repo checkout'.
rdc repo commit <ref> [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--message <msg> | Сообщение commit | Да | - |
--author <author> | Автор commit | Нет | - |
--debug | Включить отладочный вывод (локальный режим) | Нет | - |
6.10 branch
Создать именованную ссылку branch, указывающую на текущий commit рабочего fork (его вершину). Ссылки branch хранятся в конфигурации CLI (machine = хранилище объектов, config = хранилище ссылок).
rdc repo branch <ref> [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--branch <branch> | Имя новой ветки | Да | - |
6.11 checkout
Клонировать неизменяемый commit (или вершину branch) через reflink в новый записываемый рабочий fork и направить на него HEAD. Почти мгновенно и с постоянным временем (reflink BTRFS).
rdc repo checkout <commit-or-branch-ref> [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--tag <name> | Имя для нового записываемого рабочего fork | Да | - |
--from <workingFork> | Интерпретировать позиционный аргумент <commit-or-branch-ref> как имя ветки в этом рабочем форке | Нет | - |
--debug | Включить отладочный вывод (локальный режим) | Нет | - |
--skip-router-restart | Пропустить перезапуск сервера маршрутов после обновления бинарного файла | Нет | - |
6.12 log
Вывести историю commit, доступную от текущего commit рабочего fork (или от ссылки на commit), проходя по цепочке родителей, записанной командой 'rdc repo commit'. Чтение выполняется из зеркала вне тома, поэтому ни один commit не разблокируется.
rdc repo log <ref> [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--debug | Включить отладочный вывод (локальный режим) | Нет | - |
6.13 merge
Выполнить merge исходного commit или fork в целевой рабочий fork. Активная цель никогда не изменяется на месте: результат собирается в reflink-клоне и атомарно подставляется. Подмонтированная или запущенная цель отклоняется без --force, который сначала корректно останавливает её. Без --resolve выполняется take-theirs для образа целиком (цель становится копией источника); с --resolve ours|theirs выполняется пофайловое трёхстороннее слияние относительно общего предка: уникальные изменения каждой стороны переносятся, а двусторонние конфликты разрешаются согласно флагу.
rdc repo merge <ref> [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--from <source> | Исходный commit или fork, из которого выполняется merge | Да | - |
--force | Сначала остановить подмонтированную/запущенную цель, затем выполнить merge (никогда не изменяет активное монтирование) | Нет | - |
| `—resolve <ours | theirs>` | Пофайловое разрешение конфликтов при three-way merge: 'ours' сохраняет версию цели, 'theirs' берёт версию источника. Опустите для fast-forward образа целиком (take-theirs). | Нет |
--base <guid> | GUID коммита общего предка для трёхстороннего слияния (используется с --resolve). По умолчанию — родитель исходного коммита или текущий коммит цели. | Нет | - |
--debug | Включить отладочный вывод (локальный режим) | Нет | - |
6.14 gc
Удаляет объекты неизменяемых коммитов на машине, до которых не дотягивается ни одна ветка или HEAD (GC по достижимости). Машина — это хранилище объектов; конфиг CLI — хранилище ссылок. По умолчанию пробный запуск: передайте --apply для удаления. Никогда не затрагивает смонтированный объект или рабочий форк.
rdc repo gc [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
-m, --machine <name> | Имя целевой машины | Да | - |
--apply | Действительно удалить недостижимые коммиты (по умолчанию — пробный просмотр) | Нет | - |
--debug | Включить отладочный вывод (локальный режим) | Нет | - |
6.15 fork
Создать CoW-форк (копирование при записи) репозитория. ФОРК ПОЧТИ МГНОВЕННЫЙ И ВЫПОЛНЯЕТСЯ ЗА ПОСТОЯННОЕ ВРЕМЯ независимо от размера репозитория: BTRFS reflink клонирует базовый образ, поэтому репозиторий на 100 ГБ и на 1 ГБ форкаются за одни и те же ~секунды. Форк получает НОВЫЙ 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 (а не независимый форк). Всегда форкайте сначала, чтобы получить новую идентичность. Автомаршрутизация использует имя репозитория, поэтому каждый форк автоматически получает уникальный домен.
rdc repo fork <ref> [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--tag <name> | Тег для форка (создаёт имя:тег) | Да | - |
--checkpoint | Создать checkpoint CRIU на источнике перед fork (захватить состояние памяти процессов для восстановления в fork) | Нет | - |
--immutable | Помечает форк как доступный только для чтения: он отказывается монтироваться, сохраняя свой образ побайтово стабильным навсегда (замороженный коммит/база для межмашинной дельта-отправки) | Нет | - |
--up | Монтировать и запустить сервисы после форка (fork + mount + up одной командой) | Нет | - |
--no-wait | С --up: возвращается сразу после запуска контейнеров; healthcheck продолжаются в фоне (идеально для одноразовых форков) | Нет | - |
--debug | Включить отладочный вывод (локальный режим) | Нет | - |
--skip-router-restart | Пропустить перезапуск сервера маршрутов после обновления бинарного файла | Нет | - |
6.16 replicate
Создать N реплик репозитория для чтения за секунды, независимо от размера базы данных. Делает ОДИН снимок хранилища данных, затем выполняет N присоединений форков за постоянное время (copy-on-write, одноразовые локальные записи), распределённых по узлам кластера, и применяет сгенерированный оверлей: один закреплённый PersistentVolume на реплику, StatefulSet и два Service ({repo}-rw к primary, {repo}-ro по всем репликам). Реплики - это копии на момент времени: нет потока репликации, нет гарантии read-your-writes; каждая реплика перед началом обслуживания проходит один цикл восстановления после сбоя (crash-recovery). Обновляйте их командой 'repo replicate refresh'. Наборы реплик - управляемое состояние: смотрите 'repo replicate status' и удаляйте командой 'repo replicate remove'.
status
Показать управляемые наборы реплик: реплики, узлы размещения, форкнутые хранилища данных, снимок и метки времени обновления.
rdc repo replicate status <ref>
remove
Удалить набор реплик: удалить сгенерированные объекты k8s (по меткам), отбросить его форкнутые хранилища данных, удалить его снимок и забыть состояние. Инфраструктурные шаги выполняются по принципу best-effort, поэтому удаление доводится до конца даже на частично утраченном кластере.
rdc repo replicate remove <ref> [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--debug | Включить отладочный вывод (локальный режим) | Нет | - |
refresh
Перевести каждую реплику на свежий снимок на момент времени, ПО ОДНОЙ: перезапустить под реплики, отбросить и заново форкнуть его хранилище данных по тому же пути и дать проверке готовности (readiness) снова допустить его к работе. Всё это время N-1 реплик продолжают обслуживать запросы.
rdc repo replicate refresh <ref> [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--debug | Включить отладочный вывод (локальный режим) | Нет | - |
6.17 canary
Запустить НОВЫЙ образ рядом со стабильным и разделить живой трафик между ними по проценту (ступень 2 лестницы релиза). Создаёт один канареечный Deployment + Service на ТЕХ ЖЕ живых данных (без форка: пользователи канареечной версии на форкнутых данных читали бы устаревшие данные и писали бы в обречённую копию) и указывает прокси Rediacc направить заданный процент трафика стабильного хоста на него. Вес 0 держит канареечную версию без трафика (dark), вес 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. Без ссылки обрабатываются все смонтированные репозитории на -m и само хранилище данных. Для репозиториев с активным резервным копированием fstrim пропускается, но очистка --docker всё равно выполняется
rdc repo trim [ref] [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--docker | Освободить место Docker (остановленные контейнеры, висячие образы, кэш сборки); выполняется даже при активном снимке резервной копии | Нет | - |
--docker-volumes | Дополнительно удалить неиспользуемые тома Docker | Нет | - |
--report-only | Показать состояние discard и оценку возвращаемого места без изменений | Нет | - |
-m, --machine <name> | Имя целевой машины | Нет | - |
--debug | Включить отладочный вывод (локальный режим) | Нет | - |
6.21 policy
Управляет автоматической политикой размера, применяемой обслуживателем хранилища машины: увеличивает квоту репозитория онлайн при заполнении (никогда выше max-quota и не при нехватке места в пуле) и выполняет плановые trim. Автоматического уменьшения нет; для этого используйте 'repo resize'. Без ссылки задействуется общемашинная политика по умолчанию на -m
set
Задаёт поля политики размера. Меняются только переданные флаги; остальные сохранённые поля остаются прежними. Для авторостa требуется --max-quota: потолок — это явное согласие на переподписку пула
rdc repo policy set [ref] [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--auto-grow <bool> | Включить автоматический онлайн-рост квоты (true/false) | Нет | - |
--max-quota <size> | Потолок авторостa (например 200G); обязателен для авторостa | Нет | - |
--grow-threshold <percent> | % заполнения файловой системы, запускающий рост (по умолчанию 85) | Нет | - |
--grow-step <step> | Шаг роста: абсолютный (10G) или процент от квоты (20%) | Нет | - |
--auto-trim <bool> | Включить плановый trim (true/false) | Нет | - |
--trim-interval <hours> | Минимальный интервал между автоматическими trim в часах (по умолчанию 24) | Нет | - |
-m, --machine <name> | Имя целевой машины | Нет | - |
--debug | Включить отладочный вывод (локальный режим) | Нет | - |
get
Показывает сохранённое умолчание машины, переопределение репозитория (со ссылкой) и итоговую объединённую политику, по которой действует обслуживатель
rdc repo policy get [ref] [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
-m, --machine <name> | Имя целевой машины | Нет | - |
--debug | Включить отладочный вывод (локальный режим) | Нет | - |
6.22 push
Отправить репозиторий на удалённый ресурс (машину или хранилище). Тип цели определяется автоматически из конфигурации. При передаче между машинами зашифрованный образ репозитория копируется с тем же GUID — это резервное копирование/миграция, а не форк. Для создания независимого форка сначала используйте '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
Получить репозиторий с удалённого ресурса (машины или хранилища). Опустите имя для получения всех репозиториев. Тип источника определяется автоматически из конфигурации. Используйте --up для развёртывания после pull
rdc repo pull <ref> [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--from <remote> | Имя исходной машины или хранилища (определяется автоматически из конфигурации) | Нет | - |
--from-machine <machine> | — | Нет | - |
--force | Принудительно перезаписать существующий репозиторий | Нет | - |
--up | После pull смонтировать и развернуть репозиторий на этой машине | Нет | - |
-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, чтобы сохранить их). Поддерживает checkpoint CRIU для миграции состояния памяти процессов и автоматическое развёртывание целевых машин
rdc repo migrate <ref> [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--to <place> | Целевая машина или кластер | Да | - |
--provision <provider> | Автоматическое создание целевой машины через облачного провайдера (напр., hetzner, linode) | Нет | - |
--bwlimit <limit> | Ограничение пропускной способности rsync (напр., 10M) | Нет | - |
--checkpoint | Живая миграция CRIU: захват и восстановление состояния памяти процесса | Нет | - |
--delta-base <guid> | GUID неизменяемой базы для дельты переключения (для опытных пользователей; по умолчанию — база Фазы 1) | Нет | - |
--strategy <strategy> | Стратегия блочной дельты для переключения: auto, physical или shared | Нет | - |
--skip-dns | Пропустить переключение DNS-записей после миграции | Нет | - |
--keep-source | Сохранить исходные образы после успешного переноса (по умолчанию они удаляются; оставшиеся копии не адресуемы ни одной записью конфигурации, и reconcile помечает их как бесхозные) | Нет | - |
--debug | Включить отладочный вывод (локальный режим) | Нет | - |
6.25 sync
Синхронизация репозиториев и файлов (массовый push/pull, передача файлов)
upload
Загрузить файлы в репозиторий
rdc repo sync upload <ref> [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--local <paths...> | Один или несколько локальных путей к файлу или каталогу (по умолчанию: текущий каталог) | Нет | - |
--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> | Имя контейнера (определяется автоматически, если запущен только один) | Нет | - |
--port <port> | Порт удалённого контейнера для перенаправления | Нет | - |
--local <port> | Локальный порт (по умолчанию совпадает с удалённым) | Нет | - |
--url-only | Вывести только локальный URL когда туннель готов (для автоматизации) | Нет | - |
6.27 secret
Управление секретами для каждого репозитория, внедряемыми во время развёртывания. Только запись: get возвращает только дайджест (значение никогда не возвращается), set/unset требуют совпадения дайджеста --current либо --rotate-secret. Два режима доставки: env (REDIACC_SECRET_<KEY>) и file (tmpfs по пути /var/run/rediacc/secrets/<networkId>/<KEY> через `secrets:` в compose). Секреты никогда не попадают в зашифрованный образ LUKS; форки их не наследуют.
get
Показать SHA-256-дайджест секрета. Значение в открытом виде по замыслу никогда не возвращается (только запись). Используйте --current в последующем set/unset, чтобы подтвердить уже известное значение, либо выполните ротацию через `set --rotate-secret`.
rdc repo secret get <ref> [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--key <KEY> | Секретный ключ в формате UPPER_SNAKE_CASE (максимум 64 символа). Будет доступен как REDIACC_SECRET_<KEY> для режима env или /run/secrets/<key> в контейнерах для режима file. | Да | - |
list
Перечислить ключи и режимы секретов (никогда не значения, никогда не дайджесты).
rdc repo secret list <ref>
set
Установить или перезаписать секрет. Форки не наследуют; устанавливайте на форк явно. В контексте агента требуется совпадение дайджеста --current (стиль passwd).
rdc repo secret set <ref> [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--key <KEY> | Секретный ключ в формате UPPER_SNAKE_CASE (максимум 64 символа). Будет доступен как REDIACC_SECRET_<KEY> для режима env или /run/secrets/<key> в контейнерах для режима file. | Да | - |
--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 символа). Будет доступен как REDIACC_SECRET_<KEY> для режима env или /run/secrets/<key> в контейнерах для режима file. | Да | - |
--current <value> | Предыдущее значение в открытом виде (предусловие в стиле passwd). Обязательно для перезаписи/удаления; взаимоисключающе с --rotate-secret. | Нет | - |
--rotate-secret | Подтвердить ротацию; пропустить предусловие --current (аудировано как ротация). Использовать при намеренной ротации без проверки предыдущего значения. | Нет | - |
6.28 admin
Команды администрирования и обслуживания репозиториев.
archive
Учёт записей об архивированных репозиториях.
Показать список архивированных учётных данных репозиториев
rdc repo admin archive list
Безвозвратно удалить все архивированные учётные данные
rdc repo admin archive purge [name] [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
-y, --yes | Пропустить подсказку подтверждения | Нет | - |
Восстановить архивированные учётные данные репозитория
rdc repo admin archive restore <name> [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--new-name <name> | Новое имя ресурса | Нет | - |
validate
Проверить целостность репозитория
rdc repo admin validate <ref> [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--debug | Включить отладочный вывод (локальный режим) | Нет | - |
--skip-router-restart | Пропустить перезапуск сервера маршрутов после обновления бинарного файла | Нет | - |
fsck
Проверяет ссылки конфига CLI (ветки, HEAD) на соответствие объектам, фактически присутствующим на машине. Сообщает о висячих ссылках (ссылка указывает на отсутствующий объект) и осиротевших коммитах (неизменяемый коммит, до которого не дотягивается ни одна ссылка). Только чтение.
rdc repo admin fsck [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
-m, --machine <name> | Имя целевой машины | Да | - |
ownership
Изменить владельца каталога репозитория
rdc repo admin ownership <ref> [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--uid <uid> | UID владельца (по умолчанию: 7111) | Нет | - |
--debug | Включить отладочный вывод (локальный режим) | Нет | - |
--skip-router-restart | Пропустить перезапуск сервера маршрутов после обновления бинарного файла | Нет | - |
autostart
Управление автозапуском репозиториев при загрузке
Включить автозапуск для репозитория
rdc repo admin autostart enable [ref] [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--debug | Включить отладочный вывод (локальный режим) | Нет | - |
--skip-router-restart | Пропустить перезапуск сервера маршрутов после обновления бинарного файла | Нет | - |
Отключить автозапуск для репозитория
rdc repo admin autostart disable [ref] [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--debug | Включить отладочный вывод (локальный режим) | Нет | - |
--skip-router-restart | Пропустить перезапуск сервера маршрутов после обновления бинарного файла | Нет | - |
Показать репозитории с включённым автозапуском
rdc repo admin autostart list [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
-m, --machine <name> | Имя целевой машины | Да | - |
--debug | Включить отладочный вывод (локальный режим) | Нет | - |
--skip-router-restart | Пропустить перезапуск сервера маршрутов после обновления бинарного файла | Нет | - |
template
Применить шаблон к репозиторию
Список всех встроенных шаблонов развёртывания CLI
rdc repo admin template list
Применить шаблон к репозиторию. Используйте имя встроенного шаблона (например, app-postgres) или --file для пользовательского JSON-шаблона. Жизненный цикл Rediaccfile: up() запускает контейнеры (здесь выполняется pull образов, генерация конфигов), down() останавливает. Минимальный Rediaccfile: up() { renet compose -- pull; renet compose -- up -d; } down() { renet compose -- down; }. ВАЖНО: Rediaccfile ДОЛЖЕН использовать 'renet compose': 'docker compose' отклоняется. ПЕРЕМЕННЫЕ ОКРУЖЕНИЯ: два уровня: (a) оболочка Rediaccfile: ${SVCNAME_IP} (например, APP_IP), ${REDIACC_WORKING_DIR}, ${REDIACC_NETWORK_ID}. (b) Внутри контейнеров: renet автоматически внедряет переменные SERVICE_IP и REDIACC_NETWORK_ID. Переписывание bind через eBPF прозрачно обеспечивает изоляцию IP, поэтому приложения могут биндиться на 0.0.0.0, а ядро переписывает адрес на нужный loopback IP. Проверки здоровья могут использовать localhost. network_mode:host внедряется автоматически, а ports: игнорируется. ХРАНИЛИЩЕ: и bind-монтирования ${REDIACC_WORKING_DIR}/..., и именованные тома Docker безопасны: корень данных Docker находится внутри зашифрованного LUKS-тома. ПОЛИТИКА ПЕРЕЗАПУСКА: политики перезапуска безопасны: renet автоматически удаляет их для совместимости с CRIU, а watchdog обеспечивает восстановление. Compose: НЕ добавляйте network_mode или метки rediacc.* (renet внедряет их сам). Мультипроект: разместите каждый подпроект в собственной поддиректории с собственным Rediaccfile: renet автоматически обнаруживает их и запускает по порядку. HTTPS-маршрутизация: (A) Автомаршрут (дружественный к форкам, рекомендуется): НЕ добавляйте traefik.enable. Renet автоматически генерирует https://{serviceName}.{repoName}.{machineName}.{baseDomain}. Добавьте метку rediacc.service_port=<port> для портов, отличных от 80. Каждый форк получает уникальный домен. (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
Заменить данные главного репозитория данными форка. Главный сохраняет свою идентичность (GUID, networkId, домены, автозапуск, цепочку резервных копий), но получает обновлённые данные форка. Старые производственные данные сохраняются как резервный форк. Использование: протестировать обновление на форке → проверить → перенести в продакшн.
rdc repo promote <fork-ref> [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
-y, --yes | Пропустить подсказку подтверждения | Нет | - |
--debug | Включить отладочный вывод (локальный режим) | Нет | - |
--skip-router-restart | Пропустить перезапуск сервера маршрутов после обновления бинарного файла | Нет | - |
6.30 logs
Показать журналы приложений из контейнеров репозитория. Docker-репозитории читают их из собственного Docker-демона репозитория; kubernetes-репозитории читают журналы подов в пространстве имён репозитория. Если в репозитории запущено больше одного контейнера, укажите нужный через --container.
rdc repo logs <ref> [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
-c, --container <name> | Контейнер для чтения (нужен только если в репозитории запущено больше одного) | Нет | - |
-f, --follow | Непрерывно выводить новые строки до прерывания | Нет | - |
--lines <n> | Сколько строк истории показать (по умолчанию: 100) | Нет | 100 |
--timestamps | Добавлять метку времени перед каждой строкой | Нет | - |
--debug | Включить отладочный вывод (локальный режим) | Нет | - |
6.31 exec
Выполнить команду внутри контейнера репозитория. Код завершения самой команды передаётся без изменений, поэтому это работает в скриптах и условных конструкциях. Docker-репозитории выполняют её через Docker-демон репозитория; kubernetes-репозитории — в пространстве имён репозитория.
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 | Сбрасывать состояние 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> | Тайм-аут одной попытки проверки работоспособности в секундах (по умолчанию 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 list/delete к хранилищу. Требуется, потому что клиенты не должны иметь 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-only | Вывести URI VS Code вместо запуска | Нет | - |
-n, --new-window | Открыть в новом окне VS Code | Нет | - |
--skip-env-setup | Пропустить настройку удаленной среды | Нет | - |
--insiders | Использовать параметры VS Code Insiders | Нет | - |
--browser | Запустить браузерный VS Code из песочницы репозитория (локальный VS Code не требуется) | Нет | - |
--no-open | Вывести URL без запуска локального браузера | Нет | - |
--local <port> | Локальный порт (по умолчанию совпадает с удалённым) | Нет | - |
--server-provider <id> | Реализация браузерного VS Code-сервера (openvscode, code-server) | Нет | - |
--server-archive <file> | Путь к заранее подготовленному архиву сервера на машине (для установок без интернета) | Нет | - |
10.2 list
Список настроенных SSH-соединений VS Code
rdc vscode list
10.3 cleanup
Удалить конфигурации SSH VS Code
rdc vscode cleanup [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--all | Удалить все конфигурации rediacc SSH | Нет | - |
-c, --connection <name> | Удалить определенное соединение | Нет | - |
10.4 check
Проверить установку и конфигурацию VS Code
rdc vscode check [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--insiders | Использовать параметры VS 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-терминал к машине или репозиторию. Целью может быть имя машины или ссылка на репозиторий, при этом контекст репозитория (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
Аутентификация с помощью 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> | Ссылка на репозиторий: имя, или имя:тег, опционально с @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 и URL архивов исходного кода точной версии, требуемые для соответствия GPL. Используйте --licenses, чтобы вывести полный текст THIRD_PARTY_LICENSES, поставляемый со сборками релизов.
rdc credits [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--licenses | Вывести полный текст THIRD_PARTY_LICENSES, поставляемый со сборками релизов | Нет | - |
16. Диагностика системы
Диагностика среды CLI и интеграции renet
rdc doctor
17. Локальные операции с VM
Провизирование и управление локальными VM через KVM/QEMU/Hyper-V (платформа определяется автоматически). Не для удалённых машин — для них используйте `machine`. Основные подкоманды: up (запуск VM), down (остановка), status (список запущенных VM), ssh (подключение к VM), setup (установка предпосылок), check (проверка готовности хоста).
17.1 up
Развернуть кластер VM локально
rdc ops up [options]
| Флаг | Описание | Обязательно | По умолчанию |
|---|---|---|---|
--force | Принудительно перезапустить все VM | Нет | - |
--parallel | Создавать VM параллельно | Нет | - |
--basic | Минимальный кластер (мост + 1 рабочий узел) | Нет | - |
--lite | Пропустить подготовку VM (только статус) | Нет | - |
--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> | Имя пользователя SSH для подключения к VM | Нет | - |
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
Это упрощает интеграцию CLI Rediacc в скрипты, CI/CD-конвейеры и рабочие процессы автоматизации.