<div dir="ltr">Some explanations of what's a release kind of assume there is a <span class="" id=":sn.1" tabindex="-1" style="">sys</span>.<span class="" id=":sn.2" tabindex="-1" style="">config</span> file to override application environment variables.<div><br></div><div>I don't quite find source code in <span class="" id=":sn.4" tabindex="-1" style="">Erlang</span>/<span class="" id=":sn.5" tabindex="-1" style="">OTP</span> that specifically looks for that file. What I see, instead, is that the scripts generated by build tools pass -<span class="" id=":sn.6" tabindex="-1" style="">config</span> <span class="" id=":sn.7" tabindex="-1" style="">sys</span>.<span class="" id=":sn.8" tabindex="-1" style="">config</span> to <span class="" id=":sn.9" tabindex="-1" style="">erl</span>(1) if the file exists. Then, the application controller merges whatever goes in -<span class="" id=":sn.10" tabindex="-1" style="">config</span> (though some comments in the source code do mention <span class="" id=":sn.11" tabindex="-1" style="">sys</span>.<span class="" id=":sn.12" tabindex="-1" style="">config</span>).</div><div><br></div><div>So, is <span class="" id=":sn.13" tabindex="-1" style="">sys</span>.<span class="" id=":sn.14" tabindex="-1" style="">config</span> a special-cased file in releases like other expected directories or files? Or is it actually just a convention?</div><div><br></div><div>I noticed "Designing for Scalability with <span class="" id=":sn.15" tabindex="-1" style="">Erlang</span>/<span class="" id=":sn.16" tabindex="-1" style="">OTP</span>" does not mention <span class="" id=":sn.17" tabindex="-1" style="">sys</span>.<span class="" id=":sn.18" tabindex="-1" style="">config</span> when explaining releases. It only appears later on together with <span class="" id=":sn.19" tabindex="-1" style="">vm</span>.<span class="" id=":sn.20" tabindex="-1" style="">args</span> when talking about rebar3.</div></div>