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