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