diff --git a/apps/emqx_eviction_agent/BSL.txt b/apps/emqx_eviction_agent/BSL.txt new file mode 100644 index 000000000..0acc0e696 --- /dev/null +++ b/apps/emqx_eviction_agent/BSL.txt @@ -0,0 +1,94 @@ +Business Source License 1.1 + +Licensor: Hangzhou EMQ Technologies Co., Ltd. +Licensed Work: EMQX Enterprise Edition + The Licensed Work is (c) 2023 + Hangzhou EMQ Technologies Co., Ltd. +Additional Use Grant: Students and educators are granted right to copy, + modify, and create derivative work for research + or education. +Change Date: 2027-02-01 +Change License: Apache License, Version 2.0 + +For information about alternative licensing arrangements for the Software, +please contact Licensor: https://www.emqx.com/en/contact + +Notice + +The Business Source License (this document, or the “License”) is not an Open +Source license. However, the Licensed Work will eventually be made available +under an Open Source License, as stated in this License. + +License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved. +“Business Source License” is a trademark of MariaDB Corporation Ab. + +----------------------------------------------------------------------------- + +Business Source License 1.1 + +Terms + +The Licensor hereby grants you the right to copy, modify, create derivative +works, redistribute, and make non-production use of the Licensed Work. The +Licensor may make an Additional Use Grant, above, permitting limited +production use. + +Effective on the Change Date, or the fourth anniversary of the first publicly +available distribution of a specific version of the Licensed Work under this +License, whichever comes first, the Licensor hereby grants you rights under +the terms of the Change License, and the rights granted in the paragraph +above terminate. + +If your use of the Licensed Work does not comply with the requirements +currently in effect as described in this License, you must purchase a +commercial license from the Licensor, its affiliated entities, or authorized +resellers, or you must refrain from using the Licensed Work. + +All copies of the original and modified Licensed Work, and derivative works +of the Licensed Work, are subject to this License. This License applies +separately for each version of the Licensed Work and the Change Date may vary +for each version of the Licensed Work released by Licensor. + +You must conspicuously display this License on each original or modified copy +of the Licensed Work. If you receive the Licensed Work in original or +modified form from a third party, the terms and conditions set forth in this +License apply to your use of that work. + +Any use of the Licensed Work in violation of this License will automatically +terminate your rights under this License for the current and all other +versions of the Licensed Work. + +This License does not grant you any right in any trademark or logo of +Licensor or its affiliates (provided that you may use a trademark or logo of +Licensor as expressly required by this License). + +TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON +AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, +EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND +TITLE. + +MariaDB hereby grants you permission to use this License’s text to license +your works, and to refer to it using the trademark “Business Source License”, +as long as you comply with the Covenants of Licensor below. + +Covenants of Licensor + +In consideration of the right to use this License’s text and the “Business +Source License” name and trademark, Licensor covenants to MariaDB, and to all +other recipients of the licensed work to be provided by Licensor: + +1. To specify as the Change License the GPL Version 2.0 or any later version, + or a license that is compatible with GPL Version 2.0 or a later version, + where “compatible” means that software provided under the Change License can + be included in a program with software provided under GPL Version 2.0 or a + later version. Licensor may specify additional Change Licenses without + limitation. + +2. To either: (a) specify an additional grant of rights to use that does not + impose any additional restriction on the right granted in this License, as + the Additional Use Grant; or (b) insert the text “None”. + +3. To specify a Change Date. + +4. Not to modify this License in any other way. diff --git a/apps/emqx_eviction_agent/README.md b/apps/emqx_eviction_agent/README.md new file mode 100644 index 000000000..943bd7d12 --- /dev/null +++ b/apps/emqx_eviction_agent/README.md @@ -0,0 +1,35 @@ +# EMQX Eviction Agent + +`emqx_eviction_agent` is a part of the node evacuation/node rebalance feature in EMQX. +It is a low-level application that encapsulates working with actual MQTT connections. + +## Application Responsibilities + +`emqx_eviction_agent` application: + +* Blocks incoming connection to the node it is running on. +* Serves as a facade for connection/session eviction operations. +* Reports blocking status via HTTP API. + +The `emqx_eviction_agent` is relatively passive and has no eviction/rebalancing logic. It allows +`emqx_node_rebalance` to perform eviction/rebalancing operations using high-level API, without having to deal with +MQTT connections directly. + +## EMQX Integration + +`emqx_eviction_agent` interacts with the following EMQX components: +* `emqx_cm` - to get the list of active MQTT connections; +* `emqx_hooks` subsystem - to block/unblock incoming connections; +* `emqx_channel` and the corresponding connection modules to perform the eviction. + +## User Facing API + +The application provided a very simple API (CLI and HTTP) to inspect the current blocking status. + +# Documentation + +The rebalancing concept is described in the corresponding [EIP](https://github.com/emqx/eip/blob/main/active/0020-node-rebalance.md). + +# Contributing + +Please see our [contributing.md](../../CONTRIBUTING.md). diff --git a/lib-ee/emqx_eviction_agent/etc/emqx_eviction_agent.conf b/apps/emqx_eviction_agent/etc/emqx_eviction_agent.conf similarity index 100% rename from lib-ee/emqx_eviction_agent/etc/emqx_eviction_agent.conf rename to apps/emqx_eviction_agent/etc/emqx_eviction_agent.conf diff --git a/lib-ee/emqx_eviction_agent/rebar.config b/apps/emqx_eviction_agent/rebar.config similarity index 100% rename from lib-ee/emqx_eviction_agent/rebar.config rename to apps/emqx_eviction_agent/rebar.config diff --git a/lib-ee/emqx_eviction_agent/src/emqx_eviction_agent.app.src b/apps/emqx_eviction_agent/src/emqx_eviction_agent.app.src similarity index 100% rename from lib-ee/emqx_eviction_agent/src/emqx_eviction_agent.app.src rename to apps/emqx_eviction_agent/src/emqx_eviction_agent.app.src diff --git a/lib-ee/emqx_eviction_agent/src/emqx_eviction_agent.appup.src b/apps/emqx_eviction_agent/src/emqx_eviction_agent.appup.src similarity index 100% rename from lib-ee/emqx_eviction_agent/src/emqx_eviction_agent.appup.src rename to apps/emqx_eviction_agent/src/emqx_eviction_agent.appup.src diff --git a/lib-ee/emqx_eviction_agent/src/emqx_eviction_agent.erl b/apps/emqx_eviction_agent/src/emqx_eviction_agent.erl similarity index 100% rename from lib-ee/emqx_eviction_agent/src/emqx_eviction_agent.erl rename to apps/emqx_eviction_agent/src/emqx_eviction_agent.erl diff --git a/lib-ee/emqx_eviction_agent/src/emqx_eviction_agent_api.erl b/apps/emqx_eviction_agent/src/emqx_eviction_agent_api.erl similarity index 100% rename from lib-ee/emqx_eviction_agent/src/emqx_eviction_agent_api.erl rename to apps/emqx_eviction_agent/src/emqx_eviction_agent_api.erl diff --git a/lib-ee/emqx_eviction_agent/src/emqx_eviction_agent_app.erl b/apps/emqx_eviction_agent/src/emqx_eviction_agent_app.erl similarity index 100% rename from lib-ee/emqx_eviction_agent/src/emqx_eviction_agent_app.erl rename to apps/emqx_eviction_agent/src/emqx_eviction_agent_app.erl diff --git a/lib-ee/emqx_eviction_agent/src/emqx_eviction_agent_channel.erl b/apps/emqx_eviction_agent/src/emqx_eviction_agent_channel.erl similarity index 100% rename from lib-ee/emqx_eviction_agent/src/emqx_eviction_agent_channel.erl rename to apps/emqx_eviction_agent/src/emqx_eviction_agent_channel.erl diff --git a/lib-ee/emqx_eviction_agent/src/emqx_eviction_agent_cli.erl b/apps/emqx_eviction_agent/src/emqx_eviction_agent_cli.erl similarity index 100% rename from lib-ee/emqx_eviction_agent/src/emqx_eviction_agent_cli.erl rename to apps/emqx_eviction_agent/src/emqx_eviction_agent_cli.erl diff --git a/lib-ee/emqx_eviction_agent/src/emqx_eviction_agent_conn_sup.erl b/apps/emqx_eviction_agent/src/emqx_eviction_agent_conn_sup.erl similarity index 100% rename from lib-ee/emqx_eviction_agent/src/emqx_eviction_agent_conn_sup.erl rename to apps/emqx_eviction_agent/src/emqx_eviction_agent_conn_sup.erl diff --git a/lib-ee/emqx_eviction_agent/src/emqx_eviction_agent_sup.erl b/apps/emqx_eviction_agent/src/emqx_eviction_agent_sup.erl similarity index 100% rename from lib-ee/emqx_eviction_agent/src/emqx_eviction_agent_sup.erl rename to apps/emqx_eviction_agent/src/emqx_eviction_agent_sup.erl diff --git a/lib-ee/emqx_eviction_agent/src/proto/emqx_eviction_agent_proto_v1.erl b/apps/emqx_eviction_agent/src/proto/emqx_eviction_agent_proto_v1.erl similarity index 100% rename from lib-ee/emqx_eviction_agent/src/proto/emqx_eviction_agent_proto_v1.erl rename to apps/emqx_eviction_agent/src/proto/emqx_eviction_agent_proto_v1.erl diff --git a/lib-ee/emqx_eviction_agent/test/emqx_eviction_agent_SUITE.erl b/apps/emqx_eviction_agent/test/emqx_eviction_agent_SUITE.erl similarity index 100% rename from lib-ee/emqx_eviction_agent/test/emqx_eviction_agent_SUITE.erl rename to apps/emqx_eviction_agent/test/emqx_eviction_agent_SUITE.erl diff --git a/lib-ee/emqx_eviction_agent/test/emqx_eviction_agent_api_SUITE.erl b/apps/emqx_eviction_agent/test/emqx_eviction_agent_api_SUITE.erl similarity index 100% rename from lib-ee/emqx_eviction_agent/test/emqx_eviction_agent_api_SUITE.erl rename to apps/emqx_eviction_agent/test/emqx_eviction_agent_api_SUITE.erl diff --git a/lib-ee/emqx_eviction_agent/test/emqx_eviction_agent_channel_SUITE.erl b/apps/emqx_eviction_agent/test/emqx_eviction_agent_channel_SUITE.erl similarity index 100% rename from lib-ee/emqx_eviction_agent/test/emqx_eviction_agent_channel_SUITE.erl rename to apps/emqx_eviction_agent/test/emqx_eviction_agent_channel_SUITE.erl diff --git a/lib-ee/emqx_eviction_agent/test/emqx_eviction_agent_cli_SUITE.erl b/apps/emqx_eviction_agent/test/emqx_eviction_agent_cli_SUITE.erl similarity index 100% rename from lib-ee/emqx_eviction_agent/test/emqx_eviction_agent_cli_SUITE.erl rename to apps/emqx_eviction_agent/test/emqx_eviction_agent_cli_SUITE.erl diff --git a/lib-ee/emqx_eviction_agent/test/emqx_eviction_agent_test_helpers.erl b/apps/emqx_eviction_agent/test/emqx_eviction_agent_test_helpers.erl similarity index 100% rename from lib-ee/emqx_eviction_agent/test/emqx_eviction_agent_test_helpers.erl rename to apps/emqx_eviction_agent/test/emqx_eviction_agent_test_helpers.erl diff --git a/apps/emqx_node_rebalance/BSL.txt b/apps/emqx_node_rebalance/BSL.txt new file mode 100644 index 000000000..0acc0e696 --- /dev/null +++ b/apps/emqx_node_rebalance/BSL.txt @@ -0,0 +1,94 @@ +Business Source License 1.1 + +Licensor: Hangzhou EMQ Technologies Co., Ltd. +Licensed Work: EMQX Enterprise Edition + The Licensed Work is (c) 2023 + Hangzhou EMQ Technologies Co., Ltd. +Additional Use Grant: Students and educators are granted right to copy, + modify, and create derivative work for research + or education. +Change Date: 2027-02-01 +Change License: Apache License, Version 2.0 + +For information about alternative licensing arrangements for the Software, +please contact Licensor: https://www.emqx.com/en/contact + +Notice + +The Business Source License (this document, or the “License”) is not an Open +Source license. However, the Licensed Work will eventually be made available +under an Open Source License, as stated in this License. + +License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved. +“Business Source License” is a trademark of MariaDB Corporation Ab. + +----------------------------------------------------------------------------- + +Business Source License 1.1 + +Terms + +The Licensor hereby grants you the right to copy, modify, create derivative +works, redistribute, and make non-production use of the Licensed Work. The +Licensor may make an Additional Use Grant, above, permitting limited +production use. + +Effective on the Change Date, or the fourth anniversary of the first publicly +available distribution of a specific version of the Licensed Work under this +License, whichever comes first, the Licensor hereby grants you rights under +the terms of the Change License, and the rights granted in the paragraph +above terminate. + +If your use of the Licensed Work does not comply with the requirements +currently in effect as described in this License, you must purchase a +commercial license from the Licensor, its affiliated entities, or authorized +resellers, or you must refrain from using the Licensed Work. + +All copies of the original and modified Licensed Work, and derivative works +of the Licensed Work, are subject to this License. This License applies +separately for each version of the Licensed Work and the Change Date may vary +for each version of the Licensed Work released by Licensor. + +You must conspicuously display this License on each original or modified copy +of the Licensed Work. If you receive the Licensed Work in original or +modified form from a third party, the terms and conditions set forth in this +License apply to your use of that work. + +Any use of the Licensed Work in violation of this License will automatically +terminate your rights under this License for the current and all other +versions of the Licensed Work. + +This License does not grant you any right in any trademark or logo of +Licensor or its affiliates (provided that you may use a trademark or logo of +Licensor as expressly required by this License). + +TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON +AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS, +EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND +TITLE. + +MariaDB hereby grants you permission to use this License’s text to license +your works, and to refer to it using the trademark “Business Source License”, +as long as you comply with the Covenants of Licensor below. + +Covenants of Licensor + +In consideration of the right to use this License’s text and the “Business +Source License” name and trademark, Licensor covenants to MariaDB, and to all +other recipients of the licensed work to be provided by Licensor: + +1. To specify as the Change License the GPL Version 2.0 or any later version, + or a license that is compatible with GPL Version 2.0 or a later version, + where “compatible” means that software provided under the Change License can + be included in a program with software provided under GPL Version 2.0 or a + later version. Licensor may specify additional Change Licenses without + limitation. + +2. To either: (a) specify an additional grant of rights to use that does not + impose any additional restriction on the right granted in this License, as + the Additional Use Grant; or (b) insert the text “None”. + +3. To specify a Change Date. + +4. Not to modify this License in any other way. diff --git a/apps/emqx_node_rebalance/README.md b/apps/emqx_node_rebalance/README.md new file mode 100644 index 000000000..8a384fb5d --- /dev/null +++ b/apps/emqx_node_rebalance/README.md @@ -0,0 +1,40 @@ +# EMQX Node Rebalance + +`emqx_node_rebalance` is a part of the node evacuation/node rebalance feature in EMQX. +It implements high-level scenarios for node evacuation and rebalancing. + +## Application Responsibilities + +`emqx_node_rebalance` application's core concept is a _rebalance coordinator_. +_Rebalance сoordinator_ is an entity that implements the rebalancing logic and orchestrates the rebalancing process. +In particular, it: + +* Enables/Disables Eviction Agent on nodes. +* Sends connection/session eviction commands to Eviction Agents according to the evacuation logic. + +We have two implementations of the _rebalance coordinator_: +* `emqx_node_rebalance` - a coordinator that implements node rebalancing; +* `emqx_node_rebalance_evacuation` - a coordinator that implements node evacuation. + +## EMQX Integration + +`emqx_node_rebalance` is a high-level application that is loosely coupled with the rest of the system. +It uses Eviction Agent to perform the required operations. + +## User Facing API + +The application provides API (CLI and HTTP) to perform the following operations: +* Start/Stop rebalancing across a set of nodes or the whole cluster; +* Start/Stop evacuation of a node; +* Get the current rebalancing status of a local node. +* Get the current rebalancing status of the whole cluster. + +Also, an HTTP endpoint is provided for liveness probes. + +# Documentation + +The rebalancing concept is described in the corresponding [EIP](https://github.com/emqx/eip/blob/main/active/0020-node-rebalance.md). + +# Contributing + +Please see our [contributing.md](../../CONTRIBUTING.md). diff --git a/lib-ee/emqx_node_rebalance/etc/emqx_node_rebalance.conf b/apps/emqx_node_rebalance/etc/emqx_node_rebalance.conf similarity index 100% rename from lib-ee/emqx_node_rebalance/etc/emqx_node_rebalance.conf rename to apps/emqx_node_rebalance/etc/emqx_node_rebalance.conf diff --git a/lib-ee/emqx_node_rebalance/include/emqx_node_rebalance.hrl b/apps/emqx_node_rebalance/include/emqx_node_rebalance.hrl similarity index 100% rename from lib-ee/emqx_node_rebalance/include/emqx_node_rebalance.hrl rename to apps/emqx_node_rebalance/include/emqx_node_rebalance.hrl diff --git a/lib-ee/emqx_node_rebalance/rebar.config b/apps/emqx_node_rebalance/rebar.config similarity index 100% rename from lib-ee/emqx_node_rebalance/rebar.config rename to apps/emqx_node_rebalance/rebar.config diff --git a/lib-ee/emqx_node_rebalance/src/emqx_node_rebalance.app.src b/apps/emqx_node_rebalance/src/emqx_node_rebalance.app.src similarity index 100% rename from lib-ee/emqx_node_rebalance/src/emqx_node_rebalance.app.src rename to apps/emqx_node_rebalance/src/emqx_node_rebalance.app.src diff --git a/lib-ee/emqx_node_rebalance/src/emqx_node_rebalance.appup.src b/apps/emqx_node_rebalance/src/emqx_node_rebalance.appup.src similarity index 100% rename from lib-ee/emqx_node_rebalance/src/emqx_node_rebalance.appup.src rename to apps/emqx_node_rebalance/src/emqx_node_rebalance.appup.src diff --git a/lib-ee/emqx_node_rebalance/src/emqx_node_rebalance.erl b/apps/emqx_node_rebalance/src/emqx_node_rebalance.erl similarity index 100% rename from lib-ee/emqx_node_rebalance/src/emqx_node_rebalance.erl rename to apps/emqx_node_rebalance/src/emqx_node_rebalance.erl diff --git a/lib-ee/emqx_node_rebalance/src/emqx_node_rebalance_agent.erl b/apps/emqx_node_rebalance/src/emqx_node_rebalance_agent.erl similarity index 100% rename from lib-ee/emqx_node_rebalance/src/emqx_node_rebalance_agent.erl rename to apps/emqx_node_rebalance/src/emqx_node_rebalance_agent.erl diff --git a/lib-ee/emqx_node_rebalance/src/emqx_node_rebalance_api.erl b/apps/emqx_node_rebalance/src/emqx_node_rebalance_api.erl similarity index 100% rename from lib-ee/emqx_node_rebalance/src/emqx_node_rebalance_api.erl rename to apps/emqx_node_rebalance/src/emqx_node_rebalance_api.erl diff --git a/lib-ee/emqx_node_rebalance/src/emqx_node_rebalance_app.erl b/apps/emqx_node_rebalance/src/emqx_node_rebalance_app.erl similarity index 100% rename from lib-ee/emqx_node_rebalance/src/emqx_node_rebalance_app.erl rename to apps/emqx_node_rebalance/src/emqx_node_rebalance_app.erl diff --git a/lib-ee/emqx_node_rebalance/src/emqx_node_rebalance_cli.erl b/apps/emqx_node_rebalance/src/emqx_node_rebalance_cli.erl similarity index 100% rename from lib-ee/emqx_node_rebalance/src/emqx_node_rebalance_cli.erl rename to apps/emqx_node_rebalance/src/emqx_node_rebalance_cli.erl diff --git a/lib-ee/emqx_node_rebalance/src/emqx_node_rebalance_evacuation.erl b/apps/emqx_node_rebalance/src/emqx_node_rebalance_evacuation.erl similarity index 100% rename from lib-ee/emqx_node_rebalance/src/emqx_node_rebalance_evacuation.erl rename to apps/emqx_node_rebalance/src/emqx_node_rebalance_evacuation.erl diff --git a/lib-ee/emqx_node_rebalance/src/emqx_node_rebalance_evacuation_persist.erl b/apps/emqx_node_rebalance/src/emqx_node_rebalance_evacuation_persist.erl similarity index 100% rename from lib-ee/emqx_node_rebalance/src/emqx_node_rebalance_evacuation_persist.erl rename to apps/emqx_node_rebalance/src/emqx_node_rebalance_evacuation_persist.erl diff --git a/lib-ee/emqx_node_rebalance/src/emqx_node_rebalance_status.erl b/apps/emqx_node_rebalance/src/emqx_node_rebalance_status.erl similarity index 100% rename from lib-ee/emqx_node_rebalance/src/emqx_node_rebalance_status.erl rename to apps/emqx_node_rebalance/src/emqx_node_rebalance_status.erl diff --git a/lib-ee/emqx_node_rebalance/src/emqx_node_rebalance_sup.erl b/apps/emqx_node_rebalance/src/emqx_node_rebalance_sup.erl similarity index 100% rename from lib-ee/emqx_node_rebalance/src/emqx_node_rebalance_sup.erl rename to apps/emqx_node_rebalance/src/emqx_node_rebalance_sup.erl diff --git a/lib-ee/emqx_node_rebalance/src/proto/emqx_node_rebalance_api_proto_v1.erl b/apps/emqx_node_rebalance/src/proto/emqx_node_rebalance_api_proto_v1.erl similarity index 100% rename from lib-ee/emqx_node_rebalance/src/proto/emqx_node_rebalance_api_proto_v1.erl rename to apps/emqx_node_rebalance/src/proto/emqx_node_rebalance_api_proto_v1.erl diff --git a/lib-ee/emqx_node_rebalance/src/proto/emqx_node_rebalance_evacuation_proto_v1.erl b/apps/emqx_node_rebalance/src/proto/emqx_node_rebalance_evacuation_proto_v1.erl similarity index 100% rename from lib-ee/emqx_node_rebalance/src/proto/emqx_node_rebalance_evacuation_proto_v1.erl rename to apps/emqx_node_rebalance/src/proto/emqx_node_rebalance_evacuation_proto_v1.erl diff --git a/lib-ee/emqx_node_rebalance/src/proto/emqx_node_rebalance_proto_v1.erl b/apps/emqx_node_rebalance/src/proto/emqx_node_rebalance_proto_v1.erl similarity index 100% rename from lib-ee/emqx_node_rebalance/src/proto/emqx_node_rebalance_proto_v1.erl rename to apps/emqx_node_rebalance/src/proto/emqx_node_rebalance_proto_v1.erl diff --git a/lib-ee/emqx_node_rebalance/src/proto/emqx_node_rebalance_status_proto_v1.erl b/apps/emqx_node_rebalance/src/proto/emqx_node_rebalance_status_proto_v1.erl similarity index 100% rename from lib-ee/emqx_node_rebalance/src/proto/emqx_node_rebalance_status_proto_v1.erl rename to apps/emqx_node_rebalance/src/proto/emqx_node_rebalance_status_proto_v1.erl diff --git a/lib-ee/emqx_node_rebalance/test/emqx_node_rebalance_SUITE.erl b/apps/emqx_node_rebalance/test/emqx_node_rebalance_SUITE.erl similarity index 100% rename from lib-ee/emqx_node_rebalance/test/emqx_node_rebalance_SUITE.erl rename to apps/emqx_node_rebalance/test/emqx_node_rebalance_SUITE.erl diff --git a/lib-ee/emqx_node_rebalance/test/emqx_node_rebalance_agent_SUITE.erl b/apps/emqx_node_rebalance/test/emqx_node_rebalance_agent_SUITE.erl similarity index 100% rename from lib-ee/emqx_node_rebalance/test/emqx_node_rebalance_agent_SUITE.erl rename to apps/emqx_node_rebalance/test/emqx_node_rebalance_agent_SUITE.erl diff --git a/lib-ee/emqx_node_rebalance/test/emqx_node_rebalance_api_SUITE.erl b/apps/emqx_node_rebalance/test/emqx_node_rebalance_api_SUITE.erl similarity index 100% rename from lib-ee/emqx_node_rebalance/test/emqx_node_rebalance_api_SUITE.erl rename to apps/emqx_node_rebalance/test/emqx_node_rebalance_api_SUITE.erl diff --git a/lib-ee/emqx_node_rebalance/test/emqx_node_rebalance_cli_SUITE.erl b/apps/emqx_node_rebalance/test/emqx_node_rebalance_cli_SUITE.erl similarity index 100% rename from lib-ee/emqx_node_rebalance/test/emqx_node_rebalance_cli_SUITE.erl rename to apps/emqx_node_rebalance/test/emqx_node_rebalance_cli_SUITE.erl diff --git a/lib-ee/emqx_node_rebalance/test/emqx_node_rebalance_evacuation_SUITE.erl b/apps/emqx_node_rebalance/test/emqx_node_rebalance_evacuation_SUITE.erl similarity index 100% rename from lib-ee/emqx_node_rebalance/test/emqx_node_rebalance_evacuation_SUITE.erl rename to apps/emqx_node_rebalance/test/emqx_node_rebalance_evacuation_SUITE.erl diff --git a/lib-ee/emqx_node_rebalance/test/emqx_node_rebalance_evacuation_persist_SUITE.erl b/apps/emqx_node_rebalance/test/emqx_node_rebalance_evacuation_persist_SUITE.erl similarity index 100% rename from lib-ee/emqx_node_rebalance/test/emqx_node_rebalance_evacuation_persist_SUITE.erl rename to apps/emqx_node_rebalance/test/emqx_node_rebalance_evacuation_persist_SUITE.erl diff --git a/lib-ee/emqx_eviction_agent/README.md b/lib-ee/emqx_eviction_agent/README.md deleted file mode 100644 index f9b8037bf..000000000 --- a/lib-ee/emqx_eviction_agent/README.md +++ /dev/null @@ -1,9 +0,0 @@ -emqx_eviction_agent -===== - -An OTP library - -Build ------ - - $ rebar3 compile diff --git a/lib-ee/emqx_node_rebalance/README.md b/lib-ee/emqx_node_rebalance/README.md deleted file mode 100644 index 2e56f62cd..000000000 --- a/lib-ee/emqx_node_rebalance/README.md +++ /dev/null @@ -1,9 +0,0 @@ -emqx_node_rebalance -===== - -An OTP library - -Build ------ - - $ rebar3 compile