Build new sys.config from conform config and apply it at runtume.
It uses conform_schema
and conform_config
command line flags which are set on exrm startup script.
-
Add exrm_reload to your list of dependencies in mix.exs:
def deps do [{:exrm_reload, github: "xerions/exrm_reload"}] end
-
Ensure exrm_reload is started before your application:
def application do [applications: [:exrm_reload]] end
-
Run reconfiguration when you want it:
> ReleaseManager.Reload.run
or you can specify application's list for reconfiguration:
> ReleaseManager.Reload.run [:hello, :exd, :ecdo]
It works with the releases are builded via exrm
. You just call it by rpc from OS shell:
$ you_application rpc Elixir.ReleaseManager.Reload run
The test application uses xerions forks of exrm and conform but it can work with the original exrm version >= 0.19.7
and conform. Just override it.