Перейти к основному содержанию Перейти к навигации Перейти к нижнему колонтитулу

Инструменты

Синхронизация файлов, доступ через терминал, интеграция с VS Code и обновления CLI.

Инструменты

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, --followrepo logsНепрерывно следить за логами
--timestampsrepo logsДобавлять временную метку к каждой строке
-i, --interactiverepo execДержать stdin открытым (нужно для оболочки)
-u, --user <user>repo execВыполнить от имени указанного пользователя

Интеграция с VS Code (vscode)

Открытие удалённой SSH-сессии в VS Code с предварительно настроенными параметрами SSH.

Подключение к репозиторию

rdc vscode connect my-app

Эта команда:

  1. Определяет вашу установку VS Code
  2. Настраивает SSH-соединение в ~/.ssh/config
  3. Сохраняет SSH-ключ для сессии
  4. Открывает 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

Эта команда:

  1. Устанавливает open-source сервер редактора на машину один раз (путь только для чтения, с проверкой контрольной суммы)
  2. Запускает его внутри песочницы репозитория, поэтому файловое дерево, встроенный терминал и все дочерние процессы видят ровно то, что видит репозиторий
  3. Открывает 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            # Показать текущий канал и информацию о версии