| Hey HN, Eleven is the second project that I've built to learn Go. It lets you create a code sandbox in your cloud provider account easily. What's a "code sandbox"? Just a VM, running in your cloud provider account, with some runtimes pre-installed, your repositories cloned, a way to connect to it with your preferred editor (or via SSH) and a way to serve your apps easily via HTTP (with automatic HTTPS). You could use it to deploy your app, as a remote development environment or even to test some code. It's up to you. For example, to deploy a Node.JS app: $ eleven aws init hello-world --runtimes node@18.7.0 --repositories eleven-sh/hello-world > Success! The sandbox "hello-world" was initialized. $ ssh eleven/hello-world forever node index.js > Forever: command started. Run "forever stop" in current path to stop. $ eleven aws serve hello-world 8000 --as hello.eleven.sh > Success! The port "8000" is now reachable at: https://hello.eleven.sh $ curl https://hello.eleven.sh > Hello World Still learning Go by the way, so I'm open to any suggestions to improve. |
Please don't mandate the use of static AWS credentials; the aws sdk is capable of abstracting away all those gory details for you, including allowing someone to use those env-vars if they really want, but forcing them is a headache for an organization that uses AssumeRole (or its friends) for everything: https://github.com/eleven-sh/cli/blob/v0.0.4/internal/cloudp...
I wasn't readily able to find the Route53 logic; how are those "serve --as" domains created/updated?