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> >> > > >> > >> >