Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

APISIX Dashboard V3 Roadmap #2353

Open
bzp2010 opened this issue Mar 1, 2022 · 1 comment
Open

APISIX Dashboard V3 Roadmap #2353

bzp2010 opened this issue Mar 1, 2022 · 1 comment

Comments

@bzp2010
Copy link
Contributor

bzp2010 commented Mar 1, 2022

Background

Apache APISIX has released a roadmap for version 3.0, and as a counterpart to this, I am also releasing the roadmap for the dashboard here. In the new dashboard, we will implement better compatibility with APISIX, simpler deployment methods, and will also improve issues that existed in the previous version.

Objectives

Easier to use, better experience.

Past problems

There are many problems for user.

  • Unreasonable operating logic
  • Some features are not supported (just like plugin_metadata)
  • Less reliable storage capabilities (although being a stateless application can be solved by rebooting)
  • Differences behavior from APISIX Admin API

And some for developer.

  • Difficult to develop and also to migrate between versions
  • Unable to support new features in older versions (it corresponds one-to-one with APISIX version)
  • Overly complex code architecture (data storage layer, multi-layer middleware, duplicate implementations of handlers)
  • Poor support for custom plugins for APISIX (need to update the schema file manually, it's really hard)

From now

We want to improve the problem in the new version, or at least part of them.

We will improve one of the root causes of the current complexity, the "Manager API", which makes some things complicated. When I learned that APISIX V3 will improve the Admin API, I learned that we can use it directly in Dashboard, in a proxy-based way. This is the most important change we have made in this version.

At the same time, we may also make changes to the project versioning system to better help users interface with APISIX (TBD).

Roadmap

Here are the features about what we are going to implement in this version and the features to be discussed. Only a rough description is provided here, no details about the implementation are available.

Content Category Priority Description Status
Manager API simplify
- remove complex storage layer implementations
- reduce overall complexity
core High
Frontend operation experience
- goal-oriented resource control
- more image of consumer and service control
- support full function UI configuration
core High
Multi-version support
- support for APISIX migration on upgrade
core High Maybe use data-driven form generation UI
Data Storage
- store dashboard only data
core High Store content such as settings, authentication, etc.
OpenAPI Import and Export Support extension
dev
High
Plugin Orchestration
- Graphical design plugin flow
extension
dev
Low
Custom Plugin Support
- support add plugin on UI
- support generating forms for user-defined plugins
core Middle
Scalable Architecture Design
- API specification for secondary development
extension
dev
Middle Provide interface to support identity authentication, local data storage of replaceable design
The following is note, no plan for now
External authentication / permissions extension None
Operation logging / audit extension None
Multi-Cluster Support
- supports configuration of multiple Admin API endpoints + token
extension None
Data Rollback
- record old version data and support setting back
extension None

Other

If you have any suggestions or questions about this, you can communicate them in a discussion thread or mailing list that will be started later.

@apache apache locked as too heated and limited conversation to collaborators Mar 1, 2022
@bzp2010 bzp2010 pinned this issue Mar 1, 2022
@bzp2010
Copy link
Contributor Author

bzp2010 commented Mar 1, 2022

Discuss thread: #2354

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant