Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move from SimpleHTTPServer to CherryPy #140

Closed
sadsfae opened this issue Sep 6, 2017 · 5 comments
Closed

Move from SimpleHTTPServer to CherryPy #140

sadsfae opened this issue Sep 6, 2017 · 5 comments

Comments

@sadsfae
Copy link
Member

sadsfae commented Sep 6, 2017

Using SimpleHTTPServer simple wsgi Python libraries was good enough for a bare-bones JSON API but we're really hitting the constraints of it.

Sooner than later we need to dropship everything CherryPy. This also paves the way for having a proper self-service / UI as well.

Some basic, immediate benefits would be:

  • integrated unit testing support
  • RESTful request dispatching
  • uses Jinja2 templating
  • varied ODM integration
  • thread pooling
  • sessions, authentication

The following bug fixes or issue are evident of this need:

#109
#139
#22

@sadsfae sadsfae added this to the 1.1 milestone Sep 6, 2017
@sadsfae
Copy link
Member Author

sadsfae commented Nov 3, 2017

Adding some more detail here, this will ultimately pave the way for a gen-2.0 architecture to include:

  • Replacing cron and all event-driven actions with celery
  • Replace flat-file struction with sqlite
  • Replace schedule.yml with sqlite

I have created a 2.0 milestone RFE here:

#156

@geekodour
Copy link

@sadsfae I would like to work on this,
regarding issues #109, #139, #22 .

As far as I can see the SimpleHTTPServer implemented in bin/quads-daemon so in the forked branch have to start from the here right?

Also for #156 (Migrating to celery) this has to be implemented first, i guess?

@sadsfae
Copy link
Member Author

sadsfae commented Mar 5, 2018

Hey @geekodour we'd ideally do this in manageable stages across several fronts but it will most likely look like this:

  • Move from SimpleHTTPServer to Flask - Milestone 1.1
  • Move from flat-file management to sqllite - Milestone 1.1
  • Create a quads-ng branch and work on moving to a gen 2.0 architecture
    • Move to celery / rabbitMQ type backend
    • Have a working, functional Flask UI with auth & feature parity with quads-cli
  • quads-ng becomes the new master branch - Milestone 2.0
  • old master branch becomes quads-legacy

There's a few individual RFE's open as well as milestones mapped to cover all of this. It will be quite an undertaking so it's easier to tackle in phases.

@sadsfae sadsfae added the ready label Mar 21, 2018
@sadsfae sadsfae changed the title Move from SimpleHTTPServer to Flask Move from SimpleHTTPServer to CherryPy Apr 16, 2018
@sadsfae
Copy link
Member Author

sadsfae commented Apr 19, 2018

Update here, this is currently a WIP ala @Dradez work here:

radez@47eb97d
https://github.com/radez/quads/tree/cherrypy

When we've fully tested this it will be come a Gerrit patchset.

This is a precursor to this change as well (related, expanding upon move to CherryPy)

#156

@sadsfae
Copy link
Member Author

sadsfae commented Mar 4, 2019

This is completely implemented now in the 1.1 codebase, which is currently the master branch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants