@spacewander Agree, apart from the first point of network connectivity, I did not have a good solution to the other two problems. Do other people have any good opinions ?
Zexuan Luo <[email protected]> 于2021年3月4日周四 上午9:33写道: > > 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? >
