diff --git a/data/emqx_vars b/apps/emqx/data/emqx_vars similarity index 100% rename from data/emqx_vars rename to apps/emqx/data/emqx_vars diff --git a/data/loaded_modules.tmpl b/apps/emqx/data/loaded_modules.tmpl similarity index 100% rename from data/loaded_modules.tmpl rename to apps/emqx/data/loaded_modules.tmpl diff --git a/data/loaded_plugins.tmpl b/apps/emqx/data/loaded_plugins.tmpl similarity index 100% rename from data/loaded_plugins.tmpl rename to apps/emqx/data/loaded_plugins.tmpl diff --git a/etc/acl.conf b/apps/emqx/etc/acl.conf similarity index 100% rename from etc/acl.conf rename to apps/emqx/etc/acl.conf diff --git a/etc/acl.conf.paho b/apps/emqx/etc/acl.conf.paho similarity index 100% rename from etc/acl.conf.paho rename to apps/emqx/etc/acl.conf.paho diff --git a/etc/certs/README b/apps/emqx/etc/certs/README similarity index 100% rename from etc/certs/README rename to apps/emqx/etc/certs/README diff --git a/etc/certs/cacert.pem b/apps/emqx/etc/certs/cacert.pem similarity index 100% rename from etc/certs/cacert.pem rename to apps/emqx/etc/certs/cacert.pem diff --git a/etc/certs/cert.pem b/apps/emqx/etc/certs/cert.pem similarity index 100% rename from etc/certs/cert.pem rename to apps/emqx/etc/certs/cert.pem diff --git a/etc/certs/client-cert.pem b/apps/emqx/etc/certs/client-cert.pem similarity index 100% rename from etc/certs/client-cert.pem rename to apps/emqx/etc/certs/client-cert.pem diff --git a/etc/certs/client-key.pem b/apps/emqx/etc/certs/client-key.pem similarity index 100% rename from etc/certs/client-key.pem rename to apps/emqx/etc/certs/client-key.pem diff --git a/etc/certs/key.pem b/apps/emqx/etc/certs/key.pem similarity index 100% rename from etc/certs/key.pem rename to apps/emqx/etc/certs/key.pem diff --git a/etc/emqx.conf b/apps/emqx/etc/emqx.conf similarity index 100% rename from etc/emqx.conf rename to apps/emqx/etc/emqx.conf diff --git a/etc/emqx.d/acl.conf b/apps/emqx/etc/emqx.d/acl.conf similarity index 100% rename from etc/emqx.d/acl.conf rename to apps/emqx/etc/emqx.d/acl.conf diff --git a/etc/emqx.d/emqx_auth_clientid.conf b/apps/emqx/etc/emqx.d/emqx_auth_clientid.conf similarity index 100% rename from etc/emqx.d/emqx_auth_clientid.conf rename to apps/emqx/etc/emqx.d/emqx_auth_clientid.conf diff --git a/etc/emqx.d/emqx_auth_http.conf b/apps/emqx/etc/emqx.d/emqx_auth_http.conf similarity index 100% rename from etc/emqx.d/emqx_auth_http.conf rename to apps/emqx/etc/emqx.d/emqx_auth_http.conf diff --git a/etc/emqx.d/emqx_auth_jwt.conf b/apps/emqx/etc/emqx.d/emqx_auth_jwt.conf similarity index 100% rename from etc/emqx.d/emqx_auth_jwt.conf rename to apps/emqx/etc/emqx.d/emqx_auth_jwt.conf diff --git a/etc/emqx.d/emqx_auth_mnesia.conf b/apps/emqx/etc/emqx.d/emqx_auth_mnesia.conf similarity index 100% rename from etc/emqx.d/emqx_auth_mnesia.conf rename to apps/emqx/etc/emqx.d/emqx_auth_mnesia.conf diff --git a/etc/emqx.d/emqx_auth_mysql.conf b/apps/emqx/etc/emqx.d/emqx_auth_mysql.conf similarity index 100% rename from etc/emqx.d/emqx_auth_mysql.conf rename to apps/emqx/etc/emqx.d/emqx_auth_mysql.conf diff --git a/etc/emqx.d/emqx_auth_username.conf b/apps/emqx/etc/emqx.d/emqx_auth_username.conf similarity index 100% rename from etc/emqx.d/emqx_auth_username.conf rename to apps/emqx/etc/emqx.d/emqx_auth_username.conf diff --git a/etc/emqx.d/emqx_bridge_mqtt.conf b/apps/emqx/etc/emqx.d/emqx_bridge_mqtt.conf similarity index 100% rename from etc/emqx.d/emqx_bridge_mqtt.conf rename to apps/emqx/etc/emqx.d/emqx_bridge_mqtt.conf diff --git a/etc/emqx.d/emqx_coap.conf b/apps/emqx/etc/emqx.d/emqx_coap.conf similarity index 100% rename from etc/emqx.d/emqx_coap.conf rename to apps/emqx/etc/emqx.d/emqx_coap.conf diff --git a/etc/emqx.d/emqx_dashboard.conf b/apps/emqx/etc/emqx.d/emqx_dashboard.conf similarity index 100% rename from etc/emqx.d/emqx_dashboard.conf rename to apps/emqx/etc/emqx.d/emqx_dashboard.conf diff --git a/etc/emqx.d/emqx_management.conf b/apps/emqx/etc/emqx.d/emqx_management.conf similarity index 100% rename from etc/emqx.d/emqx_management.conf rename to apps/emqx/etc/emqx.d/emqx_management.conf diff --git a/etc/emqx.d/emqx_recon.conf b/apps/emqx/etc/emqx.d/emqx_recon.conf similarity index 100% rename from etc/emqx.d/emqx_recon.conf rename to apps/emqx/etc/emqx.d/emqx_recon.conf diff --git a/etc/emqx.d/emqx_retainer.conf b/apps/emqx/etc/emqx.d/emqx_retainer.conf similarity index 100% rename from etc/emqx.d/emqx_retainer.conf rename to apps/emqx/etc/emqx.d/emqx_retainer.conf diff --git a/etc/emqx.d/emqx_rule_engine.conf b/apps/emqx/etc/emqx.d/emqx_rule_engine.conf similarity index 100% rename from etc/emqx.d/emqx_rule_engine.conf rename to apps/emqx/etc/emqx.d/emqx_rule_engine.conf diff --git a/etc/emqx.d/emqx_sasl.conf b/apps/emqx/etc/emqx.d/emqx_sasl.conf similarity index 100% rename from etc/emqx.d/emqx_sasl.conf rename to apps/emqx/etc/emqx.d/emqx_sasl.conf diff --git a/etc/emqx.d/emqx_sn.conf b/apps/emqx/etc/emqx.d/emqx_sn.conf similarity index 100% rename from etc/emqx.d/emqx_sn.conf rename to apps/emqx/etc/emqx.d/emqx_sn.conf diff --git a/etc/emqx.d/emqx_stomp.conf b/apps/emqx/etc/emqx.d/emqx_stomp.conf similarity index 100% rename from etc/emqx.d/emqx_stomp.conf rename to apps/emqx/etc/emqx.d/emqx_stomp.conf diff --git a/etc/emqx.d/emqx_telemetry.conf b/apps/emqx/etc/emqx.d/emqx_telemetry.conf similarity index 100% rename from etc/emqx.d/emqx_telemetry.conf rename to apps/emqx/etc/emqx.d/emqx_telemetry.conf diff --git a/etc/emqx.d/emqx_web_hook.conf b/apps/emqx/etc/emqx.d/emqx_web_hook.conf similarity index 100% rename from etc/emqx.d/emqx_web_hook.conf rename to apps/emqx/etc/emqx.d/emqx_web_hook.conf diff --git a/etc/emqx.d/ssl_dist.conf b/apps/emqx/etc/emqx.d/ssl_dist.conf similarity index 100% rename from etc/emqx.d/ssl_dist.conf rename to apps/emqx/etc/emqx.d/ssl_dist.conf diff --git a/etc/emqx_cloud.d/emqx_auth_ldap.conf b/apps/emqx/etc/emqx_cloud.d/emqx_auth_ldap.conf similarity index 100% rename from etc/emqx_cloud.d/emqx_auth_ldap.conf rename to apps/emqx/etc/emqx_cloud.d/emqx_auth_ldap.conf diff --git a/etc/emqx_cloud.d/emqx_auth_mongo.conf b/apps/emqx/etc/emqx_cloud.d/emqx_auth_mongo.conf similarity index 100% rename from etc/emqx_cloud.d/emqx_auth_mongo.conf rename to apps/emqx/etc/emqx_cloud.d/emqx_auth_mongo.conf diff --git a/etc/emqx_cloud.d/emqx_auth_pgsql.conf b/apps/emqx/etc/emqx_cloud.d/emqx_auth_pgsql.conf similarity index 100% rename from etc/emqx_cloud.d/emqx_auth_pgsql.conf rename to apps/emqx/etc/emqx_cloud.d/emqx_auth_pgsql.conf diff --git a/etc/emqx_cloud.d/emqx_auth_redis.conf b/apps/emqx/etc/emqx_cloud.d/emqx_auth_redis.conf similarity index 100% rename from etc/emqx_cloud.d/emqx_auth_redis.conf rename to apps/emqx/etc/emqx_cloud.d/emqx_auth_redis.conf diff --git a/etc/emqx_cloud.d/emqx_exhook.conf b/apps/emqx/etc/emqx_cloud.d/emqx_exhook.conf similarity index 100% rename from etc/emqx_cloud.d/emqx_exhook.conf rename to apps/emqx/etc/emqx_cloud.d/emqx_exhook.conf diff --git a/etc/emqx_cloud.d/emqx_exproto.conf b/apps/emqx/etc/emqx_cloud.d/emqx_exproto.conf similarity index 100% rename from etc/emqx_cloud.d/emqx_exproto.conf rename to apps/emqx/etc/emqx_cloud.d/emqx_exproto.conf diff --git a/etc/emqx_cloud.d/emqx_lua_hook.conf b/apps/emqx/etc/emqx_cloud.d/emqx_lua_hook.conf similarity index 100% rename from etc/emqx_cloud.d/emqx_lua_hook.conf rename to apps/emqx/etc/emqx_cloud.d/emqx_lua_hook.conf diff --git a/etc/emqx_cloud.d/emqx_lwm2m.conf b/apps/emqx/etc/emqx_cloud.d/emqx_lwm2m.conf similarity index 100% rename from etc/emqx_cloud.d/emqx_lwm2m.conf rename to apps/emqx/etc/emqx_cloud.d/emqx_lwm2m.conf diff --git a/etc/emqx_cloud.d/emqx_prometheus.conf b/apps/emqx/etc/emqx_cloud.d/emqx_prometheus.conf similarity index 100% rename from etc/emqx_cloud.d/emqx_prometheus.conf rename to apps/emqx/etc/emqx_cloud.d/emqx_prometheus.conf diff --git a/etc/emqx_cloud.d/emqx_psk_file.conf b/apps/emqx/etc/emqx_cloud.d/emqx_psk_file.conf similarity index 100% rename from etc/emqx_cloud.d/emqx_psk_file.conf rename to apps/emqx/etc/emqx_cloud.d/emqx_psk_file.conf diff --git a/etc/emqx_cloud.d/vm.args b/apps/emqx/etc/emqx_cloud.d/vm.args similarity index 100% rename from etc/emqx_cloud.d/vm.args rename to apps/emqx/etc/emqx_cloud.d/vm.args diff --git a/etc/emqx_edge.d/vm.args.edge b/apps/emqx/etc/emqx_edge.d/vm.args.edge similarity index 100% rename from etc/emqx_edge.d/vm.args.edge rename to apps/emqx/etc/emqx_edge.d/vm.args.edge diff --git a/etc/ssl_dist.conf b/apps/emqx/etc/ssl_dist.conf similarity index 100% rename from etc/ssl_dist.conf rename to apps/emqx/etc/ssl_dist.conf diff --git a/etc/vm.args b/apps/emqx/etc/vm.args similarity index 100% rename from etc/vm.args rename to apps/emqx/etc/vm.args diff --git a/etc/vm.args.edge b/apps/emqx/etc/vm.args.edge similarity index 100% rename from etc/vm.args.edge rename to apps/emqx/etc/vm.args.edge