mweagle / Sparta

go microservices, powered by AWS Lambda
https://gosparta.io
MIT License
717 stars 48 forks source link

Support for generating lambda archives to be deployed via other processes #37

Closed jdonboch closed 7 years ago

jdonboch commented 7 years ago

What are your thoughts on supporting an option during provision (or a different command) that will have Sparta build the Lambda functions and output them to your local filesystem so that they can be package and deployed via other mechanisms outside of Sparta?

I am working in a situation where we are required to use a specific deployment tool and would like to integrate Spara-built lambda functions into our automation. In our situation, it is not acceptable to have another tool generate the cloudformations/roles and perform the deployments. We have a different process for managing those types of resources and packaging them up into our deployment automation tool.

mweagle commented 7 years ago

Hi @jdonboch - I can see how that could be useful. Are you looking for just the ZIP archive that contains the JS shims & Go binary?

jdonboch commented 7 years ago

@mweagle yes, i see that the archives are placed on the local file system but i was trying to figure out if there was a way to just generate those and not proceed with the rest of the deployment steps.

As of the last day or two, I am just getting familiar with the Go Lambda ecosystem, it seems like most tools provide functionality to handle deployment management and my use case is much simpler. I was not familiar with some of the other tools such as xlab/go-lambda or jasonmoo/lambda_proc when I initially posted this question, maybe trying to use Sparta for this use case is overkill. It looks like you've borrowed concepts for lambda_proc, maybe I can use that to gain some perform benefits and just roll my own shim generation which is really all that I need. I was just looking to leverage some of the lessons learned from other tools that generate shims for golang and not re-invent the wheel.

mweagle commented 7 years ago

The upcoming 0.10.0 release orphans the build artifacts in a ./sparta subdirectory iff the -n/--noop command line argument is defined. These are stable names (documentation pending) and could be used for an alternative CI system.

mweagle commented 7 years ago

Available in https://github.com/mweagle/Sparta/releases/tag/0.10.0

I'll update http://gosparta.io with more details.