<div dir="ltr">What's "best" is very much depending on who you ask, but, for starters you may consider wrapping your configuration with something that allows you to override config variables with environment variables (see example below). This would make it easier to run things without changing files and it would also prepare you for whenever you enter docker-/kube-land later also...should you decide to take that step. <br><br>/Stefan<br><br><br><br><br>...an example <br><br><div><div>-module(config).</div><div><br></div><div>-export([get/1]).</div><div><br></div><div>%% reads a configuration value Key. Values are placed in sys.config as atoms</div><div>%% but can be overridden by setting environment variables in the os. The environment</div><div>%% variable name is given by the atom name converted to a string/list and then uppercased</div><div>%% example: my_atom_key would translate to the environment variable MY_ATOM_KEY</div><div>get(Key) when is_atom(Key) -></div><div>    {ok, Default} = application:get_env(axon, Key),</div><div>    EnvName = string:to_upper(atom_to_list(Key)),</div><div>    case os:getenv(EnvName) of</div><div>        false -></div><div>            Default; %% assume it has the right type in config</div><div><br></div><div>        OSVal -></div><div>            convert(OSVal, Default)</div><div>    end.</div><div><br></div><div>convert(Val, Default) when is_list(Val), is_integer(Default) -></div><div>    list_to_integer(Val);</div><div>convert(Val, Default) when is_list(Val), is_binary(Default) -></div><div>    list_to_binary(Val);</div><div>convert(Val, Default) when is_list(Val), is_boolean(Default) -></div><div>    list_to_atom(Val);</div><div>convert(Val, Default) when is_list(Val), is_list(Default) -></div><div>    Val.</div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, May 7, 2018 at 3:45 PM, asdf asdf <span dir="ltr"><<a href="mailto:codewiget95@gmail.com" target="_blank">codewiget95@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div>
<div name="messageBodySection" style="font-size:14px;font-family:-apple-system,BlinkMacSystemFont,sans-serif">Hey everyone,
<div><br></div>
<div>I’ve recently built a few applications that handle high volume message passing and all communicate with each other using Erlang’s ssl distribution. I’m working on deploying these to multiple servers - right now I am just using rebar3 release and creating a zipped tar of the release directory, moving it to a new box, and changing the some vm.args and sys.config options on the new machines. This doesn’t seem totally intuitive though… it take far longer than I feel like it should. </div>
<div><br></div>
<div>I’ve read about Docker and Kubernetes, and those seem promising, but our IT guys aren’t ready to move to containers and are using static nodes right now. </div>
<div><br></div>
<div>So, what is the best way to quickly distribute your erlang binaries and configure the enviornment? Have a quick script to do it automatically? Is the answer just containerize with Docker and wait a few months for the IT team to catch up with it? Or is there some other option out there?</div>
<div><br></div>
<div>Thanks for your help!</div>
</div>
</div>

<br>______________________________<wbr>_________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/<wbr>listinfo/erlang-questions</a><br>
<br></blockquote></div><br></div>