> The dashboard monitors the changes of the main branch and pushes the
changed lua files to etcd

So it means the dashboard should be able to watch the VCS of the
development environment? But the network between dev environment and
prod environment is either separate or unidirectional. You can push a
change to the prod environment, but the prod environment can't run
`git` to fetch your code.


> apisix(DP) automatically synchronizes the custom plugin from etcd. And
do not need to write to lua file.

I doubt it is suitable for debugging if we don't store it in a file.
And we should remember there is a key size limitation of etcd. Etcd is
not designed as a file storage.

> Of course, we do face some complex plug-in scenarios, for example, plug-ins
that need to modify sharedict or those plugins which need to patch APISIX /
OpenResty itself.
> I suggest that this kind of plug-in is special, so you don't need to
support it at first. Only supports single lua files.

A solution which only works in the normal case is unacceptable. There
must be a way to extend the solution to let it work with special
cases. Take opm as an example, no one uses it because it only supports
pure Lua libraries. If our way only supports a single Lua file, people
will switch to re-package once they need to handle special cases. So
why don't they use the re-package way from the beginning?

Reply via email to