Commit Graph

248 Commits

Author SHA1 Message Date
Zaiming (Stone) Shi 91150e6d83 chore: allow special chars in log dir
the current valdiator does not allow space and ':' in log file path
which is an unresonable restriction
2023-05-23 14:20:49 +02:00
Zaiming (Stone) Shi 3bb1f7ab2b Merge remote-tracking branch 'origin/master' into 0503-no-telemetry-app-for-ee 2023-05-23 13:03:55 +02:00
Zaiming (Stone) Shi 3482c2c849 refactor: redefine default value for 'node.applications' in enterprise 2023-05-22 14:51:26 +02:00
Zhongwen Deng ad111a27f9 feat: alias log.file.to to log.file.file 2023-05-09 11:24:51 +08:00
Zhongwen Deng 14952658d5 chore: convert rotation struct to roation_count 2023-05-09 11:24:51 +08:00
Zhongwen Deng d31a44f96b feat: convert rotation from map to integer 2023-05-09 11:24:51 +08:00
某文 7b000157d0 feat: refactor log configuration 2023-05-09 11:24:51 +08:00
Zaiming (Stone) Shi 4a2e583e3f refactor: move telemetry to its own app 2023-05-08 15:16:27 +02:00
zhongwencool fb3c0c1fe9
Merge pull request #10546 from zhongwencool/04-27-ssl_options
feat: organize the ssl_options
2023-05-05 20:51:19 +08:00
Zaiming (Stone) Shi d5f5f35787 Merge remote-tracking branch 'origin/release-50' into 0502-merge-release-50-back-to-master 2023-05-02 18:08:04 +02:00
Zhongwen Deng b0eca5bc00 feat: aliases etcd.ssl to etcd.ssl_options 2023-04-30 10:48:54 +08:00
Zaiming (Stone) Shi 4d705817d8 refactor(log): move default values to schema 2023-04-29 22:10:19 +02:00
Zaiming (Stone) Shi 41f13330ba refactor: export EMQX_LOG_DIR 2023-04-29 22:10:19 +02:00
Zhongwen Deng e789e57b65 chore: change node.data_dir from hidden to low 2023-04-27 14:41:23 +08:00
Zhongwen Deng 0b1a2dd193 feat: rename etcd.ssl to etcd.ssl_options 2023-04-24 14:40:30 +08:00
Zaiming (Stone) Shi 4d67312bab refactor: set authz config at 'high' importance level
and authorization.sources at 'low' level
prior to this commit, the root was set to 'hidden'
which is not ideal because some may still want to configure
the sources from files
2023-04-18 19:17:03 +02:00
Zaiming (Stone) Shi 6bc33e86be refactor: set rpc config at 'low' importance level instead of 'hidden' 2023-04-18 19:17:03 +02:00
Zaiming (Stone) Shi 6dd7befaab refactor: unify authn authz type names 2023-04-18 09:48:28 +02:00
某文 933e6727ba feat: node array support array(atom()) and comma_separated_atoms 2023-04-18 09:28:36 +08:00
zhongwencool 69d1a35c90
Merge pull request #10156 from zhongwencool/conf-refactor
feat: configuration priority ENV > emqx.conf > API
2023-04-16 13:45:35 +08:00
Zhongwen Deng 8948be49e7 feat: hide node advance config 2023-04-14 23:29:41 +08:00
Zhongwen Deng c0e6e79bcd feat: don't remove default value when save config 2023-04-14 21:17:34 +08:00
Zhongwen Deng 5f4ea3b6d8 feat: deprecated cluster-override.conf 2023-04-14 20:51:58 +08:00
Zhongwen Deng 180f571765 feat: configuration priority ENV > emqx.conf > API 2023-04-14 20:51:58 +08:00
Zhongwen Deng be35ae2132 feat: hide shared_subscription_group,rpc,slow_subs 2023-04-14 17:14:11 +08:00
Zhongwen Deng cc2beda37a feat: hiden rule_engine/bridge/authz/authn from doc/example 2023-04-13 14:42:21 +08:00
Zaiming (Stone) Shi d07987288a chore: add some example annotations for config importance level 2023-03-28 14:29:24 +02:00
Zaiming (Stone) Shi 9316690c29 fix(schema): binary string for default values
A lot of the string value fields had default value defined in
schema as list-string rather than binary-string.
This caused the generated schema dump (in JSON format)
to have raw_default field as an integer array.
2023-02-21 09:09:51 +01:00
Zaiming (Stone) Shi 605d9972e4 fix(config): avoid calling emqx:update_config/2 for logger refresh
Prior to this fix, whatever configured for loggers are persisted to
cluster-override.conf.
This may cause troulbe for users who changes boot mode.

