You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by GitBox <gi...@apache.org> on 2022/04/25 03:46:51 UTC

[GitHub] [apisix-go-plugin-runner] SylviaBABY opened a new pull request, #80: docs: update README details

SylviaBABY opened a new pull request, #80:
URL: https://github.com/apache/apisix-go-plugin-runner/pull/80

   Because the previous README content is relatively empty, now adding relevant details, including background and deployment.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix-go-plugin-runner] spacewander commented on a diff in pull request #80: docs: update README details

Posted by GitBox <gi...@apache.org>.
spacewander commented on code in PR #80:
URL: https://github.com/apache/apisix-go-plugin-runner/pull/80#discussion_r857456653


##########
README.md:
##########
@@ -24,5 +24,83 @@
 [![Codecov](https://codecov.io/gh/apache/apisix-go-plugin-runner/branch/master/graph/badge.svg)](https://codecov.io/gh/apache/apisix-go-plugin-runner)
 [![Godoc](http://img.shields.io/badge/go-documentation-blue.svg?style=flat-square)](https://pkg.go.dev/github.com/apache/apisix-go-plugin-runner)
 
-The documentation can be found in this [website](http://apisix.apache.org/docs/go-plugin-runner/getting-started),
-which is generated from the files under `docs/`.
+Runs [Apache APISIX](http://apisix.apache.org/) plugins written in Go. Implemented as a sidecar that accompanies APISIX.
+
+## Status
+
+This project is currently considered experimental.
+
+## Why apisix-go-plugin-runner
+
+Apache APISIX offers many full-featured plugins covering areas such as authentication, security, traffic control, serverless, analytics & monitoring, transformations, logging.
+
+It also provides highly extensible API, allowing common phases to be mounted, and users can use these API to develop their own plugins.
+
+This project is APISIX Go side implementation that supports writing plugins in Go.
+
+Currently, Go Plugin Runner is provided as a library. This is because the convention of Go is to compile all the code into an executable file. 
+
+Although there is a mechanism for Go Plugin to compile the plugin code into a dynamic link library and then load it into the body. But as far as experience is concerned, there are still some imperfections that are not so simple and direct to use.
+
+The structure of the apache/apisix-go-plugin-runner repository on GitHub is as follows:
+
+```
+.
+├── cmd
+├── internal
+├── pkg
+```
+
+Internal is responsible for the internal implementation, `pkg` displays the external interface, and `cmd` provides examples of the demonstration.

Review Comment:
   ```suggestion
   `internal` is responsible for the internal implementation, `pkg` displays the external interface, and `cmd` provides examples of the demonstration.
   ```



##########
README.md:
##########
@@ -24,5 +24,83 @@
 [![Codecov](https://codecov.io/gh/apache/apisix-go-plugin-runner/branch/master/graph/badge.svg)](https://codecov.io/gh/apache/apisix-go-plugin-runner)
 [![Godoc](http://img.shields.io/badge/go-documentation-blue.svg?style=flat-square)](https://pkg.go.dev/github.com/apache/apisix-go-plugin-runner)
 
-The documentation can be found in this [website](http://apisix.apache.org/docs/go-plugin-runner/getting-started),
-which is generated from the files under `docs/`.
+Runs [Apache APISIX](http://apisix.apache.org/) plugins written in Go. Implemented as a sidecar that accompanies APISIX.
+
+## Status
+
+This project is currently considered experimental.
+
+## Why apisix-go-plugin-runner
+
+Apache APISIX offers many full-featured plugins covering areas such as authentication, security, traffic control, serverless, analytics & monitoring, transformations, logging.
+
+It also provides highly extensible API, allowing common phases to be mounted, and users can use these API to develop their own plugins.
+
+This project is APISIX Go side implementation that supports writing plugins in Go.
+
+Currently, Go Plugin Runner is provided as a library. This is because the convention of Go is to compile all the code into an executable file. 
+
+Although there is a mechanism for Go Plugin to compile the plugin code into a dynamic link library and then load it into the body. But as far as experience is concerned, there are still some imperfections that are not so simple and direct to use.
+
+The structure of the apache/apisix-go-plugin-runner repository on GitHub is as follows:
+
+```
+.
+├── cmd
+├── internal
+├── pkg
+```
+
+Internal is responsible for the internal implementation, `pkg` displays the external interface, and `cmd` provides examples of the demonstration.
+There is a subdirectory of `go-runner` under the `cmd` directory. By reading the code in this section, you can learn how to use Go Plugin Runner in practical applications.
+
+## How it Works
+
+At present, the communication between Go Plugin Runner and Apache APISIX is based on Unix socket's RPC. So Go Plugin Runner and Apache APISIX need to be deployed on the same machine.
+
+### Enable Go Plugin Runner
+
+As mentioned earlier, Go Plugin Runner is managed by Apache APISIX, which runs as a child process of APISIX. So we have to configure and run this Runner in Apache APISIX.
+
+The following configuration process will take the code `cmd/go-runner` in the `apisix-go-plugin-runner` project as an example.
+
+1. Compile the sample code. Executing make build generates the executable file go-runner.

Review Comment:
   ```suggestion
   1. Compile the sample code. Executing `make build` generates the executable file go-runner.
   ```



##########
README.md:
##########
@@ -24,5 +24,83 @@
 [![Codecov](https://codecov.io/gh/apache/apisix-go-plugin-runner/branch/master/graph/badge.svg)](https://codecov.io/gh/apache/apisix-go-plugin-runner)
 [![Godoc](http://img.shields.io/badge/go-documentation-blue.svg?style=flat-square)](https://pkg.go.dev/github.com/apache/apisix-go-plugin-runner)
 
-The documentation can be found in this [website](http://apisix.apache.org/docs/go-plugin-runner/getting-started),
-which is generated from the files under `docs/`.
+Runs [Apache APISIX](http://apisix.apache.org/) plugins written in Go. Implemented as a sidecar that accompanies APISIX.
+
+## Status
+
+This project is currently considered experimental.
+
+## Why apisix-go-plugin-runner
+
+Apache APISIX offers many full-featured plugins covering areas such as authentication, security, traffic control, serverless, analytics & monitoring, transformations, logging.
+
+It also provides highly extensible API, allowing common phases to be mounted, and users can use these API to develop their own plugins.
+
+This project is APISIX Go side implementation that supports writing plugins in Go.
+
+Currently, Go Plugin Runner is provided as a library. This is because the convention of Go is to compile all the code into an executable file. 
+
+Although there is a mechanism for Go Plugin to compile the plugin code into a dynamic link library and then load it into the body. But as far as experience is concerned, there are still some imperfections that are not so simple and direct to use.
+
+The structure of the apache/apisix-go-plugin-runner repository on GitHub is as follows:
+
+```
+.
+├── cmd
+├── internal
+├── pkg
+```
+
+Internal is responsible for the internal implementation, `pkg` displays the external interface, and `cmd` provides examples of the demonstration.
+There is a subdirectory of `go-runner` under the `cmd` directory. By reading the code in this section, you can learn how to use Go Plugin Runner in practical applications.
+
+## How it Works
+
+At present, the communication between Go Plugin Runner and Apache APISIX is based on Unix socket's RPC. So Go Plugin Runner and Apache APISIX need to be deployed on the same machine.

Review Comment:
   ```suggestion
   At present, the communication between Go Plugin Runner and Apache APISIX is an RPC based on Unix socket. So Go Plugin Runner and Apache APISIX need to be deployed on the same machine.
   ```



##########
README.md:
##########
@@ -24,5 +24,83 @@
 [![Codecov](https://codecov.io/gh/apache/apisix-go-plugin-runner/branch/master/graph/badge.svg)](https://codecov.io/gh/apache/apisix-go-plugin-runner)
 [![Godoc](http://img.shields.io/badge/go-documentation-blue.svg?style=flat-square)](https://pkg.go.dev/github.com/apache/apisix-go-plugin-runner)
 
-The documentation can be found in this [website](http://apisix.apache.org/docs/go-plugin-runner/getting-started),
-which is generated from the files under `docs/`.
+Runs [Apache APISIX](http://apisix.apache.org/) plugins written in Go. Implemented as a sidecar that accompanies APISIX.
+
+## Status
+
+This project is currently considered experimental.
+
+## Why apisix-go-plugin-runner
+
+Apache APISIX offers many full-featured plugins covering areas such as authentication, security, traffic control, serverless, analytics & monitoring, transformations, logging.
+
+It also provides highly extensible API, allowing common phases to be mounted, and users can use these API to develop their own plugins.
+
+This project is APISIX Go side implementation that supports writing plugins in Go.
+
+Currently, Go Plugin Runner is provided as a library. This is because the convention of Go is to compile all the code into an executable file. 
+
+Although there is a mechanism for Go Plugin to compile the plugin code into a dynamic link library and then load it into the body. But as far as experience is concerned, there are still some imperfections that are not so simple and direct to use.

Review Comment:
   ```suggestion
   Although there is a mechanism for Go Plugin to compile the plugin code into a dynamic link library and then load it into the binary. But as far as experience is concerned, there are still some imperfections that are not so simple and direct to use.
   ```



##########
README.md:
##########
@@ -24,5 +24,83 @@
 [![Codecov](https://codecov.io/gh/apache/apisix-go-plugin-runner/branch/master/graph/badge.svg)](https://codecov.io/gh/apache/apisix-go-plugin-runner)
 [![Godoc](http://img.shields.io/badge/go-documentation-blue.svg?style=flat-square)](https://pkg.go.dev/github.com/apache/apisix-go-plugin-runner)
 
-The documentation can be found in this [website](http://apisix.apache.org/docs/go-plugin-runner/getting-started),
-which is generated from the files under `docs/`.
+Runs [Apache APISIX](http://apisix.apache.org/) plugins written in Go. Implemented as a sidecar that accompanies APISIX.
+
+## Status
+
+This project is currently considered experimental.
+
+## Why apisix-go-plugin-runner
+
+Apache APISIX offers many full-featured plugins covering areas such as authentication, security, traffic control, serverless, analytics & monitoring, transformations, logging.
+
+It also provides highly extensible API, allowing common phases to be mounted, and users can use these API to develop their own plugins.
+
+This project is APISIX Go side implementation that supports writing plugins in Go.
+
+Currently, Go Plugin Runner is provided as a library. This is because the convention of Go is to compile all the code into an executable file. 
+
+Although there is a mechanism for Go Plugin to compile the plugin code into a dynamic link library and then load it into the body. But as far as experience is concerned, there are still some imperfections that are not so simple and direct to use.
+
+The structure of the apache/apisix-go-plugin-runner repository on GitHub is as follows:
+
+```
+.
+├── cmd
+├── internal
+├── pkg
+```
+
+Internal is responsible for the internal implementation, `pkg` displays the external interface, and `cmd` provides examples of the demonstration.
+There is a subdirectory of `go-runner` under the `cmd` directory. By reading the code in this section, you can learn how to use Go Plugin Runner in practical applications.
+
+## How it Works
+
+At present, the communication between Go Plugin Runner and Apache APISIX is based on Unix socket's RPC. So Go Plugin Runner and Apache APISIX need to be deployed on the same machine.
+
+### Enable Go Plugin Runner
+
+As mentioned earlier, Go Plugin Runner is managed by Apache APISIX, which runs as a child process of APISIX. So we have to configure and run this Runner in Apache APISIX.
+
+The following configuration process will take the code `cmd/go-runner` in the `apisix-go-plugin-runner` project as an example.
+
+1. Compile the sample code. Executing make build generates the executable file go-runner.
+2. Make the following configuration in the conf/config.yaml file of Apache APISIX:
+
+```yaml
+ext-plugin:
+  cmd: ["/path/to/apisix-go-plugin-runner/go-runner", "run"]
+```
+
+With the above configuration, Apache APISIX pulls up `go-runner` when it starts and closes `go-runner` when it stops.
+
+In view of the fact that `apisix-go-plugin-runner` is used in the form of a library in the actual development process, you need to replace the above example configuration with your own executable and startup instructions.
+
+Finally, the startup Apache APISIX, `go-runner` will be started along with it.

Review Comment:
   ```suggestion
   Finally, after the startup of Apache APISIX, `go-runner` will be started along with it.
   ```



##########
README.md:
##########
@@ -24,5 +24,83 @@
 [![Codecov](https://codecov.io/gh/apache/apisix-go-plugin-runner/branch/master/graph/badge.svg)](https://codecov.io/gh/apache/apisix-go-plugin-runner)
 [![Godoc](http://img.shields.io/badge/go-documentation-blue.svg?style=flat-square)](https://pkg.go.dev/github.com/apache/apisix-go-plugin-runner)
 
-The documentation can be found in this [website](http://apisix.apache.org/docs/go-plugin-runner/getting-started),
-which is generated from the files under `docs/`.
+Runs [Apache APISIX](http://apisix.apache.org/) plugins written in Go. Implemented as a sidecar that accompanies APISIX.
+
+## Status
+
+This project is currently considered experimental.
+
+## Why apisix-go-plugin-runner
+
+Apache APISIX offers many full-featured plugins covering areas such as authentication, security, traffic control, serverless, analytics & monitoring, transformations, logging.
+
+It also provides highly extensible API, allowing common phases to be mounted, and users can use these API to develop their own plugins.
+
+This project is APISIX Go side implementation that supports writing plugins in Go.
+
+Currently, Go Plugin Runner is provided as a library. This is because the convention of Go is to compile all the code into an executable file. 
+
+Although there is a mechanism for Go Plugin to compile the plugin code into a dynamic link library and then load it into the body. But as far as experience is concerned, there are still some imperfections that are not so simple and direct to use.
+
+The structure of the apache/apisix-go-plugin-runner repository on GitHub is as follows:
+
+```
+.
+├── cmd
+├── internal
+├── pkg
+```
+
+Internal is responsible for the internal implementation, `pkg` displays the external interface, and `cmd` provides examples of the demonstration.
+There is a subdirectory of `go-runner` under the `cmd` directory. By reading the code in this section, you can learn how to use Go Plugin Runner in practical applications.
+
+## How it Works
+
+At present, the communication between Go Plugin Runner and Apache APISIX is based on Unix socket's RPC. So Go Plugin Runner and Apache APISIX need to be deployed on the same machine.
+
+### Enable Go Plugin Runner
+
+As mentioned earlier, Go Plugin Runner is managed by Apache APISIX, which runs as a child process of APISIX. So we have to configure and run this Runner in Apache APISIX.
+
+The following configuration process will take the code `cmd/go-runner` in the `apisix-go-plugin-runner` project as an example.
+
+1. Compile the sample code. Executing make build generates the executable file go-runner.
+2. Make the following configuration in the conf/config.yaml file of Apache APISIX:
+
+```yaml
+ext-plugin:
+  cmd: ["/path/to/apisix-go-plugin-runner/go-runner", "run"]
+```
+
+With the above configuration, Apache APISIX pulls up `go-runner` when it starts and closes `go-runner` when it stops.
+
+In view of the fact that `apisix-go-plugin-runner` is used in the form of a library in the actual development process, you need to replace the above example configuration with your own executable and startup instructions.
+
+Finally, the startup Apache APISIX, `go-runner` will be started along with it.
+
+### Other configuration methods
+
+Of course, if you need to take these three steps every time you verify the functionality in the development process, it is quite tedious. So we also provide another configuration that allows apisix-go-plugin-runner to run independently during development.
+
+The Internal of apisix-java-plugin-runner

Review Comment:
   Why java?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix-go-plugin-runner] spacewander merged pull request #80: docs: update README details

Posted by GitBox <gi...@apache.org>.
spacewander merged PR #80:
URL: https://github.com/apache/apisix-go-plugin-runner/pull/80


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix-go-plugin-runner] Chever-John commented on a diff in pull request #80: docs: update README details

Posted by GitBox <gi...@apache.org>.
Chever-John commented on code in PR #80:
URL: https://github.com/apache/apisix-go-plugin-runner/pull/80#discussion_r857382829


##########
README.md:
##########
@@ -24,5 +24,83 @@
 [![Codecov](https://codecov.io/gh/apache/apisix-go-plugin-runner/branch/master/graph/badge.svg)](https://codecov.io/gh/apache/apisix-go-plugin-runner)
 [![Godoc](http://img.shields.io/badge/go-documentation-blue.svg?style=flat-square)](https://pkg.go.dev/github.com/apache/apisix-go-plugin-runner)
 
-The documentation can be found in this [website](http://apisix.apache.org/docs/go-plugin-runner/getting-started),
-which is generated from the files under `docs/`.
+Runs [Apache APISIX](http://apisix.apache.org/) plugins written in Go. Implemented as a sidecar that accompanies APISIX.
+
+## Status
+
+This project is currently considered experimental.
+
+## Why apisix-go-plugin-runner
+
+Apache APISIX offers many full-featured plugins covering areas such as authentication, security, traffic control, serverless, analytics & monitoring, transformations, logging.
+
+It also provides highly extensible API, allowing common phases to be mounted, and users can use these API to develop their own plugins.
+
+This project is APISIX Go side implementation that supports writing plugins in Go.
+
+Currently, Go Plugin Runner is provided as a library. This is because the convention of Go is to compile all the code into an executable file. 
+
+Although there is a mechanism for Go Plugin to compile the plugin code into a dynamic link library and then load it into the body. But as far as experience is concerned, there are still some imperfections that are not so simple and direct to use.
+
+The structure of the apache/apisix-go-plugin-runner repository on GitHub is as follows:
+
+```
+.
+├── cmd
+├── internal
+├── pkg
+```
+
+Internal is responsible for the internal implementation, `pkg` displays the external interface, and `cmd` provides examples of the demonstration.
+There is a subdirectory of `go-runner` under the `cmd` directory. By reading the code in this section, you can learn how to use Go Plugin Runner in practical applications.
+
+## How it Works
+
+At present, the communication between Go Plugin Runner and Apache APISIX is based on Unix socket's RPC. So Go Plugin Runner and Apache APISIX need to be deployed on the same machine.
+
+### Enable Go Plugin Runner
+
+As mentioned earlier, Go Plugin Runner is managed by Apache APISIX, which runs as a child process of APISIX. So we have to configure and run this Runner in Apache APISIX.
+
+The following configuration process will take the code `cmd/go-runner` in the `apisix-go-plugin-runner` project as an example.
+
+1. Compile the sample code. Executing make build generates the executable file go-runner.
+2. Make the following configuration in the conf/config.yaml file of Apache APISIX:
+
+```yaml
+ext-plugin:
+  cmd: ["/path/to/apisix-go-plugin-runner/go-runner", "run"]
+```
+
+With the above configuration, Apache APISIX pulls up `go-runner` when it starts and closes `go-runner` when it stops.
+
+In view of the fact that `apisix-go-plugin-runner` is used in the form of a library in the actual development process, you need to replace the above example configuration with your own executable and startup instructions.
+
+Finally, the startup Apache APISIX, `go-runner` will be started along with it.
+
+### Other configuration methods
+
+Of course, if you need to take these three steps every time you verify the functionality in the development process, it is quite tedious. So we also provide another configuration that allows apisix-go-plugin-runner to run independently during development.
+
+The Internal of apisix-java-plugin-runner
+If you're interested in the internal of apisix-java-plugin-runner, we recommend you to read the the-internal-of-apisix-java-plugin-runner, it explains the details of communication and protocol conversion with APISIX.
+
+1. The first thing to do is to compile the code.
+2. Configure the following in the conf/config.yaml file of Apache APISIX:
+
+```yaml
+ext-plugin:
+  path_for_test: /tmp/runner.sock
+```
+
+3. Start `go-runner` with the following code.
+
+```
+APISIX_LISTEN_ADDRESS=unix:/tmp/runner.sock ./go-runner run

Review Comment:
   ```suggestion
   APISIX_LISTEN_ADDRESS=unix:/tmp/runner.sock APISIX_CONF_EXPIRE_TIME=3600 ./go-runner run
   ```
   
   If you are developing a new plugin and need to debug the code, before starting, you need to set the following two environment variables:
   
   APISIX_LISTEN_ADDRESS: apisix-java-plugin-runner and APISIX for inter-process communication (Unix Domain Socket) socket type file address. And do not need to actively create this file, apisix-java-plugin-runner will automatically create this file when it starts.
   APISIX_CONF_EXPIRE_TIME: the time that APISIX's configuration is cached in the apisix-java-plugin-runner process.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix-go-plugin-runner] spacewander commented on a diff in pull request #80: docs: update README details

Posted by GitBox <gi...@apache.org>.
spacewander commented on code in PR #80:
URL: https://github.com/apache/apisix-go-plugin-runner/pull/80#discussion_r858155308


##########
README.md:
##########
@@ -24,5 +24,83 @@
 [![Codecov](https://codecov.io/gh/apache/apisix-go-plugin-runner/branch/master/graph/badge.svg)](https://codecov.io/gh/apache/apisix-go-plugin-runner)
 [![Godoc](http://img.shields.io/badge/go-documentation-blue.svg?style=flat-square)](https://pkg.go.dev/github.com/apache/apisix-go-plugin-runner)
 
-The documentation can be found in this [website](http://apisix.apache.org/docs/go-plugin-runner/getting-started),
-which is generated from the files under `docs/`.
+Runs [Apache APISIX](http://apisix.apache.org/) plugins written in Go. Implemented as a sidecar that accompanies APISIX.
+
+## Status
+
+This project is currently considered experimental.
+
+## Why apisix-go-plugin-runner
+
+Apache APISIX offers many full-featured plugins covering areas such as authentication, security, traffic control, serverless, analytics & monitoring, transformations, logging.
+
+It also provides highly extensible API, allowing common phases to be mounted, and users can use these API to develop their own plugins.
+
+This project is APISIX Go side implementation that supports writing plugins in Go.
+
+Currently, Go Plugin Runner is provided as a library. This is because the convention of Go is to compile all the code into an executable file. 
+
+Although there is a mechanism for Go Plugin to compile the plugin code into a dynamic link library and then load it into the body. But as far as experience is concerned, there are still some imperfections that are not so simple and direct to use.
+
+The structure of the apache/apisix-go-plugin-runner repository on GitHub is as follows:
+
+```
+.
+├── cmd
+├── internal
+├── pkg
+```
+
+Internal is responsible for the internal implementation, `pkg` displays the external interface, and `cmd` provides examples of the demonstration.
+There is a subdirectory of `go-runner` under the `cmd` directory. By reading the code in this section, you can learn how to use Go Plugin Runner in practical applications.
+
+## How it Works
+
+At present, the communication between Go Plugin Runner and Apache APISIX is based on Unix socket's RPC. So Go Plugin Runner and Apache APISIX need to be deployed on the same machine.
+
+### Enable Go Plugin Runner
+
+As mentioned earlier, Go Plugin Runner is managed by Apache APISIX, which runs as a child process of APISIX. So we have to configure and run this Runner in Apache APISIX.
+
+The following configuration process will take the code `cmd/go-runner` in the `apisix-go-plugin-runner` project as an example.
+
+1. Compile the sample code. Executing make build generates the executable file go-runner.
+2. Make the following configuration in the conf/config.yaml file of Apache APISIX:
+
+```yaml
+ext-plugin:
+  cmd: ["/path/to/apisix-go-plugin-runner/go-runner", "run"]
+```
+
+With the above configuration, Apache APISIX pulls up `go-runner` when it starts and closes `go-runner` when it stops.
+
+In view of the fact that `apisix-go-plugin-runner` is used in the form of a library in the actual development process, you need to replace the above example configuration with your own executable and startup instructions.
+
+Finally, the startup Apache APISIX, `go-runner` will be started along with it.
+
+### Other configuration methods
+
+Of course, if you need to take these three steps every time you verify the functionality in the development process, it is quite tedious. So we also provide another configuration that allows apisix-go-plugin-runner to run independently during development.
+
+The Internal of apisix-java-plugin-runner

Review Comment:
   > `APISIX_CONF_EXPIRE_TIME`
   
   It will be set automatically by APISIX



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix-go-plugin-runner] Chever-John commented on a diff in pull request #80: docs: update README details

Posted by GitBox <gi...@apache.org>.
Chever-John commented on code in PR #80:
URL: https://github.com/apache/apisix-go-plugin-runner/pull/80#discussion_r857467362


##########
README.md:
##########
@@ -24,5 +24,83 @@
 [![Codecov](https://codecov.io/gh/apache/apisix-go-plugin-runner/branch/master/graph/badge.svg)](https://codecov.io/gh/apache/apisix-go-plugin-runner)
 [![Godoc](http://img.shields.io/badge/go-documentation-blue.svg?style=flat-square)](https://pkg.go.dev/github.com/apache/apisix-go-plugin-runner)
 
-The documentation can be found in this [website](http://apisix.apache.org/docs/go-plugin-runner/getting-started),
-which is generated from the files under `docs/`.
+Runs [Apache APISIX](http://apisix.apache.org/) plugins written in Go. Implemented as a sidecar that accompanies APISIX.
+
+## Status
+
+This project is currently considered experimental.
+
+## Why apisix-go-plugin-runner
+
+Apache APISIX offers many full-featured plugins covering areas such as authentication, security, traffic control, serverless, analytics & monitoring, transformations, logging.
+
+It also provides highly extensible API, allowing common phases to be mounted, and users can use these API to develop their own plugins.
+
+This project is APISIX Go side implementation that supports writing plugins in Go.
+
+Currently, Go Plugin Runner is provided as a library. This is because the convention of Go is to compile all the code into an executable file. 
+
+Although there is a mechanism for Go Plugin to compile the plugin code into a dynamic link library and then load it into the body. But as far as experience is concerned, there are still some imperfections that are not so simple and direct to use.
+
+The structure of the apache/apisix-go-plugin-runner repository on GitHub is as follows:
+
+```
+.
+├── cmd
+├── internal
+├── pkg
+```
+
+Internal is responsible for the internal implementation, `pkg` displays the external interface, and `cmd` provides examples of the demonstration.
+There is a subdirectory of `go-runner` under the `cmd` directory. By reading the code in this section, you can learn how to use Go Plugin Runner in practical applications.
+
+## How it Works
+
+At present, the communication between Go Plugin Runner and Apache APISIX is based on Unix socket's RPC. So Go Plugin Runner and Apache APISIX need to be deployed on the same machine.
+
+### Enable Go Plugin Runner
+
+As mentioned earlier, Go Plugin Runner is managed by Apache APISIX, which runs as a child process of APISIX. So we have to configure and run this Runner in Apache APISIX.
+
+The following configuration process will take the code `cmd/go-runner` in the `apisix-go-plugin-runner` project as an example.
+
+1. Compile the sample code. Executing make build generates the executable file go-runner.
+2. Make the following configuration in the conf/config.yaml file of Apache APISIX:
+
+```yaml
+ext-plugin:
+  cmd: ["/path/to/apisix-go-plugin-runner/go-runner", "run"]
+```
+
+With the above configuration, Apache APISIX pulls up `go-runner` when it starts and closes `go-runner` when it stops.
+
+In view of the fact that `apisix-go-plugin-runner` is used in the form of a library in the actual development process, you need to replace the above example configuration with your own executable and startup instructions.
+
+Finally, the startup Apache APISIX, `go-runner` will be started along with it.
+
+### Other configuration methods
+
+Of course, if you need to take these three steps every time you verify the functionality in the development process, it is quite tedious. So we also provide another configuration that allows apisix-go-plugin-runner to run independently during development.
+
+The Internal of apisix-java-plugin-runner

Review Comment:
   I have a problem with why we do not set `APISIX_CONF_EXPIRE_TIME=3600`?
   @spacewander



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix-go-plugin-runner] Chever-John commented on a diff in pull request #80: docs: update README details

Posted by GitBox <gi...@apache.org>.
Chever-John commented on code in PR #80:
URL: https://github.com/apache/apisix-go-plugin-runner/pull/80#discussion_r857467362


##########
README.md:
##########
@@ -24,5 +24,83 @@
 [![Codecov](https://codecov.io/gh/apache/apisix-go-plugin-runner/branch/master/graph/badge.svg)](https://codecov.io/gh/apache/apisix-go-plugin-runner)
 [![Godoc](http://img.shields.io/badge/go-documentation-blue.svg?style=flat-square)](https://pkg.go.dev/github.com/apache/apisix-go-plugin-runner)
 
-The documentation can be found in this [website](http://apisix.apache.org/docs/go-plugin-runner/getting-started),
-which is generated from the files under `docs/`.
+Runs [Apache APISIX](http://apisix.apache.org/) plugins written in Go. Implemented as a sidecar that accompanies APISIX.
+
+## Status
+
+This project is currently considered experimental.
+
+## Why apisix-go-plugin-runner
+
+Apache APISIX offers many full-featured plugins covering areas such as authentication, security, traffic control, serverless, analytics & monitoring, transformations, logging.
+
+It also provides highly extensible API, allowing common phases to be mounted, and users can use these API to develop their own plugins.
+
+This project is APISIX Go side implementation that supports writing plugins in Go.
+
+Currently, Go Plugin Runner is provided as a library. This is because the convention of Go is to compile all the code into an executable file. 
+
+Although there is a mechanism for Go Plugin to compile the plugin code into a dynamic link library and then load it into the body. But as far as experience is concerned, there are still some imperfections that are not so simple and direct to use.
+
+The structure of the apache/apisix-go-plugin-runner repository on GitHub is as follows:
+
+```
+.
+├── cmd
+├── internal
+├── pkg
+```
+
+Internal is responsible for the internal implementation, `pkg` displays the external interface, and `cmd` provides examples of the demonstration.
+There is a subdirectory of `go-runner` under the `cmd` directory. By reading the code in this section, you can learn how to use Go Plugin Runner in practical applications.
+
+## How it Works
+
+At present, the communication between Go Plugin Runner and Apache APISIX is based on Unix socket's RPC. So Go Plugin Runner and Apache APISIX need to be deployed on the same machine.
+
+### Enable Go Plugin Runner
+
+As mentioned earlier, Go Plugin Runner is managed by Apache APISIX, which runs as a child process of APISIX. So we have to configure and run this Runner in Apache APISIX.
+
+The following configuration process will take the code `cmd/go-runner` in the `apisix-go-plugin-runner` project as an example.
+
+1. Compile the sample code. Executing make build generates the executable file go-runner.
+2. Make the following configuration in the conf/config.yaml file of Apache APISIX:
+
+```yaml
+ext-plugin:
+  cmd: ["/path/to/apisix-go-plugin-runner/go-runner", "run"]
+```
+
+With the above configuration, Apache APISIX pulls up `go-runner` when it starts and closes `go-runner` when it stops.
+
+In view of the fact that `apisix-go-plugin-runner` is used in the form of a library in the actual development process, you need to replace the above example configuration with your own executable and startup instructions.
+
+Finally, the startup Apache APISIX, `go-runner` will be started along with it.
+
+### Other configuration methods
+
+Of course, if you need to take these three steps every time you verify the functionality in the development process, it is quite tedious. So we also provide another configuration that allows apisix-go-plugin-runner to run independently during development.
+
+The Internal of apisix-java-plugin-runner

Review Comment:
   I have a problem with why we do not set `APISIX_CONF_EXPIRE_TIME=3600`?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix-go-plugin-runner] SylviaBABY commented on a diff in pull request #80: docs: update README details

Posted by GitBox <gi...@apache.org>.
SylviaBABY commented on code in PR #80:
URL: https://github.com/apache/apisix-go-plugin-runner/pull/80#discussion_r857608313


##########
README.md:
##########
@@ -24,5 +24,83 @@
 [![Codecov](https://codecov.io/gh/apache/apisix-go-plugin-runner/branch/master/graph/badge.svg)](https://codecov.io/gh/apache/apisix-go-plugin-runner)
 [![Godoc](http://img.shields.io/badge/go-documentation-blue.svg?style=flat-square)](https://pkg.go.dev/github.com/apache/apisix-go-plugin-runner)
 
-The documentation can be found in this [website](http://apisix.apache.org/docs/go-plugin-runner/getting-started),
-which is generated from the files under `docs/`.
+Runs [Apache APISIX](http://apisix.apache.org/) plugins written in Go. Implemented as a sidecar that accompanies APISIX.
+
+## Status
+
+This project is currently considered experimental.
+
+## Why apisix-go-plugin-runner
+
+Apache APISIX offers many full-featured plugins covering areas such as authentication, security, traffic control, serverless, analytics & monitoring, transformations, logging.
+
+It also provides highly extensible API, allowing common phases to be mounted, and users can use these API to develop their own plugins.
+
+This project is APISIX Go side implementation that supports writing plugins in Go.
+
+Currently, Go Plugin Runner is provided as a library. This is because the convention of Go is to compile all the code into an executable file. 
+
+Although there is a mechanism for Go Plugin to compile the plugin code into a dynamic link library and then load it into the body. But as far as experience is concerned, there are still some imperfections that are not so simple and direct to use.
+
+The structure of the apache/apisix-go-plugin-runner repository on GitHub is as follows:
+
+```
+.
+├── cmd
+├── internal
+├── pkg
+```
+
+Internal is responsible for the internal implementation, `pkg` displays the external interface, and `cmd` provides examples of the demonstration.
+There is a subdirectory of `go-runner` under the `cmd` directory. By reading the code in this section, you can learn how to use Go Plugin Runner in practical applications.
+
+## How it Works
+
+At present, the communication between Go Plugin Runner and Apache APISIX is based on Unix socket's RPC. So Go Plugin Runner and Apache APISIX need to be deployed on the same machine.
+
+### Enable Go Plugin Runner
+
+As mentioned earlier, Go Plugin Runner is managed by Apache APISIX, which runs as a child process of APISIX. So we have to configure and run this Runner in Apache APISIX.
+
+The following configuration process will take the code `cmd/go-runner` in the `apisix-go-plugin-runner` project as an example.
+
+1. Compile the sample code. Executing make build generates the executable file go-runner.
+2. Make the following configuration in the conf/config.yaml file of Apache APISIX:
+
+```yaml
+ext-plugin:
+  cmd: ["/path/to/apisix-go-plugin-runner/go-runner", "run"]
+```
+
+With the above configuration, Apache APISIX pulls up `go-runner` when it starts and closes `go-runner` when it stops.
+
+In view of the fact that `apisix-go-plugin-runner` is used in the form of a library in the actual development process, you need to replace the above example configuration with your own executable and startup instructions.
+
+Finally, the startup Apache APISIX, `go-runner` will be started along with it.
+
+### Other configuration methods
+
+Of course, if you need to take these three steps every time you verify the functionality in the development process, it is quite tedious. So we also provide another configuration that allows apisix-go-plugin-runner to run independently during development.
+
+The Internal of apisix-java-plugin-runner

Review Comment:
   > Why java?
   
   When filling in the content, I referred to the Java-related and forgot to delete it :( 
   Now have deleted it



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [apisix-go-plugin-runner] codecov-commenter commented on pull request #80: docs: update README details

Posted by GitBox <gi...@apache.org>.
codecov-commenter commented on PR #80:
URL: https://github.com/apache/apisix-go-plugin-runner/pull/80#issuecomment-1108548085

   # [Codecov](https://codecov.io/gh/apache/apisix-go-plugin-runner/pull/80?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
   > Merging [#80](https://codecov.io/gh/apache/apisix-go-plugin-runner/pull/80?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (249fd20) into [master](https://codecov.io/gh/apache/apisix-go-plugin-runner/commit/160e058a95538278d22dc73afa18766a21d12199?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (160e058) will **decrease** coverage by `2.81%`.
   > The diff coverage is `n/a`.
   
   ```diff
   @@            Coverage Diff             @@
   ##           master      #80      +/-   ##
   ==========================================
   - Coverage   81.23%   78.41%   -2.82%     
   ==========================================
     Files          11       11              
     Lines         746      746              
   ==========================================
   - Hits          606      585      -21     
   - Misses        102      122      +20     
   - Partials       38       39       +1     
   ```
   
   
   | [Impacted Files](https://codecov.io/gh/apache/apisix-go-plugin-runner/pull/80?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
   |---|---|---|
   | [internal/server/server.go](https://codecov.io/gh/apache/apisix-go-plugin-runner/pull/80/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-aW50ZXJuYWwvc2VydmVyL3NlcnZlci5nbw==) | `50.40% <0.00%> (-17.08%)` | :arrow_down: |
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/apisix-go-plugin-runner/pull/80?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/apisix-go-plugin-runner/pull/80?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Last update [160e058...249fd20](https://codecov.io/gh/apache/apisix-go-plugin-runner/pull/80?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org