This is an SBT plugin that, given an AWS CloudFormation file, spins up a local AWS environment running in Docker, and creates the required resources.
Watch motivation and intro to plugin here
Before running remember to configure the AWS credentials.
Just run aws configure
and provide some dummy values. They will be used by the
localstack image.
To use the plugin, just add it to your plugins.sbt
file:
resolvers += Resolver.bintrayIvyRepo("marialiviach", "sbt-plugins")
addSbtPlugin("marialivia.ch" % "sbt-local-aws" % "0.1.0")
In your build.sbt
add:
lazy val exampleWithPlugin = (project in file("example-with-plugin"))
.enablePlugins(LocalAwsPlugin)
.settings(
name := "example-with-plugin",
localAwsCloudformationLocation := (Compile / resourceDirectory).value / "cf.yml",
localAwsStackName := "my-test-stack"
)
localAwsCloudformationLocation
= path to the cloudformation yml file. When parsing the CloudFormation yaml file, the plugin uses default values for any parameter substitution. If no default value is found an error will be returned.localAwsStackName
= the name of the stack that will be created.
localAwsStart
= starts the required services in Docker using the localstack image, and creates the resources from the cloudformation file.localAwsStop
= stops the Docker container running localstack.
Contributions to this plugin are welcome!
For pull requests, please follow the guideline in CONTRIBUTING.md
More support to follow.
This version of sbt-local-aws
is released under the Apache License, Version 2.0 (see LICENSE.txt).