Инструменты
Rediacc поставляется с четырьмя инструментами для повседневной работы с машинами и репозиториями: синхронизация файлов по SSH, SSH-терминал, интеграция с VS Code и самообновление CLI. Все четыре инструмента работают через SSH. На удалённой стороне не требуется ни агент, ни демон. Если вам нужен графический интерфейс для чего-либо из этого, вы смотрите не на ту страницу.
Синхронизация файлов (sync)
Передача файлов между вашей рабочей станцией и удалённым репозиторием через rsync по SSH.
Загрузка файлов на сервер
--local принимает один или несколько путей. Каждый путь может быть файлом или каталогом. Файлы попадают в <remote>/<basename>; содержимое каталога объединяется в <remote>/. Для одного файла рекомендуется использовать --remote-file, чтобы явно указать путь назначения.
# Каталог (содержимое объединяется с удалённым)
rdc repo sync upload my-app --local ./src --remote /app/src
# Один файл в удалённый каталог (имя сохраняется)
rdc repo sync upload my-app --local ./config.yml --remote /app/conf
# Один файл, явный путь назначения
rdc repo sync upload my-app --local ./config.yml --remote-file /app/conf/config.yml
# Несколько источников в одном вызове
rdc repo sync upload my-app --local a.yml b.yml ./assets --remote /app
--remote и --remote-file исключают друг друга. --remote-file требует ровно один путь --local, указывающий на файл.
--mirror нельзя комбинировать с источником-файлом; это удалило бы соседние файлы в удалённом каталоге.
Скачивание файлов с сервера
Используйте --remote для каталога (по умолчанию) или --remote-file для одного файла. Эти два флага исключают друг друга.
# Каталог
rdc repo sync download my-app --remote /app/data --local ./data
# Один файл – `--local` должен быть существующим каталогом
rdc repo sync download my-app --remote-file /app/conf/config.yml --local ./local-conf
Проверка статуса синхронизации
rdc repo sync status my-app
Параметры
| Параметр | Описание |
|---|---|
-m, --machine <name> | Целевая машина |
<ref> (позиционный) | Ссылка на целевой репозиторий: name, name:tag, при необходимости @machine |
--local <paths...> | Один или несколько локальных путей к файлу/каталогу (загрузка) или локальный целевой каталог (скачивание) |
--remote <path> | Удалённый каталог (относительно точки монтирования репозитория) |
--remote-file <path> | Один удалённый файл для загрузки или скачивания (альтернатива --remote) |
--dry-run | Предварительный просмотр изменений без передачи |
--mirror | Зеркалирование источника в место назначения, удаление лишних файлов (только для каталогов-источников) |
--verify | Проверка контрольных сумм после передачи |
--confirm | Интерактивное подтверждение с детальным просмотром |
--exclude <patterns...> | Исключение шаблонов файлов |
--skip-router-restart | Пропустить перезапуск сервера маршрутизации после операции |
SSH-терминал (term)
Открытие интерактивной SSH-сессии к машине или в среду репозитория.
Сокращённый синтаксис
Самый быстрый способ подключения:
rdc term connect server-1 # Подключение к машине
rdc term connect my-app # Подключение к репозиторию
Выполнение команды
Выполнение команды без открытия интерактивной сессии:
rdc term connect server-1 -c "uptime"
rdc term connect my-app -c "docker ps"
При подключении к репозиторию переменная DOCKER_HOST автоматически указывает на изолированный Docker-сокет репозитория, поэтому docker ps показывает только контейнеры этого репозитория.
Подкоманда connect
Или используйте подкоманду connect для получения того же результата с явными флагами:
rdc term connect server-1
rdc term connect my-app
Действия с контейнерами
Прямое взаимодействие с работающим контейнером:
# Открыть оболочку внутри контейнера
rdc repo exec my-app -c <container> -i -- bash
# Просмотр логов контейнера
rdc repo logs my-app -c <container>
# Следить за логами в реальном времени
rdc repo logs my-app -c <container> --follow
# Просмотр статистики контейнера
rdc repo exec my-app -c <container> -i -- bash --container-action stats
# Выполнить команду в контейнере
rdc repo exec my-app -c <container> -- ls -la
| Параметр | Команда | Описание |
|---|---|---|
-c, --container <name> | обе | Целевой контейнер внутри репозитория |
--lines <n> | repo logs | Количество строк лога для отображения |
-f, --follow | repo logs | Непрерывно следить за логами |
--timestamps | repo logs | Добавлять временную метку к каждой строке |
-i, --interactive | repo exec | Держать stdin открытым (нужно для оболочки) |
-u, --user <user> | repo exec | Выполнить от имени указанного пользователя |
Интеграция с VS Code (vscode)
Открытие удалённой SSH-сессии в VS Code с предварительно настроенными параметрами SSH.
Подключение к репозиторию
rdc vscode connect my-app
Эта команда:
- Определяет вашу установку VS Code
- Настраивает SSH-соединение в
~/.ssh/config - Сохраняет SSH-ключ для сессии
- Открывает VS Code с подключением Remote SSH к пути репозитория
Список настроенных подключений
rdc vscode list
Очистка подключений
rdc vscode cleanup
Удаляет конфигурации SSH для VS Code, которые больше не нужны.
Проверка конфигурации
rdc vscode check
Проверяет установку VS Code, расширение Remote SSH и активные подключения.
Необходимое условие: Установите расширение Remote - SSH в VS Code.
VS Code в браузере
Нет локального VS Code? Поднимите редактор изнутри песочницы репозитория и откройте его в любом браузере:
rdc vscode connect my-app --browser
Эта команда:
- Устанавливает open-source сервер редактора на машину один раз (путь только для чтения, с проверкой контрольной суммы)
- Запускает его внутри песочницы репозитория, поэтому файловое дерево, встроенный терминал и все дочерние процессы видят ровно то, что видит репозиторий
- Открывает SSH-туннель к локальному порту и запускает браузер с URL-адресом с токеном сессии
Сервер продолжает работать после закрытия туннеля; повторное подключение использует уже запущенный сервер. Управляйте им с помощью:
rdc vscode serve status my-app
rdc vscode serve stop my-app
| Параметр | Описание |
|---|---|
--no-open | Вывести URL вместо открытия браузера |
--url-only | Вывести ровно одну строку URL в stdout (для скриптов) и удерживать туннель |
--local <port> | Выбрать локальный порт туннеля |
--server-provider <id> | Реализация сервера редактора: openvscode (по умолчанию) или code-server |
--server-archive <file> | Установить из заранее подготовленного архива на машине (без интернета) |
Работает из Linux, macOS, Windows или планшета. Единственное локальное требование: браузер.
Обновление CLI (update)
Поддержание rdc CLI в актуальном состоянии.
Проверка обновлений
rdc update --check-only
Применение обновления
rdc update
Обновления загружаются и применяются на месте. CLI автоматически выбирает подходящий бинарный файл для вашей платформы (Linux, macOS или Windows). Новая версия вступает в силу при следующем запуске.
Откат
rdc update --rollback
Возврат к ранее установленной версии. Доступен только после применения обновления.
Статус обновления
rdc update --status
Отображает текущую версию, канал обновлений и конфигурацию автообновления.
Каналы выпуска
rdc update --channel edge # Непрерывно развёртываемые обновления для продакшена
rdc update --channel stable # Продвигается из edge после 7-дневной стабилизации (по умолчанию)
rdc update --status # Показать текущий канал и информацию о версии