CLI: Message Queue Management

Manage message queues with the agentmetal queue subcommand.

CLI: Message Queue Management

Overview

The agentmetal queue subcommand manages message queue clusters for asynchronous communication between services. Two engines are supported: RabbitMQ (AMQP) and NATS (high-performance messaging).

Operations

Create a Queue Cluster

agentmetal queue create \
  --name events \
  --engine rabbitmq \
  --nodes 3 \
  --ha
FlagRequiredDescription
--nameYesQueue cluster name
--engineYesEngine: rabbitmq or nats
--nodesNoNumber of nodes (default: 1)
--haNoEnable high availability / clustering (default: false)
--versionNoEngine version
--tlsNoEnable TLS for connections (default: false)
--managementNoEnable management UI (RabbitMQ only, default: true)
### List Queue Clusters
agentmetal queue list
ID            NAME      ENGINE     NODES   HA     STATE
queue-a1b2    events    rabbitmq   3       yes    running
queue-c3d4    stream    nats       3       yes    running

Get / Delete

agentmetal queue get queue-a1b2
agentmetal queue delete queue-a1b2

Examples

Create an HA RabbitMQ cluster:

agentmetal queue create \
  --name production-mq \
  --engine rabbitmq \
  --nodes 3 \
  --ha \
  --tls \
  --management

Create a NATS cluster:

agentmetal queue create \
  --name event-stream \
  --engine nats \
  --nodes 3 \
  --ha \
  --tls

MessageQueueSpec Fields

FieldTypeDescription
enginestringrabbitmq or nats
versionstringEngine version
node_countintNumber of nodes in the cluster
ha_enabledboolHigh availability mode
management_uiboolEnable management web UI
tls_enabledboolEnable TLS encryption