distillery v2.0.0-rc.1 Mix.Releases.Profile
Represents the configuration profile for a specific environment and release. More generally, a release has a profile, as does an environment, and when determining the configuration for a release in a given environment, the environment profile overrides the release profile.
Options
- `output_dir`: path to place generated release
- `vm_args`: path of the vm.args file to use
- `cookie`: the secret cookie to use for distributed Erlang
- `sys_config`: path of a custom sys.config file to use
- `code_paths`: additional code paths to make available
- `no_dot_erlang`: build boot scripts with given no_dot_erlang setting
- `executable`: whether this release is an executable type or not
- `exec_opts`: a keyword list of options for executable mode
- `transient`: whether the extracted contents of an executable will be cleaned up on shutdown
- `erl_opts`: a string containing flags to pass to the underlying VM
- `run_erl_env`: options to pass to `run_erl` in daemon mode
- `dev_mode`: instead of copying files into the release, they are symlinked for performance,
and enabling the use of code reloading in a release
- `include_erts`: true to include the system ERTS, false to not include ERTS at all,
or a path to the ERTS to include, i.e. `"/usr/local/lib/erlang"`
- `include_src`: true to include source files in the release, false to not
- `include_system_libs`: deprecated, automatically determined
- `included_configs`: a list of paths to include extra `sys.config` files from,
e.g. `["/etc/sys.config"]`
- `config_providers`: a list of custom config providers,
e.g. `[MyCustomProvider, {MyOtherProvider, [:foo]}]`
- `appup_transforms`: a list of custom appup transforms,
e.g. `[MyCustomTransform, {MyOtherTransform, [:foo]}]`
- `strip_debug_info`: true to strip debug chunks from BEAM files, false to leave them as-is
- `plugins`: a list of plugins, e.g. `[MyPlugin, {MyOtherPlugin, [:foo]}]`
- `overlay_vars`: a keyword list of vars to make available in overlays
- `overlays`: a list of overlays to apply, see the Overlay module docs for more
- `overrides`: a list of overridden overlay vars (to override internal vars)
- `commands`: a keyword list of custom commands, e.g. `[test: "path/to/test/script"]`
Hooks
The following options all take a path to a directory containing the scripts which will be executed at the given point in the release lifecycle:
- `pre_configure_hooks`: before the system has generated config files
- `post_configure_hooks` after config files have been generated
- `pre_start_hooks`: before the release is started
- `post_start_hooks`: after the release is started
- `pre_stop_hooks`: before the release is stopped
- `post_stop_hooks`: after the release is stopped
- `pre_upgrade_hooks`: just before a release upgrade is installed
- `post_upgrade_hooks`: just after a release upgrade is installed
Link to this section Summary
Link to this section Types
Link to this type
t()
t() :: %Mix.Releases.Profile{ included_configs: [String.t()], appup_transforms: [module() | {module(), [term()]}], include_erts: nil | boolean() | String.t(), include_system_libs: nil | boolean() | String.t(), pre_upgrade_hooks: nil | String.t(), post_start_hooks: nil | String.t(), post_configure_hooks: nil | String.t(), pre_stop_hooks: nil | String.t(), overlay_vars: nil | Keyword.t(), sys_config: nil | String.t(), pre_start_hooks: nil | String.t(), vm_args: nil | String.t(), overlays: Mix.Releases.Overlay.overlay(), run_erl_env: nil | String.t(), post_upgrade_hooks: nil | String.t(), config_providers: [module() | {module(), [term()]}], config: nil | String.t(), strip_debug_info: nil | boolean(), output_dir: nil | String.t(), commands: nil | [{atom(), String.t()}], plugins: [module()], erts_version: nil | String.t(), cookie: nil | Atom.t(), dev_mode: nil | boolean(), pre_configure_hooks: nil | String.t(), overrides: nil | [{atom(), String.t()}], erl_opts: nil | String.t(), code_paths: nil | [String.t()], exec_opts: term(), executable: term(), no_dot_erlang: nil | boolean(), post_stop_hooks: nil | String.t(), include_src: nil | boolean() }