Files
HY2XS_flamy/docs/09-post-install-env.md
T

104 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Runtime env и post-install snapshot
## Цель документа
Зафиксировать двухслойную модель:
- editable runtime env: `/etc/hy2xs/hy2xs.env`
- generated deploy snapshot: `/etc/hysteria/post-install.env`
## Зачем нужен файл
После первичной установки оператору нужны:
1) runtime-файл, который оркестратор читает и валидирует;
2) snapshot-файл фактического deploy-состояния.
В snapshot видно:
- какой пакет был установлен
- какой build артефакт использован
- какой стек оркестратора применён
- какая версия Hysteria реально установилась
- какой fork/build UI разложен на target
- какие базовые параметры сети и портов заданы
Именно для этого создаётся `post-install.env`.
## Чего файл не делает
Этот файл:
- не делает оркестратор update-manager'ом
- не гарантирует автоматическое применение изменений
- не заменяет runtime-конфиги
- не превращает target в builder
## Рекомендуемые пути
```bash
/etc/hy2xs/hy2xs.env
/etc/hysteria/post-install.env
```
Оба файла должны иметь права `0600`.
## Минимальный набор переменных
### Deploy / package
- `DEPLOY_TARGET_OS`
- `DEPLOY_TIMESTAMP`
- `PACKAGE_NAME`
- `PACKAGE_BUILD_ID`
- `PACKAGE_VERSION`
### Orchestrator
- `ORCH_SOURCE_STACK=bun-typescript`
- `ORCH_BUILD_MODE`
- `ORCH_BUILD_ID`
- `ORCH_ENTRYPOINT`
### Общие
- `DEPLOY_DOMAIN`
- `SSH_PORT`
### Hysteria
- `HY2_SOURCE=official-upstream`
- `HY2_VERSION`
- `HY2_LISTEN_HOST`
- `HY2_PORT`
- `HY2_AUTH_MODE`
- `HY2_AUTH_URL`
- `HY2_TRAFFIC_STATS_LISTEN`
- `HY2_OBFS_TYPE`
- `HY2_OBFS_PASSWORD`
- `HY2_BANDWIDTH_UP_Mbps`
- `HY2_BANDWIDTH_DOWN_Mbps`
- `HY2_IGNORE_CLIENT_BANDWIDTH`
- `HY2_CONFIG_PATH`
### HY2XS admin
- `HUI_ENABLED`
- `HUI_FORK_REF`
- `HUI_BUILD_ID`
- `HUI_BIND_HOST`
- `HUI_PORT`
- `HUI_INSTALL_DIR`
- `HUI_DATA_DIR`
## Как работать с файлами
Правильная модель:
1. оркестратор создаёт `hy2xs.env` и `post-install.env` при установке;
2. оператор редактирует только `hy2xs.env`;
3. оператор запускает `reconfigure --dry-run`, затем `reconfigure --apply`;
4. оркестратор обновляет runtime и перезаписывает snapshot.
## Что нельзя делать
- сваливать туда временный мусор
- считать, что edit env автоматически меняет runtime без `reconfigure --apply`
- использовать файл как замену настоящей конфигурации сервисов
## Пример
См. [examples/post-install.env.example](examples/post-install.env.example).