pup.cloud Download components - web frontend - message queue + k/v store (redis) - task processor(s) web frontend: ? python+flask+rq+openid or saml ? perl+dancer+minion+openid or saml public routes: - GET / -> 302 pup.cloud Identify - POST /callback/auth -> finish authorising user session private routes: - GET / -> 200 index - GET /add -> 200 add_page api routes: - GET /api/v1/queue -> 200 queue_list (application/json) (list queue) - PUT /api/v1/queue -> 200 queue_list (application/json) (add item to queue, return ID) - GET /api/v1/queue/{:id} -> 200 item_info (application/json) (list information about a specific job) - DELETE /api/v1/queue/{:id} -> 200 success_deleted (application/json) (delete a specific task) - GET /api/v1/queue/state -> 200 queue_state (application/json) (current state of the application) - PUT /api/v1/queue/state -> 200 transition_state (application/json) (set a new state for the application) - GET /api/v1/id/logout -> 302 pup.cloud Identify SLO - GET /api/v1/id/user -> 200 userdata (application/json) (list basic user information)