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

3.1 KiB
Raw Blame History

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

Рекомендуемые пути

/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.