Перейти к основному содержимому
Версия: 7.0

Скачивание и обновление приложения

Как устроено скачивание приложения Пассворк

Эта статья описывает, что происходит, когда пользователь в веб-интерфейсе нажимает кнопку Скачать приложение Пассворк или когда уже установленное приложение проверяет обновления.

Подбор подходящей версии приложения

  • Серверная часть Пассворка знает, какие версии приложения совместимы с текущей версией бэкенда.
  • В конфигурации бэкенда указывается базовый адрес сервера обновлений в переменной окружения DESKTOP_SERVER_BASE_URL.
  • Опираясь на этот базовый адрес, бэкенд запрашивает на сервере обновлений специальный .yaml‑файл (например, latest.yml, latest-linux.yml, latest-mac.yml) с метаданными доступных сборок:
    • конкретная версия приложения (формата XXYYZZ);
    • ссылки на установщики для разных платформ;
    • контрольные суммы и вспомогательные поля.
  • На основе содержимого этого файла и поддерживаемой версией фичи Десктоп бэкенд:
    • выбирает подходящую и совместимую с данным сервером версию приложения;
    • формирует конечную ссылку на установщик для нужной платформы пользователя.

Важно: бэкенд не «угадывает» версии и не ходит в публичный репозиторий напрямую. Он всегда опирается на:

  • своё понимание поддерживаемой версии фичи Десктоп;
  • .yaml‑манифесты, доступные по DESKTOP_SERVER_BASE_URL.

Подробнее про структуру сервера обновлений и сами файлы latest*.yml см. раздел Общее описание сервера обновлений.

Возврат ссылки и скачивание на стороне клиента

После того как бэкенд подобрал нужную версию и сформировал ссылку:

  • Сформированная URL‑ссылка передаётся бэкендом клиенту:
    • либо в ответ на запрос из веб-интерфейса;
    • либо как часть проверки обновлений для уже установленного приложения.
  • Уже клиентская сторона выполняет HTTP‑запрос к серверу обновлений:
    • запрос уходит напрямую по адресу вида DESKTOP_SERVER_BASE_URL/XXYY/XXYYZZ/ на конкретный файл (.exe, .dmg, .deb, .rpm и т.п.);
    • файл устанавливается или используется механизмом автообновления (в зависимости от платформы и сценария).

Таким образом:

  • сервер приложений Пассворка отвечает за логику выбора версии и формирование корректной ссылки;
  • сервер обновлений (по адресу из DESKTOP_SERVER_BASE_URL) отвечает за фактическую раздачу файлов;
  • клиент (браузер или уже установленное приложение Пассворк) выполняет скачивание, установку или обновление.

Для администраторов это означает:

  • чтобы пользователи могли скачивать и обновлять приложение, достаточно:
    • корректно настроить DESKTOP_SERVER_BASE_URL на бэкенде;
    • обеспечить доступность сервера обновлений и наличие на нём актуальных .yaml‑манифестов и инсталлеров;