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