fix: harden runtime policy and remove legacy hysteria mutation paths
This commit is contained in:
@@ -61,14 +61,15 @@ Hysteria2 — основной транспортный компонент се
|
||||
Требования:
|
||||
- production default: `acme`
|
||||
- поддерживаемые режимы: `acme | file | self_signed_dev`
|
||||
- `self_signed_dev` только для dev/lab
|
||||
- `self_signed_dev` только для dev/lab и только при явном `HY2XS_ALLOW_SELF_SIGNED_DEV=true`
|
||||
- корректный `server_name` / SNI на клиентах
|
||||
- одна понятная TLS policy
|
||||
- без смешивания нескольких несовместимых схем по умолчанию
|
||||
|
||||
Инварианты:
|
||||
- `acme` -> только `acme` block в конфиге;
|
||||
- `acme` block обязан содержать `type: http|tls|dns` из runtime env (`HY2XS_ACME_TYPE`);
|
||||
- `acme` block обязан содержать `type: http|tls` из runtime env (`HY2XS_ACME_TYPE`);
|
||||
- `HY2XS_ACME_TYPE=dns` в production-профиле запрещён до отдельной реализации;
|
||||
- `file` -> только `tls.cert`/`tls.key` block;
|
||||
- `self_signed_dev` -> только dev сценарии.
|
||||
|
||||
|
||||
@@ -65,6 +65,7 @@
|
||||
- `HY2XS_FIREWALL_STAGED_APPLY`
|
||||
- `HY2XS_ADMIN_USER`
|
||||
- `HY2XS_FORCE_PASSWORD_CHANGE`
|
||||
- `HY2XS_ALLOW_SELF_SIGNED_DEV`
|
||||
|
||||
### Hysteria
|
||||
- `HY2_SOURCE=official-upstream`
|
||||
@@ -106,6 +107,7 @@
|
||||
Важно:
|
||||
- `HY2XS_ADMIN_INITIAL_PASSWORD` используется только для первичного bootstrap seed;
|
||||
- `HY2XS_ADMIN_CON_PASS` — отдельная runtime-сущность для Hysteria auth/smoke;
|
||||
- bootstrap secret хранится в явном формате `KEY=VALUE` (`ADMIN_USER`, `ADMIN_INITIAL_PASSWORD`, `ADMIN_CON_PASS`), права `0600`;
|
||||
- после первичного seed перезапуски `hy2xs-admin` не должны переопределять пароль admin и `con_pass`.
|
||||
|
||||
## Что нельзя делать
|
||||
|
||||
Reference in New Issue
Block a user