/localstack-cloud-pods-blogpost-demo

Demo repository meant to highlight the Cloud Pod functionality of LocalStack

Primary LanguageJavaApache License 2.0Apache-2.0

Cloud Pods Demos

Environment
Services Amazon S3, Lambda, DynamoDB, SNS, SQS
Integrations AWS SDK, Terraform, AWS CLI, Cloud Pods
Categories Spring Boot, Testcontainers
Level Intermediate
Works on LocalStack v3

Purpose

This repository is meant to support the Cloud Pods blog post.

Architecture Overview

Diagram

Prerequisites

To run this sample you will need:

Cloud Pods

To better understand everything about state management in LocalStack please refer to the dedicated documentation section: https://docs.localstack.cloud/user-guide/state-management/.

Quick Setup

You can refer to the original repository for more information on how to run the full sample: https://github.com/localstack-samples/sample-shipment-list-demo-lambda-dynamodb-s3.

For the quick version, follow these steps:

  • cd shipment-picture-lambda-validator
  • mvn clean package shade:shade
  • in the root folder docker compose up
  • cd terraform (don't forget to install tflocal: pip install terraform-local)
  • tflocal init
  • flocal plan
  • flocal apply --auto-approve

Now you should have all your resources created in your LocalStack instance.

Saving the snapshot

You'll need your Auth Token:

export LOCALSTACK_AUTH_TOKEN="YOUR_AUTH_TOKEN"

To save your remote cloud pod:

localstack pod save <pod_name>

To save your instance’s state locally:

localstack state export <my-state>

Further reading