Hi, community,

After having a diff between Dashboard 2.7 and APISIX 2.7, I list all the
differences across modules.

Phase 1: Dashboard 2.7.1 with APISIX 2.7

Module Differences
Other Remove Version Matcher Logics on both Web and ManagerAPI
Upstream Check hash_on filed and limitation

https://apisix.apache.org/docs/apisix/2.7/admin-api#request-body-parameters-3
Route Support uri/uris、host/hosts、remote_addr/remote_addrs
Route Support all operators in the "vars" field (like APISIX does)
Plugin Diff schema.json
https://github.com/apache/apisix-dashboard/pull/1999/files

Phase2: Dashboard 2.7.2 with APISIX 2.7

Upstream Support Service Discovery: Nacos、Eureka、Consul、DNS

https://apisix.apache.org/docs/apisix/2.7/discovery/nacos
Upstream Support FQDN

https://apisix.apache.org/docs/apisix/2.7/FAQ#does-the-upstream-node-support-configuring-the-fqdn-address
Stream Route Support Stream Proxy (Stream Route)

- https://apisix.apache.org/docs/apisix/2.7/stream-proxy
<https://apisix.apache.org/docs/apisix/2.7/stream-proxy>
- https://apisix.apache.org/docs/apisix/2.7/admin-api#stream-route
<https://apisix.apache.org/docs/apisix/2.7/admin-api#stream-route>
SSL Support all fields in the SSL entity

https://apisix.apache.org/docs/apisix/2.7/admin-api/#ssl
Plugin Metadata What're the cases for Plugin Metadata

https://apisix.apache.org/docs/apisix/2.7/admin-api/#plugin-metadata
Phase 3: Dashboard 2.8 with APISIX 2.8

Due to APISIX 2.8 has changes that Dashboard isn't supported, I don't have
a detailed diff between them. Let's do the first 2 phases :) I will create
2 milestones later.

Any thoughts on this?


Best Regards!
@ Zhiyuan Ju <https://github.com/juzhiyuan>


Peter Zhu <sta...@apache.org> 于2021年7月26日周一 上午10:23写道:

