roribio/alpine-sqs

Support for JSON protocol

michal-simon opened this issue · 5 comments

First of all, thank you for your great work on this project!

Recently AWS introduced support for JSON protocol for SQS. Unfortunately, this is a problem when upgrading AWS SDK because there is no way of switching between protocols. It would be nice to eventually support the JSON format as well.

Relevant links:

So, I have confirmed that this image can support the JSON protocol. The biggest hurdle is that the newer versions of ElasticMQ expose a stats API on port 9325, which causes a port collision with sqs-insight. With that in mind, the port of sqs-insight (which hosts the web interface) needs to be changed to 9326. The image can support the JSON protocol after the following changes:

  1. Pin the ElasticMQ version in Dockerfile to the current version (v1.6.1).
  2. Update opt/sqs-insight.conf and ops/sqs-insight/config/config_local.json to specify port 9326.
  3. Build the docker image.

I can open a PR with the following changes, but it seems like maybe this repo isn't maintained anymore?

I have opened a PR that updates the project to support the JSON protocol: Updated to support the ElasticMQ JSON protocol.

Thank you @mwillfox, this is a fantastic upgrade! I hope it will be picked up soon so we can all leverage the new version. :)

Looking at the other PRs and how long they've gone unmerged and needing to use these upgrades immediately, we've decided to maintain and host a version of alpine-sqs: https://hub.docker.com/r/amplifysecurity/alpine-sqs.

The intention of publishing our own fork on DockerHub is not to take over this project, however, we will continue to support alpine-sqs as long as this project is currently unmaintained. We are tagging the amplifysecurity/alpine-sqs image based on the pinned ElasticMQ version: currently latest points to 1.6.1. Hopefully this helps others in our situation that need to use the JSON protocol immediately.

Thank you, I will test it as well in some of my projects as well. :)