Skip to content

feat: Add missing RabbitMQ Management API endpoints - #4

Merged
Rolf Håvard Blindheim (rhblind) merged 3 commits into
mainfrom
feat/new-endpoints
Jul 14, 2026
Merged

feat: Add missing RabbitMQ Management API endpoints#4
Rolf Håvard Blindheim (rhblind) merged 3 commits into
mainfrom
feat/new-endpoints

Conversation

@rhblind

Copy link
Copy Markdown
Member

Summary

  • Adds 13 new modules covering the remaining RabbitMQ Management HTTP API endpoints: Connection, Channel, Consumer, TopicPermission, Parameter, GlobalParameter, Policy, OperatorPolicy, Health, UserLimit, VhostLimit, FederationLink, and Auth
  • Extends existing modules with missing functions: individual binding get/delete by properties key, definition upload, cluster name management, and queue rebalancing
  • Fixes bug in Vhost.list_vhost_channels/3 which was hitting the connections endpoint instead of channels
  • Removes unused require Logger from permission.ex and 5 new modules
  • Updates README to reflect full API coverage
  • 135 tests with 100% code coverage

New modules

Module Functions Description
Connection 6 List, get, delete connections; user connections and connection channels
Channel 2 List and get channels
Consumer 2 List consumers (all or per vhost)
TopicPermission 4 CRUD for topic permissions with NimbleOptions validation
Parameter 6 Vhost-scoped runtime parameters by component
GlobalParameter 4 Global (cluster-wide) runtime parameters
Policy 5 CRUD for policies with NimbleOptions validation
OperatorPolicy 5 CRUD for operator policy overrides
Health 9 Aliveness test and health checks (alarms, certs, ports, protocols, vhosts, mirror sync, quorum)
UserLimit 5 Per-user limits (max connections, max channels)
VhostLimit 5 Per-vhost limits
FederationLink 2 List federation links (all or per vhost)
Auth 3 Auth info and auth attempt history

Test plan

  • mix compile --warnings-as-errors passes
  • mix format --check-formatted passes
  • mix test --cover passes: 135 tests, 100% coverage

Add 13 new modules covering the remaining RabbitMQ Management HTTP API
endpoints: Connection, Channel, Consumer, TopicPermission, Parameter,
GlobalParameter, Policy, OperatorPolicy, Health, UserLimit, VhostLimit,
FederationLink, and Auth.

Also extends existing modules with missing functions:
- ExRabbitMQAdmin: put_cluster_name, rebalance_queues
- Binding: get/delete for individual exchange-queue and exchange-exchange
  bindings by properties key
- Definition: upload_definitions, upload_vhost_definitions
- Vhost: fix bug where list_vhost_channels hit the connections endpoint

Includes NimbleOptions definitions for topic permissions and policies,
removes unused `require Logger` from permission.ex, and adds full test
coverage (135 tests, 100%).
@rhblind
Rolf Håvard Blindheim (rhblind) merged commit ae5ca18 into main Jul 14, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant