a Scala/sbt AWS Lambda Toolkit
Chuckwagon no longer actually works. For scala lambda deployments another option is Conan.
Chuckwagon is a Scala/sbt AWS Lambda Toolkit. It makes creating and maintaining Continuous Delivery pipelines typesafe and declarative.
Complete introductory guides and reference documentation available on the website,
Add the following to your project/plugins.sbt
file:
addSbtPlugin("com.itv.chuckwagon" % "sbt-chuckwagon" % "0.1.0")
Here is an example of the most basic possible configuration in your build.sbt
:
enablePlugins(ChuckwagonPublishPlugin)
chuckRegion := "<AN_AWS_REGION_EG_-_eu-west-1>"
chuckPublishConfig := chuckPublishConfigBuilder
.withName("<THE_NAME_YOU_WANT_FOR_YOUR_LAMBDA>")
.withHandler("<FULLY_QUALIFIED_CLASS::METHOD>")
.withMemorySizeInMB(192)
.withTimeout("5 seconds")
.withStagingBucketName("<THE_S3_BUCKET_WHERE_CHUCKWAGON_WILL_UPLOAD_YOUR_CODE")
.withCodeFile(assembly)
In order to execute Chuckwagon Tasks with this configuration, you will need AWS Credentials with read and write access to EC2, IAM and Lambda. The Getting Started Guide has more details on one way of configuring this.
Here is an example of the most basic possible usage of Chuckwagon:
chuckPublishSnapshot
- Will create/update your AWS Lambda
Complete documentation is available on the Chuckwagon website:
Chuckwagon is free to use under the ITV OSS Licence (a derivative of the Apache License, Version 2.0).