cueitup lets you inspect messages in an AWS SQS queue in a simple and
deliberate manner. It was built to simplify the process of investigating the
contents of messages being pushed to an SNS topic. You can pull one or more
messages on demand, peruse through them in a list, and, if needed, persist them
to your local filesystem.
Install
homebrew:
brew install dhth/tap/cueitup
go:
go install github.com/dhth/cueitup@latest
Or get the binaries directly from a
release. Read more about verifying
the authenticity of released artifacts here.
🛠️ Configuration
Create a YAML configuration file that looks like the following. The location of
this file depends on your operating system, and can be determined by running
cueitup -h.
profiles:
# a name for a profile; you refer to it when running cueitup - name: profile-a ## the SQS queue URLqueue_url: https://sqs.eu-central-1.amazonaws.com/000000000000/queue-a
# use this to leverage a profile contained in the shared AWS config and credentials files# https://docs.aws.amazon.com/sdkref/latest/guide/file-format.htmlaws_config_source: profile:local-profile
# the format of the message body; possible values: [json, none]format: json
- name: profile-b
queue_url: https://sqs.eu-central-1.amazonaws.com/000000000000/queue-b
aws_config_source: env
format: none
- name: profile-c
queue_url: https://sqs.eu-central-1.amazonaws.com/000000000000/queue-c
aws_config_source: env
format: json
# to only show the contents of a nested objectsubset_key: Message
# cueitup will display this key value pair as "context" in its listcontext_key: aggregateId
⚡️ Usage
cueitup can display messages via two interfaces: a TUI or a webpage
$ cueitup tui --help
open cueitup's TUI
Usage:
cueitup tui <PROFILE> [flags]
Flags:
-c, --config-path string location of cueitup's config file (default "/Users/user/Library/Application Support/cueitup/cueitup.yml")
-d, --debug whether to only display config picked up by cueitup
-D, --delete-messages whether to start the TUI with the setting "delete messages" ON (default true)
-h, --help help for tui
-P, --persist-messages whether to start the TUI with the setting "persist messages" ON
-M, --show-message-count whether to start the TUI with the setting "show message count" ON (default true)
-S, --skip-messages whether to start the TUI with the setting "skip messages" ON
$ cueitup serve --help
open cueitup's web interface
Usage:
cueitup serve <PROFILE> [flags]
Flags:
-c, --config-path string location of cueitup's config file (default "/Users/user/Library/Application Support/cueitup/cueitup.yml")
-d, --debug whether to only display config picked up by cueitup
-D, --delete-messages whether to start the web interface with the setting "delete messages" ON (default true)
-h, --help help for serve
-o, --open whether to open web interface in browser automatically
-S, --select-on-hover whether to start the web interface with the setting "select on hover" ON
-M, --show-message-count whether to start the web interface with the setting "show message count" ON (default true)
Various ways to display JSON messages
Say the messages in your SQS queue look like this.
Toggle deletion mode; cueitup will delete messages after reading them
M
Toggle polling for message count in queue
p
Toggle persist mode (messages will be saved to a specific location)
s
Toggle skipping mode (consume messages without populating the internal list)
Message Value Pane
Keymap
Description
[, h
Show details for the previous entry in the list
], l
Show details for the next entry in the list
🔐 Verifying release artifacts
In case you get the cueitup binary directly from a
release, you may want to verify its
authenticity. Checksums are applied to all released artifacts, and the resulting
checksum file is signed using
cosign.
Steps to verify (replace A.B.C in the commands listed below with the version
you want):