Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 619a147
Showing
1 changed file
with
32 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
1. MVP | ||
|
||
- basic REST-y framework build on top of twisted.web | ||
- basic validation for input data (argument types, etc.) | ||
- use introspection and magic to build most of the functionality, no copy and paste! | ||
- basic auth mechanism - user sends provider credentials in X header with every request | ||
- for now use threads.deferToThread when calling libcloud methods | ||
- API versioning based on the libcloud release version | ||
- Support for compute API | ||
|
||
2. Support for provider specific arguments and methods (ex_foo) | ||
|
||
- parse / introspect docstrings to figure out provider specific methods + arguments and their types | ||
- hook it up with the rest of the system | ||
- discovery of provider capabilities through an endpoints | ||
|
||
3. Pluggable caching & better auth mechanism | ||
|
||
- Pluggable caching system (file, memory, memcache, redis, ...) | ||
- Cache credentials, session id,... | ||
- Cache provider responses | ||
|
||
4. Support for other APIs: | ||
|
||
- DNS | ||
- Load balancers | ||
- Storage (might be a bit tricky because of upload and download functionality) | ||
|
||
5. Other | ||
|
||
- auto-generate clients in different languages | ||
- libcloud driver for libcloud.http (meta, baby!) |