Please answer these questions before submitting your issue.
As title said
POST /routes
DELETE /routes/:id
PUT /routes/:id
GET /routes
GET /routes/:id
GET /notexist/routes
GET /names/upstreams
POST /upstreams
DELETE /upstreams/:id
PUT /upstreams/:id
GET /upstreams
GET /upstreams/:id
POST /ssls
DELETE /ssls/:id
PUT /ssls/:id
GET /ssls
POST /check_ssl_exists
PATCH /ssls/:id
POST /consumers
DELETE /consumers/:id
PUT /consumers/:id
GET /consumers
GET /consumers/:id
POST /user/login
@nic-chen Please take a look at above APIs which are related with MySQL? Then you can remove others directly by editing the second comment.
if routeGroup merged, there are some routeGroup apis here: @juzhiyuan @nic-chen
Create
POST /routegroups
Delete
DELETE /routegroups/:gid
Update
PUT /routegroups/:gid
Fetch List
GET /routegroups
Fetch Detail
GET /routegroups/:gid
Fetch name List
GET /names/routegroups
Check route group exit
GET /notexist/routegroups
cc @gxthrj @nic-chen
I have updated https://github.com/apache/apisix-dashboard/issues/434#issuecomment-686153897
Note that we need to implement the features using by relational database currently:
cc @bzp2010 @gxthrj @moonming @membphis @ShiningRush @tiannian @LiteSun
Fine, I will make a simple design image about watching ETCD in this week.
BTW: I have read the code of manager API, but I do not see any code about RBAC, is the feature still not implement?
@ShiningRush
We could refactor the current code first, and then implement other features step by step.
I drew a picture to show how the underlying components work together

This is a bit like the design of k8s apiserver, but it simplifies a lot of details.
Here are the responsibilities of each component:
Handler: handle the requests,each handler will have a their own store which is created from GenericStoreGenericStore: this component is responsible for common logic, such as maintaining memory-based etcd copies, queries, etc.Etcd3Storage: responsible for the operation of etcd, used to decouple GenericStore and persistent components, to facilitate unit testing and expansion@nic-chen @juzhiyuan @membphis @moonming
If there is no doubt about the design details, I will implement it for ManagerAPI recently.
If there is something unclear, we can hold a meeting to discuss it.
Just waiting for other teammates' response :D
LGTM.
GenericStore, do we implement it, or there are some ready-made component recommended ?
We implement it,I do not find any libs can helps us.
But our case it not complex, so it will not take many works.
I drew a picture to show how the underlying components work together
This is a bit like the design of k8s apiserver, but it simplifies a lot of details.
Here are the responsibilities of each component:* `Handler`: handle the requests,each handler will have a their own store which is created from `GenericStore` * `GenericStore`: this component is responsible for common logic, such as maintaining memory-based etcd copies, queries, etc. * `Etcd3Storage`: responsible for the operation of etcd, used to decouple GenericStore and persistent components, to facilitate unit testing and expansion@nic-chen @juzhiyuan @membphis @moonming
If there is no doubt about the design details, I will implement it for ManagerAPI recently.
If there is something unclear, we can hold a meeting to discuss it.
We can discuss in an online meeting, and then synchronize the results here
BTW: I have read the code of manager API, but I do not see any code about RBAC, is the feature still not implement?
@ShiningRush Yeap, RBAC has not been implemented yet.
@moonming @ShiningRush Could you please set a milestone here?
cc @bzp2010
@ShiningRush @juzhiyuan Just as a reminder, APISIX itself is using API v2 to interactive with etcd, meanwhile this new design seems that API v3 would be adopted in Manager. This will lead to no data could be shared between APISIX and Manager. I did not see any discussions about this(maybe I missed something 😄 ), so I was wondering if we have already deliberated on that? Thank you all.
need @membphis @moonming 's help to address your question 😂
APISIX will change to etcd v3 at the same time, there is already a pr in
apisix repo.
琚致远 notifications@github.com 于 2020年9月8日周二 下午7:38写道:
need @membphis https://github.com/membphis @moonming
https://github.com/moonming 's help to address your question 😂—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/apache/apisix-dashboard/issues/434#issuecomment-688810818,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGJZBK4WZUYV5IMAZVUAE4DSEYJSVANCNFSM4QRVIHQQ
.
@imjoey GenericStore just depend on a storage interface, so we can also implement etcdv2storage if we need
@imjoey
GenericStorejust depend on a storage interface, so we can also implement etcdv2storage if we need
@ShiningRush OK, thanks for your point.
APISIX will change to etcd v3 at the same time, there is already a pr in apisix repo. 琚致远 notifications@github.com 于
@moonming yeah, that would be really great! Thanks.
@bzp2010 @gxthrj @moonming @membphis @ShiningRush @tiannian @LiteSun
GenericStore has already completed.I write a demo about how to use it in internal/handler/route/route.go
I found some project problems, listed below:
We can hold a meeting to discuss how to carry out the next task
@ShiningRush Could you please leave the result about the last meeting here?
The key points of the meeting are as follows:
got it ping @moonming
LGTM
Thanks,
Ming Wen
Twitter: _WenMing
琚致远 notifications@github.com 于2020年9月11日周五 下午3:24写道:
got it ping @moonming https://github.com/moonming
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/apache/apisix-dashboard/issues/434#issuecomment-690924953,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGJZBK6YLNTSXIHA36TYOQTSFHGB3ANCNFSM4QRVIHQQ
.
Any update?
TODO according to today's meeting.
Most helpful comment
@bzp2010 @gxthrj @moonming @membphis @ShiningRush @tiannian @LiteSun
GenericStorehas already completed.I write a demo about how to use it ininternal/handler/route/route.goI found some project problems, listed below:
We can hold a meeting to discuss how to carry out the next task