For example if the node is once started in console mode,
the logging config is persisted, with console enabled, but file
disabled.
Then if the user decide to start in daemon mode, all the logs
will silently go to erlang.log.N and emqx.log.N will be empty.

After this fix, only changes really made into cluter-override.conf
will take effect.
2023-01-31 18:50:16 +01:00
Zaiming (Stone) Shi b0ac924ca9 refactor: less copy-paste 2023-01-31 18:40:55 +01:00
Zaiming (Stone) Shi 7abba17b25
Merge pull request #9765 from zmstone/0115-add-password-converter
fix(schema): add password converter to ensure its binary() type
2023-01-18 15:09:05 +01:00
Zhongwen Deng f98786c91f fix: bad crash_dump_file default value in rpm 2023-01-17 20:47:54 +08:00
Zaiming (Stone) Shi 4a7e74f5d6 fix(schema): add password converter to ensure its binary() type 2023-01-17 11:12:17 +01:00
Zaiming (Stone) Shi 8b3ec48406 refactor: node.config_files should be hidden as it's not configurable
this config schema exists only for app-env mapping.
users can not change it because the bootstraping config
has to be etc/emqx.conf
2023-01-17 11:08:40 +01:00
Zhongwen Deng 1fe0061123 fix: node.config_files type is hocon:array(string())) 2023-01-13 23:35:45 +08:00
Ivan Dyachkov f90c41f769 fix: set default value in schema 2023-01-12 13:49:52 +01:00
Thales Macedo Garitezi 48e1ba4832 feat(docs): add tags to schemas
This'll allow us to split the generated `schema.json` file into
subsections for better documentation navigation.
2023-01-11 09:10:03 -03:00
Zhongwen Deng f6a47e5cf6 chore: support api_key.bootstrap_file config 2023-01-10 19:03:49 +08:00
Zaiming (Stone) Shi dbc10c2eed chore: update copyright year 2023 2023-01-02 09:22:27 +01:00
Zaiming (Stone) Shi 1c2fc4b6c3 Merge remote-tracking branch 'origin/release-50' into 1206-chore-merge-ee50-to-release-50 2022-12-06 16:35:56 +01:00
Zhongwen Deng 70b6397ada feat: support node.global_gc_interval=disabled 2022-11-24 20:35:41 +08:00
Zaiming (Stone) Shi 09455edae8 Merge tag 'v5.0.10' into dev/ee5.0 2022-11-16 16:20:30 +01:00
zhongwencool 049f988642
chore: update apps/emqx_conf/src/emqx_conf_schema.erl
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2022-10-25 22:07:48 +08:00
Zhongwen Deng 6710736243 feat: add prometheus collectors config 2022-10-25 09:41:58 +08:00
ieQu1 d0120e1edc chore(gen_rpc): Bump version to 3.0.0 2022-10-20 16:32:06 +02:00
Shawn 4135910b42 chore: merge master into dev/ee5.0 2022-09-26 09:52:33 +08:00
Zhongwen Deng 56c1ac5a82 chore: deprecated etc_dir since 5.0.8 2022-09-13 18:38:36 +08:00
Zaiming (Stone) Shi 4534966e36 Merge remote-tracking branch 'origin/master' into dev/ee5.0 2022-09-13 12:16:54 +02:00
Zaiming (Stone) Shi befc4acced Merge remote-tracking branch 'origin/master' into merge-master-to-ee50-a 2022-09-06 20:31:38 +02:00
Zaiming (Stone) Shi ac840e318e refactor(cookie): Warning message when boot with default Erlang cookie 2022-09-06 18:58:35 +02:00
Zhongwen Deng 6de7881569 feat: remove node.etc_dir config 2022-09-05 16:11:11 +08:00
Shawn aea8c77b49 refactor: new config structure for mqtt bridge 2022-08-22 18:24:59 +08:00
Zaiming (Stone) Shi 717d5869a1 docs: remove root namespace
The root namespace was set to 'cluster' which is not very
accurate since not all the root level configs are 'cluster'
configs
2022-06-21 21:33:39 +02:00
Zaiming (Stone) Shi 7d49d1ee5c feat: add dns.record_type config for cluster discovery 2022-06-16 08:59:09 +02:00
Zaiming (Stone) Shi 67b8e6c3bd test: add a script to test dns cluster node discovery 2022-06-16 01:34:16 +02:00
Zaiming (Stone) Shi d35b95d00f refactor: remove dns.app config 2022-06-16 00:11:41 +02:00
Zaiming (Stone) Shi 05782c4e4e refactor: delete k8s.app_name config 2022-06-16 00:11:41 +02:00
William Yang 219f159fe7
Merge pull request #8219 from qzhuyan/dev/william/emqx-conf-vm-args
chore(conf): mv some default val of vmargs to emqx_conf
2022-06-15 14:14:57 +02:00
William Yang efed970aab chore(conf): mv some default val of vmargs to emqx_conf 2022-06-15 09:06:06 +02:00
William Yang 7961f9206b
Merge pull request #8205 from qzhuyan/dev/william/emqx-conf-vm-args
fix(emqx_conf): add missing vm.args
2022-06-14 23:23:07 +02:00
William Yang 2ec1a5bdb8 fix(emqx_conf): add missing vm.args
- process_limit
- max_ports
- dist_buffer_size
- max_ets_tables
2022-06-14 10:31:29 +02:00
Shawn f4f263f91e fix: change the default retry_interval of cluster_rpc call to 1min 2022-06-13 22:52:51 +08:00
Shawn b0cd83254d fix: schema and desc for time_offset of the log handlers 2022-06-09 17:59:35 +08:00
Zhongwen Deng c7cc2e85b2 fix: add default&example for schema 2022-06-06 09:52:10 +08:00
Zhongwen Deng 9ec804ae03 feat: generate example.conf from schemas 2022-05-31 19:20:27 +08:00
Zhongwen Deng 8aa60cc0a5 feat: generate a minimized emqx.conf 2022-05-31 19:20:27 +08:00
Thales Macedo Garitezi d0c5de1da6
chore(config): move db configs under cluster/node keys 2022-05-26 14:02:22 -03:00
Thales Macedo Garitezi e0054f6a4e
Merge pull request #7906 from thalesmg/doc-hide-per-shard
docs: hide shard transport config from docs
2022-05-11 11:02:48 -03:00
Thales Macedo Garitezi 135cf4fac2
docs: hide shard transport config from docs
Those configurations are too "magical" for the average user, and
keeping them in the docs might confuse users.
2022-05-10 11:40:49 -03:00
Zhongwen Deng 7c34c8a8b1 fix: retry if init_disaptch failed 2022-05-10 09:38:48 +08:00
Zhongwen Deng 55be66a5eb feat: add self node to /cluster 2022-04-27 13:55:42 +08:00
Zhongwen Deng a99c49e75f fix: limit file ^[/\_a-zA-Z0-9\.\-]*$ 2022-04-27 13:55:42 +08:00
Zhongwen Deng 8cfcb10c7e fix: make logger config options more specific 2022-04-27 13:55:42 +08:00
zhongwencool 4b763a3a12
Merge pull request #7742 from zhongwencool/schema-namespace
fix: add namespace to schema
2022-04-26 09:26:04 +08:00
Zaiming (Stone) Shi a4feb3e6e9 style: reformat emqx_auto_subscribe and emqx_conf 2022-04-25 18:05:10 +02:00
Zhongwen Deng 7d9403d056 fix: add namespace to schema 2022-04-24 15:47:23 +08:00
Shawn 984a26945c docs: add i18n ids 2022-04-23 03:51:38 +08:00
Zaiming (Stone) Shi ce902b5405 refactor(bin/emqx): speed up boot
The main slow-down is the overheads of booting up beam with the
'start_clean' boot file (which loads all modules).

