I'm so sorry for that!

new issue created at https://github.com/apache/incubator-apisix/issues/1593

Ming Wen <wenm...@apache.org> 于2020年5月14日周四 下午5:37写道:

> Hi,Damon,
> The mailing list does not support images.
> Can you put the image in the github issue? thanks
>
> Thanks,
> Ming Wen, Apache APISIX & Apache SkyWalking
> Twitter: _WenMing
>
>
> Damon Chen <net...@gmail.com> 于2020年5月12日周二 上午10:20写道:
>
> > Hi, all:
> >
> > If the plugin has a security problem or a bug which must be fixed at that
> > time,
> >
> > the user who use the APISIX also must upgrade to the newest version. The
> > problem is that
> >
> > if you upgrade the plugin, you should also upgrade the APISIX core. If
> the
> >
> > new version of the APISIX core is not compatible of the old
> >
> > APISIX core. How would you do it?
> >
> >
> >
> > When you are in a company and want to write a plugin for your privacy
> > service.
> >
> > You should more careful to maintain you plugin about how to install,
> > upgrade, etc.
> >
> > Everyone who writes the plugin for privacy service also will do what you
> > have done.
> >
> > There are many duplicate works.
> >
> >
> >
> > When the user of the APISIX need some features, which may be developed by
> > some other developer,
> >
> > how can we found in the web? cloning the APISIX repository and then
> search
> > the plugin
> >
> > are not very effective and intuitive.
> >
> >
> >
> > What we should to do is separating the APISIX core implement and the
> > plugin implement, introducing
> >
> > a plugin center registry, adding a new cli tool for managing plugin for
> > installing, upgrading, removing,
> >
> > searching, etc, and must be in accordance with the sematic version rule
> > both of the APISIX core and
> >
> > the plugin. If we do this, we could solved the above problems.
> >
> >
> > *Detail*
> >
> > The following image show how to separate the APISIX core and the plugin.
> >
> >
> > [image: image.png]
> >
> >
> >
> >    1. All the plugins will be placed the APISIX core subdirectory named
> >    "plugins", eg: If we install the APISIX in the path /opt/apisix, then
> >    all the plugins will be found in /opt/apisix/plugins
> >    2. Every plugin has a unique directory name.
> >    3. The plugin directory name should be in the form of
> >    {company|person}.{name}. {company|person} will be replaced with the
> >    company name or person developer name, *and the **{name}** is the
> >    current plugin name.* eg, current version of the APISIX have a plugin
> >    named basic-auth,which will be changed to apisix.basic-auth if
> >    applying the above rule.
> >    4. Every plugin have an entry file for APISIX core searching, which
> >    named index.lua.The file index.lua will export _M table ,which is the
> >    same as before.
> >    5. Extends the _M table description of the plugin.
> >
> >
> > *The CLI*
> >
> > The system will be introduced a new command named a6. The following shows
> > all subcommands and describes functions:
> >
> >    - a6 install {company|person}.{name}: which will download
> >    {company|person}.{name} from the center registry and install the
> >    {company|person}.{name} to the plugins directory.
> >    - a6 search name will show all plugin's names and descriptions that is
> >    matched name
> >    - a6 list will list all installed plugins in the local system.
> >    - a6 init [{company|person}.{name}] will create a plugin directory
> >    with some templates file.
> >    - a6 push will push the current plugin directory to the remote center
> >    registry with an authenticated account.
> >
> >
> > *The Center Registry*
> >
> > The center registry will have a public domain, so the a6 command will
> > download the plugin from the domain by default.
> >
> > The center registry will have a search page, which may be shown as below:
> >
> > [image: image.png]
> >
> >
> >
> > If click the box, then show the detail page as below:
> >
> > [image: image.png]
> >
> >
> >
> >
> > --
> > DamonChen
> >
> >
> >
>


-- 
DamonChen

Reply via email to