-
Notifications
You must be signed in to change notification settings - Fork 22
/
config.exs
84 lines (70 loc) · 2.39 KB
/
config.exs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# Import all plugins from `rel/plugins`
# They can then be used by adding `plugin MyPlugin` to
# either an environment, or release definition, where
# `MyPlugin` is the name of the plugin module.
~w(rel plugins *.exs)
|> Path.join()
|> Path.wildcard()
|> Enum.map(&Code.eval_file(&1))
use Distillery.Releases.Config,
# This sets the default release built by `mix distillery.release`
default_release: :default,
# This sets the default environment used by `mix distillery.release`
default_environment: Mix.env()
# For a full list of config options for both releases
# and environments, visit https://hexdocs.pm/distillery/config/distillery.html
# You may define one or more environments in this file,
# an environment's settings will override those of a release
# when building in that environment, this combination of release
# and environment configuration is called a profile
# We may need to override the default node name if there are multiple nodes in the same server
# (ex: a testnet & a mainnet)
vm_args_name = System.get_env("ARCHETHIC_VM_ARGS_NAME", "archethic_node@127.0.0.1")
IO.puts("ARCHETHIC_VM_ARGS_NAME=#{vm_args_name}")
environment Mix.env() do
set(include_erts: true)
set(include_src: false)
set(vm_args: "rel/vm.args")
set(pre_configure_hooks: "rel/pre_configure")
set(overlay_vars: [vm_args_name: vm_args_name])
set(
config_providers: [
{Distillery.Releases.Config.Providers.Elixir, ["${REL_DIR}/runtime_config.exs"]}
]
)
set(
overlays: [
{:copy, "config/#{Mix.env()}.exs", "releases/<%= release_version %>/runtime_config.exs"}
]
)
set(
commands: [
regression_test: "rel/commands/regression_test",
validate: "rel/commands/validate",
db: "rel/commands/db"
]
)
plugin(Distillery.Releases.Plugin.CookieLoader)
end
# You may define one or more releases in this file.
# If you have not set a default release, or selected one
# when running `mix distillery.release`, the first release in the file
# will be used by default
release :archethic_node do
set(version: current_version(:archethic))
set(
applications: [
:runtime_tools,
:observer_cli,
archethic: :permanent
]
)
set(
appup_transforms: [
{Archethic.Release.TransformPurge, []},
{Archethic.Release.RestartTelemetry, []},
{Archethic.Release.ParseContractCode, []},
{Archethic.Release.CallMigrateScript, []}
]
)
end