5 ms·
We actually use this library to provide the ability to "one-click" share projects in Refinery. It works really well (except in Incognito)! If you go to this[0]
by freeqaz 6y ago
We actually use this library to provide the ability to "one-click" share projects in Refinery. It works really well (except in Incognito)!
If you go to this[0] link, you'll see a bunch of nodes in a graph. Each one represents an AWS Lambda that will be deployed (and an API endpoint). The edges between are "microservice" calls between Lambdas that get configured with the deploy too.
That's all coming from a Git repo here[1].
And if you edit the project by adding more blocks, it will actually push a commit to Git (if you're signed up and auth'd GitHub). Each block is just a folder, and the "project" is a YAML file. We have a bi-directional "compiler" that lifts/drops the project in either direction.
This library made it super easy to ship this. We tried using the server first and it was a huge pain. We just had to setup a GitHub proxy to make this work. It's stateless now (your browser does the work) :)
0: https://app.refinery.io/import?q=pq4rsai019bm https://app.refinery.io/import?q=pq4rsai019bm
1: https://github.com/freeqaz/gensim-refinery https://github.com/freeqaz/gensim-refinery
- kasbah 6y agoVery interesting, do you have any more details about how this works? Does a user effectively `git push` to your Github proxy from the browser?
- freeqaz 6y agoYeah, exactly. The proxy is a part of Isomorphic-git. You're basically just using git via HTTPS. The proxy just injects the GitHub oauth token into the request (and handles the CORS problem of GitHub).