Инструменты
Rediacc поставляется с четырьмя инструментами для повседневной работы с машинами и репозиториями: синхронизация файлов по SSH, SSH-терминал, интеграция с VS Code и самообновление CLI. Все четыре инструмента работают через SSH. На удалённой стороне не требуется ни агент, ни демон. Если вам нужен графический интерфейс для чего-либо из этого, вы смотрите не на ту страницу.
Синхронизация файлов (sync)
Передача файлов между вашей рабочей станцией и удалённым репозиторием через rsync по SSH.
Загрузка файлов на сервер
--local принимает один или несколько путей. Каждый путь может быть файлом или каталогом. Файлы попадают в <remote>/<basename>; содержимое каталога объединяется в <remote>/. Для одного файла рекомендуется использовать --remote-file, чтобы явно указать путь назначения.
# Каталог (содержимое объединяется с удалённым)
rdc repo sync upload -m server-1 -r my-app --local ./src --remote /app/src
# Один файл в удалённый каталог (имя сохраняется)
rdc repo sync upload -m server-1 -r my-app --local ./config.yml --remote /app/conf
# Один файл, явный путь назначения
rdc repo sync upload -m server-1 -r my-app --local ./config.yml --remote-file /app/conf/config.yml
# Несколько источников в одном вызове
rdc repo sync upload -m server-1 -r my-app --local a.yml b.yml ./assets --remote /app
--remote и --remote-file исключают друг друга. --remote-file требует ровно один путь --local, указывающий на файл.
--mirror нельзя комбинировать с источником-файлом; это удалило бы соседние файлы в удалённом каталоге.
Скачивание файлов с сервера
Используйте --remote для каталога (по умолчанию) или --remote-file для одного файла. Эти два флага исключают друг друга.
# Каталог
rdc repo sync download -m server-1 -r my-app --remote /app/data --local ./data
# Один файл – `--local` должен быть существующим каталогом
rdc repo sync download -m server-1 -r my-app --remote-file /app/conf/config.yml --local ./local-conf
Проверка статуса синхронизации
rdc repo sync status -m server-1 -r my-app
Параметры
| Параметр | Описание |
|---|---|
-m, --machine <name> | Целевая машина |
-r, --repository <name> | Целевой репозиторий |
--local <paths...> | Один или несколько локальных путей к файлу/каталогу (загрузка) или локальный целевой каталог (скачивание) |
--remote <path> | Удалённый каталог (относительно точки монтирования репозитория) |
--remote-file <path> | Один удалённый файл для загрузки или скачивания (альтернатива --remote) |
--dry-run | Предварительный просмотр изменений без передачи |
--mirror | Зеркалирование источника в место назначения, удаление лишних файлов (только для каталогов-источников) |
--verify | Проверка контрольных сумм после передачи |
--confirm | Интерактивное подтверждение с детальным просмотром |
--exclude <patterns...> | Исключение шаблонов файлов |
--skip-router-restart | Пропустить перезапуск сервера маршрутизации после операции |
SSH-терминал (term)
Открытие интерактивной SSH-сессии к машине или в среду репозитория.
Сокращённый синтаксис
Самый быстрый способ подключения:
rdc term connect -m server-1 # Подключение к машине
rdc term connect -m server-1 -r my-app # Подключение к репозиторию
Выполнение команды
Выполнение команды без открытия интерактивной сессии:
rdc term connect -m server-1 -c "uptime"
rdc term connect -m server-1 -r my-app -c "docker ps"
При подключении к репозиторию переменная DOCKER_HOST автоматически указывает на изолированный Docker-сокет репозитория, поэтому docker ps показывает только контейнеры этого репозитория.
Подкоманда connect
Или используйте подкоманду connect для получения того же результата с явными флагами:
rdc term connect -m server-1
rdc term connect -m server-1 -r my-app
Действия с контейнерами
Прямое взаимодействие с работающим контейнером:
# Открыть оболочку внутри контейнера
rdc term connect -m server-1 -r my-app --container <container-id>
# Просмотр логов контейнера
rdc term connect -m server-1 -r my-app --container <container-id> --container-action logs
# Следить за логами в реальном времени
rdc term connect -m server-1 -r my-app --container <container-id> --container-action logs --follow
# Просмотр статистики контейнера
rdc term connect -m server-1 -r my-app --container <container-id> --container-action stats
# Выполнить команду в контейнере
rdc term connect -m server-1 -r my-app --container <container-id> --container-action exec -c "ls -la"
| Параметр | Описание |
|---|---|
--container <id> | Идентификатор целевого Docker-контейнера |
--container-action <action> | Действие: terminal (по умолчанию), logs, stats, exec |
--log-lines <n> | Количество строк логов для отображения (по умолчанию: 50) |
--follow | Непрерывное отслеживание логов |
--external | Использовать внешний терминал вместо встроенного SSH |
Интеграция с VS Code (vscode)
Открытие удалённой SSH-сессии в VS Code с предварительно настроенными параметрами SSH.
Подключение к репозиторию
rdc vscode connect -r my-app -m server-1
Эта команда:
- Определяет вашу установку 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 -r my-app -m server-1 --browser
Эта команда:
- Устанавливает open-source сервер редактора на машину один раз (путь только для чтения, с проверкой контрольной суммы)
- Запускает его внутри песочницы репозитория, поэтому файловое дерево, встроенный терминал и все дочерние процессы видят ровно то, что видит репозиторий
- Открывает SSH-туннель к локальному порту и запускает браузер с URL-адресом с токеном сессии
Сервер продолжает работать после закрытия туннеля; повторное подключение использует уже запущенный сервер. Управляйте им с помощью:
rdc vscode serve status -r my-app -m server-1
rdc vscode serve stop -r my-app -m server-1
| Параметр | Описание |
|---|---|
--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 # Показать текущий канал и информацию о версии