taskcluster/task-graph-scheduler — pull request #3 by jonasfj (2014-07-31 21:34:42+00:00)
Title: Remove parameterization

This updates a lot of small things in the task-graph scheduler, in particular:

* Uses new queue end-points
* Uses delegation to authorize requests on the queue
* Adds lots of new tests
* Tests against production queue, but with dummy worker and very limited scope
* Allows/requires poster to define `taskGraphId` and `taskId`
* Removes parametrization
* Only prefixes task-specific routing keys with `.`, this used to also include the task-graph specific routing key. But people can do that if they want it...

**Notice** when posting a task-graph the task-graph has a set of scopes... The poster must have a subset of these scopes... And each task of the task-graph must have a subset of these scopes. Including the scope required to define the tasks (ie. `queue:put:define-task:/`).

The scope required to schedule tasks on the queue (`queue:put:schedule-task:/`) is provided by the task-graph scheduler. So untrusted tasks a task-graph can only define tasks, not schedule them. But technically we should probably reconsider this..
I'll file a bug for further discussions... it's a minor hack on the queue.