🍻 Just in time for Summer, QUADS 2.0 is here after a year of concurrent development alongside the 1.1 series. QUADS 2.0 is a major evolution in the architecture and design of QUADS, featuring the complete move from CherryPy to Flask, MongoDB to SQLAlchemy/Postgresql and incorporating our long-awaited APIv3.
About 2.0
APIv3 offers a fully open, RESTful JSON API with RBAC model and token auth to enable and empower near limitless tenant automation and new features that are on the horizon such as self-scheduling and our “Providers” framework for expanding and managing QUADS resources into abstracted and seamless hybrid cloud landscapes.
QUADS 2.0 is a substantial major version release and complete architecture and design revamp
Major Feature Highlights
- New APIv3 with token auth for protected calls
- Full move to Flask and a Postgresql database backend via SQLAlchemy
- QUADS is now broken out into three services: quads-server, quads-web and quads-db
- Removal of python3-wordpress-xmlrpc, it’s now done via native Python
- Incorporation of gunicorn and separate flask listeners/services for quads-web and quads-server
- Replacement of Apache with Nginx for reverse proxy of API and services
- Major QUADS service commands are now called directly from the CLI rather than tools
- Massive unit test coverage of nearly 100% across the codebase
- Enormous refactoring and overhaul of database structure and schema
Full Change List
- A full list of changes can be found here
Development Statistics
- 85 x peer-reviewed Gerrithub patchsets
- 523 x unit tests added
- 247 changed files with 24,850 additions and 6,627 deletions
- Over 128 x Github issues closed (RFE and bugs)
- This is the 14th release of QUADS since 23-June 2016 when 1.0 was released
Please see the Breaking Changes and Migrations section of the Github release notes for information on migrating from a QUADS 1.1 series deployment to QUADS 2.0