> Agree + 1. I'm looking forward to the long-term solution.
>
> JunXu Chen <chenju...@apache.org> 于2021年7月26日周一 上午9:17写道:
>
> > Agree + 1, especially with the Long-term solution.
> >
> > The Manager API did not bring many features but caused many problems due
> to
> > the synchronization of the JSON Schema.
> >
> >
> > On Mon, 26 Jul 2021 at 00:44, Xiran Liu <liuxi...@apache.org> wrote:
> >
> > > Agree, and looking forward to the long term solution, we need a unified
> > > API to operate APISIX, and for dashboard, we only need some data
> > conversion
> > > from service.
> > >
> > > On 2021/07/25 09:37:58, Zhiyuan Ju <juzhiy...@apache.org> wrote:
> > > > Hi, community,
> > > >
> > > > After this discussion is closed, I will create 2 milestones to track
> > > > progress:
> > > >
> > > > - Keep the current functionally compatible with Apache APISIX 2.7 ->
> > > 2.7.1
> > > > - Support the functionality with Apache APISIX 2.8 -> 2.8 (Apache
> > APISIX
> > > > 2.8 is coming soon)
> > > >
> > > > Best Regards!
> > > > @ Zhiyuan Ju <https://github.com/juzhiyuan>
> > > >
> > > >
> > > > Zhiyuan Ju <juzhiy...@apache.org> 于2021年7月25日周日 下午3:39写道:
> > > >
> > > > > Hi, Shyamal,
> > > > >
> > > > > > Any changes to existing APIs should be visible to Dashboard team
> > > > >
> > > > > That's true, and due to the Dashboard is beyond the APISIX, I would
> > > prefer
> > > > > supporting the current APISIX's functionally in the Dashboard, then
> > > > > continuing watching on the status of APISIX, then we could update
> it
> > as
> > > > > soon as possible :)
> > > > >
> > > > > Do there have any other questions? If no, I'm glad to lead this and
> > > take
> > > > > action next week.
> > > > >
> > > > > Best Regards!
> > > > > @ Zhiyuan Ju <https://github.com/juzhiyuan>
> > > > >
> > > > >
> > > > > Shyamal Madura Chinthaka <shyamal.mad...@gmail.com> 于2021年7月23日周五
> > > > > 上午4:19写道:
> > > > >
> > > > >> Hi Zhiyuan Ju et al,
> > > > >>
> > > > >> Adding my 2 cents especially on the long term solution,
> > > > >>
> > > > >> I believe Dashboard should rely on more stable long term supported
> > > APIs
> > > > >> from APISIX. API changes should be version and old version should
> be
> > > > >> deprecated with support for a fair amount of time.
> > > > >> Any changes to existing APIs should be visible to Dashboard team
> in
> > > > >> advanced so that Dashboard team can adopt API changes relatively
> > fast
> > > > >> without delaying until the APISIX release is done.
> > > > >>
> > > > >> However problem should be discussed beyond the dashboard and
> > possible
> > > > >> compatibility issues with APISIX new changes.
> > > > >>
> > > > >> APISIX may have been integrated with other platforms for
> automation
> > > for
> > > > >> things like microservice / low code development platforms (which I
> > > work
> > > > >> with as well) thus immediate incompatibility with any API could
> run
> > > into
> > > > >> obvious issues with other kinds of integration.
> > > > >>
> > > > >> Much Regards,
> > > > >>
> > > > >> Shyamal Madura!
> > > > >>
> > > > >>
> > > > >> On Thu, Jul 22, 2021, 22:06 Zhiyuan Ju <juzhiy...@apache.org>
> > wrote:
> > > > >>
> > > > >> > Hi,
> > > > >> >
> > > > >> > After rethinking this issue, I have the following proposal:
> > > > >> >
> > > > >> > In the current architecture where DP and CP are separated, each
> > > party
> > > > >> needs
> > > > >> > to maintain JSONSchema data. Moreover, when APISIX is upgraded
> > (API
> > > > >> field
> > > > >> > additions and deletions, plugins and their field additions and
> > > > >> deletions),
> > > > >> > Dashboard also needs to finish adapting and releasing new
> versions
> > > as
> > > > >> soon
> > > > >> > as possible, otherwise using a mismatched Dashboard will write
> > data
> > > in
> > > > >> ETCD
> > > > >> > that APISIX may not support and create new problems. Therefore,
> > > global
> > > > >> > hinting in Dashboard is not desirable and does not solve the
> > > fundamental
> > > > >> > problem.
> > > > >> >
> > > > >> > To solve the problem of Dashboard and APISIX adaptation, the
> > > following
> > > > >> plan
> > > > >> > is adopted, divided into 3 phases.
> > > > >> >
> > > > >> > **Phase 1**
> > > > >> >
> > > > >> > The first phase requires a quick solution to the problem in the
> > > > >> following
> > > > >> > way.
> > > > >> > 1. Now, the latest version of Dashboard is 2.7, and the latest
> > > version
> > > > >> of
> > > > >> > APISIX is 2.7.
> > > > >> > 2. Disregard the historical version matching problem and
> deprecate
> > > the
> > > > >> > version matching logic (manually maintaining a Mapper).
> > > > >> > 3. Compare Dashboard 2.7 with APISIX 2.7 and sort out where
> > > Dashboard's
> > > > >> > existing features are inconsistent with APISIX (API fields,
> plugin
> > > > >> schema).
> > > > >> > 4. Update Dashboard to match the existing features with APISIX
> 2.7
> > > and
> > > > >> > release version 2.7.1.
> > > > >> >
> > > > >> > **Phase 2**
> > > > >> >
> > > > >> > The second phase requires enriching Dashboard functionality to
> > match
> > > > >> APISIX
> > > > >> > functionality.
> > > > >> >
> > > > >> > 1. Sort out which APISIX 2.7 features are not implemented in
> > > Dashboard
> > > > >> > 2.7.1, such as Stream Proxy, Service Discovery, etc.
> > > > >> > 2. Update the Dashboard to include the existing features of
> APISIX
> > > 2.7
> > > > >> and
> > > > >> > release version 2.7.2.
> > > > >> >
> > > > >> > **Phase 3**
> > > > >> >
> > > > >> > Phase 3 requires the Dashboard to synchronize the APISIX release
> > > > >> schedule
> > > > >> > and release APISIX with the same version number, e.g., 2.8,
> > within a
> > > > >> > manageable time frame after the release of APISIX.
> > > > >> >
> > > > >> > 1. APISIX milestones are visible in GitHub.
> > > > >> > 2. After APISIX is released, sort out what is different between
> > > APISIX
> > > > >> and
> > > > >> > the previous version, and then adapt it in Dashboard.
> > > > >> >
> > > > >> > **Another Phase (Long-term solution)**
> > > > >> >
> > > > >> > In addition, I have a long-term plan, the current architecture
> is
> > to
> > > > >> > separate DP and CP, and the ManagerAPI in CP does a lot of
> > functions
> > > > >> that
> > > > >> > AdminAPI duplicates, so we might as well deprecate ManagerAPI
> and
> > > turn
> > > > >> > Dashboard into **a pure Web project**, directly accessing
> > AdminAPI,
> > > so
> > > > >> that
> > > > >> > when the data in the Request Body is illegal, AdminAPI will
> return
> > > an
> > > > >> error
> > > > >> > directly. Of course, this requires a more detailed solution
> design
> > > and
> > > > >> is a
> > > > >> > big change.
> > > > >> >
> > > > >> > What do you think?
> > > > >> >
> > > > >> > Best Regards!
> > > > >> > @ Zhiyuan Ju <https://github.com/juzhiyuan>
> > > > >> >
> > > > >> >
> > > > >> > Zhiyuan Ju <juzhiy...@apache.org> 于2021年7月14日周三 下午1:46写道:
> > > > >> >
> > > > >> > > Hi,
> > > > >> > >
> > > > >> > > Currently, Apache APISIX Dashboard and Apache APISIX are two
> > > separate
> > > > >> > > projects (hereinafter referred to as Dashboard and APISIX).
> > > Whenever
> > > > >> > APISIX
> > > > >> > > changes the content (e.g., APIs, API fields, Entity
> definitions,
> > > > >> etc.),
> > > > >> > > Dashboard needs to match the changes and publish a new
> version.
> > > > >> > >
> > > > >> > > Because the Apache APISIX Dashboard's version number is not
> the
> > > same
> > > > >> as
> > > > >> > > Apache APISIX, then users get confused when using the
> Dashboard,
> > > so I
> > > > >> > draft
> > > > >> > > a proposal to support showing incompatible information more
> > > clearer on
> > > > >> > the
> > > > >> > > Dashboard.[1]
> > > > >> > >
> > > > >> > > Due to there have some prototypes I made, so I put them in the
> > > GitHub
> > > > >> > > issue[1], looking forward to your feedback!
> > > > >> > >
> > > > >> > > [1]
> > > > >> > >
> > > > >> >
> > > > >>
> > >
> >
> https://github.com/apache/apisix-dashboard/issues/1944#issuecomment-879607016
> > > > >> > >
> > > > >> > > Best Regards!
> > > > >> > > @ Zhiyuan Ju <https://github.com/juzhiyuan>
> > > > >> > >
> > > > >> >
> > > > >>
> > > > >
> > > >
> > >
> >
>

Reply via email to