Browse Source

refactor(*): update product name in docs

Signed-off-by: ngjaying <ngjaying@gmail.com>
ngjaying 3 years ago
parent
commit
faad134cd8
100 changed files with 656 additions and 656 deletions
  1. 10 10
      README-CN.md
  2. 10 10
      README.md
  3. 19 19
      deploy/chart/kuiper/README.md
  4. 20 20
      deploy/chart/kuiper/README_zh.md
  5. 21 21
      deploy/docker/README.md
  6. 1 1
      deploy/packages/deb/debian/changelog
  7. 4 4
      docs/CONTRIBUTING.md
  8. 11 11
      docs/en_US/README.md
  9. 3 3
      docs/en_US/cli/overview.md
  10. 3 3
      docs/en_US/cli/plugins.md
  11. 1 1
      docs/en_US/cli/rules.md
  12. 2 2
      docs/en_US/cli/streams.md
  13. 1 1
      docs/en_US/cli/tables.md
  14. 1 1
      docs/en_US/cross-compile.md
  15. 5 5
      docs/en_US/edgex/edgex_meta.md
  16. 12 12
      docs/en_US/edgex/edgex_rule_engine_command.md
  17. 27 27
      docs/en_US/edgex/edgex_rule_engine_tutorial.md
  18. 13 13
      docs/en_US/extension/external_func.md
  19. 7 7
      docs/en_US/extension/function.md
  20. 10 10
      docs/en_US/extension/overview.md
  21. 4 4
      docs/en_US/extension/sink.md
  22. 6 6
      docs/en_US/extension/source.md
  23. 16 16
      docs/en_US/getting_started.md
  24. 18 18
      docs/en_US/manager-ui/overview.md
  25. 5 5
      docs/en_US/manager-ui/plugins_in_manager.md
  26. 7 7
      docs/en_US/operation/configuration_file.md
  27. 2 2
      docs/en_US/operation/install/cent-os.md
  28. 5 5
      docs/en_US/operation/install/overview.md
  29. 2 2
      docs/en_US/operation/operations.md
  30. 1 1
      docs/en_US/operation/overview.md
  31. 1 1
      docs/en_US/plugins/functions/functions.md
  32. 17 17
      docs/en_US/plugins/functions/tensorflow_lite_tutorial.md
  33. 7 7
      docs/en_US/plugins/overview.md
  34. 36 36
      docs/en_US/plugins/plugins_tutorial.md
  35. 3 3
      docs/en_US/plugins/sinks/file.md
  36. 3 3
      docs/en_US/plugins/sinks/image.md
  37. 2 2
      docs/en_US/plugins/sinks/influx.md
  38. 3 3
      docs/en_US/plugins/sinks/tdengine.md
  39. 3 3
      docs/en_US/plugins/sinks/zmq.md
  40. 4 4
      docs/en_US/plugins/sources/random.md
  41. 5 5
      docs/en_US/plugins/sources/zmq.md
  42. 7 7
      docs/en_US/quick_start_docker.md
  43. 3 3
      docs/en_US/reference.md
  44. 1 1
      docs/en_US/restapi/overview.md
  45. 7 7
      docs/en_US/restapi/plugins.md
  46. 1 1
      docs/en_US/restapi/rules.md
  47. 3 3
      docs/en_US/restapi/services.md
  48. 1 1
      docs/en_US/restapi/streams.md
  49. 1 1
      docs/en_US/restapi/tables.md
  50. 14 14
      docs/en_US/rules/data_template.md
  51. 5 5
      docs/en_US/rules/overview.md
  52. 8 8
      docs/en_US/rules/sinks/edgex.md
  53. 1 1
      docs/en_US/rules/sinks/logs.md
  54. 1 1
      docs/en_US/rules/sinks/nop.md
  55. 9 9
      docs/en_US/rules/sources/edgex.md
  56. 3 3
      docs/en_US/rules/sources/file.md
  57. 1 1
      docs/en_US/rules/sources/http_pull.md
  58. 1 1
      docs/en_US/rules/sources/mqtt.md
  59. 5 5
      docs/en_US/rules/state_and_fault_tolerance.md
  60. 1 1
      docs/en_US/sqls/built-in_functions.md
  61. 1 1
      docs/en_US/sqls/data_types.md
  62. 2 2
      docs/en_US/sqls/json_expr.md
  63. 3 3
      docs/en_US/sqls/lexical_elements.md
  64. 1 1
      docs/en_US/sqls/overview.md
  65. 5 5
      docs/en_US/sqls/query_language_elements.md
  66. 3 3
      docs/en_US/sqls/streams.md
  67. 2 2
      docs/en_US/sqls/tables.md
  68. 2 2
      docs/en_US/sqls/windows.md
  69. 2 2
      docs/en_US/streams.md
  70. 2 2
      docs/en_US/tutorial.md
  71. 11 11
      docs/zh_CN/README.md
  72. 3 3
      docs/zh_CN/cli/overview.md
  73. 3 3
      docs/zh_CN/cli/plugins.md
  74. 1 1
      docs/zh_CN/cli/rules.md
  75. 2 2
      docs/zh_CN/cli/streams.md
  76. 1 1
      docs/zh_CN/cross-compile.md
  77. 4 4
      docs/zh_CN/edgex/edgex_meta.md
  78. 15 15
      docs/zh_CN/edgex/edgex_rule_engine_command.md
  79. 28 28
      docs/zh_CN/edgex/edgex_rule_engine_tutorial.md
  80. 13 13
      docs/zh_CN/extension/external_func.md
  81. 7 7
      docs/zh_CN/extension/function.md
  82. 10 10
      docs/zh_CN/extension/overview.md
  83. 4 4
      docs/zh_CN/extension/sink.md
  84. 5 5
      docs/zh_CN/extension/source.md
  85. 15 15
      docs/zh_CN/getting_started.md
  86. 17 17
      docs/zh_CN/manager-ui/overview.md
  87. 6 6
      docs/zh_CN/manager-ui/plugins_in_manager.md
  88. 7 7
      docs/zh_CN/operation/configuration_file.md
  89. 2 2
      docs/zh_CN/operation/install/cent-os.md
  90. 5 5
      docs/zh_CN/operation/install/overview.md
  91. 2 2
      docs/zh_CN/operation/operations.md
  92. 1 1
      docs/zh_CN/operation/overview.md
  93. 1 1
      docs/zh_CN/plugins/functions/functions.md
  94. 16 16
      docs/zh_CN/plugins/functions/tensorflow_lite_tutorial.md
  95. 7 7
      docs/zh_CN/plugins/overview.md
  96. 34 34
      docs/zh_CN/plugins/plugins_tutorial.md
  97. 3 3
      docs/zh_CN/plugins/sinks/file.md
  98. 3 3
      docs/zh_CN/plugins/sinks/image.md
  99. 3 3
      docs/zh_CN/plugins/sinks/influx.md
  100. 0 0
      docs/zh_CN/plugins/sinks/tdengine.md

File diff suppressed because it is too large
+ 10 - 10
README-CN.md


File diff suppressed because it is too large
+ 10 - 10
README.md


+ 19 - 19
deploy/chart/kuiper/README.md

@@ -1,4 +1,4 @@
-Kuiper can be deployed at k3s/k8s cluster through Helm chart. Below takes k3s as an example for demonstrating how to deploy at k3s.
+eKuiper can be deployed at k3s/k8s cluster through Helm chart. Below takes k3s as an example for demonstrating how to deploy at k3s.
 
 ## Prepare
 
@@ -22,15 +22,15 @@ Kuiper can be deployed at k3s/k8s cluster through Helm chart. Below takes k3s as
   $ export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
   ```
 
-## Get Kuiper Helm Chart
+## Get eKuiper Helm Chart
 
-+ With any approaches in below to get Kuiper Helm Chart, here uses `git clone` to get Helm chart.
++ With any approaches in below to get eKuiper Helm Chart, here uses `git clone` to get Helm chart.
 
   + Git clone
 
     ```shell
-    $ git clone https://github.com/emqx/kuiper
-    $ cd kuiper/deploy/chart/kuiper
+    $ git clone https://github.com/lf-edge/ekuiper
+    $ cd ekuiper/deploy/chart/Kuiper
     ```
 
   + Helm repo (TODO)
@@ -49,19 +49,19 @@ Kuiper can be deployed at k3s/k8s cluster through Helm chart. Below takes k3s as
       emqx/kuiper	0.0.3	        0.0.3	        A lightweight IoT edge analytic software
       ```
 
-+ By edit  `values.yaml` file or use command `helm install --set` to edit ``Kuiper Helm Chart`` configurations.
++ By edit  `values.yaml` file or use command `helm install --set` to edit ``eKuiper Helm Chart`` configurations.
 
-  ##### Kuiper Helm Chart Configurations 
+  ##### eKuiper Helm Chart Configurations 
 
   | Parameters                     | Descriptions                                         | Default Value            |
   | ------------------------------ | ---------------------------------------------------- | ------------------------ |
-  | `replicaCount`                 | Deployed Kuiper instance number                      | 1                        |
+  | `replicaCount`                 | Deployed eKuiper instance number                      | 1                        |
   | `image.repository`             | Docker image name                                    | emqx/kuiper              |
   | `image.pullPolicy`             | Pull policy                                          | IfNotPresent             |
   | `service.type`  | Kubernetes Service type. |ClusterIP|
-  | `service.kuiper`  | Port for Kuiper. |20498|
+  | `service.kuiper`  | Port for eKuiper. |20498|
   | `service.restapi`  | Port for ReseApi. |9081|
-  | `service.nodePorts.kuiper`  | Kubernetes node port for Kuiper. |nil|
+  | `service.nodePorts.kuiper`  | Kubernetes node port for eKuiper. |nil|
   | `service.nodePorts.restapi` | Kubernetes node port for RestAPi. |nil|
   | `service.loadBalancerIP`  | loadBalancerIP for Service |	nil |
   | `service.loadBalancerSourceRanges` |	Address(es) that are allowed when service is LoadBalancer |	[] |
@@ -75,13 +75,13 @@ Kuiper can be deployed at k3s/k8s cluster through Helm chart. Below takes k3s as
   | `nodeSelector`                 | Node selector                                        | {}                       |
   | `tolerations`                  | Tolerations                                          | []                       |
   | `affinity`                     | Affinity                                             | {}                       |
-  | `kuiperConfig`                 | Configuration file in the Kuiper `etc` directory     |                          |
+  | `kuiperConfig`                 | Configuration file in the eKuiper `etc` directory     |                          |
 
-## Deploy Kuiper through Helm
+## Deploy eKuiper through Helm
 
-#### Deploy Kuiper quickly
+#### Deploy eKuiper quickly
 
-+ Deploy Kuiper through Helm
++ Deploy eKuiper through Helm
 
   ```shell
   $ helm install my-kuiper .
@@ -105,16 +105,16 @@ Kuiper can be deployed at k3s/k8s cluster through Helm chart. Below takes k3s as
   Connecting to 127.0.0.1:20498...
   ```
 
-#### Deploy persisted Kuiper
+#### Deploy persisted eKuiper
 
-+ Kuiper realized persisted  `pods` through creating PVC resources and mount `/kuiper/data` directory. **Before deploying Kuiper, user need to create PVC or Storage Classes resource in Kubernetes.**
++ eKuiper realized persisted  `pods` through creating PVC resources and mount `/ekuiper/data` directory. **Before deploying Kuiper, user need to create PVC or Storage Classes resource in Kubernetes.**
 
 + Open and edit `values.yaml` file, set  `persistence.enabled=true`
 
   + If user deploys PVC resource, , then set`persistence.existingClaim=your_pv_name`
   + If user deploys Storage Classes resource, then set `persistence.storageClass=your_storageClass_name`
 
-+ Deploy Kuiper through Helm 
++ Deploy eKuiper through Helm 
 
   ```
   $ helm install my-kuiper .
@@ -138,7 +138,7 @@ Kuiper can be deployed at k3s/k8s cluster through Helm chart. Below takes k3s as
   Connecting to 127.0.0.1:20498...
   ```
 
-#### Deploy Kuiper and using SSL certification and key
+#### Deploy eKuiper and using SSL certification and key
 
 + Use command `kubectl create secret` , create certification & private keys to ``Secret resources``, the usage of command `kubectl create secret`  is listed as in below:
 
@@ -189,7 +189,7 @@ Kuiper can be deployed at k3s/k8s cluster through Helm chart. Below takes k3s as
   ...
   ```
 
-+ Deploy Kuiper through Helm 
++ Deploy eKuiper through Helm 
 
   ```shell
   $ helm install my-kuiper .

+ 20 - 20
deploy/chart/kuiper/README_zh.md

@@ -1,4 +1,4 @@
-Kuiper 可以通过 Helm chart 部署在 k3s / k8s 集群上。下面以 k3s 为例演示如何部署 Kuiper:
+eKuiper 可以通过 Helm chart 部署在 k3s / k8s 集群上。下面以 k3s 为例演示如何部署 eKuiper:
 
 ## Prepare:
 
@@ -22,15 +22,15 @@ Kuiper 可以通过 Helm chart 部署在 k3s / k8s 集群上。下面以 k3s 为
   $ export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
   ```
 
-## 获取 Kuiper Helm Chart
+## 获取 eKuiper Helm Chart
 
-+ 可以通过一下两种方法的任意一种获取 Kuiper Helm Chart,本文以使用 `git clone` 拉取代码的方式为例讲解。
++ 可以通过一下两种方法的任意一种获取 eKuiper Helm Chart,本文以使用 `git clone` 拉取代码的方式为例讲解。
 
   + Git clone
 
     ```shell
-    $ git clone https://github.com/emqx/kuiper
-    $ cd kuiper/deploy/chart/kuiper
+    $ git clone https://github.com/lf-edge/ekuiper
+    $ cd ekuiper/deploy/chart/kuiper
     ```
 
   + Helm repo
@@ -49,19 +49,19 @@ Kuiper 可以通过 Helm chart 部署在 k3s / k8s 集群上。下面以 k3s 为
       emqx/kuiper	0.0.4        	0.0.4      	A lightweight IoT edge analytic software
       ```
 
-+ 可以通过编辑 `values.yaml` 文件或使用 `helm install --set` 命令编辑 Kuiper Helm Chart 的配置
++ 可以通过编辑 `values.yaml` 文件或使用 `helm install --set` 命令编辑 eKuiper Helm Chart 的配置
 
-  ##### Kuiper Helm Chart 配置项
+  ##### eKuiper Helm Chart 配置项
 
   | 参数                           | 描述                                | Default Value            |
   | ------------------------------ | ----------------------------------- | ------------------------ |
-  | `replicaCount`                 | 部署kuiper数量                      | 1                        |
+  | `replicaCount`                 | 部署eKuiper数量                      | 1                        |
   | `image.repository`             | 拉取镜像名称                        | emqx/kuiper              |
   | `image.pullPolicy`             | 拉取镜像策略                        | IfNotPresent             |
   | `service.type`  | Kubernetes Service type. |ClusterIP|
-  | `service.kuiper`  | Kuiper 端口 |20498|
-  | `service.restapi`  | Kuiper ReseApi 端口 . |9081|
-  | `service.nodePorts.kuiper`  | Kubernetes node port for Kuiper. |nil|
+  | `service.kuiper`  | eKuiper 端口 |20498|
+  | `service.restapi`  | eKuiper ReseApi 端口 . |9081|
+  | `service.nodePorts.kuiper`  | Kubernetes node port for eKuiper. |nil|
   | `service.nodePorts.restapi` | Kubernetes node port for RestAPi. |nil|
   | `service.loadBalancerIP`  | loadBalancerIP for Service |	nil |
   | `service.loadBalancerSourceRanges` |	Address(es) that are allowed when service is LoadBalancer |	[] |
@@ -75,13 +75,13 @@ Kuiper 可以通过 Helm chart 部署在 k3s / k8s 集群上。下面以 k3s 为
   | `nodeSelector`                 | 节点选择                            | {}                       |
   | `tolerations`                  | 污点容忍                            | []                       |
   | `affinity`                     | 节点亲和性                          | {}                       |
-  | `kuiperConfig`                 | Kuiper `etc` 目录下的配置文件           |                        |
+  | `kuiperConfig`                 | eKuiper `etc` 目录下的配置文件           |                        |
 
-## 通过 Helm 部署 Kuiper
+## 通过 Helm 部署 eKuiper
 
-#### 快速部署Kuiper
+#### 快速部署 eKuiper
 
-+ 使用 Helm 部署 Kuiper
++ 使用 Helm 部署 eKuiper
 
   ```shell
   $ helm install my-kuiper .
@@ -105,16 +105,16 @@ Kuiper 可以通过 Helm chart 部署在 k3s / k8s 集群上。下面以 k3s 为
   Connecting to 127.0.0.1:20498...
   ```
 
-#### 部署持久化的 Kuiper
+#### 部署持久化的 eKuiper
 
-+ Kuiper 通过 创建 PVC 资源挂载 `/kuiper/data` 目录实现持久化 `pods`,**在部署 Kuiper 之前,用户需要自行在 Kubernetes 中创建 PVC 资源或 Storage Classes 资源**
++ eKuiper 通过 创建 PVC 资源挂载 `/ekuiper/data` 目录实现持久化 `pods`,**在部署 eKuiper 之前,用户需要自行在 Kubernetes 中创建 PVC 资源或 Storage Classes 资源**
 
 + 编辑 `values.yaml` 文件,设置 `persistence.enabled=true`
 
   + 如果用户部署了 PVC 资源,那么设置 `persistence.existingClaim=your_pv_name`
   + 如果用户部署了 Storage Classes 资源,那么设置`persistence.storageClass=your_storageClass_name`
 
-+ 使用 Helm 部署 Kuiper
++ 使用 Helm 部署 eKuiper
 
   ```shell
   $ helm install my-kuiper .
@@ -138,7 +138,7 @@ Kuiper 可以通过 Helm chart 部署在 k3s / k8s 集群上。下面以 k3s 为
   Connecting to 127.0.0.1:20498...
   ```
 
-#### 部署Kuiper并使用证书
+#### 部署 eKuiper 并使用证书
 
 + 使用 `kubectl create secret` 将证书文件和私钥创建成 Secret 资源,`kubectl create secret` 命令的语法如下:
 
@@ -189,7 +189,7 @@ Kuiper 可以通过 Helm chart 部署在 k3s / k8s 集群上。下面以 k3s 为
   ...
   ```
 
-+ 使用 Helm 部署 Kuiper
++ 使用 Helm 部署 eKuiper
 
   ```shell
   $ helm install my-kuiper .

File diff suppressed because it is too large
+ 21 - 21
deploy/docker/README.md


+ 1 - 1
deploy/packages/deb/debian/changelog

@@ -1,5 +1,5 @@
 kuiper (<VERSION>) unstable; urgency=medium
 
-  * See github commit history: https://github.com/emqx/kuiper
+  * See github commit history: https://github.com/lf-edge/ekuiper
 
  -- kuiper <contact@emqx.io>  <DATETIME>

+ 4 - 4
docs/CONTRIBUTING.md

@@ -4,8 +4,8 @@ We're really glad you're reading this, because we need volunteer developers to h
 
 ## Did you find a bug?
 
