Commit Graph

161 Commits

Author SHA1 Message Date
Zaiming (Stone) Shi
c62f7e5baa chore: fix typos in bin/emqx 2022-04-13 13:50:25 +02:00
Thales Macedo Garitezi
b5ac56ba50
feat(db): check if OTP has mnesia_hook, otherwise fallback to mnesia
Adds a check to `bin/emqx` to see if the OTP version being used has
support for `mnesia_hook`, which is required by Mria for using the
RLOG backend.  If OTP is not compatible and the user tries to use
RLOG, a warning is printed during startup and the configuration falls
back to using the Mnesia backend.
2022-04-11 14:33:16 -03:00
Zaiming (Stone) Shi
32694e601a refactor: rename RUNNER_ETC_DIR to EMQX_ETC_DIR 2022-04-05 23:08:45 +02:00
Zaiming (Stone) Shi
822a4f9f73 feat: parameterise EMQX_ETC_DIR
both at build time and at runtime
2022-04-05 16:36:13 +02:00
Zaiming (Stone) Shi
122e75c0b4 feat(systemd): start EMQX under systemd in foreground mode 2022-03-11 13:34:54 +01:00
Zaiming (Stone) Shi
68fb80fc29 chore(bin/emqx): refine boot message 2022-03-04 21:02:54 +01:00
Zaiming (Stone) Shi
4e64010a3b build: more structured build info 2022-03-02 21:22:03 +01:00
Zaiming (Stone) Shi
a9deb43f7e
Merge pull request #7160 from zmstone/fix-data-dir-for-windows
fix: get data_dir from config for windows
2022-02-28 15:12:16 +01:00
Zaiming (Stone) Shi
2285091585 fix: get data_dir from config for windows 2022-02-28 12:52:22 +01:00
Zaiming (Stone) Shi
e22104476a fix(data_dir): get data_dir config in the right way
now data_dir config is respected by boot script as well as
EMQX application after booted
2022-02-28 09:59:56 +01:00
Zaiming (Stone) Shi
271fda3d66 fix(windows): deal with space in install path 2022-02-22 23:39:26 +01:00
Zaiming (Stone) Shi
88343df95a fix(windows): delete stale find functions
some of the find_ functions are generated from the old rebar template
which will never be used since we:

1. always release erts
2. always generate sys.config
3. always generate vm.args
2022-02-22 23:37:00 +01:00
Zaiming (Stone) Shi
d9bb616574 fix(windows): attach remote_console 2022-02-22 22:33:46 +01:00
Zaiming (Stone) Shi
0fa7b4a7d4 fix(windows): wrong clean start boot file path 2022-02-22 22:33:46 +01:00
Zaiming (Stone) Shi
893b844444 feat(windows): simplify emqx_ctl for windows 2022-02-22 22:33:37 +01:00
Zaiming (Stone) Shi
5a0e3c1c7b fix(windows): fix boot in windows 2022-02-22 22:33:33 +01:00
ieQu1
bdcb37263b fix(node_dump): Don't collect information about modules 2022-02-21 18:30:08 +01:00
Zaiming (Stone) Shi
05af1874aa chore: ensure remsh prefix for remote nodes
for remsh prefixed nodes, ekka pick a random port to listen on
instead of following the conventional port mapping rule:
ekka listens on 4370 for emqx or emqx0 and 4371 for emqx1 and so on
2022-02-20 19:47:23 +01:00
Zaiming (Stone) Shi
2e94880bb6 docs: More EMQ X -> EMQX rename in descriptive strings 2022-02-15 22:39:11 +01:00
Ilya Averyanov
64c59b5469 feat(license): check license before node start 2022-02-11 11:49:29 +03:00
Thales Macedo Garitezi
eea217093b
fix(mix): include node_dump in tgz and packages 2022-02-07 18:15:17 -03:00
Ilya Averyanov
17599432d1 feat(license): add license application 2022-02-07 19:05:47 +03:00
Thales Macedo Garitezi
1b3b2c0d03
feat: add eval-erl command to bin/emqx
This allows Erlang expressions to be evaluated easily even on nodes
running Elixir.
2022-02-04 16:53:27 -03:00
Thales Macedo Garitezi
bd0d331b64
Merge pull request #6636 from emqx/elixir-packages-mkII
ci(mix): build emqx packages with elixir
2022-01-27 11:10:30 -03:00
Kian-Meng Ang
fc92e4c8bf docs: fix typos 2022-01-27 12:29:38 +01:00
Thales Macedo Garitezi
03e0c5ef2a
fix(eval): use running node for rpc eval, not a fresh one
With the previous arguments, a fresh hidden node with the same name as
the expected running one was being started and commands were being run
there.  This caused commands like `ekka_cluster:info()` to report
seemingly weird results.
2022-01-26 16:59:48 -03:00
Zaiming (Stone) Shi
1abac892c9 refactor: install_upgrade script no need to re-pack
OTP release handler only works with .tar.gz
as a result, we had to unpack .zip and re-pack .tar.gz
just to make OTP happy.

