Connect a broker
Keyhole connects to brokers you describe in your config file — one [[connection]]table each, tagged by type. Pick one from the list on launch, or jump to it with--connect <name>. Every connection is opened read-only by default.
Defining a connection
Pick a broker to see its [[connection]] block:
[[connection]]
type = "redis"
name = "local"
host = "127.0.0.1"
port = 6379
db = 0[[connection]]
type = "amqp"
name = "activemq"
host = "127.0.0.1"
port = 5672
# AMQP 1.0 can't list destinations — curate them:
destinations = ["topic:events", "queue:orders"][[connection]]
type = "rabbitmq"
name = "rabbit"
host = "127.0.0.1"
port = 5672
vhost = "/"
username = "guest"
password = "env:RABBIT_PW"Redis
The fullest experience: keyspace browser, value inspector, the read-only console, and every tail type (pub/sub, pattern, streams, keyspace events, MONITOR). Choose the database with thedb field, or switch it live once connected.
AMQP 1.0
Browse and tail topics and queues. AMQP 1.0 can't enumerate destinations, so you list the ones you care about in destinations — or point management_url at a Jolokia console (e.g. ActiveMQ's) to auto-discover them.
RabbitMQ
Tap any exchange to watch routed messages flow through — typeexchange:name[/binding_key] at the Tail anchor. Set the virtual host withvhost (default /).
TLS & auth
Set tls = true for a TLS connection (the rediss:// / amqps://listener on the wire). Authenticate with username and a password spec.
[[connection]]
type = "rabbitmq"
name = "prod"
host = "rabbit.internal"
port = 5671
tls = true
username = "app"
password = "env:RABBIT_PW" # or keyring[:account] / prompt
Never put a literal password in the file. password is a spec —
env:VAR, keyring[:account], or prompt — resolved at
connect time.