-- **Ensure the bug was not already reported** by searching on GitHub under [Issues](https://github.com/emqx/kuiper/issues).
-- If you're unable to find an open issue addressing the problem, [open a new one](https://github.com/emqx/kuiper/issues/new). Be sure to include a **title and clear description**, as much relevant information as possible, and a **code sample** or an **executable test case** demonstrating the expected behavior that is not occurring.
+- **Ensure the bug was not already reported** by searching on GitHub under [Issues](https://github.com/lf-edge/ekuiper/issues).
+- If you're unable to find an open issue addressing the problem, [open a new one](https://github.com/lf-edge/ekuiper/issues/new). Be sure to include a **title and clear description**, as much relevant information as possible, and a **code sample** or an **executable test case** demonstrating the expected behavior that is not occurring.
 
 ## Submitting changes
 
@@ -21,12 +21,12 @@ $ git commit -m "A brief summary of the commit
 
 ### Testing
 
-The Kuiper project leverages Github actions to run unit test & FVT (functional verification test), so please take a look at the PR status result, and make sure that all of testcases run successfully.
+The eKuiper project leverages Github actions to run unit test & FVT (functional verification test), so please take a look at the PR status result, and make sure that all of testcases run successfully.
 
 - Write Golang unit testcases to test your code if necessary.
 - A set of [FVT testcases](../fvt_scripts/README.md) will be triggered with any PR submission, so please make sure that these testcases can be run successfully.
 
 ## Code conventions
 
-- Use `go fmt` to format your code before commit code change. Kuiper Github Action CI pipeline reports error if it's not format by `go fmt`.
+- Use `go fmt` to format your code before commit code change. eKuiper Github Action CI pipeline reports error if it's not format by `go fmt`.
 - Configuration key in config files uses camel case format.

File diff suppressed because it is too large
+ 11 - 11
docs/en_US/README.md


+ 3 - 3
docs/en_US/cli/overview.md

@@ -1,8 +1,8 @@
-The Kuiper CLI (command line interface) tools provides streams and rules management. 
+The eKuiper CLI (command line interface) tools provides streams and rules management. 
 
-The Kuiper CLI acts as a client to the Kuiper server. The Kuiper server runs the engine that executes the stream or rule queries. This includes processing stream or rule definitions, manage rule status and io.
+The eKuiper CLI acts as a client to the eKuiper server. The eKuiper server runs the engine that executes the stream or rule queries. This includes processing stream or rule definitions, manage rule status and io.
 
-*Kuiper CLI Architecture*
+*eKuiper CLI Architecture*
 ![CLI Arch](./resources/arch.png)
 
 - [Streams](streams.md)

+ 3 - 3
docs/en_US/cli/plugins.md

@@ -1,8 +1,8 @@
 # Plugins management
 
-The Kuiper plugin command line tools allows you to manage plugins, such as create, show and drop plugins. Notice that, drop a plugin will need to restart kuiper to take effect. To update a plugin, do the following:
+The eKuiper plugin command line tools allows you to manage plugins, such as create, show and drop plugins. Notice that, drop a plugin will need to restart eKuiper to take effect. To update a plugin, do the following:
 1. Drop the plugin.
-2. Restart Kuiper.
+2. Restart eKuiper.
 3. Create the plugin with the new configuration.
 
 ## create a plugin
@@ -93,7 +93,7 @@ The command is used for drop the plugin.
 ```shell
 drop plugin $plugin_type $plugin_name -s $stop 
 ```
-In which, `-s $stop` is an optional boolean parameter. If it is set to true, the Kuiper server will be stopped for the delete to take effect. The user will need to restart it manually.
+In which, `-s $stop` is an optional boolean parameter. If it is set to true, the eKuiper server will be stopped for the delete to take effect. The user will need to restart it manually.
 Sample:
 
 ```shell

+ 1 - 1
docs/en_US/cli/rules.md

@@ -1,6 +1,6 @@
 # Rules management
 
-The Kuiper rule command line tools allows you to manage rules, such as create, show, drop, describe, start, stop and restart rules. 
+The eKuiper rule command line tools allows you to manage rules, such as create, show, drop, describe, start, stop and restart rules. 
 
 ## create a rule
 

+ 2 - 2
docs/en_US/cli/streams.md

@@ -1,6 +1,6 @@
 # Streams management
 
-The Kuiper stream command line tools allows you to manage the streams, such as create, describe, show and drop stream definitions.
+The eKuiper stream command line tools allows you to manage the streams, such as create, describe, show and drop stream definitions.
 
 ## create a stream
 
@@ -103,7 +103,7 @@ Sample:
 kuiper > 
 ```
 
-After typing ``query`` sub-command, it prompts ``kuiper > ``, then type SQLs (see [Kuiper SQL reference](../sqls/overview.md) for how to use Kuiper SQL) in the command prompt and press enter. 
+After typing ``query`` sub-command, it prompts ``kuiper > ``, then type SQLs (see [eKuiper SQL reference](../sqls/overview.md) for how to use eKuiper SQL) in the command prompt and press enter. 
 
 The results will be print in the console.
 

+ 1 - 1
docs/en_US/cli/tables.md

@@ -1,6 +1,6 @@
 # Tables management
 
-The Kuiper table command line tools allows you to manage the tables, such as create, describe, show and drop table definitions.
+The eKuiper table command line tools allows you to manage the tables, such as create, describe, show and drop table definitions.
 
 ## create a table
 

+ 1 - 1
docs/en_US/cross-compile.md

@@ -1,6 +1,6 @@
 ## Cross-compile binaries
 
-**Notice: Kuiper plugins bases on Golang, and due to Golang restrictions, ``CGO_ENABLED``  flag must be set to 0 to use the Golang cross-compile. But with this flag mode, the Golang plugins will not work. So if you want to use plugins in Kuiper, you can NOT use cross-compile to produce the binary packages.**
+**Notice: eKuiper plugins bases on Golang, and due to Golang restrictions, ``CGO_ENABLED``  flag must be set to 0 to use the Golang cross-compile. But with this flag mode, the Golang plugins will not work. So if you want to use plugins in eKuiper, you can NOT use cross-compile to produce the binary packages.**
 
 - Preparation
   - docker version >= 19.03

+ 5 - 5
docs/en_US/edgex/edgex_meta.md

@@ -1,6 +1,6 @@
 # How to use meta function to extract addtional data from EdgeX message bus?
 
-When data are published into EdgeX message bus, besides the actual device value, it also have some additional values, such as event created time, modified time etc in the event. Sometimes these values are required for data analysis. This article describes how to use functions provided by Kuiper to achieve the goal.
+When data are published into EdgeX message bus, besides the actual device value, it also have some additional values, such as event created time, modified time etc in the event. Sometimes these values are required for data analysis. This article describes how to use functions provided by eKuiper to achieve the goal.
 
 ## Events data model received in EdgeX message bus
 
@@ -30,9 +30,9 @@ Similar to ``Event``, ``Reading`` also has some metadata (ID, Pushed... etc).
       - ...
     - reading [n] ...
 
-## EdgeX data model in Kuiper
+## EdgeX data model in eKuiper
 
-So how the EdgeX data are managed in Kuiper? Let's take an example.
+So how the EdgeX data are managed in eKuiper? Let's take an example.
 
 As in below - firstly, user creates an EdgeX stream named ``events`` with yellow color.
 
@@ -42,7 +42,7 @@ Secondly, one message is published to message bus as in below.
 
 - The device name is ``demo`` with green color
 - Reading name ``temperature`` & ``Humidity`` with red color. 
-- It has some ``metadata`` that is not necessary to "visible", but it probably will be used during data analysis, such as ``Created`` field in ``Event`` structure. Kuiper saves these values into message tuple named metadata, and user can get these values during analysis.
+- It has some ``metadata`` that is not necessary to "visible", but it probably will be used during data analysis, such as ``Created`` field in ``Event`` structure. eKuiper saves these values into message tuple named metadata, and user can get these values during analysis.
 
 <img src="bus_data.png" style="zoom:50%;" />
 
@@ -80,7 +80,7 @@ SELECT temperature,humidity, meta(id) AS eid,meta(Created) AS ec, meta(temperatu
 
 ## Summary
 
-``meta`` function can be used in Kuiper to access metadata values. Below lists all available keys for ``Events`` and ``Reading``.
+``meta`` function can be used in eKuiper to access metadata values. Below lists all available keys for ``Events`` and ``Reading``.
 
 - Events: id, pushed, device, created, modified, origin, correlationid
 - Readning: id, created, modified, origin, pushed, device

+ 12 - 12
docs/en_US/edgex/edgex_rule_engine_command.md

@@ -1,8 +1,8 @@
-# Control device with EdgeX Kuiper rules engine
+# Control device with EdgeX eKuiper rules engine
 
 ## Overview
 
-This document describes how to use Kuiper rule engine to control devices with analysis result. To make the tutorial simple,  the doc uses [device-virtual](https://github.com/edgexfoundry/device-virtual-go) sample,  it analyzes the data sent from device-virtual services, and then control the device according to the analysis result produced by Kuiper rule engine.
+This document describes how to use eKuiper rule engine to control devices with analysis result. To make the tutorial simple,  the doc uses [device-virtual](https://github.com/edgexfoundry/device-virtual-go) sample,  it analyzes the data sent from device-virtual services, and then control the device according to the analysis result produced by eKuiper rule engine.
 
 ### Scenarios
 
@@ -11,23 +11,23 @@ In this document, following 2 rules will be created and run.
 1. A rule that monitoring `Random-UnsignedInteger-Device` device, and if `uint8` value is  larger than `20`, then send a command to `Random-Boolean-Device` device, and turn on random generation of bool value.
 2. A rule that monitoring `Random-Integer-Device` device, and if the average value for `int8` with every 20 seconds is larger than 0, then send a command to `Random-Boolean-Device` device service to turn off random generation of bool value.
 
-The scenario does not have any real business logics, but simply to demonstrate the feature of EdgeX Kuiper rule engine. You can make a reasonable business rules based on our demo.
+The scenario does not have any real business logics, but simply to demonstrate the feature of EdgeX eKuiper rule engine. You can make a reasonable business rules based on our demo.
 
 ## Prerequisite knowledge
 
-This document will not cover basic operations for EdgeX & EMQ X Kuiper, so readers should have basic knowledge for them:
+This document will not cover basic operations for EdgeX & eKuiper, so readers should have basic knowledge for them:
 
 - Refer to [this link](https://docs.edgexfoundry.org/1.2/) for learning basic knowledge of EdgeX, and it would be better to finish [Quick Start](https://docs.edgexfoundry.org/1.2/getting-started/quick-start/).
-- Refer to [EdgeX Kuiper Rule Engine Tutorial](https://github.com/emqx/kuiper/blob/master/docs/en_US/edgex/edgex_rule_engine_tutorial.md):  You'd better go through this quick tutorial,  and get to start trying out the rules engine in the EdgeX. 
-- [Go template](https://golang.org/pkg/text/template/): EMQ X Kuiper uses Go template for extracting data from analysis result. Knowledge of Go template could help you to extract expected data from analysis result.
+- Refer to [EdgeX eKuiper Rule Engine Tutorial](https://github.com/lf-edge/ekuiper/blob/master/docs/en_US/edgex/edgex_rule_engine_tutorial.md):  You'd better go through this quick tutorial,  and get to start trying out the rules engine in the EdgeX. 
+- [Go template](https://golang.org/pkg/text/template/): eKuiper uses Go template for extracting data from analysis result. Knowledge of Go template could help you to extract expected data from analysis result.
 
 ## Start to use
 
-Make sure you have followed document [EdgeX Kuiper Rule Engine Tutorial](https://github.com/emqx/kuiper/blob/master/docs/en_US/edgex/edgex_rule_engine_tutorial.md), and successfully run the tutorial. 
+Make sure you have followed document [EdgeX eKuiper Rule Engine Tutorial](https://github.com/lf-edge/ekuiper/blob/master/docs/en_US/edgex/edgex_rule_engine_tutorial.md), and successfully run the tutorial. 
 
 ### Create EdgeX stream
 
-You should create a stream that can consume streaming data from EdgeX application service before creating rule. This step is not required if you already finished [EdgeX Kuiper Rule Engine Tutorial](https://github.com/emqx/kuiper/blob/master/docs/en_US/edgex/edgex_rule_engine_tutorial.md). 
+You should create a stream that can consume streaming data from EdgeX application service before creating rule. This step is not required if you already finished [EdgeX eKuiper Rule Engine Tutorial](https://github.com/lf-edge/ekuiper/blob/master/docs/en_US/edgex/edgex_rule_engine_tutorial.md). 
 
 ```shell
 curl -X POST \
@@ -200,7 +200,7 @@ curl -X PUT \
   -d '{"value":-75, "EnableRandomization_Bool": "true"}'
 ```
 
-Kuiper uses [Go template](https://golang.org/pkg/text/template/) to extract data from analysis result, and the `dataTemplate` should be similar as following.
+eKuiper uses [Go template](https://golang.org/pkg/text/template/) to extract data from analysis result, and the `dataTemplate` should be similar as following.
 
 ```
 "dataTemplate": "{\"value\": {{.int8}}, \"EnableRandomization_Bool\": \"{{.randomization}}\"}"
@@ -210,8 +210,8 @@ In some cases, you probably need to iterate over returned array values, or set d
 
 ## Extended readings
 
- If you want to explore more features of EMQ X Kuiper, please refer to below resources.
+ If you want to explore more features of eKuiper, please refer to below resources.
 
-- [Kuiper Github code repository](https://github.com/emqx/kuiper/)
-- [Kuiper reference guide](https://github.com/emqx/kuiper/blob/edgex/docs/en_US/reference.md)
+- [eKuiper Github code repository](https://github.com/lf-edge/ekuiper/)
+- [eKuiper reference guide](https://github.com/lf-edge/ekuiper/blob/edgex/docs/en_US/reference.md)
 

File diff suppressed because it is too large
+ 27 - 27
docs/en_US/edgex/edgex_rule_engine_tutorial.md


+ 13 - 13
docs/en_US/extension/external_func.md

@@ -1,12 +1,12 @@
 # External Function
 
-External functions map existing services to Kuiper SQL functions through configuration. When running the rules that use external functions, Kuiper will convert data input and output according to the configuration, and call the corresponding service.
+External functions map existing services to eKuiper SQL functions through configuration. When running the rules that use external functions, eKuiper will convert data input and output according to the configuration, and call the corresponding service.
 
 ## Configuration
 
 The configuration file of the external function is in json format, which usually consists of two parts:
 
-- JSON file, used to describes the information of the service. The file will be saved as the name of the service in Kuiper.
+- JSON file, used to describes the information of the service. The file will be saved as the name of the service in eKuiper.
 - Schema file, used to  describes the service API interface, including the name of the API included in the service,, input and output parameter type. Currently only [protobuf type](https://developers.google.com/protocol-buffers) is supported.
 
 The json configuration file includes the following two parts:
@@ -34,8 +34,8 @@ Assuming we have a service named 'sample', we can define a service definition fi
       "website": "https://www.emqx.io"
     },
     "helpUrl": {
-      "en_US": "https://github.com/emqx/kuiper/blob/master/docs/en_US/plugins/functions/functions.md",
-      "zh_CN": "https://github.com/emqx/kuiper/blob/master/docs/zh_CN/plugins/functions/functions.md"
+      "en_US": "https://github.com/lf-edge/ekuiper/blob/master/docs/en_US/plugins/functions/functions.md",
+      "zh_CN": "https://github.com/lf-edge/ekuiper/blob/master/docs/zh_CN/plugins/functions/functions.md"
     },
     "description": {
       "en_US": "Sample external services for test only",
@@ -168,7 +168,7 @@ message MessageRequest {
 }
 ```
 
-In this example, there is no *body* specified thus all parameter fields are mapped to the query parameter. When calling `SearchMessage({"author":"Author","title":"Message1"})` in Kuiper SQL, it will be mapped to `GET /v1/messages?author=Author&title=Message1`.
+In this example, there is no *body* specified thus all parameter fields are mapped to the query parameter. When calling `SearchMessage({"author":"Author","title":"Message1"})` in eKuiper SQL, it will be mapped to `GET /v1/messages?author=Author&title=Message1`.
 
 For more detail about the mapping syntax for protobuf, please check [adding transcoding mapping](https://cloud.google.com/endpoints/docs/grpc/transcoding#adding_transcoding_mappings) and [httprule](https://cloud.google.com/endpoints/docs/grpc-service-config/reference/rpc/google.api#httprule).
 
@@ -184,17 +184,17 @@ package yourpackage;
 import "google/api/annotations.proto";
 ```
 
-Thus, the google api proto files must be in the imported path. Kuiper already ship those proto files in `etc/services/schemas/google`. Users do not need to add this to the packaged customized service.
+Thus, the google api proto files must be in the imported path. eKuiper already ship those proto files in `etc/services/schemas/google`. Users do not need to add this to the packaged customized service.
 
 ### Mapping
 
 In the external service configuration, there are 1 json file and at least 1 schema file(.proto) to define the function mapping. This will define a 3 layer mappings.
 
-1. Kuiper external service layer: it is defined by the file name of the json. It will be used as a key for the external service in the [REST API](../restapi/services.md) for the describe, delete and update of the service as a whole.
+1. eKuiper external service layer: it is defined by the file name of the json. It will be used as a key for the external service in the [REST API](../restapi/services.md) for the describe, delete and update of the service as a whole.
 2. Interface layer: it is defined in the `interfaces` section of the json file. This is a virtual layer to group functions with the same schemas so that the shared properties such as address, schema file can be specified only once.
-3. Kuiper function layer: it is defined in the proto file as `rpc`. Notice that, the proto rpcs must be defined under a service section in protobuf. There is no restriction for the name of proto service. The function name is the same as the rpc name in the proto by default. But the user can override the mapping name in the json files's interfaces -> functions section.
+3. eKuiper function layer: it is defined in the proto file as `rpc`. Notice that, the proto rpcs must be defined under a service section in protobuf. There is no restriction for the name of proto service. The function name is the same as the rpc name in the proto by default. But the user can override the mapping name in the json files's interfaces -> functions section.
 
-In this sample, if a user call `objectDetection` function in Kuiper SQL, the mapping steps are:
+In this sample, if a user call `objectDetection` function in eKuiper SQL, the mapping steps are:
 
 1. Found a function mapping in json file, interfaces *tsrest* functions section: `{"name": "objectDetect","serviceName": "object_detection"}`. This maps SQL function `objectDetect` to rpc named `object_detection`.
 2. In the schema file `tsrest.proto`, rpc `object_detection` is defined and the parameter and return type will be parsed. The `tsrest` interface properties such as address, protocol will be used to issue the request in runtime.
@@ -220,7 +220,7 @@ External functions need to be registered before being used. There are two ways t
 - Placed in the configuration folder
 - Dynamic registration via REST API.
 
-When Kuiper is started, it will read and register the external service configuration file in the configuration folder *etc/services*. Before starting, users can put the configuration file into the configuration folder according to the following rules:
+When eKuiper is started, it will read and register the external service configuration file in the configuration folder *etc/services*. Before starting, users can put the configuration file into the configuration folder according to the following rules:
 
 1. The file name must be *$service name$.json*. For example, *sample.json* will be registered as a sample service.
 
@@ -237,7 +237,7 @@ When Kuiper is started, it will read and register the external service configura
        other.json
        ...
    ```
-   Note: After Kuiper is started, it **cannot** automatically load the system by modifying the configuration file. If you need to update dynamically, please use the REST service.
+   Note: After eKuiper is started, it **cannot** automatically load the system by modifying the configuration file. If you need to update dynamically, please use the REST service.
 
 For dynamic registration and management of services, please refer to [External Service Management API](../restapi/services.md).
 
@@ -253,7 +253,7 @@ Before calling the function, you need to make sure that the REST service is runn
 
 ### Parameter expansion
 
-In the ptoto file, the general parameters are in message type. When being mapped to Kuiper, its parameters can be received in two situations:
+In the ptoto file, the general parameters are in message type. When being mapped to eKuiper, its parameters can be received in two situations:
 
 1. If the parameters are not expanded, they must be in struct type when being passed in.
 2. If the parameters are expanded, multiple parameters can be passed in according to the order defined in the message.
@@ -267,5 +267,5 @@ message ObjectDetectionRequest {
 }
 ```
 
-In Kuiper, users can pass in the entire struct as a parameter, or pass in two string parameters as cmd and base64_img respectively.
+In eKuiper, users can pass in the entire struct as a parameter, or pass in two string parameters as cmd and base64_img respectively.
 

+ 7 - 7
docs/en_US/extension/function.md

@@ -1,16 +1,16 @@
 # Function Extension
 
-In the Kuiper SQL syntax, [many built-in functions](../sqls/built-in_functions.md) are provided to server for various reusable business logic. However, the users still likely need various reusable business logic which are not covered by the built ins. The function extension is presented to customized the functions.
+In the eKuiper SQL syntax, [many built-in functions](../sqls/built-in_functions.md) are provided to server for various reusable business logic. However, the users still likely need various reusable business logic which are not covered by the built ins. The function extension is presented to customized the functions.
 
 ## Developing
 
 ### Develop a customized function
 
-To develop a function for Kuiper is to implement [api.Function](https://github.com/emqx/kuiper/blob/master/xstream/api/stream.go) interface and export it as a golang plugin.
+To develop a function for eKuiper is to implement [api.Function](https://github.com/lf-edge/ekuiper/blob/master/xstream/api/stream.go) interface and export it as a golang plugin.
 
 Before starting the development, you must [setup the environment for golang plugin](overview.md#setup-the-plugin-developing-environment). 
 
-To develop a function, the _Validate_ method is firstly to be implemented. This method will be called during SQL validation. In this method, a slice of [xsql.Expr](https://github.com/emqx/kuiper/blob/master/xsql/ast.go) is passed as the parameter that contains the arguments for this function in the runtime. The developer can do a validation against it to check the argument count and type etc. If validation is successful, return nil. Otherwise, return an error object.
+To develop a function, the _Validate_ method is firstly to be implemented. This method will be called during SQL validation. In this method, a slice of [xsql.Expr](https://github.com/lf-edge/ekuiper/blob/master/xsql/ast.go) is passed as the parameter that contains the arguments for this function in the runtime. The developer can do a validation against it to check the argument count and type etc. If validation is successful, return nil. Otherwise, return an error object.
 
 ```go
 //The argument is a list of xsql.Expr
@@ -36,11 +36,11 @@ As the function itself is a plugin, it must be in the main package. Given the fu
 var MyFunction myFunction
 ```
 
-The [Echo Function](https://github.com/emqx/kuiper/blob/master/plugins/functions/echo/echo.go) is a good example.
+The [Echo Function](https://github.com/lf-edge/ekuiper/blob/master/plugins/functions/echo/echo.go) is a good example.
 
 ### Export multiple functions
 
-In one plugin, developers can export multiple functions. Each function must implement [api.Function](https://github.com/emqx/kuiper/blob/master/xstream/api/stream.go) as described at [Develop a customized function](#develop-a-customized-function) section. Make sure all functions are exported like:
+In one plugin, developers can export multiple functions. Each function must implement [api.Function](https://github.com/lf-edge/ekuiper/blob/master/xstream/api/stream.go) as described at [Develop a customized function](#develop-a-customized-function) section. Make sure all functions are exported like:
 
 ```go
 var(
@@ -62,9 +62,9 @@ go build -trimpath -modfile extensions.mod --buildmode=plugin -o plugins/functio
 
 ### Register multiple functions
 
-Kuiper will load plugins in the plugin folders automatically. The auto loaded function plugin assumes there is a function named the same as the plugin name. If multiple functions are exported, users need to explicitly register them to make them available. There are two ways to register the functions.
+eKuiper will load plugins in the plugin folders automatically. The auto loaded function plugin assumes there is a function named the same as the plugin name. If multiple functions are exported, users need to explicitly register them to make them available. There are two ways to register the functions.
 
-1. In development environment, we recommend to build plugin .so file directly into the plugin folder so that kuiper can auto load it. Then call [CLI register functions command](../cli/plugins.md#register-functions) or [REST register functions API](../restapi/plugins.md#register-functions).
+1. In development environment, we recommend to build plugin .so file directly into the plugin folder so that eKuiper can auto load it. Then call [CLI register functions command](../cli/plugins.md#register-functions) or [REST register functions API](../restapi/plugins.md#register-functions).
 2. In production environment, [package the plugin into zip file](../plugins/plugins_tutorial.md#plugin-deployment-1), then call [CLI function plugin create command](../cli/plugins.md#create-a-plugin) or [REST function plugin create API](../restapi/plugins.md#create-a-plugin) with functions list specified.
 
 ## Usage

+ 10 - 10
docs/en_US/extension/overview.md

@@ -1,6 +1,6 @@
 # Extension
 
-Kuiper allows users to customize extension to support more functions. Users can write plugins for extension. They can also extend functions in SQL through configuration to call existing external REST or RPC services.
+eKuiper allows users to customize extension to support more functions. Users can write plugins for extension. They can also extend functions in SQL through configuration to call existing external REST or RPC services.
 
 Extension by the use of plugin is more complex and requires users to write code and compile by themselves, which has a certain development cost. The scenarios used include:
 
@@ -14,11 +14,11 @@ Extension by the use of external function requires only configuration, but it ne
 
 ## Plugin extension
 
-Kuiper allows user to customize the different kinds of extensions.  
+eKuiper allows user to customize the different kinds of extensions.  
 
-- The source extension is used for extending different stream source, such as consuming data from other message brokers. Kuiper has built-in source support for [MQTT broker](../rules/sources/mqtt.md).
-- Sink/Action extension is used for extending pub/push data to different targets, such as database, other message system, web interfaces or file systems. Built-in action is supported in Kuiper, see [MQTT](../rules/sinks/mqtt.md) & [log files](../rules/sinks/logs.md).
-- Functions extension allows user to extend different functions that used in SQL. Built-in functions is supported in Kuiper, see [functions](../sqls/built-in_functions.md).
+- The source extension is used for extending different stream source, such as consuming data from other message brokers. eKuiper has built-in source support for [MQTT broker](../rules/sources/mqtt.md).
+- Sink/Action extension is used for extending pub/push data to different targets, such as database, other message system, web interfaces or file systems. Built-in action is supported in eKuiper, see [MQTT](../rules/sinks/mqtt.md) & [log files](../rules/sinks/logs.md).
+- Functions extension allows user to extend different functions that used in SQL. Built-in functions is supported in eKuiper, see [functions](../sqls/built-in_functions.md).
 
 Please read the following to learn how to implement different extensions.
 
@@ -35,7 +35,7 @@ We recommend plugin name to be camel case. Notice that, there are some restricti
 
 ### State storage
 
-Kuiper extension exposes a key value state storage interface through the context parameter, which can be used for all types of extensions, including Source/Sink/Function extensions.
+eKuiper extension exposes a key value state storage interface through the context parameter, which can be used for all types of extensions, including Source/Sink/Function extensions.
 
 States are key-value pairs, where the key is a string and the value is arbitrary data. Keys are scoped the to current extended instance.
 
@@ -60,9 +60,9 @@ func (f *accumulateWordCountFunc) Exec(args []interface{}, ctx api.FunctionConte
 
 ### Runtime dependencies
 
-Some plugin may need to access dependencies in the file system. Those files is put under {{kuiperPath}}/etc/{{pluginType}}/{{pluginName}} directory. When packaging the plugin, put those files in [etc directory](../restapi/plugins.md#plugin-file-format). After installation, they will be moved to the recommended place.
+Some plugin may need to access dependencies in the file system. Those files is put under {{eKuiperPath}}/etc/{{pluginType}}/{{pluginName}} directory. When packaging the plugin, put those files in [etc directory](../restapi/plugins.md#plugin-file-format). After installation, they will be moved to the recommended place.
 
-In the plugin source code, developers can access the dependencies of file system by getting the Kuiper root path from the context:
+In the plugin source code, developers can access the dependencies of file system by getting the eKuiper root path from the context:
 
 ```go
 ctx.GetRootPath()
@@ -70,9 +70,9 @@ ctx.GetRootPath()
 
 ## External function extension
 
-A configuration method is provided that Kuiper can use SQL to directly call external services in a functional manner, including various rpc services, http services, and so on. This method will greatly improve the ease of Kuiper extensions. External functions will be used as a supplement to the plugin system, and plugins are only recommended for high performance requirements.
+A configuration method is provided that eKuiper can use SQL to directly call external services in a functional manner, including various rpc services, http services, and so on. This method will greatly improve the ease of eKuiper extensions. External functions will be used as a supplement to the plugin system, and plugins are only recommended for high performance requirements.
 
-Take the getFeature function as an example, and suppose an AI service provides getFeature service based on grpc. After Kuiper is configured, you can use the method of `SELECT getFeature(self) from demo` to call the AI service without customizing the plugin.
+Take the getFeature function as an example, and suppose an AI service provides getFeature service based on grpc. After eKuiper is configured, you can use the method of `SELECT getFeature(self) from demo` to call the AI service without customizing the plugin.
 
 For detailed configuration method, please refer to [External function](external_func.md).
 

+ 4 - 4
docs/en_US/extension/sink.md

@@ -1,12 +1,12 @@
 # Sink Extension
 
-Sink feed data from Kuiper into external systems. Kuiper has built-in sink support for [MQTT broker](../rules/sinks/mqtt.md) and [log sink](../rules/sinks/logs.md). There are still needs to publish data to various external systems include messaging systems and database etc. Sink extension is presented to meet this requirement.
+Sink feed data from eKuiper into external systems. eKuiper has built-in sink support for [MQTT broker](../rules/sinks/mqtt.md) and [log sink](../rules/sinks/logs.md). There are still needs to publish data to various external systems include messaging systems and database etc. Sink extension is presented to meet this requirement.
 
 ## Developing
 
 ### Develop a sink
 
-To develop a sink for Kuiper is to implement [api.Sink](https://github.com/emqx/kuiper/blob/master/xstream/api/stream.go) interface and export it as a golang plugin.
+To develop a sink for eKuiper is to implement [api.Sink](https://github.com/lf-edge/ekuiper/blob/master/xstream/api/stream.go) interface and export it as a golang plugin.
 
 Before starting the development, you must [setup the environment for golang plugin](overview.md#setup-the-plugin-developing-environment). 
 
@@ -22,7 +22,7 @@ The next task is to implement _open_ method. The implementation should be synchr
 Open(ctx StreamContext) error
 ```  
 
-The main task for a Sink is to implement _collect_ method. The function will be invoked when Kuiper feed any data into the sink. As an infinite stream, this function will be invoked continuously. The task of this function is to publish data to the external system. The first parameter is the context, and the second parameter is the data received from Kuiper.
+The main task for a Sink is to implement _collect_ method. The function will be invoked when eKuiper feed any data into the sink. As an infinite stream, this function will be invoked continuously. The task of this function is to publish data to the external system. The first parameter is the context, and the second parameter is the data received from eKuiper.
 
 ```go
 //Called when each row of data has transferred to this sink
@@ -43,7 +43,7 @@ func MySink() api.Sink {
 }
 ```
 
-The [Memory Sink](https://github.com/emqx/kuiper/blob/master/plugins/sinks/memory/memory.go) is a good example.
+The [Memory Sink](https://github.com/lf-edge/ekuiper/blob/master/plugins/sinks/memory/memory.go) is a good example.
 
 ### Package the sink
 Build the implemented sink as a go plugin and make sure the output so file resides in the plugins/sinks folder.

+ 6 - 6
docs/en_US/extension/source.md

@@ -1,12 +1,12 @@
 # Source Extension
 
-Sources feed data into Kuiper from other systems. Kuiper has built-in source support for [MQTT broker](../rules/sources/mqtt.md). There are still needs to consume data from various external systems include messaging systems and data pipelines etc. Source extension is presented to meet this requirement.
+Sources feed data into eKuiper from other systems. eKuiper has built-in source support for [MQTT broker](../rules/sources/mqtt.md). There are still needs to consume data from various external systems include messaging systems and data pipelines etc. Source extension is presented to meet this requirement.
 
 ## Developing
 
 ### Develop a source
 
-To develop a source for Kuiper is to implement [api.Source](https://github.com/emqx/kuiper/blob/master/xstream/api/stream.go) interface and export it as a golang plugin.
+To develop a source for eKuiper is to implement [api.Source](https://github.com/lf-edge/ekuiper/blob/master/xstream/api/stream.go) interface and export it as a golang plugin.
 
 Before starting the development, you must [setup the environment for golang plugin](overview.md#setup-the-plugin-developing-environment). 
 
@@ -38,20 +38,20 @@ function MySource() api.Source{
 }
 ```
 
-The [Randome Source](https://github.com/emqx/kuiper/blob/master/plugins/sources/random/random.go) is a good example.
+The [Randome Source](https://github.com/lf-edge/ekuiper/blob/master/plugins/sources/random/random.go) is a good example.
 
 ### Rewindable source
 If the [rule checkpoint](../rules/state_and_fault_tolerance.md#source-consideration) is enabled, the source requires to be rewindable. That means the source need to implement both ``api.Source`` and ``api.Rewindable`` interface. 
 
-A typical implementation is to save an ``offset`` as a field of the source. And update the offset value when reading in new value. Notice that, when implementing GetOffset() will be called by Kuiper system which means the offset value can be accessed by multiple go routines. So a lock is required when read or write the offset.
+A typical implementation is to save an ``offset`` as a field of the source. And update the offset value when reading in new value. Notice that, when implementing GetOffset() will be called by eKuiper system which means the offset value can be accessed by multiple go routines. So a lock is required when read or write the offset.
 
 
 
 ### Deal with configuration
 
-Kuiper configurations are formatted as yaml and it provides a centralize location _/etc_ to hold all the configurations. Inside it, a subfolder _sources_ is provided for the source configurations including the extended sources.
+eKuiper configurations are formatted as yaml and it provides a centralize location _/etc_ to hold all the configurations. Inside it, a subfolder _sources_ is provided for the source configurations including the extended sources.
 
-A configuration system is supported for Kuiper extension which will automatically read the configuration in yaml file and feed into the _Configure_ method of the source. If the [CONF_KEY](../sqls/streams.md#create-stream) property is specified in the stream, the configuration of that key will be fed. Otherwise, the default configuration is used.
+A configuration system is supported for eKuiper extension which will automatically read the configuration in yaml file and feed into the _Configure_ method of the source. If the [CONF_KEY](../sqls/streams.md#create-stream) property is specified in the stream, the configuration of that key will be fed. Otherwise, the default configuration is used.
  
  To use configuration in your source, the following conventions must be followed.
  1. The name of your configuration file must be the same as the plugin name. For example, mySource.yaml.

+ 16 - 16
docs/en_US/getting_started.md

@@ -2,11 +2,11 @@
 
 ## Download & install
 
-Get the installation package via https://github.com/emqx/kuiper/releases or https://www.emqx.io/downloads#kuiper
+Get the installation package via https://github.com/lf-edge/ekuiper/releases or https://www.emqx.io/downloads#kuiper
 
 ### zip、tar.gz compressed package
 
-Unzip kuiper
+Unzip eKuiper
 
 ```sh
 $ unzip kuiper-$VERISON-$OS-$ARCH.zip
@@ -14,7 +14,7 @@ or
 $ tar -xzf kuiper-$VERISON-$OS-$ARCH.zip
 ```
 
-Run `bin/kuiperd` to start the kuiper server
+Run `bin/kuiperd` to start the eKuiper server
 
 ```sh
 $ bin/kuiperd
@@ -22,10 +22,10 @@ $ bin/kuiperd
 
 You should see a successful message: `Serving Rule server on port 20498`
 
-The directory structure of kuiper is as follows:
+The directory structure of eKuiper is as follows:
 
 ```
-kuiper_installed_dir
+eKuiper_installed_dir
   bin
     server
     cli
@@ -43,7 +43,7 @@ kuiper_installed_dir
 
 #### deb、rpm installation package
 
-Use related commands to install kuiper
+Use related commands to install eKuiper
 
 ```sh
 $ sudo dpkg -i kuiper_$VERSION_$ARCH.deb
@@ -51,7 +51,7 @@ or
 $ sudo rpm -ivh kuiper-$VERSION-1.el7.rpm
 ```
 
-Run `kuiperd` to start the kuiper server
+Run `kuiperd` to start the eKuiper server
 
 ```sh
 $ sudo kuiperd
@@ -59,13 +59,13 @@ $ sudo kuiperd
 
 You should see a successful message: `Serving Rule server on port 20498`
 
-kuiper also supports systemctl startup
+eKuiper also supports systemctl startup
 
  ```sh
  $ sudo systemctl start kuiper
  ```
 
-The directory structure of kuiper is as follows:
+The directory structure of eKuiper is as follows:
 
 ```
 /usr/lib/kuiper/bin
@@ -86,15 +86,15 @@ The directory structure of kuiper is as follows:
 
 ## Run the first rule stream
 
-Kuiper rule is composed by a SQL and multiple actions. Kuiper SQL is an easy to use SQL-like language to specify the logic of the rule stream. By providing the rule through CLI, a rule stream will be created in the rule engine and run continuously. The user can then manage the rules through CLI.
+eKuiper rule is composed by a SQL and multiple actions. eKuiper SQL is an easy to use SQL-like language to specify the logic of the rule stream. By providing the rule through CLI, a rule stream will be created in the rule engine and run continuously. The user can then manage the rules through CLI.
 
-Kuiper has a lot of built-in functions and extensions available for complex analysis, and you can find more information about the grammer and its functions from the [Kuiper SQL reference](sqls/overview.md).
+eKuiper has a lot of built-in functions and extensions available for complex analysis, and you can find more information about the grammer and its functions from the [eKuiper SQL reference](sqls/overview.md).
 
-Let's consider a sample scenario where we are receiving temperature and humidity record from a sensor through MQTT service and we want to issue an alert when the temperature is bigger than 30 degrees celcius in a time window. We can write a Kuiper rule for the above scenario using the following several steps.
+Let's consider a sample scenario where we are receiving temperature and humidity record from a sensor through MQTT service and we want to issue an alert when the temperature is bigger than 30 degrees celcius in a time window. We can write a eKuiper rule for the above scenario using the following several steps.
 
 ### Prerequisite
 
-We assume there is already a MQTT broker as the data source of Kuiper server. If you don't have one, EMQX is recommended. Please follow the [EMQ Installation Guide](https://docs.emqx.io/en/broker/latest/getting-started/install.html) to setup a mqtt broker.
+We assume there is already a MQTT broker as the data source of eKuiper server. If you don't have one, EMQX is recommended. Please follow the [EMQ Installation Guide](https://docs.emqx.io/en/broker/latest/getting-started/install.html) to setup a mqtt broker.
 
 ### Defining the input stream
 
@@ -196,10 +196,10 @@ You can use command line tool to stop the rule for a while and restart it and ot
 $ bin/kuiper stop rule ruleDemo
 ```
 
-Refer to the following topics for guidance on using the Kuiper.
+Refer to the following topics for guidance on using the eKuiper.
 
 - [Command line interface tools - CLI](./cli/overview.md)
-- [Kuiper SQL reference](./sqls/overview.md)
+- [eKuiper SQL reference](./sqls/overview.md)
 - [Rules](./rules/overview.md)
-- [Extend Kuiper](./extension/overview.md)
+- [Extend eKuiper](./extension/overview.md)
 - [Plugins](./plugins/overview.md)

File diff suppressed because it is too large
+ 18 - 18
docs/en_US/manager-ui/overview.md


+ 5 - 5
docs/en_US/manager-ui/plugins_in_manager.md

@@ -2,7 +2,7 @@
 
 ### Overview
 
-Kuiper provides a plugin extension mechanism, and users can implement custom plugins based on the extended interface. On the management console, users can install plugins directly through the interface. If readers have custom plugins and want to show them in the installation list of the management console, this article can give readers some reference.
+eKuiper provides a plugin extension mechanism, and users can implement custom plugins based on the extended interface. On the management console, users can install plugins directly through the interface. If readers have custom plugins and want to show them in the installation list of the management console, this article can give readers some reference.
 
 ### Plugin metadata
 
@@ -120,18 +120,18 @@ Example:  https://127.0.0.1:9090/kuiper-plugins/0.9.1/debian/sinks/file.zip
 
 Among them:
 
-1. $version: Kuiper version number used for plugin compilation
-2. $os: The operating system used for the plugin compilation. If the plugin is compiled in the default Kuiper Docker image, the value is debian.
+1. $version: eKuiper version number used for plugin compilation
+2. $os: The operating system used for the plugin compilation. If the plugin is compiled in the default eKuiper Docker image, the value is debian.
 3. $type: plugin type, which can be `sources`, `sinks`, `functions`.
 
 
 ### Limitation
 
-Due to the limitation of `Go` language plugin mechanism, the compilation environment of the plugin must be the same as the `Kuiper` environment. Therefore, it is recommended that the plugin be compiled in a `Docker` container of the same version as `Kuiper`. At the same time, because some libraries in the `alpine` environment are missing, it is not recommended to run plugins on it. Therefore, if you need to install and run the plugin, it is recommended to use the following container:
+Due to the limitation of `Go` language plugin mechanism, the compilation environment of the plugin must be the same as the `eKuiper` environment. Therefore, it is recommended that the plugin be compiled in a `Docker` container of the same version as `eKuiper`. At the same time, because some libraries in the `alpine` environment are missing, it is not recommended to run plugins on it. Therefore, if you need to install and run the plugin, it is recommended to use the following container:
 
 - Kuiper: Use slim image, such as `0.9.1-slim`
 - Plugin: compile with the default image of the corresponding version, such as `0.9.1`
 
 ### Summary
 
-Kuiper management console provides a display mechanism for custom plugins. User only needs to add the plugin metadata file in the custom plugin package. At the same time, users can customize the plugin  repository, so that plugins can be installed and used conveniently from the console.
+eKuiper management console provides a display mechanism for custom plugins. User only needs to add the plugin metadata file in the custom plugin package. At the same time, users can customize the plugin  repository, so that plugins can be installed and used conveniently from the console.

+ 7 - 7
docs/en_US/operation/configuration_file.md

@@ -1,5 +1,5 @@
 # Basic configurations
-The configuration file for Kuiper is at ``$kuiper/etc/kuiper.yaml``. The configuration file is yaml format.
+The configuration file for eKuiper is at ``$kuiper/etc/kuiper.yaml``. The configuration file is yaml format.
 
 ## Log level
 
@@ -47,20 +47,20 @@ The tls cert file path and key file path setting. If restTls is not set, the res
 
 ## Prometheus Configuration
 
-Kuiper can export metrics to prometheus if ``prometheus`` option is true. The prometheus will be served with the port specified by ``prometheusPort`` option.
+eKuiper can export metrics to prometheus if ``prometheus`` option is true. The prometheus will be served with the port specified by ``prometheusPort`` option.
 
 ```yaml
 basic:
   prometheus: true
   prometheusPort: 20499
 ```
-For such a default configuration, Kuiper will export metrics and serve prometheus at `http://localhost:20499/metrics`
+For such a default configuration, eKuiper will export metrics and serve prometheus at `http://localhost:20499/metrics`
 
 ## Pluginhosts Configuration
 
 The URL where hosts all of pre-build plugins. By default it's at `packages.emqx.io`. There could be several hosts (host can be separated with comma), if same package could be found in the several hosts, then the package in the 1st host will have the highest priority.
 
-Please notice that only the plugins that can be installed to the current Kuiper instance will be listed through below Rest-APIs.  
+Please notice that only the plugins that can be installed to the current eKuiper instance will be listed through below Rest-APIs.  
 
 ```
 GET http://localhost:9081/plugins/sources/prebuild
@@ -69,10 +69,10 @@ GET http://localhost:9081/plugins/functions/prebuild
 ```
 It has following conditions to make the plugins listed through previous APIs,
 
-- Kuiper version: The plugins must be built for the Kuiper instance version. If the plugins cannot be found  for a specific version, no plugins will be returned.
-- Operating system: Now only Linux system is supported, so if Kuiper is running at other operating systems,  no plugins will be returned.
+- eKuiper version: The plugins must be built for the eKuiper instance version. If the plugins cannot be found  for a specific version, no plugins will be returned.
+- Operating system: Now only Linux system is supported, so if eKuiper is running at other operating systems,  no plugins will be returned.
 - CPU architecture: Only with correct CPU architecture built plugins are found in the plugin repository can the plugins be returned.
-- EMQ official released Docker images: Only when the Kuiper is running at EMQ official released Docker images can the plugins be returned.
+- EMQ official released Docker images: Only when the eKuiper is running at EMQ official released Docker images can the plugins be returned.
 
 
 ```yaml

+ 2 - 2
docs/en_US/operation/install/cent-os.md

@@ -8,7 +8,7 @@ Unzip the installation package.
 
 ``unzip kuiper-centos7-v0.0.1.zip``
 
-Run the ``kuiper`` to verify Kuiper is installed successfully or not.
+Run the ``kuiper`` to verify eKuiper is installed successfully or not.
 
 ```shell
 # cd kuiper
@@ -16,4 +16,4 @@ Run the ``kuiper`` to verify Kuiper is installed successfully or not.
 kuiper version 0.0.1
 ```
 
-If it can print the version, then Kuiper is installed successfully. 
+If it can print the version, then eKuiper is installed successfully. 

+ 5 - 5
docs/en_US/operation/install/overview.md

@@ -26,15 +26,15 @@ The ``bin`` directory includes all of executable files. Such as ``kuiper`` comma
 
 ### etc
 
-The ``etc`` directory contains the configuration files of Kuiper. Such as MQTT source configurations etc.
+The ``etc`` directory contains the configuration files of eKuiper. Such as MQTT source configurations etc.
 
 ### data
 
-Kuiper persistences all the definitions of streams and rules, and all of message will be stored in this folder  for long duration operations.
+eKuiper persistences all the definitions of streams and rules, and all of message will be stored in this folder  for long duration operations.
 
 ### plugins
 
-Kuiper allows users to develop your own plugins, and put these plugins into this folder.  See [extension](../../extension/overview.md) for more info for how to extend the Kuiper.
+eKuiper allows users to develop your own plugins, and put these plugins into this folder.  See [extension](../../extension/overview.md) for more info for how to extend the eKuiper.
 
 ### log
 
@@ -42,6 +42,6 @@ All of the log files are under this folder. The default log file name is ``strea
 
 ## Next steps
 
-- See [getting started](../../getting_started.md) for your first Kuiper experience.
-- See [CLI tools](../../cli/overview.md) for usage of Kuiper CLI tools.
+- See [getting started](../../getting_started.md) for your first eKuiper experience.
+- See [CLI tools](../../cli/overview.md) for usage of eKuiper CLI tools.
 

+ 2 - 2
docs/en_US/operation/operations.md

@@ -1,9 +1,9 @@
 ## Configuration
 
-- [Kuiper basic configuration](configuration_file.md)
+- [eKuiper basic configuration](configuration_file.md)
 - [MQTT source configuration](../rules/sources/mqtt.md)
 
 ## Restful APIs
 
-Kuiper provides some RESTful management APIs. Please refer to [Rest-API doc](../restapi/overview.md) for more detailed information.
+eKuiper provides some RESTful management APIs. Please refer to [Rest-API doc](../restapi/overview.md) for more detailed information.
 

+ 1 - 1
docs/en_US/operation/overview.md

@@ -1,5 +1,5 @@
 
-Kuiper is developed by Golang, and it can be run at different operating systems. See below docs for how to install and operating Kuiper.
+eKuiper is developed by Golang, and it can be run at different operating systems. See below docs for how to install and operating eKuiper.
 
 - [Install instruction](install/overview.md)
 - [Operation guide](operations.md)

+ 1 - 1
docs/en_US/plugins/functions/functions.md

@@ -1,6 +1,6 @@
 # Custom function
 
-Kuiper can customize functions. For the development, compilation and use of functions, please [see here](../../extension/function.md).
+eKuiper can customize functions. For the development, compilation and use of functions, please [see here](../../extension/function.md).
 
 ## echo plugin
 

+ 17 - 17
docs/en_US/plugins/functions/tensorflow_lite_tutorial.md

@@ -1,10 +1,10 @@
-# Run TensorFlow Lite model with Kuiper function plugin
+# Run TensorFlow Lite model with eKuiper function plugin
 
-[EMQ X Kuiper](https://docs.emqx.io/en/kuiper/latest/) is an edge lightweight IoT data analytics / streaming software which can be run at all kinds of resource constrained IoT devices.
+[LF Edge eKuiper](https://docs.emqx.io/en/kuiper/latest/) is an edge lightweight IoT data analytics / streaming software which can be run at all kinds of resource constrained IoT devices.
 
 [TensorFlow Lite](https://www.tensorflow.org/lite/guide) is a set of tools to help developers run TensorFlow models on mobile, embedded, and IoT devices. It enables on-device machine learning inference with low latency and a small binary size.
 
-By integrating Kuiper and TensorFlow Lite, users can analyze the data in stream by AI with prebuilt TensorFlow models. In this tutorial, we will walk you through building a kuiper plugin to label pictures (binary data) produced by an edge device in stream by pre-trained image recognition TensorFlow model.
+By integrating eKuiper and TensorFlow Lite, users can analyze the data in stream by AI with prebuilt TensorFlow models. In this tutorial, we will walk you through building a eKuiper plugin to label pictures (binary data) produced by an edge device in stream by pre-trained image recognition TensorFlow model.
 
 ## Prerequisite
 
@@ -12,12 +12,12 @@ To run the TensorFlow lite interpreter, we need a trained model. We won't cover
 
 ## Develop the plugin
 
-To integrate Kuiper with TensorFlow lite, we will develop a customized Kuiper function plugin to be used by Kuiper rules. As an example, we will create `LabelImage` function whose input is a binary type data representing an image and the output is a string representing the label of the image. For example, `LabelImage(col)` will produce `"peacock"` if the input image has a peacock.
+To integrate eKuiper with TensorFlow lite, we will develop a customized eKuiper function plugin to be used by eKuiper rules. As an example, we will create `LabelImage` function whose input is a binary type data representing an image and the output is a string representing the label of the image. For example, `LabelImage(col)` will produce `"peacock"` if the input image has a peacock.
 
 To develop the function plugin, we need to:
 
-1. Create the plugin go file.  For example, in kuiper source code, create *plugins/functions/labelImage/labelImage.go* file.
-2. Create a struct that implements [api.Function interface](https://github.com/emqx/kuiper/blob/master/xstream/api/stream.go). 
+1. Create the plugin go file.  For example, in eKuiper source code, create *plugins/functions/labelImage/labelImage.go* file.
+2. Create a struct that implements [api.Function interface](https://github.com/lf-edge/ekuiper/blob/master/xstream/api/stream.go). 
 3. Export the struct.
 
 The key part of the implementation is the *Exec* function. The pseudo code is like:
@@ -53,18 +53,18 @@ var LabelImage = labelImage{
 }
 ```
 
-Check [this tutorial](../plugins_tutorial.md) for detail steps of creating Kuiper plugins.  Please refer to [labelImage.go](https://github.com/emqx/kuiper/blob/master/plugins/functions/labelImage/labelImage.go) for the full source code.
+Check [this tutorial](../plugins_tutorial.md) for detail steps of creating eKuiper plugins.  Please refer to [labelImage.go](https://github.com/lf-edge/ekuiper/blob/master/plugins/functions/labelImage/labelImage.go) for the full source code.
 
 ## Build and install the plugin
 
-To use the plugin, we need to build it in the environment where Kuiper will run and then install it in Kuiper.
+To use the plugin, we need to build it in the environment where eKuiper will run and then install it in eKuiper.
 
 ### Install by pre-built zip
 
-If using Kuiper docker images with tags like 1.1.1 or 1.1.1-slim which are based on debian, we can install the pre-built labelImage plugin. For example, to install the plugin for Kuiper 1.1.2 in docker image emqx/kuiper:1.1.2-slim, the pre-built zip file locates in *https://www.emqx.io/downloads/kuiper-plugins/v1.1.2/debian/functions/labelImage_amd64.zip*. Run the rest command as below to install.
+If using eKuiper docker images with tags like 1.1.1 or 1.1.1-slim which are based on debian, we can install the pre-built labelImage plugin. For example, to install the plugin for eKuiper 1.1.2 in docker image emqx/kuiper:1.1.2-slim, the pre-built zip file locates in *https://www.emqx.io/downloads/kuiper-plugins/v1.1.2/debian/functions/labelImage_amd64.zip*. Run the rest command as below to install.
 
 ```shell
-POST http://{{kuiperHost:kuiperRestPort}}/plugins/functions
+POST http://{{eKuiperHost:eKuiperRestPort}}/plugins/functions
 Content-Type: application/json
 
 {"name":"labelImage", "file": "https://www.emqx.io/downloads/kuiper-plugins/v1.1.2/debian/functions/labelImage_amd64.zip"}
@@ -72,7 +72,7 @@ Content-Type: application/json
 
 ### Manual build
 
-If you don't run Kuiper by official Kuiper docker image, the pre-built labelImage plugin will not fit due to the limitation of golang plugin. You will need to built the plugin manually. There are 3 steps to create the plugin zip file manually:
+If you don't run eKuiper by official eKuiper docker image, the pre-built labelImage plugin will not fit due to the limitation of golang plugin. You will need to built the plugin manually. There are 3 steps to create the plugin zip file manually:
 
 1. Build the TensorFlowLite C API.
 2. Build the labelImage plugin.
@@ -108,10 +108,10 @@ There is a very simple [instruction](https://github.com/tensorflow/tensorflow/tr
 
 #### Build the labelImage plugin
 
-Make sure the Kuiper github repo has cloned. The plugin source file is in *extensions/functions/labelImage/labelImage.go*. Export the paths of the tensorflow repo and built libraries before build the plugin.
+Make sure the eKuiper github repo has cloned. The plugin source file is in *extensions/functions/labelImage/labelImage.go*. Export the paths of the tensorflow repo and built libraries before build the plugin.
 
 ```shell
-$ cd {{kuiperRepoPath}}
+$ cd {{eKuiperRepoPath}}
 $ export CGO_CFLAGS=-I/root/tensorflow
 $ export CGO_LDFLAGS=-L/root/tensorflow/lib
 $ go build -trimpath -modfile extensions.mod --buildmode=plugin -o plugins/functions/LabelImage.so extensions/functions/labelImage/*.go
@@ -119,7 +119,7 @@ $ mkdir -p "plugins/functions"
 $ cp -r extensions/functions/labelImage plugins/functions
 ```
 
-By these commands, the plugin is built into plugins/functions/LabelImage.so and copy all dependencies to plugins/functions/labelImage folder. For development purpose, you can restart Kuiper to load this plugin automatically and do testing. After testing complete, we should package it in a zip which is ready to use by Kuiper plugin installation API so that it can be used in another machine such as in production environment.
+By these commands, the plugin is built into plugins/functions/LabelImage.so and copy all dependencies to plugins/functions/labelImage folder. For development purpose, you can restart eKuiper to load this plugin automatically and do testing. After testing complete, we should package it in a zip which is ready to use by eKuiper plugin installation API so that it can be used in another machine such as in production environment.
 
 #### Package the plugin
 
@@ -143,7 +143,7 @@ Once the plugin installed, we can use it in our rule. We will create a rule to r
 
 ### Define the stream
 
-Define the stream by Kuiper rest API. We create a stream named tfdemo whose format is binary and the topic is tfdemo.
+Define the stream by eKuiper rest API. We create a stream named tfdemo whose format is binary and the topic is tfdemo.
 
 ```shell
 POST http://{{host}}/streams
@@ -154,7 +154,7 @@ Content-Type: application/json
 
 ### Define the rule
 
-Define the rule by Kuiper rest API.  We will create a rule named ruleTf. We just read the images from tfdemo stream and run the custom function *labelImage* against it. The result will be the label of the image recognized by the AI.
+Define the rule by eKuiper rest API.  We will create a rule named ruleTf. We just read the images from tfdemo stream and run the custom function *labelImage* against it. The result will be the label of the image recognized by the AI.
 
 ```shell
 POST http://{{host}}/rules
@@ -232,4 +232,4 @@ The images are labeled correctly.
 
 ## Conclusion
 
-In this tutorial, we walk you through building a customized Kuiper plugin to leverage a pre-trained TensorFlowLite model. If you need to use other models, just follow the steps to create another function. Notice that, the built TensorFlow C API can be shared among all functions if running in the same environment. Enjoy the AI in edge device.
+In this tutorial, we walk you through building a customized eKuiper plugin to leverage a pre-trained TensorFlowLite model. If you need to use other models, just follow the steps to create another function. Notice that, the built TensorFlow C API can be shared among all functions if running in the same environment. Enjoy the AI in edge device.

File diff suppressed because it is too large
+ 7 - 7
docs/en_US/plugins/overview.md


File diff suppressed because it is too large
+ 36 - 36
docs/en_US/plugins/plugins_tutorial.md


+ 3 - 3
docs/en_US/plugins/sinks/file.md

@@ -5,12 +5,12 @@ The sink is used for saving analysis result into a specified file.
 ## Compile & deploy plugin
 
 ```shell
-# cd $kuiper_src
+# cd $eKuiper_src
 # go build -trimpath -modfile extensions.mod --buildmode=plugin -o plugins/sinks/File.so extensions/sinks/file/file.go
-# cp plugins/sinks/File.so $kuiper_install/plugins/sinks
+# cp plugins/sinks/File.so $eKuiper_install/plugins/sinks
 ```
 
-Restart the Kuiper server to activate the plugin.
+Restart the eKuiper server to activate the plugin.
 
 ## Properties
 

+ 3 - 3
docs/en_US/plugins/sinks/image.md

@@ -5,12 +5,12 @@ Sink is used to save the picture to the specified folder.
 ## Compile and deploy the plugin
 
 ```shell
-# cd $kuiper_src
+# cd $eKuiper_src
 # go build -trimpath -modfile extensions.mod --buildmode=plugin -o plugins/sinks/Image.so extensions/sinks/image/image.go
-# cp plugins/sinks/Image.so $kuiper_install/plugins/sinks
+# cp plugins/sinks/Image.so $eKuiper_install/plugins/sinks
 ```
 
-Restart the Kuiper server to activate the plugin.
+Restart the eKuiper server to activate the plugin.
 
 ## Attribute
 

+ 2 - 2
docs/en_US/plugins/sinks/influx.md

@@ -10,7 +10,7 @@ Please make following update before compile the plugin,
 - Remove the first line `// +build plugins` of file `plugins/sinks/influx.go`.
 
 ```shell
-# cd $kuiper_src
+# cd $eKuiper_src
 # go build -trimpath -modfile extensions.mod --buildmode=plugin -o plugins/sinks/Influx.so extensions/sinks/influx/influx.go
 # zip influx.zip plugins/sinks/Influx.so
 # cp influx.zip /root/tomcat_path/webapps/ROOT/
@@ -18,7 +18,7 @@ Please make following update before compile the plugin,
 # bin/kuiper create rule influx -f /tmp/influxRule.txt
 ```
 
-Restart the Kuiper server to activate the plugin.
+Restart the eKuiper server to activate the plugin.
 
 ## Properties
 

+ 3 - 3
docs/en_US/plugins/sinks/tdengine.md

@@ -7,7 +7,7 @@ module plugins
 
 go 1.13
 
-replace github.com/emqx/kuiper => /$kuiper
+replace github.com/emqx/kuiper => /$eKuiper
 
 require (
     github.com/emqx/kuiper v0.0.0-00010101000000-000000000000 // indirect
@@ -16,8 +16,8 @@ require (
 ```
 
 ```shell
-go mod edit -replace github.com/emqx/kuiper=/$kuiper
-go build -trimpath -modfile extensions.mod --buildmode=plugin -o /$kuiper/plugins/sinks/Tdengine@v1.0.0.so /$kuiper/extensions/sinks/tdengine/tdengine.go
+go mod edit -replace github.com/emqx/kuiper=/$eKuiper
+go build -trimpath -modfile extensions.mod --buildmode=plugin -o /$ekuiper/plugins/sinks/Tdengine@v1.0.0.so /$ekuiper/extensions/sinks/tdengine/tdengine.go
 ```
 ### Install plugin
 Since the operation of the tdengine plug-in depends on the tdengine client, for the convenience of users, the tdengine client will be downloaded when the plug-in is installed. However, the tdengine client version corresponds to the server version one-to-one, which is not compatible with each other, so the user must inform the tdengine server version used.

+ 3 - 3
docs/en_US/plugins/sinks/zmq.md

@@ -5,12 +5,12 @@ The sink will publish the result into a Zero Mq topic.
 ## Compile & deploy plugin
 
 ```shell
-# cd $kuiper_src
+# cd $eKuiper_src
 # go build -trimpath -modfile extensions.mod --buildmode=plugin -o plugins/sinks/Zmq.so extensions/sinks/zmq/zmq.go
-# cp plugins/sinks/Zmq.so $kuiper_install/plugins/sinks
+# cp plugins/sinks/Zmq.so $eKuiper_install/plugins/sinks
 ```
 
-Restart the Kuiper server to activate the plugin.
+Restart the eKuiper server to activate the plugin.
 
 ## Properties
 

+ 4 - 4
docs/en_US/plugins/sources/random.md

@@ -5,16 +5,16 @@ he source will generate random inputs with a specified pattern.
 ## Compile & deploy plugin
 
 ```shell
-# cd $kuiper_src
+# cd $eKuiper_src
 # go build -trimpath -modfile extensions.mod --buildmode=plugin -o plugins/sources/Random.so extensions/sources/random/random.go
-# cp plugins/sources/Random.so $kuiper_install/plugins/sources
+# cp plugins/sources/Random.so $eKuiper_install/plugins/sources
 ```
 
-Restart the Kuiper server to activate the plugin.
+Restart the eKuiper server to activate the plugin.
 
 ## Configuration
 
-The configuration for this source is ``$kuiper/etc/sources/random.yaml``. The format is as below:
+The configuration for this source is ``$ekuiper/etc/sources/random.yaml``. The format is as below:
 
 ```yaml
 default:

+ 5 - 5
docs/en_US/plugins/sources/zmq.md

@@ -1,20 +1,20 @@
 # Zmq Source
 
-The source will subscribe to a Zero Mq topic to import the messages into kuiper
+The source will subscribe to a Zero Mq topic to import the messages into eKuiper
 
 ## Compile & deploy plugin
 
 ```shell
-# cd $kuiper_src
+# cd $eKuiper_src
 # go build -trimpath -modfile extensions.mod --buildmode=plugin -o plugins/sources/Zmq.so extensions/sources/zmq/zmq.go
-# cp plugins/sources/Zmq.so $kuiper_install/plugins/sources
+# cp plugins/sources/Zmq.so $eKuiper_install/plugins/sources
 ```
 
-Restart the Kuiper server to activate the plugin.
+Restart the eKuiper server to activate the plugin.
 
 ## Configuration
 
-The configuration for this source is ``$kuiper/etc/sources/zmq.yaml``. The format is as below:
+The configuration for this source is ``$ekuiper/etc/sources/zmq.yaml``. The format is as below:
 
 ```yaml
 #Global Zmq configurations

File diff suppressed because it is too large
+ 7 - 7
docs/en_US/quick_start_docker.md


+ 3 - 3
docs/en_US/reference.md

@@ -2,11 +2,11 @@
 
 
 
-Refer to the following topics for guidance on using the Kuiper.
+Refer to the following topics for guidance on using the eKuiper.
 
 - [Install and operation](operation/overview.md)
 - [Command line interface tools - CLI](cli/overview.md)
-- [Kuiper SQL reference](sqls/overview.md)
+- [eKuiper SQL reference](sqls/overview.md)
 - [Rules](rules/overview.md)
-- [Extend Kuiper](extension/overview.md)
+- [Extend eKuiper](extension/overview.md)
 - [Plugins](plugins/overview.md)

+ 1 - 1
docs/en_US/restapi/overview.md

@@ -1,4 +1,4 @@
-Kuiper provides a set of REST API for streams and rules management in addition to CLI. 
+eKuiper provides a set of REST API for streams and rules management in addition to CLI. 
 
 By default, the REST API are running in port 9081. You can change the port in `/etc/kuiper.yaml` for the `restPort` property.
 

File diff suppressed because it is too large
+ 7 - 7
docs/en_US/restapi/plugins.md


+ 1 - 1
docs/en_US/restapi/rules.md

@@ -1,6 +1,6 @@
 # Rules management
 
-The Kuiper REST api for rules allows you to manage rules, such as create, show, drop, describe, start, stop and restart rules. 
+The eKuiper REST api for rules allows you to manage rules, such as create, show, drop, describe, start, stop and restart rules. 
 
 ## create a rule
 

+ 3 - 3
docs/en_US/restapi/services.md

@@ -1,4 +1,4 @@
-Kuiper REST api allows you to manage external services, such as registering, deleting and listing services, listing external functions.
+eKuiper REST api allows you to manage external services, such as registering, deleting and listing services, listing external functions.
 
 ## Register external services
 
@@ -16,7 +16,7 @@ An example of a request for a file on an HTTP server:
 }
 ```
 
-An example of a request for a file on the Kuiper server:
+An example of a request for a file on the eKuiper server:
 ```json
 {
   "name":"random",
@@ -27,7 +27,7 @@ An example of a request for a file on the Kuiper server:
 ### parameter
 
 1. name: The unique name of the external service, which must be exactly the same as the json file of service definition in the zip file.
-2. file: URL of external service file. URL supports http, https and file modes. When using the file mode, the file must be on the machine where the Kuiper server is located. It must be a zip file, which contains the service description json file with the same name as the service and any other auxiliary files. The schema file must be in the schema folder.
+2. file: URL of external service file. URL supports http, https and file modes. When using the file mode, the file must be on the machine where the eKuiper server is located. It must be a zip file, which contains the service description json file with the same name as the service and any other auxiliary files. The schema file must be in the schema folder.
 
 ### Service file format
 A sample zip file of the source named sample.zip

+ 1 - 1
docs/en_US/restapi/streams.md

@@ -1,6 +1,6 @@
 # Streams management
 
-The Kuiper REST api for streams allows you to manage the streams, such as create, describe, show and drop stream definitions.
+The eKuiper REST api for streams allows you to manage the streams, such as create, describe, show and drop stream definitions.
 
 ## create a stream
 

+ 1 - 1
docs/en_US/restapi/tables.md

@@ -1,6 +1,6 @@
 # Tables management
 
-The Kuiper REST api for tables allows you to manage the tables, such as create, describe, show and drop table definitions.
+The eKuiper REST api for tables allows you to manage the tables, such as create, describe, show and drop table definitions.
 
 ## create a table
 

File diff suppressed because it is too large
+ 14 - 14
docs/en_US/rules/data_template.md


+ 5 - 5
docs/en_US/rules/overview.md

@@ -33,7 +33,7 @@ The following 3 parameters are required for creating a rule.
 
 ### id
 
-The identification of the rule. The rule name cannot be duplicated in the same Kuiper instance.
+The identification of the rule. The rule name cannot be duplicated in the same eKuiper instance.
 
 ### sql
 
@@ -60,11 +60,11 @@ The rule options can be defined globally in ``etc/kuiper.yaml`` under the ``rule
 
 ## Sources
 
-- Kuiper provides embeded following 3 sources,
+- eKuiper provides embeded following 3 sources,
   - MQTT source, see  [MQTT source stream](./sources/mqtt.md) for more detailed info.
   - EdgeX source by default is shipped in [docker images](https://hub.docker.com/r/emqx/kuiper), but NOT included in single download binary files, you use ``make pkg_with_edgex`` command to build a binary package that supports EdgeX source. Please see [EdgeX source stream](./sources/edgex.md) for more detailed info.
   - HTTP pull source, regularly pull the contents at user's specified interval time, see [here](./sources/http_pull.md) for more detailed info.
-- See [SQL](../sqls/overview.md) for more info of Kuiper SQL.
+- See [SQL](../sqls/overview.md) for more info of eKuiper SQL.
 - Sources can be customized, see [extension](../extension/overview.md) for more detailed info.
 
 ## Sinks/Actions
@@ -94,7 +94,7 @@ Each action can define its own properties. There are several common properties:
 
 ### Data Template
 
-User can refer to [Use Golang template to customize analaysis result in Kuiper](./data_template.md) for more detailed scenarios.
+User can refer to [Use Golang template to customize analaysis result in eKuiper](./data_template.md) for more detailed scenarios.
 If sendSingle is true, the data template will execute against a record; Otherwise, it will execute against the whole array of records. Typical data templates are:
 
 For example, we have the sink input as
@@ -156,7 +156,7 @@ Actions could be customized to support different kinds of outputs, see [extensio
 
 ### Functions supported in template
 
-Kuiper extends several functions that can be used in data template.
+eKuiper extends several functions that can be used in data template.
 
 - `json para1`: The `json` function is used for convert the map content to a JSON string.
 - `base64 para1`: The `base64` function is used for encoding parameter value to a base64 string.

+ 8 - 8
docs/en_US/rules/sinks/edgex.md

@@ -2,9 +2,9 @@
 
 The action is used for publishing output message into EdgeX message bus.  
 
-**Please notice that, if you're using the ZeorMQ message bus, the action will create a NEW EdgeX message bus (with the address where running Kuiper service), but not by leveraging the original message bus (normally it's the address & port exposed by application service). **
+**Please notice that, if you're using the ZeorMQ message bus, the action will create a NEW EdgeX message bus (with the address where running eKuiper service), but not by leveraging the original message bus (normally it's the address & port exposed by application service). **
 
-**Also, you need to expose the port number to host server before running the Kuiper server if you want to have the service available to other hosts.**
+**Also, you need to expose the port number to host server before running the eKuiper server if you want to have the service available to other hosts.**
 
 | Property name | Optional | Description                                                  |
 | ------------- | -------- | ------------------------------------------------------------ |
@@ -14,7 +14,7 @@ The action is used for publishing output message into EdgeX message bus.
 | topic         | true     | The topic to be published. If not specified, then use default value ``events``. |
 | contentType   | true     | The content type of message to be published. If not specified, then use the default value ``application/json``. |
 | metadata      | true     | The property is a field name that allows user to specify a field name of SQL  select clause,  the field name should use ``meta(*) AS xxx``  to select all of EdgeX metadata from message. |
-| deviceName    | true     | Allows user to specify the device name in the event structure that are sent from Kuiper. |
+| deviceName    | true     | Allows user to specify the device name in the event structure that are sent from eKuiper. |
 | type          | true     | The message bus type, two types of message buses are supported, ``zero`` or ``mqtt``, and ``zero`` is the default value. |
 | optional      | true     | If ``mqtt`` message bus type is specified, then some optional values can be specified. Please refer to below for supported optional supported configurations. |
 
@@ -37,7 +37,7 @@ Below optional configurations are supported, please check MQTT specification for
 ## Examples
 
 ### Publish result to a new EdgeX message bus without keeping original metadata
-In this case, the original metadata value (such as ``id, pushed, created, modified, origin`` in ``Events`` structure, and ``id, created, modified, origin, pushed, device`` in ``Reading`` structure will not be kept). Kuiper acts as another EdgeX micro service here, and it has own ``device name``. A ``deviceName`` property is provided, and allows user to specify the device name of Kuiper. Below is one example,
+In this case, the original metadata value (such as ``id, pushed, created, modified, origin`` in ``Events`` structure, and ``id, created, modified, origin, pushed, device`` in ``Reading`` structure will not be kept). eKuiper acts as another EdgeX micro service here, and it has own ``device name``. A ``deviceName`` property is provided, and allows user to specify the device name of eKuiper. Below is one example,
 
 1) Data received from EdgeX message bus ``events`` topic,
 ```
@@ -83,10 +83,10 @@ In this case, the original metadata value (such as ``id, pushed, created, modifi
 ```
 Please notice that, 
 - The device name of ``Event`` structure is changed to ``kuiper``
-- All of metadata for ``Events and Readings`` structure will be updated with new value. ``Created`` field is updated to another value generated by Kuiper (here is ``0``).
+- All of metadata for ``Events and Readings`` structure will be updated with new value. ``Created`` field is updated to another value generated by eKuiper (here is ``0``).
 
 ### Publish result to a new EdgeX message bus with keeping original metadata
-But for some scenarios, you may want to keep some of original metadata. Such as keep the device name as original value that published to Kuiper (``demo`` in the sample), and also other metadata of readings arrays. In such case, Kuiper is acting as a filter - to filter NOT concerned messages, but still keep original data.
+But for some scenarios, you may want to keep some of original metadata. Such as keep the device name as original value that published to eKuiper (``demo`` in the sample), and also other metadata of readings arrays. In such case, eKuiper is acting as a filter - to filter NOT concerned messages, but still keep original data.
 
 Below is an example,
 
@@ -139,8 +139,8 @@ Please notice that,
 Please notice that,
 - The metadata of ``Events`` structure is still kept, such as ``Device`` & ``Created``.
 - For the reading that can be found in original message, the metadata will be kept. Such as ``humidity`` metadata will be the ``old values`` received from EdgeX message bus.
-- For the reading that can NOT be found in original message,  the metadata will not be set.  Such as metadata of ``t1`` in the sample will fill with default value that generated by Kuiper. 
-- If your SQL has aggregated function, then it does not make sense to keep these metadata, but Kuiper will still fill with metadata from a particular message in the time window. For example, with following SQL, 
+- For the reading that can NOT be found in original message,  the metadata will not be set.  Such as metadata of ``t1`` in the sample will fill with default value that generated by eKuiper. 
+- If your SQL has aggregated function, then it does not make sense to keep these metadata, but eKuiper will still fill with metadata from a particular message in the time window. For example, with following SQL, 
 ```SELECT avg(temperature) AS temperature, meta(*) AS edgex_meta FROM ... GROUP BY TUMBLINGWINDOW(ss, 10)```. 
 In this case, there are possibly several messages in the window, the metadata value for ``temperature`` will be filled with value from 1st message that received from bus.
 

+ 1 - 1
docs/en_US/rules/sinks/logs.md

@@ -1,6 +1,6 @@
 # Log action
 
-The action is used for print output message into log file, the log file is at `$kuiper_install/log/stream.log` by default.
+The action is used for print output message into log file, the log file is at `$eKuiper_install/log/stream.log` by default.
 
 No properties can be specified for the action.
 

+ 1 - 1
docs/en_US/rules/sinks/nop.md

@@ -1,6 +1,6 @@
 # Nop action
 
-The action is an Nop sink, the result sent to this sink will be ignored. If specify the `log` property to `true`, then the result will be saved into log file, the log file is at `$kuiper_install/log/stream.log` by default.
+The action is an Nop sink, the result sent to this sink will be ignored. If specify the `log` property to `true`, then the result will be saved into log file, the log file is at `$eKuiper_install/log/stream.log` by default.
 
 | Property name      | Optional | Description                                                  |
 | ------------------ | -------- | ------------------------------------------------------------ |

+ 9 - 9
docs/en_US/rules/sources/edgex.md

@@ -1,13 +1,13 @@
 ## EdgeX Source
 
-Kuiper provides built-in support for EdgeX source stream, which can subscribe the message from [EdgeX message bus](https://github.com/edgexfoundry/go-mod-messaging) and feed into the Kuiper streaming process pipeline.  
+eKuiper provides built-in support for EdgeX source stream, which can subscribe the message from [EdgeX message bus](https://github.com/edgexfoundry/go-mod-messaging) and feed into the eKuiper streaming process pipeline.  
 
 ### Stream definition for EdgeX
 
 EdgeX already defines data types in [value descriptors](https://github.com/edgexfoundry/go-mod-core-contracts), so it's recommeded to use schema-less stream definition in EdgeX source as in below.
 
 ```shell
-# cd $kuiper_base
+# cd $eKuiper_base
 # bin/kuiper CREATE STREAM demo'() with(format="json", datasource="demo" type="edgex")'
 ```
 
@@ -17,11 +17,11 @@ EdgeX source will try to get the data type of a field,
 - or keep original value if  field of a type can not be found in value descriptors service;
 - or if failed to conver the value, then the value will be **dropped**, and a warning message print in the log;
 
-The types defined in EdgeX value descriptors will be converted into related [data types](../../sqls/streams.md) that supported in Kuiper.
+The types defined in EdgeX value descriptors will be converted into related [data types](../../sqls/streams.md) that supported in eKuiper.
 
 #### Boolean
 
-If  ``Type`` value of ``ValueDescriptor`` is ``Bool``, then Kuiper tries to convert to ``boolean`` type. Following values will be converted into ``true``.
+If  ``Type`` value of ``ValueDescriptor`` is ``Bool``, then eKuiper tries to convert to ``boolean`` type. Following values will be converted into ``true``.
 
 - "1", "t", "T", "true", "TRUE", "True" 
 
@@ -31,15 +31,15 @@ Following will be converted into ``false``.
 
 #### Bigint
 
-If  ``Type`` value of ``ValueDescriptor`` is ``INT8`` , ``INT16``, ``INT32``,  ``INT64``,``UINT`` , ``UINT8`` , ``UINT16`` ,  ``UINT32`` , ``UINT64`` then Kuiper tries to convert to ``Bigint`` type. 
+If  ``Type`` value of ``ValueDescriptor`` is ``INT8`` , ``INT16``, ``INT32``,  ``INT64``,``UINT`` , ``UINT8`` , ``UINT16`` ,  ``UINT32`` , ``UINT64`` then eKuiper tries to convert to ``Bigint`` type. 
 
 #### Float
 
-If  ``Type`` value of ``ValueDescriptor`` is ``FLOAT32``, ``FLOAT64``, then Kuiper tries to convert to ``Float`` type. 
+If  ``Type`` value of ``ValueDescriptor`` is ``FLOAT32``, ``FLOAT64``, then eKuiper tries to convert to ``Float`` type. 
 
 #### String
 
-If  ``Type`` value of ``ValueDescriptor`` is ``String``, then Kuiper tries to convert to ``String`` type. 
+If  ``Type`` value of ``ValueDescriptor`` is ``String``, then eKuiper tries to convert to ``String`` type. 
 
 #### Boolean array
 
@@ -55,7 +55,7 @@ All of ``FLOAT32``, ``FLOAT64``  array types in EdgeX will be converted to `Floa
 
 ## Global configurations
 
-The configuration file of EdgeX source is at ``$kuiper/etc/sources/edgex.yaml``. Below is the file format.
+The configuration file of EdgeX source is at ``$ekuiper/etc/sources/edgex.yaml``. Below is the file format.
 
 ```yaml
 #Global Edgex configurations
@@ -122,7 +122,7 @@ If MQTT message bus is used, some other optional configurations can be specified
 
 ### Override the default settings
 
-In some cases, maybe you want to consume message from multiple topics from message bus.  Kuiper supports to specify another configuration, and use the ``CONF_KEY`` to specify the newly created key when you create a stream.
+In some cases, maybe you want to consume message from multiple topics from message bus.  eKuiper supports to specify another configuration, and use the ``CONF_KEY`` to specify the newly created key when you create a stream.
 
 ```yaml
 #Override the global configurations

+ 3 - 3
docs/en_US/rules/sources/file.md

@@ -1,6 +1,6 @@
 ## File source
 
-Kuiper provides built-in support for reading file content into the Kuiper processing pipeline. The file source is usually used as a [table](../../sqls/tables.md) and it is the default type for create table statement.
+eKuiper provides built-in support for reading file content into the eKuiper processing pipeline. The file source is usually used as a [table](../../sqls/tables.md) and it is the default type for create table statement.
 
 ```sql
 CREATE TABLE table1 (
@@ -16,11 +16,11 @@ The configure file for the file source is in */etc/sources/file.yaml* in which t
 ```yaml
 default:
   fileType: json
-  # The directory of the file relative to kuiper root or an absolute path.
+  # The directory of the file relative to eKuiper root or an absolute path.
   # Do not include the file name here. The file name should be defined in the stream data source
   path: data
   # The interval between reading the files, time unit is ms. If only read once, set it to 0
   interval: 0
 ```
 
-With this yaml file, the table will refer to the file *${kuiper}/data/lookup.json* and read it in json format.
+With this yaml file, the table will refer to the file *${eKuiper}/data/lookup.json* and read it in json format.

+ 1 - 1
docs/en_US/rules/sources/http_pull.md

@@ -1,6 +1,6 @@
 # HTTP pull source 
 
-Kuiper provides built-in support for pulling HTTP source stream, which can pull the message from HTTP server broker and feed into the Kuiper processing pipeline.  The configuration file of HTTP pull source is at ``etc/sources/httppull.yaml``. Below is the file format.
+eKuiper provides built-in support for pulling HTTP source stream, which can pull the message from HTTP server broker and feed into the eKuiper processing pipeline.  The configuration file of HTTP pull source is at ``etc/sources/httppull.yaml``. Below is the file format.
 
 ```yaml
 #Global httppull configurations

+ 1 - 1
docs/en_US/rules/sources/mqtt.md

@@ -1,6 +1,6 @@
 # MQTT source 
 
-Kuiper provides built-in support for MQTT source stream, which can subscribe the message from MQTT broker and feed into the Kuiper processing pipeline.  The configuration file of MQTT source is at ``$kuiper/etc/mqtt_source.yaml``. Below is the file format.
+eKuiper provides built-in support for MQTT source stream, which can subscribe the message from MQTT broker and feed into the eKuiper processing pipeline.  The configuration file of MQTT source is at ``$ekuiper/etc/mqtt_source.yaml``. Below is the file format.
 
 ```yaml
 #Global MQTT configurations

+ 5 - 5
docs/en_US/rules/state_and_fault_tolerance.md

@@ -1,6 +1,6 @@
 ## State
 
-Kuiper supports stateful rule stream. There are two kinds of states in Kuiper:
+eKuiper supports stateful rule stream. There are two kinds of states in eKuiper:
 1. Internal state for window operation and rewindable source
 2. User state exposed to extensions with stream context, check [state storage](../extension/overview.md#state-storage).
 
@@ -16,13 +16,13 @@ Set the rule option qos to 1 or 2 will enable the checkpointing. Configure the c
 
 When things go wrong in a stream processing application, it is possible to have either lost, or duplicated results. For the 3 options of qos, the behavior will be:
 
-1. At-most-once(0): Kuiper makes no effort to recover from failures
+1. At-most-once(0): eKuiper makes no effort to recover from failures
 2. At-least-once(1): Nothing is lost, but you may experience duplicated results
 3. Exactly-once(2): Nothing is lost or duplicated 
 
-Given that Kuiper recovers from faults by rewinding and replaying the source data streams, when the ideal situation is described as exactly once does not mean that every event will be processed exactly once. Instead, it means that every event will affect the state being managed by Kuiper exactly once.
+Given that eKuiper recovers from faults by rewinding and replaying the source data streams, when the ideal situation is described as exactly once does not mean that every event will be processed exactly once. Instead, it means that every event will affect the state being managed by eKuiper exactly once.
 
-If you don’t need "exactly once", you can gain some performance by configuring Kuiper to use AT_LEAST_ONCE.
+If you don’t need "exactly once", you can gain some performance by configuring eKuiper to use AT_LEAST_ONCE.
 
 ### Exactly Once End to End
 
@@ -30,7 +30,7 @@ If you don’t need "exactly once", you can gain some performance by configuring
 
 To have an end to end qos of the stream, the source must be rewindable. That means after recovery, the source can be reverted to the checkpointed offset and resend data from that so that the whole stream can be replayed from the last failure.
 
-For extended source, the user must implement the api.Rewindable interface as well as the default api.Source interface. Kuiper will handle the rewind internally.
+For extended source, the user must implement the api.Rewindable interface as well as the default api.Source interface. eKuiper will handle the rewind internally.
 
 ```go
 type Rewindable interface {

+ 1 - 1
docs/en_US/sqls/built-in_functions.md

@@ -1,6 +1,6 @@
 # Functions
 
-Kuiper has many built-in functions for performing calculations on data.
+eKuiper has many built-in functions for performing calculations on data.
 
 ## Aggregate Functions
 Aggregate functions perform a calculation on a set of values and return a single value. Aggregate functions can be used as expressions only in the following:

+ 1 - 1
docs/en_US/sqls/data_types.md

@@ -1,6 +1,6 @@
 # Data types
 
-In Kuiper, each column or an expression has a related data type. A data type describes (and constrains) the set of values that a column of that type can hold or an expression of that type can produce.
+In eKuiper, each column or an expression has a related data type. A data type describes (and constrains) the set of values that a column of that type can hold or an expression of that type can produce.
 
 
 

+ 2 - 2
docs/en_US/sqls/json_expr.md

@@ -160,7 +160,7 @@ SELECT followers->Group1[:1]->first FROM demo
 
 ## Json Path functions
 
-Kuiper provides a list of functions to allow to execute json path over struct or array columns or values. The functions are:
+eKuiper provides a list of functions to allow to execute json path over struct or array columns or values. The functions are:
 
 ```sql
 json_path_exists(col, jsonpath)
@@ -170,7 +170,7 @@ json_path_query_first(col, jsonpath)
 
 Please refer to [json functions](./built-in_functions.md#json-functions) for detail.
 
-All these functions share the same parameter signatures, among which, the second parameter is a jsonpath string. The jsonpath grammer used by Kuiper is based on [JsonPath](https://goessner.net/articles/JsonPath/).
+All these functions share the same parameter signatures, among which, the second parameter is a jsonpath string. The jsonpath grammer used by eKuiper is based on [JsonPath](https://goessner.net/articles/JsonPath/).
 
 The basic grammar of those expressions is to use the keys part of the JSON objects combined with some elements:
 

+ 3 - 3
docs/en_US/sqls/lexical_elements.md

@@ -1,4 +1,4 @@
-# Kuiper lexical elements
+# eKuiper lexical elements
 
 ## Comments
 
@@ -6,7 +6,7 @@ Comment serve as documentation. Comments begin with the character sequence `/*`
 
 ## Tokens
 
-Kuiper SQL is built up from tokens. There are four classes of tokens:
+eKuiper SQL is built up from tokens. There are four classes of tokens:
 
 - *identifiers*
 - *keywords*
@@ -34,7 +34,7 @@ SELECT `a-b`, `hello world`, `中文Chinese` from demo
 SELECT, FROM, JOIN, LEFT, INNER, ON, WHERE, GROUP, ORDER, HAVING, BY, ASC, DESC, AND, OR, CASE, WHEN, THEN, ELSE, END
 ```
 
-The following is an example for using a stream named `from`, which is a reserved keyword in Kuiper.
+The following is an example for using a stream named `from`, which is a reserved keyword in eKuiper.
 
 ```sql
 SELECT * FROM demo1 where `from`="device1"

+ 1 - 1
docs/en_US/sqls/overview.md

@@ -1,4 +1,4 @@
-Kuiper offers a SQL-like query language for performing transformations and computations over streams of events. This document describes the syntax, usage and best practices for the Kuiper query language. 
+eKuiper offers a SQL-like query language for performing transformations and computations over streams of events. This document describes the syntax, usage and best practices for the eKuiper query language. 
 
 - [Stream specifications](streams.md)
 - [Query languange element](query_language_elements.md)

+ 5 - 5
docs/en_US/sqls/query_language_elements.md

@@ -1,11 +1,11 @@
 
 # Query language elements
 
-Kuiper provides a variety of elements for building queries. They are summarized below.
+eKuiper provides a variety of elements for building queries. They are summarized below.
 
 | Element               | Summary                                                      |
 | --------------------- | ------------------------------------------------------------ |
-| [SELECT](#select)     | SELECT is used to retrieve rows from input streams and enables the selection of one or many columns from one or many input streams in Kuiper. |
+| [SELECT](#select)     | SELECT is used to retrieve rows from input streams and enables the selection of one or many columns from one or many input streams in eKuiper. |
 | [FROM](#from)         | FROM specifies the input stream. The FROM clause is always required for any SELECT statement. |
 | [JOIN](#join)         | JOIN is used to combine records from two or more input streams. JOIN includes LEFT, RIGHT, FULL & CROSS. |
 | [WHERE](#where)       | WHERE specifies the search condition for the rows returned by the query. |
@@ -15,7 +15,7 @@ Kuiper provides a variety of elements for building queries. They are summarized
 
 ## SELECT
 
-Retrieves rows from input streams and enables the selection of one or many columns from one or many input streams in Kuiper.
+Retrieves rows from input streams and enables the selection of one or many columns from one or many input streams in eKuiper.
 
 ### Syntax
 
@@ -237,7 +237,7 @@ GROUP BY <group by spec>
 
 **<window_type>**
 
-Specifies any Kuiper supported Windowing, see [windows](windows.md) for more info.
+Specifies any eKuiper supported Windowing, see [windows](windows.md) for more info.
 
 **< column_expression >**
 
@@ -357,5 +357,5 @@ FROM tbl
 
 ## Use reserved keywords or special characters
 
-If you'd like to use reserved keywords or special characters in rule SQL or streams management, please refer to [Kuiper lexical elements](lexical_elements.md).
+If you'd like to use reserved keywords or special characters in rule SQL or streams management, please refer to [eKuiper lexical elements](lexical_elements.md).
 

+ 3 - 3
docs/en_US/sqls/streams.md

@@ -2,7 +2,7 @@
 
 ## Data types
 
-In Kuiper, each column or an expression has a related data type. A data type describes (and constrains) the set of values that a column of that type can hold or an expression of that type can produce.
+In eKuiper, each column or an expression has a related data type. A data type describes (and constrains) the set of values that a column of that type can hold or an expression of that type can produce.
 
 Below is the list of data types supported.
 
@@ -45,7 +45,7 @@ my_stream
 WITH ( datasource = "topic/temperature", FORMAT = "json", KEY = "id");
 ```
 
-The stream will subscribe to MQTT topic ``topic/temperature``, the server connection uses ``servers`` key of ``default`` section in configuration file ``$kuiper/etc/mqtt_source.yaml``. 
+The stream will subscribe to MQTT topic ``topic/temperature``, the server connection uses ``servers`` key of ``default`` section in configuration file ``$ekuiper/etc/mqtt_source.yaml``. 
 
 - See [MQTT source](../rules/sources/mqtt.md) for more info.
 
@@ -62,7 +62,7 @@ demo (
 	) WITH (DATASOURCE="test/", FORMAT="JSON", KEY="USERID", CONF_KEY="demo");
 ```
 
-The stream will subscribe to MQTT topic ``test/``, the server connection uses settings of ``demo`` section in configuration file ``$kuiper/etc/mqtt_source.yaml``. 
+The stream will subscribe to MQTT topic ``test/``, the server connection uses settings of ``demo`` section in configuration file ``$ekuiper/etc/mqtt_source.yaml``. 
 
 - See [MQTT source](../rules/sources/mqtt.md) for more info.
 

+ 2 - 2
docs/en_US/sqls/tables.md

@@ -1,8 +1,8 @@
 # Table specs
 
-Kuiper streams is unbounded and immutable, any new data are appended in the current stream for processing.  **Table** is provided to represent the current state of the stream. It can be considered as a snapshot of the stream. Users can use table to retain a batch of data for processing.
+eKuiper streams is unbounded and immutable, any new data are appended in the current stream for processing.  **Table** is provided to represent the current state of the stream. It can be considered as a snapshot of the stream. Users can use table to retain a batch of data for processing.
 
-Table is not allowed to use alone in Kuiper. It is only recommended to join with streams. When joining with stream, table will be updated continuously when new event coming. However, only events arriving on the stream side trigger downstream updates and produce join output.
+Table is not allowed to use alone in eKuiper. It is only recommended to join with streams. When joining with stream, table will be updated continuously when new event coming. However, only events arriving on the stream side trigger downstream updates and produce join output.
 
 ## Syntax
 

+ 2 - 2
docs/en_US/sqls/windows.md

@@ -1,8 +1,8 @@
 # Windows
 
-In time-streaming scenarios, performing operations on the data contained in temporal windows is a common pattern. Kuiper has native support for windowing functions, enabling you to author complex stream processing jobs with minimal effort.
+In time-streaming scenarios, performing operations on the data contained in temporal windows is a common pattern. eKuiper has native support for windowing functions, enabling you to author complex stream processing jobs with minimal effort.
 
-There are five kinds of windows to use: [Tumbling window](#tumbling-window), [Hopping window](#hopping-window), [Sliding window](#sliding-window), [Session window](#session-window) and [Count window](#count-window). You use the window functions in the `GROUP BY` clause of the query syntax in your Kuiper queries. 
+There are five kinds of windows to use: [Tumbling window](#tumbling-window), [Hopping window](#hopping-window), [Sliding window](#sliding-window), [Session window](#session-window) and [Count window](#count-window). You use the window functions in the `GROUP BY` clause of the query syntax in your eKuiper queries. 
 
 All the windowing operations output results at the end of the window. The output of the window will be single event based on the aggregate function used. 
 

+ 2 - 2
docs/en_US/streams.md

@@ -37,7 +37,7 @@ CREATE STREAM
 | KEY           | true     | It will be used in future for GROUP BY statements ??         |
 | TYPE     | false    | The type of source to be used. The value must be camel case. For example, if the user creates a customized source _MySource_ with _MySource.so_ inside the plugins/sources folder, set TYPE=mySource to use that extended source. By default, it would be MQTT type. |
 | StrictValidation     | false    | To control validation behavior of message field against stream schema. |
-| CONF_KEY | false | If additional configuration items are requied to be configured, then specify the config key here.<br />Kuiper currently propose yaml file format. |
+| CONF_KEY | false | If additional configuration items are requied to be configured, then specify the config key here.<br />eKuiper currently propose yaml file format. |
 
 **Introduction for StrictValidation**
 
@@ -80,7 +80,7 @@ CREATE STREAM my_stream
 
 
 
-The configuration of MQTT source is specified with yaml format, and the configuration file location is at ``$kuiper/etc/mqtt_source.yaml``.  Below is the file format.
+The configuration of MQTT source is specified with yaml format, and the configuration file location is at ``$ekuiper/etc/mqtt_source.yaml``.  Below is the file format.
 
 ```yaml
 #Global MQTT configurations

+ 2 - 2
docs/en_US/tutorial.md

@@ -2,10 +2,10 @@
 
 ## Directory structure 
 
-Below is the installation directory structure after installing Kuiper. 
+Below is the installation directory structure after installing eKuiper. 
 
 ```
-kuiper_installed_dir
+eKuiper_installed_dir
   bin
     cli
   etc

File diff suppressed because it is too large
+ 11 - 11
docs/zh_CN/README.md


+ 3 - 3
docs/zh_CN/cli/overview.md

@@ -1,8 +1,8 @@
-Kuiper CLI (命令行界面)工具提供流和规则管理。
+eKuiper CLI (命令行界面)工具提供流和规则管理。
 
-Kuiper CLI 可以作为 Kuiper 服务器的客户端。 Kuiper 服务器运行引擎执行流或规则查询,包括处理流或规则定义、管理规则状态和 io。
+eKuiper CLI 可以作为 eKuiper 服务器的客户端。 eKuiper 服务器运行引擎执行流或规则查询,包括处理流或规则定义、管理规则状态和 io。
 
-*Kuiper CLI 架构*
+*eKuiper CLI 架构*
 ![CLI Arch](./resources/arch.png)
 
 - [流](streams.md)

+ 3 - 3
docs/zh_CN/cli/plugins.md

@@ -1,8 +1,8 @@
 # 插件管理
 
-Kuiper 插件命令行工具使您可以管理插件,例如创建,显示和删除插件。 请注意,删除插件将需要重新启动kuiper 才能生效。 要更新插件,请执行以下操作:
+eKuiper 插件命令行工具使您可以管理插件,例如创建,显示和删除插件。 请注意,删除插件将需要重新启动eKuiper 才能生效。 要更新插件,请执行以下操作:
 1. 删除插件。
-2. 重新启动 Kuiper。
+2. 重新启动 eKuiper。
 3. 使用新配置创建插件。
 
 ## 创建插件
@@ -93,7 +93,7 @@ describe plugin $plugin_type $plugin_name
 ```shell
 drop plugin $plugin_type $plugin_name -s $stop 
 ```
-其中,`-s $stop` 是可选的布尔参数。 如果将其设置为 true,则 Kuiper 服务器将停止,以使删除生效。 用户将需要手动重新启动它。
+其中,`-s $stop` 是可选的布尔参数。 如果将其设置为 true,则 eKuiper 服务器将停止,以使删除生效。 用户将需要手动重新启动它。
 
 示例:
 

+ 1 - 1
docs/zh_CN/cli/rules.md

@@ -1,6 +1,6 @@
 # 规则管理
 
-Kuiper 规则命令行工具可以管理规则,例如创建、显示、删除、描述、启动、停止和重新启动规则。
+eKuiper 规则命令行工具可以管理规则,例如创建、显示、删除、描述、启动、停止和重新启动规则。
 
 ## 创建规则
 

+ 2 - 2
docs/zh_CN/cli/streams.md

@@ -1,6 +1,6 @@
 # 流管理
 
-Kuiper 流命令行工具可用于管理流,例如创建、描述、显示和删除流定义。
+eKuiper 流命令行工具可用于管理流,例如创建、描述、显示和删除流定义。
 
 ## 创建流
 
@@ -103,7 +103,7 @@ query
 kuiper > 
 ```
 
-键入 `query` 子命令后,它会提示 `kuiper>`,然后在命令提示符中键入 SQLs (有关如何使用Kuiper SQL的信息,请参阅 [Kuiper SQL 参考](../sqls/overview.md) ),然后按回车。
+键入 `query` 子命令后,它会提示 `kuiper>`,然后在命令提示符中键入 SQLs (有关如何使用eKuiper SQL的信息,请参阅 [eKuiper SQL 参考](../sqls/overview.md) ),然后按回车。
 
 结果将在控制台中打印。
 

+ 1 - 1
docs/zh_CN/cross-compile.md

@@ -1,6 +1,6 @@
 ## 交叉编译二进制文件
 
-**注:Kuiper 插件基于 Golang 的方式实现,由于 Golang 本身的限制,使用了交叉编译的方式必须将编译参数 ``CGO_ENABLED`` 设置为0,而在该模式下,<u>插件将不可工作</u>。所以如果使用了 Kuiper 的插件的话,<u>不能以交叉编译的方式来生成二进制包。</u>**
+**注:eKuiper 插件基于 Golang 的方式实现,由于 Golang 本身的限制,使用了交叉编译的方式必须将编译参数 ``CGO_ENABLED`` 设置为0,而在该模式下,<u>插件将不可工作</u>。所以如果使用了 eKuiper 的插件的话,<u>不能以交叉编译的方式来生成二进制包。</u>**
 
 - 准备
   - docker version >= 19.03

+ 4 - 4
docs/zh_CN/edgex/edgex_meta.md

@@ -1,6 +1,6 @@
 # 如何使用 meta 函数抽取在 EdgeX 消息总线中发送的其它信息?
 
-当数据被发布到 EdgeX 消息总线的时候,除了真正的设备发出的值之外,还包含了一些额外的值,例如事件创建的时间,修改时间。有时在数据分析的时候需要这些值,本文描述如何使用 Kuiper 提供的函数来实现这个功能。
+当数据被发布到 EdgeX 消息总线的时候,除了真正的设备发出的值之外,还包含了一些额外的值,例如事件创建的时间,修改时间。有时在数据分析的时候需要这些值,本文描述如何使用 eKuiper 提供的函数来实现这个功能。
 
 ## EdgeX 消息总线上收到的消息模型
 
@@ -30,9 +30,9 @@
       - ...
     - reading [n] ...
 
-## Kuiper 中的 EdgeX 数据模型
+## eKuiper 中的 EdgeX 数据模型
 
-那么在 Kuiper 中, EdgeX 数据是如何被管理的?让我们来看个例子。
+那么在 eKuiper 中, EdgeX 数据是如何被管理的?让我们来看个例子。
 
 如下所示,首先用户创建了一个名为 ``events`` 的 EdgeX 流定义(以黄色高亮标示)。
 
@@ -42,7 +42,7 @@
 
 - Device name 为 ``demo``,以绿色高亮标示
 - Reading 名称为 ``temperature`` & ``Humidity`` ,用红色高亮标示
-- 这里有些 ``元数据`` 是没有必要「可见」的,但是这些值在分析的时候可能会被用到,例如``Event`` 结构体中的 ``Created`` 字段。Kuiper 将这些值保存在 Kuiper 消息中的名为 metadata 的字段中,用户在分析阶段可以获取到这些值。
+- 这里有些 ``元数据`` 是没有必要「可见」的,但是这些值在分析的时候可能会被用到,例如``Event`` 结构体中的 ``Created`` 字段。eKuiper 将这些值保存在 eKuiper 消息中的名为 metadata 的字段中,用户在分析阶段可以获取到这些值。
 
 <img src="bus_data.png" style="zoom:50%;" />
 

+ 15 - 15
docs/zh_CN/edgex/edgex_rule_engine_command.md

@@ -1,8 +1,8 @@
-# 使用 EdgeX Kuiper 规则引擎控制设备
+# 使用 eKuiper 规则引擎控制设备
 
 ## 概述
 
-该文章描述了如何在 EdgeX 中使用 Kuiper 规则引擎,根据分析结果来实现对设备的控制。为了便于理解,该文章使用 [device-virtual](https://github.com/edgexfoundry/device-virtual-go)示例,它对device-virtual服务发送的数据进行分析,然后根据由Kuiper规则引擎生成的分析结果来控制设备 。
+该文章描述了如何在 EdgeX 中使用 eKuiper 规则引擎,根据分析结果来实现对设备的控制。为了便于理解,该文章使用 [device-virtual](https://github.com/edgexfoundry/device-virtual-go)示例,它对device-virtual服务发送的数据进行分析,然后根据由Kuiper规则引擎生成的分析结果来控制设备 。
 
 ### 场景
 
@@ -11,27 +11,27 @@
 1. 监视`Random-UnsignedInteger-Device`设备的规则,如果`uint8`值大于 `20`,则向`Random-Boolean-Device`设备发送命令,并开启布尔值的随机生成 。
 2. 监视`Random-Integer-Device`设备的规则,如果每20秒 `int8`的平均值大于0,则向`Random-Boolean-Device` 设备服务发送命令以关闭 布尔值的随机生成。
 
-该场景不含任何真实的业务逻辑,而只是为了演示EdgeX Kuiper规则引擎的功能。 您可以根据我们的演示制定合理的业务规则。
+该场景不含任何真实的业务逻辑,而只是为了演示eKuiper规则引擎的功能。 您可以根据我们的演示制定合理的业务规则。
 
 ## 预备知识
 
-本文档将不涉及EdgeX和EMQ X Kuiper的基本操作,因此读者应具有以下基本知识:
+本文档将不涉及EdgeX和eKuiper的基本操作,因此读者应具有以下基本知识:
 
 - 请通过[此链接](https://docs.edgexfoundry.org/1.2/) 以了解EdgeX的基础知识,最好完成[快速入门](https://docs.edgexfoundry.org/1.2/getting-started/quick-start/)。
-- 请阅读[EdgeX Kuiper规则引擎入门教程](https://github.com/emqx/kuiper/blob/master/docs/en_US/edgex/edgex_rule_engine_tutorial.md):您最好阅读此入门教程,并开始在EdgeX中试用规则引擎。
-- [Go模板](https://golang.org/pkg/text/template/):EMQ X Kuiper使用Go模板从分析结果中提取数据。 了解Go模板可以帮助您从分析结果中提取所需的数据。
+- 请阅读[EdgeX eKuiper规则引擎入门教程](https://github.com/lf-edge/ekuiper/blob/master/docs/en_US/edgex/edgex_rule_engine_tutorial.md):您最好阅读此入门教程,并开始在EdgeX中试用规则引擎。
+- [Go模板](https://golang.org/pkg/text/template/):eKuiper使用Go模板从分析结果中提取数据。 了解Go模板可以帮助您从分析结果中提取所需的数据。
 
 ## 开始使用
 
-请务必遵循文档 [EdgeX Kuiper规则引擎入门教程](https://github.com/emqx/kuiper/blob/master/docs/en_US/edgex/edgex_rule_engine_tutorial.md),确保教程能够成功运行。
+请务必遵循文档 [EdgeX eKuiper规则引擎入门教程](https://github.com/lf-edge/ekuiper/blob/master/docs/en_US/edgex/edgex_rule_engine_tutorial.md),确保教程能够成功运行。
 
 ### 创建EdgeX流
 
-在创建规则之前,应创建一个流,该流可以使用来自EdgeX应用程序服务的流数据。 如果您已经完成 [EdgeX Kuiper规则引擎入门教程](https://github.com/emqx/kuiper/blob/master/docs/en_US/edgex/edgex_rule_engine_tutorial.md),则不需要此步骤。
+在创建规则之前,应创建一个流,该流可以使用来自EdgeX应用程序服务的流数据。 如果您已经完成 [EdgeX eKuiper规则引擎入门教程](https://github.com/lf-edge/ekuiper/blob/master/docs/en_US/edgex/edgex_rule_engine_tutorial.md),则不需要此步骤。
 
 ```shell
 curl -X POST \
-  http://$kuiper_docker:48075/streams \
+  http://$ekuiper_docker:48075/streams \
   -H 'Content-Type: application/json' \
   -d '{
   "sql": "create stream demo() WITH (FORMAT=\"JSON\", TYPE=\"edgex\")"
@@ -117,7 +117,7 @@ curl -X PUT \
 
 ```shell
 curl -X POST \
-  http://$kuiper_server:48075/rules \
+  http://$eKuiper_server:48075/rules \
   -H 'Content-Type: application/json' \
   -d '{
   "id": "rule1",
@@ -147,7 +147,7 @@ curl -X POST \
 
 ```shell
 curl -X POST \
-  http://$kuiper_server:48075/rules \
+  http://$eKuiper_server:48075/rules \
   -H 'Content-Type: application/json' \
   -d '{
   "id": "rule2",
@@ -198,7 +198,7 @@ curl -X PUT \
   -d '{"value":-75, "EnableRandomization_Bool": "true"}'
 ```
 
-Kuiper使用[Go模板](https://golang.org/pkg/text/template/) 从分析结果中提取数据,并且`dataTemplate` 内容如下:
+eKuiper使用[Go模板](https://golang.org/pkg/text/template/) 从分析结果中提取数据,并且`dataTemplate` 内容如下:
 
 ```
 "dataTemplate": "{\"value\": {{.int8}}, \"EnableRandomization_Bool\": \"{{.randomization}}\"}"
@@ -208,8 +208,8 @@ Kuiper使用[Go模板](https://golang.org/pkg/text/template/) 从分析结果中
 
 ## 补充阅读材料
 
-如果您想了解EMQ X Kuiper的更多特性,请阅读下面的参考资料:
+如果您想了解LF Edge eKuiper的更多特性,请阅读下面的参考资料:
 
-- [Kuiper Github 代码库](https://github.com/emqx/kuiper/)
-- [Kuiper 参考指南](https://github.com/emqx/kuiper/blob/edgex/docs/en_US/reference.md)
+- [eKuiper Github 代码库](https://github.com/lf-edge/ekuiper/)
+- [eKuiper 参考指南](https://github.com/lf-edge/ekuiper/blob/edgex/docs/en_US/reference.md)
 

File diff suppressed because it is too large
+ 28 - 28
docs/zh_CN/edgex/edgex_rule_engine_tutorial.md


+ 13 - 13
docs/zh_CN/extension/external_func.md

@@ -1,11 +1,11 @@
 # 外部函数
 
-外部函数通过配置的方式,将已有的服务映射成 Kuiper SQL 函数。运行使用外部函数的规则时,Kuiper 将根据配置,对数据输入输出进行转换,并调用对应的服务。
+外部函数通过配置的方式,将已有的服务映射成 eKuiper SQL 函数。运行使用外部函数的规则时,eKuiper 将根据配置,对数据输入输出进行转换,并调用对应的服务。
 
 ## 配置
 
 外部函数的配置文件为 json 格式。通常包括两个部分:
-- json 文件,用于描述服务的信息。文件将保存为 Kuiper 中服务的名字。
+- json 文件,用于描述服务的信息。文件将保存为 eKuiper 中服务的名字。
 - schema 文件,用于描述服务 API 接口。包括服务包含的 API 名字,输入输出参数类型等。目前仅支持 [protobuf 类型](https://developers.google.com/protocol-buffers) 。
 
 json 配置文件包括以下两个部分:
@@ -33,8 +33,8 @@ json 配置文件包括以下两个部分:
       "website": "https://www.emqx.io"
     },
     "helpUrl": {
-      "en_US": "https://github.com/emqx/kuiper/blob/master/docs/en_US/plugins/functions/functions.md",
-      "zh_CN": "https://github.com/emqx/kuiper/blob/master/docs/zh_CN/plugins/functions/functions.md"
+      "en_US": "https://github.com/lf-edge/ekuiper/blob/master/docs/en_US/plugins/functions/functions.md",
+      "zh_CN": "https://github.com/lf-edge/ekuiper/blob/master/docs/zh_CN/plugins/functions/functions.md"
     },
     "description": {
       "en_US": "Sample external services for test only",
@@ -97,7 +97,7 @@ json 配置文件包括以下两个部分:
 syntax = "proto3";
 package ts;
 
-service TSRest { // proto service 名字与 Kuiper 外部服务名字无关
+service TSRest { // proto service 名字与 eKuiper 外部服务名字无关
   rpc object_detection(ObjectDetectionRequest) returns(ObjectDetectionResponse) {}
 }
 
@@ -183,17 +183,17 @@ package yourpackage;
 import "google/api/annotations.proto";
 ```
 
-因此,google api proto 文件必须在导入路径上。Kuiper 默认  `etc/services/schemas/google` 搭载了依赖的 proto 文件。用户无需在自定义服务里打包此依赖。
+因此,google api proto 文件必须在导入路径上。eKuiper 默认  `etc/services/schemas/google` 搭载了依赖的 proto 文件。用户无需在自定义服务里打包此依赖。
 
 ### 映射
 
 外部服务配置需要1个 json 文件和至少一个 schema(.proto) 文件。配置定义了服务映射的3个层次。
 
-1. Kuiper 外部服务层: 外部服务名通过 json 文件名定义。这个名字将作为 [REST API](../restapi/services.md) 中描述,删除和更新整体外部服务的键。
+1. eKuiper 外部服务层: 外部服务名通过 json 文件名定义。这个名字将作为 [REST API](../restapi/services.md) 中描述,删除和更新整体外部服务的键。
 2. 接口层: 定义于 json 文件的 `interfaces` 部分。该层为用户不可见的虚拟层,主要用于将一组服务聚合,以便可以只定义一次一组函数共有的属性,例如 schema,访问地址等。 
-3. Kuiper 函数层: 函数定义于 proto 文件中的`rpc`。需要注意的是,proto 文件中的 `rpc` 必须定义在 proto 文件中的 `service` 之下。此 `sevice` 与 Kuiper 中的外部服务概念不同,且没有关联,其取名没有任何限制。默认情况下,外部函数的名字与 rpc 名字相同。用户可通过修改 json 文件中,interface 下的 functions 部分来覆盖函数名的映射关系。 
+3. eKuiper 函数层: 函数定义于 proto 文件中的`rpc`。需要注意的是,proto 文件中的 `rpc` 必须定义在 proto 文件中的 `service` 之下。此 `sevice` 与 eKuiper 中的外部服务概念不同,且没有关联,其取名没有任何限制。默认情况下,外部函数的名字与 rpc 名字相同。用户可通过修改 json 文件中,interface 下的 functions 部分来覆盖函数名的映射关系。 
 
-在这个样例中,如果用户在 Kuiper SQL 中调用 `objectDetection` 函数,则其映射过程如下:
+在这个样例中,如果用户在 eKuiper SQL 中调用 `objectDetection` 函数,则其映射过程如下:
 
 1. 在 json 文件的 *tsrest* interface 中,找到函数映射:`{"name": "objectDetect","serviceName": "object_detection"}`。 该配置将 SQL 函数 `objectDetect` 映射为名为`object_detection` 的 rpc。
 2. 在 `tsrest.proto` 文件中,找到 rpc `object_detection` 定义。再根据 json 文件中的 `tsrest` interface 配置属性,例如地址,协议等在运行时进行参数解析和服务调用。
@@ -217,7 +217,7 @@ msgpack-rpc 服务有以下限制:
 - 放置在配置文件夹
 - 通过 REST API 动态注册。
 
-Kuiper 启动时,会读取配置文件夹 *etc/services* 里的外部服务配置文件并注册。用户可在启动之前,将配置文件遵循如下规则放入配置文件夹:
+eKuiper 启动时,会读取配置文件夹 *etc/services* 里的外部服务配置文件并注册。用户可在启动之前,将配置文件遵循如下规则放入配置文件夹:
 1. 文件名必须为 *$服务名$.json*。例如,*sample.json* 会注册为 sample 服务。
 2. 使用的 Schema 文件必须放入 schema 文件夹。其目录结构类似为:
    ```
@@ -231,7 +231,7 @@ Kuiper 启动时,会读取配置文件夹 *etc/services* 里的外部服务配
        other.json
        ...
    ```
-注意:Kuiper 启动之后,修改配置文件**不能**自动载入系统。需要动态更新时,请使用 REST 服务。
+注意:eKuiper 启动之后,修改配置文件**不能**自动载入系统。需要动态更新时,请使用 REST 服务。
 
 服务的动态注册和管理,请参考[外部服务管理 API](../restapi/services.md)。
 
@@ -247,7 +247,7 @@ SELECT objectDetection(cmd, img) from comandStream
 
 ### 参数展开
 
-ptoto 文件中,一般参数为 message 类型。映射到 Kuiper 中,其参数可接收两种情况:
+ptoto 文件中,一般参数为 message 类型。映射到 eKuiper 中,其参数可接收两种情况:
 
 1. 参数不展开,传入的必须为 struct 类型
 2. 参数展开,按照 message 中定义的顺序,传入多个参数
@@ -260,4 +260,4 @@ message ObjectDetectionRequest {
 }
 ```
 
-在 Kuiper 中,用户可传入整个 struct 作为参数,也可以传入两个 string 参数,分别作为 cmd 和 base64_img。
+在 eKuiper 中,用户可传入整个 struct 作为参数,也可以传入两个 string 参数,分别作为 cmd 和 base64_img。

+ 7 - 7
docs/zh_CN/extension/function.md

@@ -1,16 +1,16 @@
 # 函数扩展
 
-在 Kuiper SQL 语法中,向服务器提供了[许多内置函数](../sqls/built-in_functions.md),用于各种可重用的业务逻辑。 但是,用户仍然可能需要其他未被内置插件覆盖的可重用的业务逻辑。 提供函数扩展是为了自定义函数。
+在 eKuiper SQL 语法中,向服务器提供了[许多内置函数](../sqls/built-in_functions.md),用于各种可重用的业务逻辑。 但是,用户仍然可能需要其他未被内置插件覆盖的可重用的业务逻辑。 提供函数扩展是为了自定义函数。
 
 ## 开发
 
 ### 开发一个定制函数
 
-为 Kuiper 开发函数的过程,就是实现 [api.Function](https://github.com/emqx/kuiper/blob/master/xstream/api/stream.go) 接口并将其导出为 golang 插件。
+为 eKuiper 开发函数的过程,就是实现 [api.Function](https://github.com/lf-edge/ekuiper/blob/master/xstream/api/stream.go) 接口并将其导出为 golang 插件。
 
 在开始开发之前,您必须为 [golang 插件设置环境](overview.md#setup-the-plugin-developing-environment)。
 
-为了开发函数,首先要实现 _Validate_ 方法。 在 SQL 验证期间将调用此方法。 在此方法中,将传递 [xsql.Expr](https://github.com/emqx/kuiper/blob/master/xsql/ast.go) 的切片作为参数,该参数包含运行时该函数的参数。 开发人员可以对其进行验证,以检查参数计数和类型等。如果验证成功,则返回 nil。 否则,返回一个错误对象。
+为了开发函数,首先要实现 _Validate_ 方法。 在 SQL 验证期间将调用此方法。 在此方法中,将传递 [xsql.Expr](https://github.com/lf-edge/ekuiper/blob/master/xsql/ast.go) 的切片作为参数,该参数包含运行时该函数的参数。 开发人员可以对其进行验证,以检查参数计数和类型等。如果验证成功,则返回 nil。 否则,返回一个错误对象。
 
 ```go
 //The argument is a list of xsql.Expr
@@ -36,11 +36,11 @@ Exec(args []interface{}) (interface{}, bool)
 var MyFunction myFunction
 ```
 
-[Echo Function](https://github.com/emqx/kuiper/blob/master/plugins/functions/echo/echo.go) 是一个很好的示例。
+[Echo Function](https://github.com/lf-edge/ekuiper/blob/master/plugins/functions/echo/echo.go) 是一个很好的示例。
 
 ### 导出多个函数
 
-开发者可在一个函数插件中导出多个函数。每个函数均需实现 [api.Function](https://github.com/emqx/kuiper/blob/master/xstream/api/stream.go) 接口,正如 [开发一个定制函数](#develop-a-customized-function) 所描述的那样。需要确保所有函数都导出了,如下所示:
+开发者可在一个函数插件中导出多个函数。每个函数均需实现 [api.Function](https://github.com/lf-edge/ekuiper/blob/master/xstream/api/stream.go) 接口,正如 [开发一个定制函数](#develop-a-customized-function) 所描述的那样。需要确保所有函数都导出了,如下所示:
 
 ```go
 var(
@@ -61,9 +61,9 @@ go build -trimpath -modfile extensions.mod --buildmode=plugin -o plugins/functio
 
 ### 注册多个函数
 
-Kuiper 启动时会自动载入插件目录里已编译好的插件。自动载入的函数插件假设插件里仅导出一个同名的函数。如果插件导出多个函数,则需要显示运行一次注册操作。有两种方法可以注册函数:
+eKuiper 启动时会自动载入插件目录里已编译好的插件。自动载入的函数插件假设插件里仅导出一个同名的函数。如果插件导出多个函数,则需要显示运行一次注册操作。有两种方法可以注册函数:
 
-1. 在开发环境中,建议直接构建插件 .so 文件到插件目录中以便 kuiper 自动载入。构建完成后,运行 [CLI 注册函数命令](../cli/plugins.md#register-functions) or [REST 注册函数 API](../restapi/plugins.md#register-functions) 进行注册。
+1. 在开发环境中,建议直接构建插件 .so 文件到插件目录中以便 eKuiper 自动载入。构建完成后,运行 [CLI 注册函数命令](../cli/plugins.md#register-functions) or [REST 注册函数 API](../restapi/plugins.md#register-functions) 进行注册。
 2. 在生产环境中,[打包插件到 zip 压缩包](../plugins/plugins_tutorial.md#plugin-deployment-1),然后运行 [CLI 创建函数插件命令](../cli/plugins.md#create-a-plugin) 或者 [REST 创建函数 API](../restapi/plugins.md#create-a-plugin) 并设置 functions 参数以指定导出函数名。
 
 ### 使用

+ 10 - 10
docs/zh_CN/extension/overview.md

@@ -1,6 +1,6 @@
 # 扩展
 
-Kuiper 允许用户自定义扩展,以支持更多的功能。用户可编写插件进行扩展;也可以通过配置的方式,扩展 SQL 中的函数,用于调用外部已有的 REST 或 RPC 服务。
+eKuiper 允许用户自定义扩展,以支持更多的功能。用户可编写插件进行扩展;也可以通过配置的方式,扩展 SQL 中的函数,用于调用外部已有的 REST 或 RPC 服务。
 
 使用插件扩展较为复杂,需要用户编写代码并自行编译,具有一定的开发成本。其使用的场景包括:
 
@@ -14,11 +14,11 @@ Kuiper 允许用户自定义扩展,以支持更多的功能。用户可编写
 
 ## 插件扩展
 
-Kuiper 允许用户自定义不同类型的扩展。 
+eKuiper 允许用户自定义不同类型的扩展。 
 
-- 源扩展用于扩展不同的流源,例如使用来自其他消息服务器的数据。Kuiper 对 [MQTT 消息服务器](../rules/sources/mqtt.md)的内置源提供支持。
-- Sink/Action 扩展用于将发布/推送数据扩展到不同的目标,例如数据库,其他消息系统,Web 界面或文件系统。Kuiper 中提供内置动作支持,请参阅  [MQTT](../rules/sinks/mqtt.md)  & [日志文件](../rules/sinks/logs.md).。
-- 函数扩展允许用户扩展 SQL 中使用的不同函数。 Kuiper支持内置函数,请参见 [函数](../sqls/built-in_functions.md)。
+- 源扩展用于扩展不同的流源,例如使用来自其他消息服务器的数据。eKuiper 对 [MQTT 消息服务器](../rules/sources/mqtt.md)的内置源提供支持。
+- Sink/Action 扩展用于将发布/推送数据扩展到不同的目标,例如数据库,其他消息系统,Web 界面或文件系统。eKuiper 中提供内置动作支持,请参阅  [MQTT](../rules/sinks/mqtt.md)  & [日志文件](../rules/sinks/logs.md).。
+- 函数扩展允许用户扩展 SQL 中使用的不同函数。 eKuiper支持内置函数,请参见 [函数](../sqls/built-in_functions.md)。
 
 请阅读以下内容,了解如何实现不同的扩展。
 
@@ -34,7 +34,7 @@ Kuiper 允许用户自定义不同类型的扩展。
 
 ## 状态存储
 
-Kuiper 扩展通过 context 参数暴露了一个基于键值对的状态存储接口,可用于所有类型的扩展,包括 Source,Sink 和 Function 扩展.
+eKuiper 扩展通过 context 参数暴露了一个基于键值对的状态存储接口,可用于所有类型的扩展,包括 Source,Sink 和 Function 扩展.
 
 状态为键值对,其中键为 string 类型而值为任意数据。键的作用域仅为当前扩展的实例。
 
@@ -59,9 +59,9 @@ func (f *accumulateWordCountFunc) Exec(args []interface{}, ctx api.FunctionConte
 
 ### 运行时依赖
 
-有些插件可能需要访问文件系统中的依赖文件。依赖文件建放置于 {{kuiperPath}}/etc/{{pluginType}}/{{pluginName}} 目录。打包插件时,依赖文件应放置于 [etc 目录](../restapi/plugins.md#plugin-file-format)。安装后,这些文件会自动移动到推荐的位置。
+有些插件可能需要访问文件系统中的依赖文件。依赖文件建放置于 {{ekuiperPath}}/etc/{{pluginType}}/{{pluginName}} 目录。打包插件时,依赖文件应放置于 [etc 目录](../restapi/plugins.md#plugin-file-format)。安装后,这些文件会自动移动到推荐的位置。
 
-在插件源代码中,开发者可通过 context 获取 Kuiper 根目录,以访问文件系统中的依赖:
+在插件源代码中,开发者可通过 context 获取 eKuiper 根目录,以访问文件系统中的依赖:
 
 ```go
 ctx.GetRootPath()
@@ -69,8 +69,8 @@ ctx.GetRootPath()
 
 ## 外部函数扩展
 
-提供一种配置的方式,使得 Kuiper 可以使用 SQL 以函数的方式直接调用外部服务,包括各种 rpc 服务, http 服务等。该方式将可大提高 Kuiper 扩展的易用性。外部函数将作为插件系统的补充,仅在性能要求较高的情况下才建议使用插件。
+提供一种配置的方式,使得 eKuiper 可以使用 SQL 以函数的方式直接调用外部服务,包括各种 rpc 服务, http 服务等。该方式将可大提高 eKuiper 扩展的易用性。外部函数将作为插件系统的补充,仅在性能要求较高的情况下才建议使用插件。
 
-以 getFeature 函数为例,假设有 AI 服务基于 grpc 提供getFeature 服务。则可在Kuiper配置之后,使用 `SELECT getFeature(self) from demo` 的方式,无需定制插件而调用该 AI 服务。
+以 getFeature 函数为例,假设有 AI 服务基于 grpc 提供getFeature 服务。则可在 eKuiper 配置之后,使用 `SELECT getFeature(self) from demo` 的方式,无需定制插件而调用该 AI 服务。
 
 详细配置方法,请参考[外部函数](external_func.md)。

+ 4 - 4
docs/zh_CN/extension/sink.md

@@ -1,12 +1,12 @@
 # Sink (目标) 扩展
 
-Kuiper 可以将数据接收到外部系统。 Kuiper具有对  [MQTT 消息服务器](../rules/sinks/mqtt.md) 和 [日志目标](../rules/sinks/logs.md)的内置接收器支持。然而, 仍然需要将数据发布到各种外部系统,包括消息传递系统和数据库等。Sink (目标)扩展正是为了满足这一要求。
+eKuiper 可以将数据接收到外部系统。 eKuiper具有对  [MQTT 消息服务器](../rules/sinks/mqtt.md) 和 [日志目标](../rules/sinks/logs.md)的内置接收器支持。然而, 仍然需要将数据发布到各种外部系统,包括消息传递系统和数据库等。Sink (目标)扩展正是为了满足这一要求。
 
 ## 开发
 
 ### 开发 Sink (目标)
 
-为 Kuiper 开发 Sink (目标),是实现 [api.Sink](https://github.com/emqx/kuiper/blob/master/xstream/api/stream.go) 接口并将其导出为 golang 插件。
+为 eKuiper 开发 Sink (目标),是实现 [api.Sink](https://github.com/lf-edge/ekuiper/blob/master/xstream/api/stream.go) 接口并将其导出为 golang 插件。
 
 在开始开发之前,您必须为 [golang 插件设置环境](overview.md#setup-the-plugin-developing-environment)。
 
@@ -23,7 +23,7 @@ Configure(props map[string]interface{}) error
 Open(ctx StreamContext) error
 ```
 
-Sink (目标)的主要任务是实现 _collect_ 方法。 当 Kuiper 将任何数据输入 Sink (目标)时,将调用该函数。 作为无限流,此函数将被连续调用。 此功能的任务是将数据发布到外部系统。 第一个参数是上下文,第二个参数是从 Kuiper 接收的数据。
+Sink (目标)的主要任务是实现 _collect_ 方法。 当 eKuiper 将任何数据输入 Sink (目标)时,将调用该函数。 作为无限流,此函数将被连续调用。 此功能的任务是将数据发布到外部系统。 第一个参数是上下文,第二个参数是从 eKuiper 接收的数据。
 
 ```go
 //Called when each row of data has transferred to this sink
@@ -44,7 +44,7 @@ func MySink() api.Sink {
 }
 ```
 
-[Memory Sink](https://github.com/emqx/kuiper/blob/master/plugins/sinks/memory/memory.go) 是一个很好的示例。
+[Memory Sink](https://github.com/lf-edge/ekuiper/blob/master/plugins/sinks/memory/memory.go) 是一个很好的示例。
 
 ### 将 Sink (目标)打包
 将实现的 Sink (目标)构建为 go 插件,并确保输出的 so 文件位于 plugins/sinks 文件夹中。

+ 5 - 5
docs/zh_CN/extension/source.md

@@ -1,12 +1,12 @@
 # 源( Source )扩展 
 
-源将数据从其他系统反馈到 Kuiper。Kuiper 支持  [MQTT 消息服务器](../rules/sources/mqtt.md)的内置源。 然而,用户仍然需要从各种外部系统(包括消息传递系统和数据管道等)中获取数据。源扩展正是为了满足此要求。
+源将数据从其他系统反馈到 eKuiper。eKuiper 支持  [MQTT 消息服务器](../rules/sources/mqtt.md)的内置源。 然而,用户仍然需要从各种外部系统(包括消息传递系统和数据管道等)中获取数据。源扩展正是为了满足此要求。
 
 ## 开发
 
 ### 开发一个源
 
-为 Kuiper 开发源的 是实现 [api.Source](https://github.com/emqx/kuiper/blob/master/xstream/api/stream.go) 接口并将其导出为 golang 插件。
+为 eKuiper 开发源的 是实现 [api.Source](https://github.com/lf-edge/ekuiper/blob/master/xstream/api/stream.go) 接口并将其导出为 golang 插件。
 
 在开始开发之前,您必须为 [golang 插件设置环境](overview.md#setup-the-plugin-developing-environment)。
 
@@ -38,13 +38,13 @@ function MySource() api.Source{
 }
 ```
 
-[Randome Source](https://github.com/emqx/kuiper/blob/master/plugins/sources/random/random.go)  是一个很好的示例。
+[Randome Source](https://github.com/lf-edge/ekuiper/blob/master/plugins/sources/random/random.go)  是一个很好的示例。
 
 ### 处理配置
 
-Kuiper 配置的格式为 yaml,它提供了一个集中位置  _/etc_  来保存所有配置。 在其中,为源配置提供了一个子文件夹  _sources_,同时也适用于扩展源。
+eKuiper 配置的格式为 yaml,它提供了一个集中位置  _/etc_  来保存所有配置。 在其中,为源配置提供了一个子文件夹  _sources_,同时也适用于扩展源。
 
-Kuiper 扩展支持配置系统自动读取 yaml 文件中的配置,并将其输入到源的 _Configure_ 方法中。 如果在流中指定了 [CONF_KEY](../sqls/streams.md#create-stream)  属性,则将输入该键的配置。 否则,将使用默认配置。
+eKuiper 扩展支持配置系统自动读取 yaml 文件中的配置,并将其输入到源的 _Configure_ 方法中。 如果在流中指定了 [CONF_KEY](../sqls/streams.md#create-stream)  属性,则将输入该键的配置。 否则,将使用默认配置。
 
 要在源中使用配置,必须遵循以下约定:
  1. 您的配置文件名称必须与插件名字相同,例如,mySource.yaml。

+ 15 - 15
docs/zh_CN/getting_started.md

@@ -2,11 +2,11 @@
 
 ## 下载和安装
 
-通过 <https://github.com/emqx/kuiper/releases> 或 <https://www.emqx.cn/downloads#kuiper> 获取安装包.
+通过 <https://github.com/lf-edge/ekuiper/releases> 或 <https://www.emqx.cn/downloads#kuiper> 获取安装包.
 
 ### zip、tar.gz 压缩包
 
-解压缩 kuiper
+解压缩 eKuiper
 
 ```sh
 $ unzip kuiper-$VERISON-$OS-$ARCH.zip
@@ -14,17 +14,17 @@ or
 $ tar -xzf kuiper-$VERISON-$OS-$ARCH.zip
 ```
 
-运行 ``bin/kuiperd`` 以启动 kuiper 服务器
+运行 ``bin/kuiperd`` 以启动 eKuiper 服务器
 
 ```sh
 $ bin/kuiperd
 ```
  您应该会看到一条成功的消息:`Serving Rule server on port 20498`
 
-kuiper 的目录结构如下:
+eKuiper 的目录结构如下:
 
 ```
-kuiper_installed_dir
+eKuiper_installed_dir
   bin
     kuiperd
     kuiper
@@ -42,7 +42,7 @@ kuiper_installed_dir
 
 #### deb、rpm 安装包
 
-使用相关命令安装 kuiper
+使用相关命令安装 eKuiper
 
 ```sh
 $ sudo dpkg -i kuiper_$VERSION_$ARCH.deb
@@ -50,7 +50,7 @@ or
 $ sudo rpm -ivh kuiper-$VERSION-1.el7.rpm
 ```
 
-运行 `kuiperd` 以启动 kuiper 服务器
+运行 `kuiperd` 以启动 eKuiper 服务器
 
 ```sh
 $ sudo kuiperd
@@ -63,7 +63,7 @@ $ sudo kuiperd
  $ sudo systemctl start kuiper
  ```
 
-kuiper 的目录结构如下:
+eKuiper 的目录结构如下:
 
 ```
 /usr/lib/kuiper/bin
@@ -82,15 +82,15 @@ kuiper 的目录结构如下:
 
 ## 运行的第一个规则流
 
-Kuiper 规则由一个 SQL 和多个操作组成。 Kuiper SQL 是一种易于使用的类 SQL 语言,用于确定规则流的逻辑。 通过命令行提供规则,规则流将在规则引擎中创建并连续运行。用户之后可以通过命令行管理规则。
+eKuiper 规则由一个 SQL 和多个操作组成。 eKuiper SQL 是一种易于使用的类 SQL 语言,用于确定规则流的逻辑。 通过命令行提供规则,规则流将在规则引擎中创建并连续运行。用户之后可以通过命令行管理规则。
 
-Kuiper 具有许多用于复杂分析的内置函数和扩展,您可以访问 [Kuiper SQL 参考](sqls/overview.md)获取有关语法和其功能的更多信息。
+eKuiper 具有许多用于复杂分析的内置函数和扩展,您可以访问 [eKuiper SQL 参考](sqls/overview.md)获取有关语法和其功能的更多信息。
 
-让我们考虑一个示例场景:我们正在通过 MQTT 服务从传感器接收温度和湿度记录,并且当温度在一个时间窗口中大于30摄氏度时,我们希望发出警报。 我们可以使用以下几个步骤为上述场景编写 Kuiper 规则。
+让我们考虑一个示例场景:我们正在通过 MQTT 服务从传感器接收温度和湿度记录,并且当温度在一个时间窗口中大于30摄氏度时,我们希望发出警报。 我们可以使用以下几个步骤为上述场景编写 eKuiper 规则。
 
 ### 先决条件
 
-我们假设已经有一个 MQTT 消息服务器作为 Kuiper 服务器的数据源。 如果您没有,建议使用 EMQ X。 请按照 [EMQ Broker 安装指南](https://docs.emqx.cn/cn/broker/latest/getting-started/install.html)设置 MQTT 消息服务器。
+我们假设已经有一个 MQTT 消息服务器作为 eKuiper 服务器的数据源。 如果您没有,建议使用 EMQ X。 请按照 [EMQ Broker 安装指南](https://docs.emqx.cn/cn/broker/latest/getting-started/install.html)设置 MQTT 消息服务器。
 
 ### 定义输入流
 
@@ -196,9 +196,9 @@ $ bin/kuiper stop rule ruleDemo
 ```
 
 
-请参考以下主题,以获取有关使用 Kuiper 的指导。
+请参考以下主题,以获取有关使用 eKuiper 的指导。
 - [命令行界面工具 CLI](./cli/overview.md)
-- [Kuiper SQL 参考](./sqls/overview.md)
+- [eKuiper SQL 参考](./sqls/overview.md)
 - [规则](./rules/overview.md)
-- [扩展 Kuiper](./extension/overview.md)
+- [扩展 eKuiper](./extension/overview.md)
 - [插件](./plugins/overview.md)

File diff suppressed because it is too large
+ 17 - 17
docs/zh_CN/manager-ui/overview.md


+ 6 - 6
docs/zh_CN/manager-ui/plugins_in_manager.md

@@ -2,7 +2,7 @@
 
 ## 概览
 
-Kuiper 提供了插件的扩展机制,用户可以基于扩展接口来实现自定义的插件。在管理控制台上,用户可以直接通过界面进行插件的安装。如果读者有自定义的插件,也想出现在管理控制台的安装列表中,该文章可以给读者一些参考。
+eKuiper 提供了插件的扩展机制,用户可以基于扩展接口来实现自定义的插件。在管理控制台上,用户可以直接通过界面进行插件的安装。如果读者有自定义的插件,也想出现在管理控制台的安装列表中,该文章可以给读者一些参考。
 
 ## 插件元数据
 
@@ -120,18 +120,18 @@ https://$host/$folder/$version/$os/$type/$plugin.zip
 
 其中:
 
-1. $version: 插件编译所用的 Kuiper 版本号
-2. $os: 插件编译所用的操作系统。在默认 Kuiper Docker 镜像中编译的插件,该值为 debian.
+1. $version: 插件编译所用的 eKuiper 版本号
+2. $os: 插件编译所用的操作系统。在默认 eKuiper Docker 镜像中编译的插件,该值为 debian.
 3. $type: 插件类型,可为`sources`, `sinks`, `functions`.
 
 
 ## 限制
 
-由于`Go`语言插件机制的限制,插件的编译环境必须与`Kuiper`环境相同。因此,建议插件在`Kuiper`相同版本的`Docker` 容器中进行编译。同时,由于`alpine` 环境部分库缺失,不建议在上面运行插件。因此,若需要插件安装运行,建议使用如下容器:
+由于`Go`语言插件机制的限制,插件的编译环境必须与`eKuiper`环境相同。因此,建议插件在`eKuiper`相同版本的`Docker` 容器中进行编译。同时,由于`alpine` 环境部分库缺失,不建议在上面运行插件。因此,若需要插件安装运行,建议使用如下容器:
 
-- Kuiper: 使用 slim 镜像,例如 `0.9.1-slim`
+- eKuiper: 使用 slim 镜像,例如 `0.9.1-slim`
 - 插件:使用对应版本默认镜像进行编译,例如 `0.9.1`
 
 ## 总结
 
-Kuiper 控制台提供了自定义插件的展示机制。用户只需要在自定义插件包中添加插件元数据文件即可。同时,用户可以自定义插件仓库,从而方便地从控制台进行插件的安装和使用。
+eKuiper 控制台提供了自定义插件的展示机制。用户只需要在自定义插件包中添加插件元数据文件即可。同时,用户可以自定义插件仓库,从而方便地从控制台进行插件的安装和使用。

+ 7 - 7
docs/zh_CN/operation/configuration_file.md

@@ -1,5 +1,5 @@
 # 基本配置
-Kuiper 的配置文件位于 `$ kuiper / etc / kuiper.yaml` 中。 配置文件为 yaml 格式。
+eKuiper 的配置文件位于 `$ eKuiper / etc / kuiper.yaml` 中。 配置文件为 yaml 格式。
 
 ## 日志级别
 
@@ -47,20 +47,20 @@ TLS 证书 cert 文件和 key 文件位置。如果 restTls 选项未配置,
 
 ## Prometheus 配置
 
-如果 `prometheus` 参数设置为 true,Kuiper 将把运行指标暴露到 prometheus。Prometheus 将运行在 `prometheusPort` 参数指定的端口上。
+如果 `prometheus` 参数设置为 true,eKuiper 将把运行指标暴露到 prometheus。Prometheus 将运行在 `prometheusPort` 参数指定的端口上。
 
 ```yaml
 basic:
   prometheus: true
   prometheusPort: 20499
 ```
-在如上默认配置中,Kuiper 暴露于 Prometheusd 运行指标可通过 `http://localhost:20499/metrics` 访问。
+在如上默认配置中,eKuiper 暴露于 Prometheusd 运行指标可通过 `http://localhost:20499/metrics` 访问。
 
 ## Pluginhosts 配置
 
 该 URL 对所有预构建插件托管。 默认情况下,它位于 `packages.emqx.io` 中。 可能有多个主机(主机可以用逗号分隔),如果可以在多个主机中找到相同的程序包,则第一个主机中的程序包将具有最高优先级。
 
-请注意,只有可以安装到当前 Kuiper 实例的插件才会通过 Rest-API 下方列出。
+请注意,只有可以安装到当前 eKuiper 实例的插件才会通过 Rest-API 下方列出。
 
 ```
 GET http://localhost:9081/plugins/sources/prebuild
@@ -70,10 +70,10 @@ GET http://localhost:9081/plugins/functions/prebuild
 
 如果希望通过前述的API列出插件,则应具有以下条件:
 
-- Kuiper 版本:必须为 Kuiper 实例版本构建插件。 如果找不到特定版本的插件,则不会返回任何插件。
-- 操作系统:现在仅支持 Linux 系统,因此,如果 Kuiper 在其他操作系统上运行,则不会返回任何插件。
+- eKuiper 版本:必须为 eKuiper 实例版本构建插件。 如果找不到特定版本的插件,则不会返回任何插件。
+- 操作系统:现在仅支持 Linux 系统,因此,如果 eKuiper 在其他操作系统上运行,则不会返回任何插件。
 - CPU 架构:只有在正确的 CPU 架构中构建的插件,才能在插件存储库中找到并返回。
-- EMQ 官方发布的 Docker 映像:仅当 Kuiper 在 EMQ 官方发布的 Docker 映像上运行时,才能返回插件。
+- EMQ 官方发布的 Docker 映像:仅当 eKuiper 在 EMQ 官方发布的 Docker 映像上运行时,才能返回插件。
 
 ```yaml
 pluginHosts: https://packages.emqx.io

+ 2 - 2
docs/zh_CN/operation/install/cent-os.md

@@ -8,7 +8,7 @@
 
 ``unzip kuiper-centos7-v0.0.1.zip``
 
-运行 `kuiper` 来验证 Kuiper 是否已成功安装。
+运行 `kuiper` 来验证 eKuiper 是否已成功安装。
 
 ```shell
 # cd kuiper
@@ -16,5 +16,5 @@
 kuiper version 0.0.1
 ```
 
-如果可以打印版本,则说明 Kuiper 已成功安装。
+如果可以打印版本,则说明 eKuiper 已成功安装。
 

+ 5 - 5
docs/zh_CN/operation/install/overview.md

@@ -26,15 +26,15 @@ log
 
 ### etc
 
-`etc` 目录包含 Kuiper 的配置文件, 例如 MQTT 源配置等。
+`etc` 目录包含 eKuiper 的配置文件, 例如 MQTT 源配置等。
 
 ### data
 
-Kuiper 会持久化流和规则的所有定义,并且所有消息都将存储在此文件夹中,以进行长时间操作。
+eKuiper 会持久化流和规则的所有定义,并且所有消息都将存储在此文件夹中,以进行长时间操作。
 
 ### plugins
 
-Kuiper 允许用户开发自己的插件,并将这些插件放入此文件夹。 有关如何扩展 Kuiper 的更多信息,请参见[扩展](../../extension/overview.md)。
+eKuiper 允许用户开发自己的插件,并将这些插件放入此文件夹。 有关如何扩展 eKuiper 的更多信息,请参见[扩展](../../extension/overview.md)。
 
 ### log
 
@@ -42,6 +42,6 @@ Kuiper 允许用户开发自己的插件,并将这些插件放入此文件夹
 
 ## 下一步
 
-- 参考 [入门指导](../../getting_started.md) 开始您的 Kuiper 体验。
-- 参考 [CLI 工具](../../cli/overview.md) 了解 Kuiper CLI 工具的使用。
+- 参考 [入门指导](../../getting_started.md) 开始您的 eKuiper 体验。
+- 参考 [CLI 工具](../../cli/overview.md) 了解 eKuiper CLI 工具的使用。
 

+ 2 - 2
docs/zh_CN/operation/operations.md

@@ -1,8 +1,8 @@
 ## 配置
 
-- [Kuiper 基本配置](configuration_file.md)
+- [eKuiper 基本配置](configuration_file.md)
 - [MQTT  源配置](../rules/sources/mqtt.md)
 
 ## Restful APIs
 
-Kuiper 提供了一些 RESTful 管理 API。Kuiper 提供了一些 RESTful 管理 APIs。请参考 [Rest-API 文档](../restapi/overview.md)以获取更详细信息。
+eKuiper 提供了一些 RESTful 管理 API。eKuiper 提供了一些 RESTful 管理 APIs。请参考 [Rest-API 文档](../restapi/overview.md)以获取更详细信息。

+ 1 - 1
docs/zh_CN/operation/overview.md

@@ -1,5 +1,5 @@
 
-Kuiper 由 Golang 开发,可以在不同的操作系统上运行。 有关如何安装和操作 Kuiper 的信息,请参见下面的文档。
+eKuiper 由 Golang 开发,可以在不同的操作系统上运行。 有关如何安装和操作 eKuiper 的信息,请参见下面的文档。
 
 - [安装说明](install/overview.md)
 - [操作指南](operations.md)

+ 1 - 1
docs/zh_CN/plugins/functions/functions.md

@@ -1,6 +1,6 @@
 # 定制函数
 
-Kuiper 可以定制函数,函数的开发、编译及使用请[参见这里](../../extension/function.md)。
+eKuiper 可以定制函数,函数的开发、编译及使用请[参见这里](../../extension/function.md)。
 
 ## echo 插件
 

+ 16 - 16
docs/zh_CN/plugins/functions/tensorflow_lite_tutorial.md

@@ -1,10 +1,10 @@
-# 使用 Kuiper 函数插件运行TensorFlow Lite 模型
+# 使用 eKuiper 函数插件运行TensorFlow Lite 模型
 
-[EMQ X Kuiper](https://docs.emqx.io/en/kuiper/latest/) 是一款边缘轻量级物联网数据分析/流软件,可在各种资源受限的物联网设备上运行。
+[LF Edge eKuiper](https://docs.emqx.io/en/kuiper/latest/) 是一款边缘轻量级物联网数据分析/流软件,可在各种资源受限的物联网设备上运行。
 
 [TensorFlow Lite](https://www.tensorflow.org/lite/guide) 是一组帮助开发人员在移动端、嵌入式和物联网设备上运行 TensorFlow 模型的工具,它使得设备上的机器学习预测具有低延迟和较小的二进制容量。
 
-通过集成 Kuiper 和 TensorFlow Lite,用户可以通过包含预先构建的 TensorFlow 模型的AI分析流中的数据。 在本教程中,我们将引导您构建一个 kuiper 插件,通过预先训练的图像识别 TensorFlow 模型,标记边缘设备生成的流图片(二进制数据)。
+通过集成 eKuiper 和 TensorFlow Lite,用户可以通过包含预先构建的 TensorFlow 模型的AI分析流中的数据。 在本教程中,我们将引导您构建一个 eKuiper 插件,通过预先训练的图像识别 TensorFlow 模型,标记边缘设备生成的流图片(二进制数据)。
 
 ## 先决条件
 
@@ -12,12 +12,12 @@
 
 ## 开发插件
 
-为了集成 Kuiper 和 TensorFlow Lite,我们将开发一个定制的 Kuiper 函数插件,供 Kuiper 规则使用。例如,我们将创建 `LabelImage`  函数,其输入是表示图像的二进制类型数据,输出是表示图像标签的字符串。例如,如果输入图像中有孔雀,`LabelImage(col)` 将输出“孔雀”。
+为了集成 eKuiper 和 TensorFlow Lite,我们将开发一个定制的 eKuiper 函数插件,供 eKuiper 规则使用。例如,我们将创建 `LabelImage`  函数,其输入是表示图像的二进制类型数据,输出是表示图像标签的字符串。例如,如果输入图像中有孔雀,`LabelImage(col)` 将输出“孔雀”。
 
 要开发函数插件,我们需要:
 
-1. 创建插件 go 文件。 例如,在 kuiper 源代码中,创建 *plugins/functions/labelImage/labelImage.go* 文件。
-2. 创建一个实现 [api.函数接口](https://github.com/emqx/kuiper/blob/master/xstream/api/stream.go) 的 struct。
+1. 创建插件 go 文件。 例如,在 eKuiper 源代码中,创建 *plugins/functions/labelImage/labelImage.go* 文件。
+2. 创建一个实现 [api.函数接口](https://github.com/lf-edge/ekuiper/blob/master/xstream/api/stream.go) 的 struct。
 3. 导出 struct。
 
 实现的关键是 *Exec* 函数。 伪代码如下:
@@ -53,15 +53,15 @@ var LabelImage = labelImage{
 }
 ```
 
-查阅 [本教程](../plugins_tutorial.md) 以获得创建 Kuiper 插件的详细步骤。请参阅 [labelImage.go](https://github.com/emqx/kuiper/blob/master/plugins/functions/labelImage/labelImage.go) 以获取完整的源代码。
+查阅 [本教程](../plugins_tutorial.md) 以获得创建 eKuiper 插件的详细步骤。请参阅 [labelImage.go](https://github.com/lf-edge/ekuiper/blob/master/plugins/functions/labelImage/labelImage.go) 以获取完整的源代码。
 
 ## 构建并安装插件
 
-要使用该插件,我们需要在运行 Kuiper 的环境中对其进行构建,然后将其安装在 Kuiper 中。
+要使用该插件,我们需要在运行 eKuiper 的环境中对其进行构建,然后将其安装在 eKuiper 中。
 
 ### 通过预构建的  zip 安装
 
-如果使用基于 debian 的带有 1.1.1 或 1.1.1-slim标签的 Kuiper docker 镜像,我们可以安装预构建的 labelImage插件。 例如,要在 docker image emqx/kuiper:1.1.2-slim 中安装 Kuiper 1.1.2 插件,则预构建的 zip 文件位于 *https://www.emqx.io/downloads/kuiper-plugins/v1.1.2/debian/functions/labelImage_amd64.zip*。 按如下所示运行 rest命令以进行安装。
+如果使用基于 debian 的带有 1.1.1 或 1.1.1-slim标签的 eKuiper docker 镜像,我们可以安装预构建的 labelImage插件。 例如,要在 docker image emqx/kuiper:1.1.2-slim 中安装 eKuiper 1.1.2 插件,则预构建的 zip 文件位于 *https://www.emqx.io/downloads/kuiper-plugins/v1.1.2/debian/functions/labelImage_amd64.zip*。 按如下所示运行 rest命令以进行安装。
 
 ```shell
 POST http://{{kuiperHost:kuiperRestPort}}/plugins/functions
@@ -72,7 +72,7 @@ Content-Type: application/json
 
 ### 手动构建
 
-如果您不使用官方的 Kuiper docker 镜像运行 Kuiper,由于 golang 插件的限制,预构建的 labelImage 插件将不适用。您需要手动构建插件。手动创建插件 zip 文件有3个步骤:
+如果您不使用官方的 eKuiper docker 镜像运行 eKuiper,由于 golang 插件的限制,预构建的 labelImage 插件将不适用。您需要手动构建插件。手动创建插件 zip 文件有3个步骤:
 
 1. 构建 TensorFlowLite C API。
 2. 构建 labelImage 插件。
@@ -109,10 +109,10 @@ Content-Type: application/json
 
 #### 构建 labelImage 插件
 
-确保已克隆 Kuiper github repo。 插件源文件位于 *extensions/functions/labelImage/labelImage.go* 中。 在构建插件之前,导出 tensorflow repo 和构建库的路径。
+确保已克隆 eKuiper github repo。 插件源文件位于 *extensions/functions/labelImage/labelImage.go* 中。 在构建插件之前,导出 tensorflow repo 和构建库的路径。
 
 ```shell
-$ cd {{kuiperRepoPath}}
+$ cd {{eKuiperRepoPath}}
 $ export CGO_CFLAGS=-I/root/tensorflow
 $ export CGO_LDFLAGS=-L/root/tensorflow/lib
 $ go build -trimpath -modfile extensions.mod --buildmode=plugin -o plugins/functions/LabelImage.so extensions/functions/labelImage/*.go
@@ -120,7 +120,7 @@ $ mkdir -p "plugins/functions"
 $ cp -r extensions/functions/labelImage plugins/functions
 ```
 
-通过这些命令,插件将构建到 plugins/functions/LabelImage.so 中,同时复制所有依赖文件到 plugins/functions/labelImage 目录下。 出于开发目的,您可以重新启动 Kuiper 以自动加载此插件并进行测试。 测试完成后,我们应该将其打包为一个 zip 文件,该文件可供 Kuiper 插件安装API 使用,以便可以在其他计算机(例如生产环境)中使用。
+通过这些命令,插件将构建到 plugins/functions/LabelImage.so 中,同时复制所有依赖文件到 plugins/functions/labelImage 目录下。 出于开发目的,您可以重新启动 eKuiper 以自动加载此插件并进行测试。 测试完成后,我们应该将其打包为一个 zip 文件,该文件可供 eKuiper 插件安装API 使用,以便可以在其他计算机(例如生产环境)中使用。
 
 #### 打包插件
 
@@ -144,7 +144,7 @@ $ cp -r extensions/functions/labelImage plugins/functions
 
 ### 定义流
 
-通过 Kuiper rest API 定义流。 我们创建一个名为 tfdemo 的流,其格式为二进制,主题为 tfdemo。
+通过 eKuiper rest API 定义流。 我们创建一个名为 tfdemo 的流,其格式为二进制,主题为 tfdemo。
 
 ```shell
 POST http://{{host}}/streams
@@ -155,7 +155,7 @@ Content-Type: application/json
 
 ### 定义规则
 
-通过 Kuiper rest API 定义规则。 我们将创建一个名为 ruleTf 的规则。 我们只是从 tfdemo 流中读取图像,然后对其运行自定义函数 *labelImage*。 返回结果将是 AI 识别的图像的标签。
+通过 eKuiper rest API 定义规则。 我们将创建一个名为 ruleTf 的规则。 我们只是从 tfdemo 流中读取图像,然后对其运行自定义函数 *labelImage*。 返回结果将是 AI 识别的图像的标签。
 
 ```shell
 POST http://{{host}}/rules
@@ -233,4 +233,4 @@ time="2021-02-05 16:23:30" level=info msg="sink result for rule ruleTf: [{\"labe
 
 ## 结论
 
-在本教程中,我们将引导您构建自定义的 Kuiper 插件,以利用预先训练好的 TensorFlow Lite 模型。 如果需要使用其他模型,只需按照规定步骤创建另一个函数。 请注意,如果在同一环境中运行,构建的 TensorFlow C API 可以在所有函数之间共享。希望这些功能能让你在实现边缘设备中的AI时候感到开心 。
+在本教程中,我们将引导您构建自定义的 eKuiper 插件,以利用预先训练好的 TensorFlow Lite 模型。 如果需要使用其他模型,只需按照规定步骤创建另一个函数。 请注意,如果在同一环境中运行,构建的 TensorFlow C API 可以在所有函数之间共享。希望这些功能能让你在实现边缘设备中的AI时候感到开心 。

+ 7 - 7
docs/zh_CN/plugins/overview.md

@@ -1,18 +1,18 @@
-Kuiper 实现了下面的插件,目前这些插件有的是用于描述插件开发过程的样例,有的是来自于社区开发者贡献的插件,在使用插件前,请仔细阅读相关文档。
+eKuiper 实现了下面的插件,目前这些插件有的是用于描述插件开发过程的样例,有的是来自于社区开发者贡献的插件,在使用插件前,请仔细阅读相关文档。
 
-Kuiper 插件开发者在开发过程中,可以指定元数据文件,这些元数据主要应用于以下方面:
+eKuiper 插件开发者在开发过程中,可以指定元数据文件,这些元数据主要应用于以下方面:
 
-- 插件编译:对于在目录 `plugins/sinks` 和 `plugins/sources` 中的插件,如果开发者提供了相关的元数据文件,那么 Kuiper 在版本发布的时候会自动编译该插件,然后自动上传这些插件到 EMQ 的插件下载网站上: www.emqx.cn/downloads/kuiper/vx.x.x/plugins,其中 `x.x.x` 为版本号。
+- 插件编译:对于在目录 `plugins/sinks` 和 `plugins/sources` 中的插件,如果开发者提供了相关的元数据文件,那么 eKuiper 在版本发布的时候会自动编译该插件,然后自动上传这些插件到 EMQ 的插件下载网站上: www.emqx.cn/downloads/kuiper/vx.x.x/plugins,其中 `x.x.x` 为版本号。
 
-  **<u>请注意:由于 Golang 插件的局限性,这些自动编译出来的插件能运行在 Kuiper 官方发布的对应版本的容器中;但是对于直接下载的二进制安装包,或者用户自己编译出来的二进制包,这些下载的插件不保证可以正常运行。</u>**
+  **<u>请注意:由于 Golang 插件的局限性,这些自动编译出来的插件能运行在 eKuiper 官方发布的对应版本的容器中;但是对于直接下载的二进制安装包,或者用户自己编译出来的二进制包,这些下载的插件不保证可以正常运行。</u>**
 
-- 可视化展示:从 0.9.1 版本开始,Kuiper 会随版本同步发布管理控制台,该控制台可以用于管理 Kuiper 节点、流、规则和插件等。开发者提供的插件元数据可以让用户在使用插件的时候更加方便,因此强烈建议插件开发者在提交插件的时候同时提供对应的元数据文件。元数据文件为json格式,文件名与插件一致,与插件一起放在压缩包的根目录下。
+- 可视化展示:从 0.9.1 版本开始,eKuiper 会随版本同步发布管理控制台,该控制台可以用于管理 eKuiper 节点、流、规则和插件等。开发者提供的插件元数据可以让用户在使用插件的时候更加方便,因此强烈建议插件开发者在提交插件的时候同时提供对应的元数据文件。元数据文件为json格式,文件名与插件一致,与插件一起放在压缩包的根目录下。
 
 ## 源 (Sources)
 
 | 名称                  | 描述                                                  | 备注                                                |
 | --------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
-| [zmq](sources/zmq.md)| 该插件监听 Zero Mq 消息并发送到 Kuiper 流中 | 插件样例,不可用于生产环境 |
+| [zmq](sources/zmq.md)| 该插件监听 Zero Mq 消息并发送到 eKuiper 流中 | 插件样例,不可用于生产环境 |
 | [random](sources/random.md) | 该插件按照指定模式生成消息   | 插件样例,不可用于生产环境 |
 
 ### source 元数据文件格式
@@ -283,7 +283,7 @@ source 的大部分属性用户通过对应的配置文件指定,用户无法
 | [resize](functions/functions.md)              | 创建具有新尺寸(宽度,高度)的缩放图像。如果 width 或 height 设置为0,则将其设置为长宽比保留值 | 插件样例,不可用于生产环境 |
 | [thumbnail](functions/functions.md)           | 将保留宽高比的图像缩小到最大尺寸( maxWidth,maxHeight)。     | 插件样例,不可用于生产环境 |
 
-Kuiper 具有许多内置函数,可以对数据执行计算。(具体文档参考 https://github.com/emqx/kuiper/blob/master/docs/zh_CN/sqls/built-in_functions.md)
+eKuiper 具有许多内置函数,可以对数据执行计算。(具体文档参考 https://github.com/lf-edge/ekuiper/blob/master/docs/zh_CN/sqls/built-in_functions.md)
 
 ### functions 元数据文件格式
 

File diff suppressed because it is too large
+ 34 - 34
docs/zh_CN/plugins/plugins_tutorial.md


+ 3 - 3
docs/zh_CN/plugins/sinks/file.md

@@ -5,12 +5,12 @@
 ## 编译和部署插件
 
 ```shell
-# cd $kuiper_src
+# cd $ekuiper_src
 # go build -trimpath -modfile extensions.mod --buildmode=plugin -o plugins/sinks/File.so extensions/sinks/file/file.go
-# cp plugins/sinks/File.so $kuiper_install/plugins/sinks
+# cp plugins/sinks/File.so $ekuiper_install/plugins/sinks
 ```
 
-重新启动 Kuiper 服务器以激活插件。
+重新启动 eKuiper 服务器以激活插件。
 
 ## 属性
 

+ 3 - 3
docs/zh_CN/plugins/sinks/image.md

@@ -5,12 +5,12 @@
 ## 编译和部署插件
 
 ```shell
-# cd $kuiper_src
+# cd $eKuiper_src
 # go build -trimpath -modfile extensions.mod --buildmode=plugin -o plugins/sinks/Image.so extensions/sinks/image/image.go
-# cp plugins/sinks/Image.so $kuiper_install/plugins/sinks
+# cp plugins/sinks/Image.so $eKuiper_install/plugins/sinks
 ```
 
-重新启动 Kuiper 服务器以激活插件。
+重新启动 eKuiper 服务器以激活插件。
 
 ## 属性
 

+ 3 - 3
docs/zh_CN/plugins/sinks/influx.md

@@ -9,7 +9,7 @@
 -  把文件 `plugins/sinks/influxdb.go` 中的第一行 `// +build plugins` 删除
 
 ```shell
-# cd $kuiper_src
+# cd $eKuiper_src
 # go build -trimpath -modfile extensions.mod --buildmode=plugin -o plugins/sinks/InfluxDB.so extensions/sinks/influxdb/influxdb.go
 # zip influx.zip plugins/sinks/InfluxDB.so
 # cp influx.zip /root/tomcat_path/webapps/ROOT/
@@ -17,7 +17,7 @@
 # bin/kuiper create rule influx -f /tmp/influxRule.txt
 ```
 
-重新启动 Kuiper 服务器以激活插件。
+重新启动 eKuiper 服务器以激活插件。
 
 ## 属性
 
@@ -75,6 +75,6 @@ require (
         github.com/influxdata/influxdb1-client v0.0.0-20200515024757-02f0bf5dbca3 // indirect
 )
 
-replace github.com/emqx/kuiper => /root/goProject/kuiper
+replace github.com/emqx/kuiper => /root/goProject/ekuiper
 
 ```

+ 0 - 0
docs/zh_CN/plugins/sinks/tdengine.md


Some files were not shown because too many files changed in this diff