Proposal: Support Spinnaker Deployments to S3, Lambda, and More
Aug 22, 2017 by Ben Mappen
We’ve heard from many companies that they want to use Spinnaker to deploy S3 artifacts and Lambda functions. That functionality does not exist out-of-the-box within Spinnaker today, and so most folks use a Jenkins job or Terraform to accomplish those tasks. Armory has a plan to add support for S3, Lambda, and other stages as first-class citizens.
Here’s how it will work:
- There is a Webhook stage that was introduced recently by Gard at Schibsted.
- The Webhook stage allows you to call an endpoint with a payload inline within a pipeline
- Armory plans to extend the Webhook stage to allow you to pass authentication info (username and passwords). This will open up a variety of new use cases, including:
- Deploy artifacts to S3
- Deploy Lambda functions
- Update a Github status (ie. when you make a new PR you can say: “Deployed to Staging -> Success”)
- Executing CloudFormation scripts as a stage
- Within your Orca config file, you can specify the specific properties of these stages. You can name a stage “S3” or “Lambda” instead of simply “Webhook”.
- Here’s an example pipeline flow:
- Jenkins builds the artifact then triggers a spinnaker pipeline.
- There will be an abstracted webhook stage that has been predefined in the orca yaml for ingesting the artifact from jenkins.
- Then there will be another predefined webhook stage for delivering it to S3/lambda/etc
We’d love your feedback on this approach. Please fill out the form below if you’d like to learn more. It would also be very helpful if you could tell us how urgent of a problem this solves so that we can prioritize the work accordingly.