# Скрипт управления жизненным циклом агента `vps-agentctl.sh` устанавливает подписанные и проверенные по контрольной сумме артефакты релизов, не передавая сетевой ответ напрямую в shell. Запускайте локально проверенную копию скрипта от имени `root`. ```bash ./vps-agentctl.sh install --version v0.1.0 ./vps-agentctl.sh update --version v0.1.1 ./vps-agentctl.sh status ./vps-agentctl.sh restart ./vps-agentctl.sh version ./vps-agentctl.sh rollback ./vps-agentctl.sh remove ./vps-agentctl.sh remove --purge --yes ``` Укажите переменную окружения `VPS_AGENT_RELEASES_URL` или передайте параметр `--releases-url`, чтобы задать корневой URL репозитория релизов, совместимого с GitHub Releases. Чтобы сделать обязательной проверку файла `SHA256SUMS.minisig`, задайте переменную `VPS_AGENT_MINISIGN_PUBLIC_KEY`. Проверка контрольных сумм обязательна всегда. Поддерживаются следующие имена артефактов: - `vps-agent-linux-amd64` - `vps-agent-linux-arm64` Сопровождающие проект разработчики могут сформировать необходимую структуру релиза из двух заранее скомпилированных бинарных файлов: ```bash ./package-agent-release.sh path/to/x86_64/vps-agent path/to/aarch64/vps-agent dist ``` Этот скрипт создаёт файлы с каноническими именами, а также `SHA256SUMS`. Если задана переменная `VPS_AGENT_MINISIGN_SECRET_KEY`, дополнительно создаётся файл подписи `SHA256SUMS.minisig`. Во время установки скрипт: - проверяет наличие прав `root`; - проверяет, что система работает под Linux и использует `systemd`; - определяет и проверяет архитектуру процессора; - создаёт изолированного системного пользователя и необходимые директории; - проверяет бинарный файл перед установкой; - создаёт безопасную конфигурацию и случайный токен; - устанавливает настройки усиления безопасности (`hardening`); - запускает systemd-службу агента. При обновлении новая версия бинарного файла сначала устанавливается во временное состояние. После этого выполняется проверка работоспособности службы. Если проверка завершается неудачно, автоматически восстанавливается предыдущая версия. Команда `rollback` меняет местами текущую и предыдущую версии агента. По умолчанию команда удаления сохраняет каталог: ```text /etc/vps-agent ``` Параметр `--purge` дополнительно удаляет конфигурацию и учётные данные агента. Для этого требуется подтверждение через терминал либо явное указание флага: ```bash --yes ```