Now since we will be building .tar.gz packages
there is no need for this re-pack step anymore
2022-01-13 18:54:01 +01:00
Zaiming (Stone) Shi
a935dcc1f5
Merge pull request #6718 from zmstone/refactor-bin-emqx-help-info
refactor(bin/emqx): refine help info
2022-01-12 23:34:53 +01:00
Zaiming (Stone) Shi
38ee224fac refactor(bin/emqx): refine help info
* refine usage print
* deleted restart command, as it only works for daemon mode.
  e.g. if EMQ X is started in 'foreground' mode the 'restart'
  command will make it start in daemon mode
* some commands such as ertspath does not requre RPC
2022-01-12 23:33:59 +01:00
Zaiming (Stone) Shi
635b056e03 fix(bin/emqx): print usage when no command given 2022-01-12 08:18:44 +01:00
Zaiming (Stone) Shi
af82f51333 chore: emqx stop prints ok after stop
This is to make it behave the same as older versions
2022-01-07 09:03:31 +01:00
Thales Macedo Garitezi
b9494662ae
fix(ci): fix shellcheck file pattern
Since we started to use the portable shebang style for our scripts, we
need to update the pattern used to find scripts for Shellcheck to
check.
2022-01-05 11:34:04 -03:00
Zaiming (Stone) Shi
eae2e3ad0c Merge remote-tracking branch 'origin/master' into merge-5.0-beta.3-to-master 2022-01-04 21:11:30 +01:00
Zaiming (Stone) Shi
320506957c refactor(bin/emqx): wait for up to 120 seconds by default 2022-01-04 17:28:53 +01:00
Zaiming (Stone) Shi
2898fa76e1 Merge remote-tracking branch 'origin/release-5.0-beta.3' into merge-5.0-beta.3-to-master 2022-01-03 11:39:06 +01:00
Thales Macedo Garitezi
c70a47bba6
refactor(mix): undo the bin/emqx script split into helper files 2021-12-30 13:45:13 -03:00
Thales Macedo Garitezi
0020cf592f
Merge remote-tracking branch 'origin/master' into build-with-mix-mkII 2021-12-28 11:28:40 -03:00
Thales Macedo Garitezi
ecbb28fedf
Merge pull request #6540 from emqx/fix-bin-vm-args
fix(bin_emqx): remove `vm_args` backup in `install`

The `install_upgrade.escript` depended on being able to retrieve the
`vm_args` argument from `init`, but that options has been removed
recently.  Since this backup was unused, we also remove it here.

Also, the `cuttlefish` script reference is removed, since it is no longer 
present in the release.
2021-12-28 11:27:02 -03:00
Thales Macedo Garitezi
5c615e583f
fix(install_upgrade): remove cuttlefish reference
This file is not present in the current release anymore.
2021-12-28 09:09:21 -03:00
Thales Macedo Garitezi
dd36bef3bb
fix(install_upgrade): remove vm_args backup in install
The `install_upgrade.escript` depended on being able to retrieve the
`vm_args` argument from `init`, but that options has been removed
recently.  Since this backup was unused, we also remove it here.
2021-12-28 09:07:40 -03:00
Thales Macedo Garitezi
f93f90c9ea
fix: portable shebangs 2021-12-28 08:21:51 -03:00
Thales Macedo Garitezi
360a00622b
chore(mix): copy more files required by relup 2021-12-27 16:07:38 -03:00
Zaiming (Stone) Shi
68eb13d478 fix: portable shebang 2021-12-27 15:45:12 +01:00
Thales Macedo Garitezi
0655572f64
chore(mix): fix: use Elixir's own rpc-eval call for "eval" 2021-12-24 11:40:30 -03:00
Thales Macedo Garitezi
f3bbcd2c79
chore(nodetool): always print result 2021-12-24 08:21:21 -03:00
Thales Macedo Garitezi
67cca5d3a1
chore(mix): use the same script in mix release as in rebar release
Surprisingly enough, by doing small cirurgical changes in the existing
EMQX control scripts, we are able to get it running with Elixir and
with existing functionalities (`console`, `remote_console`, `start`,
`stop`, `ctl`, `foreground`, `eval`).
2021-12-23 17:20:04 -03:00
Thales Macedo Garitezi
014b6d3cfd
chore(shellcheck): fix shellcheck linting warnings 2021-12-22 15:43:43 -03:00
Thales Macedo Garitezi
62024854e5
chore(mix): wrap produced script and set required variables
We create a shim script that calls the one produced by Mix Release,
creating and setting the required configurations.
2021-12-22 15:15:19 -03:00
Thales Macedo Garitezi
a5939790c5
refactor(bin): extract common script functionalities into separate files
In order for us to reuse most of the functionalities implemented in
`bin/eqmx` also in the Elixir release script, common variable and
function definitions are extracted in separated bash files that can be
sourced by both Rebar and Elixir release scripts.
2021-12-22 10:35:06 -03:00
Shawn
c3eab16182 fix(boot_script): wait until the emqx running 2021-12-21 19:50:36 +08:00