32 comments

[ 4.2 ms ] story [ 79.9 ms ] thread
Ugh, I hadn't heard the news about the LocalStack licensing changes. I had some great results building AWS services for local dev as well as CI/CD and testing in GH actions with LocalStack in previous jobs.

I secretly always hoped Amazon would buy out LocalStack and make it the official free local development environment for AWS work, but I guess it probably would reduce revenues spent on AWS based dev and test environments. The compatibility with the AWS CLI was mostly excellent in my experiences.

> Copyright (c) 2024 MiniStack Contributors

Already lying or totally unreviewed AI slop ?

I really don't see how any clone is going to manage to do what localstack couldn't - maintain compatibility with tons of AWS services while not getting paid for it. If this were viable, why would it not have worked before?

The only things I can think of are that perhaps LocalStack was just a mess of a codebase that couldn't maintain velocity or attract contributors, or it just failed to steward new contributors or some such thing.

(comment deleted)
What’s the gcp equivalent
Hey! GCP has their own set of tools for emulation. IDK why Amazon dont do the same. It would be way easier for everyone
Any project with Claude’s signature misaligned ASCII diagram just screams DON’T USE to me. If you can’t even bother to read your damn generated README, how do I know you have QC’ed anything else? At the very least supported features claimed in README / on website could be totally fake, which is extremely common among all the vibed Show HNs.

https://github.com/Nahuel990/ministack/blob/a1b1d20a27d2238d...

I'm frustrated with the Localstack license changes and will evaluate ministack.

But, for anybody else who needs a quick fix - you can pin to the `community-archive` tag and it should unblock you quickly:

https://hub.docker.com/layers/localstack/localstack/communit...

The real issue with LocalStack was always drift. Tests pass locally, then something breaks in staging because the S3 response format is slightly different or DynamoDB throttling doesn't match. After getting burned enough times we just switched to short-lived real AWS environments for integration tests. More expensive, but way fewer surprises in prod.
I have detailed knowledge of dynamodb. This code does not properly mimic the service exceptions, input validations, eventual consistency, or edge cases. I would not feel comfortable developing against ministack or running tests against it. A lot of these services also have free tiers, so the use cases are quite minimal.
Hello! The target use case is integration testing, verifying that your application calls the right operations with the right data, not production fidelity. For that, MiniStack works well and is free. For anything requiring exact DynamoDB behavior (capacity throttling, consistency window, stream processing), you're right that it's not a substitute. Contributions to improve error fidelity are very welcome (we have pending ProvisionedThroughputExceededException, TransactionConflictException, ItemCollectionSizeLimitExceededException)
Neither does localstack to be fair.
I still think it's useful - you can do your base case testing against ministack and only start incurring AWS charges to finalize your load testing.
I ran into the same thing with Kinesis. The Kinesis API has strict limits on batch size, message size, and rate limiting. Any client writing to Kinesis must deal with all of these constraints and handle errors properly.

I briefly looked at localstack to see how they implemented the Kenesis api and other than a `KINESIS_ERROR_PROBABILITY` option to simulate rate limiting, they did not implement any of the constraints.

As other commenters have noted, this looks like AI slop. Why is it on the front page?

If you go on Reddit, there are at least a dozen AI "vibe coded" shitty local stack alternatives being posted daily. Whats special about this??

I think it's still very early for this to be adapted in the SDLC, but looks very promising. I am frustrated with Localstack at this point, and this may just do the job.