Size: a a a

2019 November 06

Е

Евгений in pro.elixir
Źmićer Rubinštejn
Ну правильно, в конфиг ноды
Не понимаю. Только что ты сказал, что:
Если есть параметр, который должен знать ТОЛЬКО Б, значит это НЕ конфиг
источник

Е

Евгений in pro.elixir
пароль к БД должен знать ТОЛЬКО Б
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Нет. Пароль к БД должен знать админ ноды
источник

Е

Евгений in pro.elixir
А приложение прочитает его телепатически из мыслей админа
источник

Z

Zae in pro.elixir
приложение прочитает его из Application.fetch_env(:b_app, :database)
источник

Е

Евгений in pro.elixir
Zae
приложение прочитает его из Application.fetch_env(:b_app, :database)
сначала оно там должно оказаться и конфиг - это один из способов
источник

ŹR

Źmićer Rubinštejn in pro.elixir
В твоем предложении админ ноды запускает приложение, у которого написано “у меня есть зависимость - приложение :db”, которое черный ящик. Поэтому я понятия не имею о его УРЛ - только оно само там где-то знает
источник

Е

Евгений in pro.elixir
Źmićer Rubinštejn
В твоем предложении админ ноды запускает приложение, у которого написано “у меня есть зависимость - приложение :db”, которое черный ящик. Поэтому я понятия не имею о его УРЛ - только оно само там где-то знает
ну не обязательно черный ящик на самом деле. Какие-то зависимости да, черные ящики, а какие-то нет
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Все зависимости это черный ящик с точки зрения того, кто их вызывает
источник

Е

Евгений in pro.elixir
Короче, на самом деле спор сводится к следующему:
нужно ли структурировать конфиги или валить все в одну кучу, лично мне нравится структурировать
источник

ŹR

Źmićer Rubinštejn in pro.elixir
на самом деле ты хочешь засунуть конфиги внутрь черного ящика
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
Если мне нужно :a_app и :b_app запускать на одной ноуде, то я создал бы :single_node_app - который бы зависел от :a_app и :b_app и в своем конфиге, внутри umbrella - писал бы

import “../../a_app/config/config.exs” 
import “../../b_app/config/config.exs”


и так далее.
источник

Е

Евгений in pro.elixir
Dmitry Russ (Aleksandrov)
Если мне нужно :a_app и :b_app запускать на одной ноуде, то я создал бы :single_node_app - который бы зависел от :a_app и :b_app и в своем конфиге, внутри umbrella - писал бы

import “../../a_app/config/config.exs” 
import “../../b_app/config/config.exs”


и так далее.
я так и делаю фактически в данный момент
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
У каждого приложения свой конфиг, но на этапе сборки ноуды и релиза приложения конфиги мерджаться. Все, что касается только приложения a_app, находится в неймспейсе a_app-а.
источник

Е

Евгений in pro.elixir
только там сейчас не import, а import_config с 1.9 вроде
источник

Е

Евгений in pro.elixir
Dmitry Russ (Aleksandrov)
У каждого приложения свой конфиг, но на этапе сборки ноуды и релиза приложения конфиги мерджаться. Все, что касается только приложения a_app, находится в неймспейсе a_app-а.
ага, но вот есть люди считающие, что это неправильно
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
Евгений
ага, но вот есть люди считающие, что это неправильно
Я кусок дискуссии пропустил, поэтому не в курсе о таких…
источник

Е

Евгений in pro.elixir
Ну типа нечего вообще держать части конфига в конфигах зависимых приложений.
источник

Е

Евгений in pro.elixir
стикер вкусовщина здесь быть должен? :)
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
Если не держать часть конфига в зависимом приложении, то будет code duplication. Т.е. захочешь запускать a_app отдельно - один конфиг, если запускать single_node_app, то будет тот же самый конфиг (или почти такой же), только в другом месте. Я в таком случае за import и отсутствие code duplication-а, но принимаю дубликат конфига между a_app и single_node_app как вполне жизнеспособную альтернативу.
источник