Files
singbox_glue/docs/operations.md
T

2.6 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. Salamander допустим как compatibility fallback только при явно совпадающей серверной настройке. Не передавать 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 выполняется по отдельному release runbook как clean install. Повторная установка ровно 0.2.0 допускается при согласованных state и config; apt upgrade на другой release не считается допустимой процедурой.