Files
singbox_glue/docs/operations.md
T

2.4 KiB
Raw Blame History

Эксплуатация

Ротация URI

sudo vpn-egressctl import --stdin

Либо из защищённого файла режима 0600:

sudo vpn-egressctl import --file /run/credentials/new-hysteria2.uri

Production URI HY2XS должен использовать Gecko. Не передавать URI через argv, environment, shell history, тикет или журнал.

Изменение policy

install -m 0600 new-policy.json /etc/vpn-egress/policy.json
vpn-egressctl check
vpn-egressctl diff
vpn-egressctl sync

Path unit следит только за URI; policy применяется явным sync.

State и rollback

vpn-egressctl status --json
vpn-egressctl rollback

Rollback относится только к конфигам, успешно управлявшимся этой же версией 0.2.0 с sing-box 1.14.0. last-good.meta.json обязан совпадать по controller version, engine version и SHA-256. Legacy backup отклоняется.

Первое clean apply не имеет предыдущего конфига и не создаёт last-good. Последующие успешные изменения сохраняют backup. Ручной rollback меняет current и last-good местами, поэтому повторная команда возвращает предыдущий current.

После rollback desired URI не меняется; doctor показывает config drift. До следующего sync нужно исправить URI либо осознанно вернуть desired state.

Watcher

PathChanged запускает vpn-egress-sync.service. Все операции сериализованы lock-файлом. Некорректный URI не меняет production config.

journalctl -u vpn-egress-sync.service -n 100 --no-pager
systemctl reset-failed vpn-egress-sync.service

Обновления package/engine

0.2.0 не объявляет совместимость с другими версиями приложения или sing-box. Любой следующий переход выполняется по отдельному release runbook как clean install. apt upgrade не считается допустимой процедурой обновления этого control plane.