3.7 KiB
Скрипт управления жизненным циклом агента
vps-agentctl.sh устанавливает подписанные и проверенные по контрольной сумме артефакты релизов, не передавая сетевой ответ напрямую в shell. Запускайте локально проверенную копию скрипта от имени root.
./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-amd64vps-agent-linux-arm64
Сопровождающие проект разработчики могут сформировать необходимую структуру релиза из двух заранее скомпилированных бинарных файлов:
./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 меняет местами текущую и предыдущую версии агента.
По умолчанию команда удаления сохраняет каталог:
/etc/vps-agent
Параметр --purge дополнительно удаляет конфигурацию и учётные данные агента. Для этого требуется подтверждение через терминал либо явное указание флага:
--yes