Api Based Layout
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
- Started by
- Completed by
- Morgan Fainberg
Related branches
Related bugs
Sprints
Whiteboard
Work Items
Dependency tree
* Blueprints in grey have been implemented.