Prior to this change, beam is started multiple times in order to
resolve configuration values.

After this change:
* For boot commands such as 'start', 'console' and
  'foreground', it starts beam twice:
  - 1st is to check platform compatibility
  - 2nd is to resolve all configs required for boot in a batch
* For non-boot commands, such as 'ctl' and 'ping', it does not
  require to start beam for config resolution at all
2022-04-22 11:35:50 +02:00
Zhongwen Deng 05b4ed58e0 feat: add emqx_conf_schema i18n conf 2022-04-21 22:17:59 +08:00
EMQ-YangM 216ebade6d feat(emqx_conf_schema): log config add i18n support 2022-04-20 17:04:30 +08:00
Thales Macedo Garitezi 3602e7552d
feat: use gen_rpc ordered cast for `emqx_rpc:cast/5`
From: https://github.com/emqx/emqx/pull/6554
2022-04-12 17:22:03 -03:00
Zaiming (Stone) Shi 356fbf6ce1
Merge pull request #7519 from zmstone/0405-5.0-sync-ssl-lib-from-4.3
5.0 refactor: delete deprecated emqx_plugin_libs_ssl module
2022-04-05 22:57:56 +01:00
Zaiming (Stone) Shi 32694e601a refactor: rename RUNNER_ETC_DIR to EMQX_ETC_DIR 2022-04-05 23:08:45 +02:00
ieQu1 99b3f2f83e docs(schema): Document missing records and fields 2022-04-04 23:58:43 +02:00
Thales Macedo Garitezi 59d5478d4e
Merge pull request #7463 from thalesmg/mria-shard-transport
feat: allow customizing per-shard transaction log transport
2022-04-01 13:16:28 -03:00
Thales Macedo Garitezi 5748b9b492
feat: allow customizing per-shard transaction log transport 2022-03-30 11:11:30 -03:00
ieQu1 d23a88d0a9 docs(schema): Minor improvements to spelling and formatting. 2022-03-30 13:05:56 +02:00
Dmitrii fcc99b484f
docs(schema): Apply suggestions from code review
Co-authored-by: Thales Macedo Garitezi <thalesmg@gmail.com>
2022-03-30 10:12:04 +02:00
ieQu1 fff6bffa0c docs(schema): Add descriptions of the records 2022-03-29 14:09:32 +02:00
Zhongwen Deng 86f455fd3a fix: cluster conf must be readonly; add dashboard listener update hook 2022-03-25 18:43:15 +08:00
Dmitrii f4125fbe0d
Merge pull request #7386 from ieQu1/doc-schema-3
docs(schema): Add descriptions to the schema
2022-03-24 14:05:38 +01:00
Zaiming (Stone) Shi 0a5d1b0f52 chore: delete epmd related ports and settings 2022-03-23 22:16:10 +01:00
ieQu1 077ef073e5 docs(schema): Add descriptions to the schema 2022-03-23 19:05:25 +01:00
ieQu1 8967e13eee docs(schema): Move descriptions from emqx.conf.all 2022-03-23 13:52:54 +01:00
ieQu1 ee805f12a6 docs(schema): Add documentation for prometheus and logger 2022-03-23 13:52:54 +01:00
ieQu1 6f4e7dc118 docs(schema): Formatting 2022-03-22 20:19:18 +01:00
Zhongwen Deng be0c26130a feat: add transate_to meta to root schema. 2022-03-21 17:56:22 +08:00
Zhongwen Deng 18886f657b feat: add emqx_config_logger. 2022-03-21 17:56:22 +08:00
ieQu1 960c5ad0d5 ci: Run spellcheck 2022-03-14 22:27:46 +01:00
ieQu1 4116d01bfb chore(schema): Fix code style 2022-03-14 14:38:37 +01:00
ieQu1 a36a494373 docs(cluster): Fix some definitions 2022-03-14 10:36:09 +01:00
ieQu1 b79ef3f0d9 docs: Add documentation for the cluster 2022-03-14 10:36:09 +01:00
Zaiming (Stone) Shi 4bc8f0d44b feat: allow enable/disable an existing logger file handler 2022-03-11 13:34:54 +01:00
JimMoen f5caf66253 refactor(api): unified api name style 2022-03-11 11:07:55 +08:00
Thales Macedo Garitezi a85d636a68
feat(rlog): use rlog as the default db backend 2022-03-08 13:34:05 -03:00
Thales Macedo Garitezi 14f7216033
style: please elvis checks 2022-03-08 13:34:03 -03:00
zhongwencool 2d9a086bbb
Merge pull request #7198 from zhongwencool/emqx-conf-ct-coverage
chore: add more test for emqx_config_handler
2022-03-08 10:04:02 +08:00
Zhongwen Deng 6ff2db6180 fix: elvis warning 2022-03-04 15:10:10 +08:00
Zhongwen Deng e2f386383d fix: replace local ref by remote ref 2022-03-04 09:13:56 +08:00
Thales Macedo Garitezi 4aa15c1e78
docs: fix a few typos 2022-03-02 16:21:07 -03: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
Zhongwen Deng db584f79d6 feat: upgrade hocon to 0.25.0 to replace nullable with required. 2022-02-24 22:39:03 +08:00
ieQu1 2b2c6a4d1b docs(node): Add documentation for the node 2022-02-21 19:53:11 +01:00
k32 5638bcb92b docs: Fix typos 2022-02-17 23:22:31 +01:00
Zaiming (Stone) Shi 2a6d11c7f1
Merge pull request #7038 from zmstone/chore-rename-emqx-no-space-source-code
chore: EMQ X -> EMQX in source code
2022-02-17 21:13:43 +01:00
Zaiming (Stone) Shi 64db085163 chore: EMQ X -> EMQX in source code 2022-02-16 22:08:12 +01:00
zhongwencool 34fe5082c4 fix(schema): schema global validations not working 2022-02-16 14:20:15 +08:00
Shawn 8207090419 fix: format the code to remove extra spaces 2022-02-09 18:46:49 +08:00
zhongwencool 94b0676ac6
Merge pull request #6922 from k32/static-seeds-type
refactor(schema): Refactor cluster_static seeds type
2022-02-09 16:34:30 +08:00
Ilya Averyanov 17599432d1 feat(license): add license application 2022-02-07 19:05:47 +03:00
k32 987945def3 refactor(schema): Refactor cluster_static seeds type 2022-02-04 23:37:59 +01:00
k32 a54b4ddfd0 fix(emqx_schema): Set gen_rpc_client_driver automatically 2022-02-02 13:58:27 +01:00
k32 470db453cb docs(rpc): Add descriptions for gen_rpc and logger 2022-02-01 01:16:07 +01:00
k32 052bd9081d docs(schema): Fix typos in the schema files 2022-01-27 22:39:19 +01:00
Zaiming (Stone) Shi d6f7ffec3c
Merge pull request #6881 from zmstone/refactor-upgrade-hocon-0.23.0
refactor: upgrade to hocon 0.23.0
2022-01-27 15:48:23 +01:00
Kian-Meng Ang fc92e4c8bf docs: fix typos 2022-01-27 12:29:38 +01:00
Zaiming (Stone) Shi 252d7e85d9 refactor: call new hocon apis 2022-01-27 00:23:08 +01:00
Zaiming (Stone) Shi 63167cea70 chore: update copyright 2022-01-05 20:55:00 +01:00
Zaiming (Stone) Shi 719800914a Merge branch 'ci-run-dialyzer-on-slef-hosted' into merge-5.0-beta.3-to-master 2022-01-03 16:23:11 +01:00
k32 377ed03a20 fix(system_monitor): Unify configuration with sysmon 2022-01-03 12:09:37 +01:00
zhongwencool 489fb7f806 fix(trace): copy binary:encode_hex/2 from binary.erl 2021-12-30 21:38:23 +08:00
zhongwencool b4e2aa0dcf
Merge branch 'master' into feat-add-emqx-plugins-app 2021-12-13 22:28:03 +08:00
Zaiming (Stone) Shi 38ac10d3e2 feat(plugins): add emqx_plugins skeleton
* added emqx_plugins app.
* emqx_plugins.erl is moved from emqx app to emqx_plugins app
  same for the test SUITE
