Commit Graph

8040 Commits

Author SHA1 Message Date
Thales Macedo Garitezi
1d71256305
chore(deps): update mix.lock (mongodb) 2022-01-03 10:02:59 -03:00
Thales Macedo Garitezi
95566c6f16
Merge pull request #6599 from emqx/stale-action
ci: enable stale GH action in place of stalebot

Since stalebot appears to have been unreliable
recently (https://github.com/probot/stale/issues/349), we can try to
use GH Actions to manage the stale issues.
2022-01-03 09:29:32 -03:00
Ilya Averyanov
852033a955
Merge pull request #6525 from savonarola/authn-ssl-tests
chore(authn): test authn ssl settings
2022-01-01 13:41:37 +03:00
Thales Macedo Garitezi
39999fb467
ci: enable stale GH action in place of stalebot
Since stalebot appears to have been unreliable
recently (https://github.com/probot/stale/issues/349), we can try to
use GH Actions to manage the stale issues.
2021-12-31 15:14:44 -03:00
Thales Macedo Garitezi
33f06be5f1
Merge pull request #6600 from emqx/update-hocon
chore(hocon): update hocon version
2021-12-31 15:14:25 -03:00
Thales Macedo Garitezi
6858f496a7
chore(hocon): update hocon version 2021-12-31 14:13:39 -03:00
Ilya Averyanov
384493369b
Merge pull request #6587 from savonarola/improve-authz-coverage-more
chore(authz): increase coverage
2021-12-31 18:58:21 +03:00
Zaiming (Stone) Shi
b09d0d8e4c
Merge pull request #6586 from zmstone/docs-explain-layered-config-at-the-top
docs: explain layered config at the top
2021-12-31 08:10:15 +01:00
Ilya Averyanov
2ffcaad41e chore(authz): increase coverage 2021-12-31 01:24:18 +03:00
Thales Macedo Garitezi
c29bc126ef
Merge pull request #6507 from emqx/build-with-mix-mkII
Build with Elixir Mix Release
2021-12-30 15:00:38 -03:00
Zaiming (Stone) Shi
d88a648092 docs: update config doc
Explain layered style at the very top of the doc
2021-12-30 18:38:01 +01:00
Zaiming (Stone) Shi
d191f7cf7e chore: update to hocon 0.22.2 2021-12-30 18:36:26 +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
Zaiming (Stone) Shi
5cb2e5696d
Merge pull request #6309 from emqx/configure-stalebot
ci(stalebot): stalebot initial configuration
2021-12-30 14:35:51 +01:00
Ilya Averyanov
c98e0efdad chore(mongodb): update client 2021-12-30 13:57:48 +03:00
Ilya Averyanov
7208669946 chore(authn): reduce number of pre-generated certificates, refactor
tests
2021-12-30 13:49:14 +03:00
Thales Macedo Garitezi
3fc8d4049f
Merge pull request #6571 from emqx/fix-sticky-shared-sub-conf
fix(config): add missing enum constructors for `shared_subscription_strategy`

Currently, there's [code](048afa6d2d/apps/emqx/src/emqx_shared_sub.erl (L270-L279)) and tests that expect the possibility of
values `sticky`, `hash_topic` and `hash_clientid` in the
`node.shared_subscritpion_strategy` configuration, but the schema enum
does not contain those constructors.

There's also a `hash` constructor expected, but apparently it's just for backwards compatibility (same as `hash_clientid`), so maybe we can skip it in 5.0
2021-12-29 15:08:49 -03:00
Zaiming (Stone) Shi
fe338ca904
Merge pull request #6569 from zmstone/add-bsl
Add BSL
2021-12-29 15:53:54 +01:00
Thales Macedo Garitezi
048afa6d2d
fix(config): add missing enum constructors for shared_subscription_strategy
Currently, there's code and tests that expect the possibility of a
value `sticky`, `hash_topic` and `hash_clientid` in the
`node.shared_subscritpion_strategy` configuration, but the schema enum
does not contain those constructors.
2021-12-29 10:34:20 -03:00
Ilya Averyanov
2b3d3ebb0a chore(authn): test JWT authn with HTTPS key server 2021-12-29 16:24:57 +03:00
Ilya Averyanov
f230c20521 chore(authn): test HTTPS authn 2021-12-29 16:24:57 +03:00
Ilya Averyanov
a7ca6cb39f chore(authn): test MongoDB authn via ssl connection 2021-12-29 16:24:52 +03:00
Zaiming (Stone) Shi
7f49934216 chore: add BSL.txt 2021-12-29 13:35:49 +01:00
Zaiming (Stone) Shi
f5049b696a docs: fix a misspell in emqx_mgmt_cli 2021-12-29 13:29:51 +01:00
Thales Macedo Garitezi
54a6674715
fix: undo tool-versions change 2021-12-28 17:35:54 -03:00
Thales Macedo Garitezi
8f4453fedb
fix(gateway): undo move headers to root include
Keeping headers in the src directory makes sense for the interfaces we
don't want to expose outside, but the `include_lib` directive fails to
compile under Mix. Changing `include_lib("emqx_gateway/src/...")` to
`-include("src/...")` pleases both Mix and Rebar.
2021-12-28 17:34:47 -03:00
Thales Macedo Garitezi
fe444bf134
chore(shellcheck): use git grep to search only tracked files 2021-12-28 16:49:24 -03:00
Thales Macedo Garitezi
3c966d77ca
Merge pull request #6560 from emqx/improve-update-appup-50
chore(update_appup): Improve `update_appup.escript` (5.0)

Port of #6480 .

* Make the script regex-aware

This change makes the `update_appup.escript` check whether the new
version of an application (the _current_ one) is already contained in
entries in the _new_ .appup file for that application if such .appup
file contains regexes.

* Do not use `load_module` instructions if `restart_application` is present

Since the appup instruction `restart_application` already loads all
modules of a given application, there is no need to introduce those
instructions if a restart is already present.

* Do not force `.appup.src` render if contents are the same

To avoid losing comments and/or manual indentation in appup files that
are already up to date, we now check whether the contents have the
exact same terms as those we are about to write to an existint .appup
file.

* Insert `load_module`s after `application:stop`, if present

If there is already any `application:stop(Application)` call in the
appup instructions, we prefer to add `load_module` instructions after
it, so we can be sure that the load is replaced safely.

* Add expected versions check

For apps inside emqx umbrella, we try to bump only the patch part of
their version numbers, and use only 3-part version
numbers (`Major.Minor.Patch`).  With those assumptions, we may infer
all versions that need to be covered in a given upgrade, and check if
those are covered in regexes.
2021-12-28 14:58:27 -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
cea54365dd
chore(mix): keep debug info and docs in beams 2021-12-28 10:27:17 -03:00
Thales Macedo Garitezi
8342b3711d
chore(update_appup): Improve update_appup.escript (5.0)
Port of #6480 .

* Make the script regex-aware

This change makes the `update_appup.escript` check whether the new
version of an application (the _current_ one) is already contained in
entries in the _new_ .appup file for that application if such .appup
file contains regexes.

* Do not use `load_module` instructions if `restart_application` is present

Since the appup instruction `restart_application` already loads all
modules of a given application, there is no need to introduce those
instructions if a restart is already present.

* Do not force `.appup.src` render if contents are the same

To avoid losing comments and/or manual indentation in appup files that
are already up to date, we now check whether the contents have the
exact same terms as those we are about to write to an existint .appup
file.

* Insert `load_module`s after `application:stop`, if present

If there is already any `application:stop(Application)` call in the
appup instructions, we prefer to add `load_module` instructions after
it, so we can be sure that the load is replaced safely.

* Add expected versions check

For apps inside emqx umbrella, we try to bump only the patch part of
their version numbers, and use only 3-part version
numbers (`Major.Minor.Patch`).  With those assumptions, we may infer
all versions that need to be covered in a given upgrade, and check if
those are covered in regexes.
2021-12-28 10:06:42 -03:00
Ilya Averyanov
f8ffb9c021
Merge pull request #6506 from savonarola/test-authz-mnezia
Test HTTP, Mria, File authorization
2021-12-28 15:53:37 +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
32b7dc406f
docs: document the elixir release vars 2021-12-28 08:46:33 -03:00
Thales Macedo Garitezi
f93f90c9ea
fix: portable shebangs 2021-12-28 08:21:51 -03:00
Zaiming (Stone) Shi
0f14f73a50
Merge pull request #6552 from zmstone/fix-5.0-portable-shebang
fix: portable shebang
2021-12-28 10:51:15 +01:00
Ilya Averyanov
9363b6110e chore(authz): make test http server more robust 2021-12-28 11:06:52 +03:00
lafirest
e48df910d8
Merge pull request #6493 from lafirest/refactor/exhook
refactor(emqx_exhook): refactore exhook and add api module
2021-12-28 14:00:19 +08:00
Thales Macedo Garitezi
1e567ac2b1
chore(mix): populate BUILT_ON file 2021-12-27 17:28:46 -03:00
Thales Macedo Garitezi
360a00622b
chore(mix): copy more files required by relup 2021-12-27 16:07:38 -03:00
Thales Macedo Garitezi
432faf7bd2
chore(mix): copy emqx_ctl to release as well 2021-12-27 14:09:48 -03:00
Thales Macedo Garitezi
a54e108296
ci(mix): add application mode check
This adds a CI check to ensure that applications and their modes are
in sync between Elixir and Rebar release builds.
2021-12-27 13:09:55 -03:00
Zaiming (Stone) Shi
68eb13d478 fix: portable shebang 2021-12-27 15:45:12 +01:00
Thales Macedo Garitezi
c14e8db869
style(format): format elixir files 2021-12-27 10:51:12 -03:00
Thales Macedo Garitezi
a4fd777d77
chore(mix): take into account different release/package/edition types 2021-12-27 09:57:56 -03:00
Ilya Averyanov
e2e2c98679 chore(authn): test Mysql authn via ssl connection 2021-12-27 11:16:31 +03:00
Ilya Averyanov
6de89d1207 chore(authn): test PostgreSQL authn via ssl connection 2021-12-27 11:16:31 +03:00
Ilya Averyanov
520629d6e2 chore(authn): test Redis authn via ssl connection 2021-12-27 11:16:31 +03:00