fix(deploy): порядок вычисления FILES_DOMAIN и чистота рендера шаблонов

- resolve_derived_values(): производные значения (files.<domain>) считаются
  до записи .env; раньше set -u ронял установщик на write_env_file
- убраны local-объявления, маскировавшие turn_external_tls/use_external_ip/
  disable_simulcast/compose_template внутри render_all_templates
- из рендера compose убрана неиспользуемая пара IMAGE_TAG
- guard чётности аргументов рендера пишет в журнал, а не в консоль:
  проверка результата — отсутствие незаполненных плейсхолдеров
This commit is contained in:
2026-09-19 19:29:18 +03:00
parent 99e0f72844
commit 8329507d8d
2 changed files with 22 additions and 17 deletions
+4 -4
View File
@@ -198,11 +198,11 @@ detect_profile() {
render_template() {
local src="$1" dst="$2"
shift 2
# Нечётное число аргументов означает, что вызов неполный: сообщаем об этом,
# но продолжаем — значения, которые всё же переданы, будут применены,
# а незаполненные плейсхолдеры видны в предупреждении ниже.
# Нечётное число аргументов означает неполный вызов: пишем в журнал
# установки, но продолжаем — реальная проверка ниже (незаполненные
# плейсхолдеры в результате рендера).
if [ $(( $# % 2 )) -ne 0 ]; then
warn "render_template($(basename "$src")): нечётное число аргументов: $#"
log_file_only "render_template($(basename "$src")): нечётное число аргументов: $#"
fi
# export "$pair" разбирает KEY=value сам; export "${pair}" трактует всю