2021-12-12 19:40:34 +01:00
lafirest 82746134bb feat(emqx_slow_sus): ported emqx_slow_subs from v4.4 2021-12-10 16:42:55 +08:00
k32 98be2e15b1
Merge pull request #6405 from k32/sysmon
feat(system_monitor): Add system_monitor application
2021-12-09 10:22:40 +01:00
k32 9fbc247e29 feat(system_monitor): Add system_monitor application 2021-12-08 16:34:10 +01:00
Zaiming (Stone) Shi 96de7e6b30 docs: refine authn and auth config docs 2021-12-06 08:00:42 +01:00
Zaiming (Stone) Shi a681079ba7 refactor: remove special env override from schema
EMQX_NODE_NAME and EMQX_NODE_COOKIE are translated into
EMQX_NODE__NAME and EMQX_NODE__COOKIE
2021-12-06 08:00:42 +01:00
Zaiming (Stone) Shi 5d3cb6ae1c refactor(authn): align authn config root name
authn configs are checked independently per-auth provider,
this was to make authn providers more plugable.

in order to make environment variable overrides work for authn,
we need to have a unified view of the config layout,
no matter from root level, or partially checking per-provider
config independently, i.e. we try to use the same config envelop.
2021-12-04 09:33:14 +01:00
k32 dfa45c909a fix(crash_dump): Fix hocon schema related to the erlang crash dump 2021-12-03 18:45:45 +01:00
k32 fd9f6bd140 fix(crash_dump): Replace crash dump directory with a file 2021-12-03 18:18:24 +01:00
k32 2ceb660344 chore(mria): Bump version to 0.1.4 2021-12-03 17:13:12 +01:00
k32 a92970a904 feat(mria): Add RPC-related configuration to the schema 2021-11-30 21:59:59 +01:00
Shawn 7d64013edd refactor(connector): add connector configs 2021-11-22 17:35:32 +08:00
k32 c9a59968ef refactor(emqx_schema): Code style 2021-11-19 11:41:29 +01:00
k32 deccba3406 fix(schema): Improve configuration of the internal DB 2021-11-19 11:41:08 +01:00
JianBo He d0bdf27e0c chore: fix elvis warnings 2021-11-17 11:04:09 +08:00
zhongwencool d784e63b9f
emqx_conf (#5939)
* feat(emqx_conf): move conf manager for emqx_machine to emqx_conf

* chore(emqx_conf): change emqx:get_config/2 to emqx_conf:get/2

* fix: common test failed

* fix: badmatch by typo wrong key

* fix(emqx_conf): get the wrong core nodes

* fix(emqx_conf): get core node's tnx_id not latest tnx_id

* fix: add ro_transation when copy conf file

* fix: delete debug info

* fix: change ekka_rlog to mria_rlog

* fix: remove cluster_rpc from emqx_machine.

* fix: don't call ekka:start/0 explicitly

* fix: ekka should be start in emqx_machine
2021-10-21 18:08:51 +08:00