jvm

A framework for writing and deploying Scala AWS Lambda Functions

License

License

GroupId

GroupId

com.itv.chuckwagon
ArtifactId

ArtifactId

chuckwagon-jvm_2.12
Last Version

Last Version

0.1.3
Release Date

Release Date

Type

Type

jar
Description

Description

jvm
A framework for writing and deploying Scala AWS Lambda Functions
Project URL

Project URL

http://io.itv.com/chuckwagon/
Project Organization

Project Organization

com.itv.chuckwagon
Source Code Management

Source Code Management

https://github.com/itv/chuckwagon

Download chuckwagon-jvm_2.12

How to add to project

<!-- https://jarcasting.com/artifacts/com.itv.chuckwagon/chuckwagon-jvm_2.12/ -->
<dependency>
    <groupId>com.itv.chuckwagon</groupId>
    <artifactId>chuckwagon-jvm_2.12</artifactId>
    <version>0.1.3</version>
</dependency>
// https://jarcasting.com/artifacts/com.itv.chuckwagon/chuckwagon-jvm_2.12/
implementation 'com.itv.chuckwagon:chuckwagon-jvm_2.12:0.1.3'
// https://jarcasting.com/artifacts/com.itv.chuckwagon/chuckwagon-jvm_2.12/
implementation ("com.itv.chuckwagon:chuckwagon-jvm_2.12:0.1.3")
'com.itv.chuckwagon:chuckwagon-jvm_2.12:jar:0.1.3'
<dependency org="com.itv.chuckwagon" name="chuckwagon-jvm_2.12" rev="0.1.3">
  <artifact name="chuckwagon-jvm_2.12" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.itv.chuckwagon', module='chuckwagon-jvm_2.12', version='0.1.3')
)
libraryDependencies += "com.itv.chuckwagon" % "chuckwagon-jvm_2.12" % "0.1.3"
[com.itv.chuckwagon/chuckwagon-jvm_2.12 "0.1.3"]

Dependencies

compile (8)

Group / Artifact Type Version
org.scala-lang : scala-library jar 2.12.2
com.lihaoyi : fansi_2.12 jar 0.2.3
com.amazonaws : aws-lambda-java-log4j jar 1.0.0
io.circe : circe-core_2.12 jar 0.7.1
io.circe : circe-generic_2.12 jar 0.7.1
io.circe : circe-parser_2.12 jar 0.7.1
org.slf4j : slf4j-api jar 1.7.25
org.slf4j : slf4j-log4j12 jar 1.7.25

provided (3)

Group / Artifact Type Version
com.lihaoyi : acyclic_2.12 jar 0.1.7
com.amazonaws : aws-lambda-java-core jar 1.1.0
com.amazonaws : aws-lambda-java-events jar 1.3.0

test (1)

Group / Artifact Type Version
org.scalatest : scalatest_2.12 jar 3.0.1

Project Modules

There are no modules declared in this project.

Join the chat at https://gitter.im/itv/chuckwagon

Chuckwagon

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,

http://io.itv.com/chuckwagon/

Installation

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.

Usage

Here is an example of the most basic possible usage of Chuckwagon:

chuckPublishSnapshot - Will create/update your AWS Lambda

Features

Documentation

Complete documentation is available on the Chuckwagon website:

http://io.itv.com/chuckwagon/

Licence

Chuckwagon is free to use under the ITV OSS Licence (a derivative of the Apache License, Version 2.0).

com.itv.chuckwagon

ITV plc

Versions

Version
0.1.3
0.1.2
0.1.1
0.1.0