63 lines
2.4 KiB
Markdown
63 lines
2.4 KiB
Markdown
# Эксплуатация
|
||
|
||
## Ротация URI
|
||
|
||
```bash
|
||
sudo vpn-egressctl import --stdin
|
||
```
|
||
|
||
Либо из защищённого файла режима 0600:
|
||
|
||
```bash
|
||
sudo vpn-egressctl import --file /run/credentials/new-hysteria2.uri
|
||
```
|
||
|
||
Production URI HY2XS должен использовать Gecko. Не передавать URI через argv,
|
||
environment, shell history, тикет или журнал.
|
||
|
||
## Изменение policy
|
||
|
||
```bash
|
||
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
|
||
|
||
```bash
|
||
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.
|
||
|
||
```bash
|
||
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.
|