Api Based Layout

Registered by Jamie Lennox

Keystone has grown from v2 to v3 more than it was ever planned. One of the results of this is that concepts that are present in both v2 and v3 have been lumped together and it can be quite non-intuitive to trace what code is being called from what apis and api versions.

We already somewhat have the concept of models and controllers, they are however grouped by the conept they underpin (eg identity) rather that the URI they represent (eg Users). This is very much mixing the backend with the view layer.

I propose we start following a similar layout to other projects. In the root of the directory we have an api folder which will contain a v2.0 and v3 folder and will as closely as possible represent the structure of the URLs. Backends (generally identified by {name}_api eg token_api) will stay in there current top level folders and be imported as required into the controllers.

The introduction of Pecan will help with this as it lends itself to such a layout (and we are not looking for a new API version in the foreseeable future to do this rollover).

Blueprint information

Status:
Complete
Approver:
None
Priority:
Not
Drafter:
Jamie Lennox
Direction:
Needs approval
Assignee:
Jamie Lennox
Definition:
Obsolete
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
Morgan Fainberg

Related branches

Sprints

Whiteboard

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.