bradshjg / flask-githubapp

Flask extension for rapid Github app development in Python, in the spirit of probot (https://probot.github.io/)
MIT License
56 stars 14 forks source link

Support AWS Lambda Deployment #11

Closed bradshjg closed 3 years ago

bradshjg commented 4 years ago

While it's not too difficult to wrap the app in https://github.com/slank/awsgi or similar for Lambda deployment, first-class support could be handy...especially docs/tooling (hopefully very thin tooling) to support deployment.

The API should be GitHubApp.lambda_handler(event, context) and should probably return the same (un-jsonify-ed) response.

Edit: Now I'm not sure if the api should be public...it doesn't really need to be 😕 ...ohhhh and I'm also completely ignoring secrets management. I don't want to have an opinion on it...but for non-sensitive apps a GUI walkthrough using Lambda env vars should be pretty straightforward. Folks can handle it however they want outside that.

bradshjg commented 3 years ago

Looking back on this I'm curious if a lot of the use cases for github apps have been subsumed by github actions. With current eyes I'm less inclined to specialize this codebase for Lambda deployment and more inclined to make it more generic and separate some of the flask-iness while keeping the spirit (namely easy event/action -> function with payload context and credentialed client). I'm curious if there might be value in a framework for action development. Really should look at some prior art first though :-)

Edit: GitHub has a good breakdown of actions vs. apps

I don't see the philosophy of this project being especially useful for github actions given good support for workflow templates. My original thought was that we could leverage some central "super-action" that defines a DSL for configuration kinda in the spirit of how wolox-ci attempts to create an opinionated layer on top of Jenkins. That's a whole other project though...but maybe one worth prototyping 🤓