Size: a a a

2020 October 26

SP

Sergey Prokhorov in ErlangRus
как выше сказали, либо стартовать с пустым sys.config и потом в рантайме всё инициализировать вручную (не все приложения такое поддерживают), либо генерить sys.config чем-то
источник

DF

Denis Fakhrtdinov in ErlangRus
А механизм рендеринга env в sys.config тоже работает в два шага?
источник

ИИ

Иванов Иванов... in ErlangRus
Sergey Prokhorov
а так да, двухстадийный запуск не особо радует. Проблема в том, что sys.config лежащий в файле на диске в данный момент это довольно жестко прибитый формат концигурации beam в который очень трудно вмешаться.
а что значит "вмешаться" ?
источник

AF

Andrey Fadeev in ErlangRus
Помимо sys.config есть еще как минимум inetrc и параметры запуска vm. Их относительно удобно настраивать при двухстадийном запуске и, возможно, неудобно менять на ходу. И, кажется, часть флагов vm нельзя поменять без перезапуска
источник

DF

Denis Fakhrtdinov in ErlangRus
Логично, что нельзя.
источник

SP

Sergey Prokhorov in ErlangRus
Иванов Иванов
а что значит "вмешаться" ?
ну например подсунуть ему какой-то модуль который вместо sys.config прочитает config.yaml и сконвертирует его в sys.config - style термы прежде чем стартовать OTP
источник

SP

Sergey Prokhorov in ErlangRus
Denis Fakhrtdinov
А механизм рендеринга env в sys.config тоже работает в два шага?
что это такое?
источник

ИИ

Иванов Иванов... in ErlangRus
Sergey Prokhorov
ну например подсунуть ему какой-то модуль который вместо sys.config прочитает config.yaml и сконвертирует его в sys.config - style термы прежде чем стартовать OTP
а, в этом отношении да - неплохо было-бы чтобы в -config можно было передавать с провайдерами. сделали  для логгера подобное, думаю дойдут руки и до конфигов
источник

DF

Denis Fakhrtdinov in ErlangRus
Sergey Prokhorov
что это такое?
Механизм rebar3, который позволяет использовать переменные оркужения в sys.config/vm.args, e.g.
{kernel, [
       {logger_level, ${APP_LOGGER_LOG_LEVEL}},
   ...
источник

DF

Denis Fakhrtdinov in ErlangRus
Скорее, даже relx, полагаю.
источник

SP

Sergey Prokhorov in ErlangRus
а.. не знаю если честно. Думаю это в bash скрипте как-то разруливается. Но хз
источник

DF

Denis Fakhrtdinov in ErlangRus
Ну да, наверное. Там простая подстановка.
источник

DF

Denis Fakhrtdinov in ErlangRus
Но вообще штука удобная, особенно для упаковки релизов в модный докер.
источник

ML

Maksim Lapshin in ErlangRus
ну как бы env стал дефолтом во всяких cloud-first окружениях
источник

AB

Alex Bubnov in ErlangRus
Denis Fakhrtdinov
Ну да, наверное. Там простая подстановка.
не наверное, а точно - подстановка в баш-скрипте
причем, она глючная:

ХХХ, [21.05.20 15:38]
... вот эта уот хуетень https://github.com/erlware/relx/blob/61b411a077657ca6cd90a2f270319dcb99f74f2a/priv/templates/extended_bin#L237
ломается об фигурные скобки
источник

DF

Denis Fakhrtdinov in ErlangRus
Конечно ломается.
источник

AB

Alex Bubnov in ErlangRus
причем, там уйма всего, обо что она ломается
источник

AB

Alex Bubnov in ErlangRus
мы пытались урлы с query string пихать - тоже ломались
источник

DF

Denis Fakhrtdinov in ErlangRus
Да, оно не универсальное 🙂 Я такого и не заявлял.
источник

AB

Alex Bubnov in ErlangRus
в общем, двухфазный старт внутри вм всё же лучше.
источник