Skip to content

SBT Plugin to help with running AWS dependencies locally

License

Notifications You must be signed in to change notification settings

marialivia16/sbt-local-aws

Repository files navigation

sbt-local-aws

Download CircleCI

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

Prerequisites

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.

Importing

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")

Configuration

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.

Commands

  • 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.

Contributing

Contributions to this plugin are welcome!

For pull requests, please follow the guideline in CONTRIBUTING.md

More support to follow.

License

This version of sbt-local-aws is released under the Apache License, Version 2.0 (see LICENSE.txt).

About

SBT Plugin to help with running AWS dependencies locally

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages