User feedback in System’s Initiative’s GitHub repository requested support for LocalStack. LocalStack is a fully functional local cloud stack allowing you to drive your AWS infrastructure locally. Localstack saves users time and money. Today, we’re happy to announce that the integration is available.
LocalStack emulates a number of the AWS services available and allows you to test out your infrastructure management locally without the need to have an AWS account. This means you can see how System Initiative works as well as being able to start authoring your own System Initiative assets for your own AWS use cases.
Getting started is easy. You can follow the LocalStack installation guide to get a copy of LocalStack running. Here’s how to do that via a docker container:
$ docker run \
--name localstack \
--rm -it \
-p 4566:4566 \
-p 4510-4559:4510-4559 \
localstack/localstack
This will start localStack for you on http://0.0.0.0:4566. You need to get the IP address for the LocalStack instance. You can do this using the docker CLI:
$ docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' localstack
That gives you an IP address of something like 172.17.0.2
. You can use LocalStack with the System Initiative Launcher to talk to that Localstack instance. When you start System Initiative (SI) with the launcher, you can provide it with some credentials. You can force the system to configure those credentials using the command:
$ si configure -f
When it prompts you for the AWS Access Key ID and AWS Secret Access Key, you can set a test value, test
.
When you launch System Initiative and create some components on the canvas, you can see logs in the LocalStack container as follows:
2023-10-24T13:59:57.212 INFO --- [-functhread6] hypercorn.error : Running on https://0.0.0.0:4566 (CTRL + C to quit)
2023-10-24T13:59:57.212 INFO --- [-functhread6] hypercorn.error : Running on https://0.0.0.0:4566 (CTRL + C to quit)
2023-10-24T13:59:57.293 INFO --- [ MainThread] localstack.utils.bootstrap : Execution of "start_runtime_components" took 606.24ms
Ready.
2023-10-24T14:03:53.851 INFO --- [ asgi_gw_0] localstack.request.aws : AWS ec2.DescribeRegions => 200
2023-10-24T14:07:42.555 INFO --- [ asgi_gw_0] localstack.request.aws : AWS ec2.DescribeRegions => 200
2023-10-24T14:08:06.007 INFO --- [ asgi_gw_0] localstack.request.aws : AWS ec2.DescribeRegions => 200
2023-10-24T14:09:29.578 INFO --- [ asgi_gw_0] localstack.request.aws : AWS ec2.DescribeRegions => 200
2023-10-24T14:12:45.102 INFO --- [ asgi_gw_0] localstack.request.aws : AWS ec2.DescribeRegions => 200
2023-10-24T14:12:46.602 INFO --- [ asgi_gw_0] localstack.request.aws : AWS ec2.DescribeRegions => 200
2023-10-24T14:13:10.835 INFO --- [ asgi_gw_0] localstack.request.aws : AWS ec2.DescribeRegions => 200
2023-10-24T14:13:12.413 INFO --- [ asgi_gw_0] localstack.request.aws : AWS ec2.DescribeRegions => 200
2023-10-24T14:22:57.309 INFO --- [ asgi_gw_0] localstack.request.aws : AWS ec2.DescribeRegions => 200
2023-10-24T14:23:14.932 INFO --- [ asgi_gw_0] localstack.request.aws : AWS ec2.DescribeRegions => 200
2023-10-24T14:42:45.124 INFO --- [ asgi_gw_0] localstack.request.aws : AWS ec2.DescribeRegions => 200
In this post, you’ve seen how to create a LocalStack instance and configure a local System Initiative installation to use it. If you have any questions or issues using System Initiative with LocalStack, we invite you to join us on Discord and talk to us there. You can message me there directly at SI_Stack72. We are excited to see all the cool things you do with System Initiative using LocalStack!
Paul is an engineer who is passionate about the Continuous Delivery and DevOps movements and how they are critical in helping the business delivery value its customers.