David Cramer
David Cramer
Sorry not separate apps, but extensions (which get bound to the app). If you imagine something like app.state['authprovider'] = current provider. The simple version is just: ``` class Ext(object): def...
@nickbruun It's a pattern I've seen in various Flask extensions. I don't quite recall which ones off hand, and there might be better ways. That said, you could approach it...
In all files can you ensure the following exists at the top: ``` from __future__ import absolute_import ```
In general this looks good. Theres a few pep8 things I can clean up (i.e. import orders) but its nbd. When I have time I'll pull this down and give...
(I'm assuming this isnt supported in the code, but didnt check) IMO it makes sense to allow a per-repo key to be stored. That said, the simplest way to do...
I think the stack can be virtual. For example: - We have a "Revoked SHAs" mapping that says "these should not be deployable - When REF goes to deploy, it...
Why can we not use git log?
Per conversation over Slack: - Enqueue a job for REF - Queue has uniqueness on REF + APP + ENV - When job pops from queue to run it resolves...
I think for a simple approach (to avoid rewriting too much) we should do this atm: - Add a 'queued' state. This is ensure we have a state between "im...
Changing behavior to resolve the SHA _after_ it enters the queue is surprisingly complicated. It means no longer can you get synchronous feedback of "this build is failing". We could...