Commit Graph

1905 Commits

Author SHA1 Message Date
Michael Davis cfce31ef05
management: Sanitize vhost names in restart forms 2025-06-17 11:54:07 -04:00
Iliia Khaprov f13f99303a
Management part for internal shovels. Experimenting with owner linking 2025-06-15 18:46:42 +02:00
Luke Bakken ca15fa70f7
Run `prettier` on title.js 2025-06-04 15:07:23 -07:00
Luke Bakken 1014183906 Fix issue introduced by #13512
Moves Sammy.Title plugin into its own file
2025-06-04 15:04:31 -07:00
Marcial Rosales cc86ffe30a
Fix issue around rendering a mqtt qos0 queue 2025-06-03 16:40:55 +04:00
Michael Davis 2a1b65df17
Clear management auth storage when redirecting to login
This branch redirects the client to the login page when the cookie
expires. To complete the logout process we should also clear any auth
data stored in local storage: local storage has no built-in expiration
mechanism.

To test this locally you can use `make run-broker`, set the session
timeout to one minute for quick testing:

    application:set_env(rabbitmq_management, login_session_timeout, 1)

go to the management page (`http://localhost:15672/#/`), login with
default credentials and wait a minute. After this change the local
storage only contains info like `rabbitmq.vhost` and `rabbitmq.version`.
2025-05-28 12:42:53 -04:00
Marcial Rosales 70ec8dffdd Selenium test with SAC 2025-05-27 14:00:18 +02:00
Iliia Khaprov 180e7b1c1c
Queues with plugins - switch to get_queue_type in Management UI 2025-05-18 23:52:58 +02:00
Iliia Khaprov de17a77df4
Queues with plugins - Enable adding queues with plugins, Management UI 2025-05-18 23:52:58 +02:00
Iliia Khaprov 5fd3bddcfe
Protected queues - do not render Delete button for internal queues
with fix for rabbit_mgmt_wm_queue by MK
2025-05-18 23:50:53 +02:00
Michael Davis 67bdc011cb
Add a health check for testing readiness to serve clients 2025-05-09 11:36:07 -04:00
Michael Davis 028b69213e
Add a health check for testing the node connection limit 2025-05-09 11:28:11 -04:00
Michael Klishin a4afc2a44a
Merge pull request #13872 from rabbitmq/md/health-check-is-in-service
Add an 'is-in-service' health check wrapping `rabbit:is_serving/0`
2025-05-08 21:42:27 +04:00
Michael Davis 07fe6307c6
Add an 'is-in-service' health check wrapping `rabbit:is_serving/0`
This is useful for a load balancer, for example, to be able to avoid
sending new connections to a node which is running and has listeners
bound to TCP ports but is being drained for maintenance.
2025-05-08 11:11:52 -04:00
Michael Davis 5d319be3f9
Accept multiple protocols in protocol listener health check
This updates the health check for protocol listeners to accept a set of
protocols, comma-separated. The check only returns 200 OK when all
requested protocols have active listeners.
2025-05-08 11:01:59 -04:00
Marcial Rosales 7003fefa44 Select columns of vhosts 2025-05-02 13:05:25 +02:00
Marcial Rosales 01ca72edc0 Test adding vhost 2025-04-30 18:08:58 +02:00
Michael Klishin 467601a62d
Merge pull request #13822 from rabbitmq/lukebakken/delete-unused-js
Remove unused Javascript functions
2025-04-29 03:09:10 +04:00
Luke Bakken 61b0f152fd
Remove unused Javascript functions
A security scanner flagged the use of `RegExp` with unsanitized input.
Turns out, these functions are no longer used and can be deleted.
2025-04-28 12:18:06 -07:00
Michael Klishin c9b2b7fb22
Naming #13809 2025-04-26 18:40:50 -04:00
Razvan Grigore 09c546a1c8
Add Socket SSL column to management UI 2025-04-26 18:40:50 -04:00
Marcial Rosales 0cb63bb544 Add queues and streams page and test suite 2025-04-25 17:04:40 +02:00
Michael Klishin 20188a770e
rabbitmq.conf schema and tests for #13698 2025-04-09 02:02:47 -04:00
Michael Klishin 3756775ebe
Revert "Redirect to end_session_endpoint for idp_initiated logon when it is configured" 2025-03-28 02:31:09 -04:00
Michael Klishin ab8799a739
Redirect to end_session_endpoint for idp-initiated logon
Conflicts:
	selenium/bin/components/fakeportal
2025-03-27 19:01:01 -04:00
Iliia Khaprov 8ae0163643 Switch is_<queue_type> to using queue.type field
Also, since queue.type field rendered by QueueMod:format and all queues had it hard-coded here,
I unhardcode them here to use Type name.
2025-03-24 19:15:20 +01:00
Michael Klishin f2da1b5544
Extend the idea in #13512 to a few more tabs 2025-03-19 15:44:18 -04:00
Michael Klishin 2472e450ff
By @efimov90: a dark theme for the management UI (#13567)
This is a squashed commit that includes the following changes by @efimov90:

* Initial-theme-fix

Added light.css
Added dark.css
Added link for light.css and dark.css with media attribute
Added switcher

* Rework-light-style

* dark theme

* Removed not needed div

* Fix folder name

* Color scheme fix

Removes color-scheme from main.css
Added color-scheme: dark to dark.css
Added color-scheme: light to light.css

* Fixed theme switch bug with sammy.js

Adapts code to works with sammy.js

* Icons update

* Reworked theme switcher

* Fix updating attributes

---------

Authored-by: Sergey Efimov <efimov90@gmail.com>
2025-03-19 15:44:17 -04:00
Iliia Khaprov a0abfaa5b0 Change browser tab/window title according to currently loaded 'page'.
It is very hard now to distinguish different tabs. With this addition
we have titles like 'RabbitMQ - Queue vhost/name', 'RabbitMQ - Exchanges'.
To be continued...
2025-03-14 09:42:53 +01:00
Mirah Gary f8ae3f1361
Update support link. 2025-03-12 16:06:51 +01:00
Ayanda Dube f60b284824 Add schema for management.delegate_count config 2025-03-06 13:09:15 +00:00
Michal Kuratczyk 4b30935182
Update queue-messages and queue-message-body-bytes tooltips
Only large messages delivered to multiple CQs are stored once for
multiple queues.

Non-durable queues are deprecated and will be removed, so don't even
mention them.

We don't "page out" messages anymore.
2025-02-17 15:58:20 +01:00
Péter Gömöri b62e09806b Show consumer count column on Mgmt UI Channels page
Consumer count is already returned by the /channels API endpoint. Now
the consumer count column can be shown in the channels table but it is
hidden by default.
2025-02-03 18:31:55 +01:00
Michael Klishin bfd3a60954
Management plugin: recommend rabbitmqadmin v2 in one more place 2025-01-30 15:56:05 -05:00
Michael Klishin 4d04852c3e
Management plugin: recommend rabbitmqadmin v2 2025-01-30 15:49:57 -05:00
Karl Nilsson 7862c2f501
Merge pull request #12713 from rabbitmq/ra-2.16.0
Ra v2.16.0
2025-01-28 16:00:08 +01:00
David Ansari 579c58603e Support AMQP over WebSocket (OSS part) 2025-01-27 17:50:47 +01:00
Karl Nilsson f2b1f37331 QQ: Use new log_ext effect
This offloads the work of reading messages from on-disk segments
to the interacting process rather than doing this blocking, performance
affecting work in the ra server process.

QQ: ensure opened segments are closed after some time of inactivity

Processes that havea received messages that had to be read from disks
may keep a segment open indefinitely. This introduces a timer which
after some time of inactivity will close all opened segments to ensure
file descriptors are not kept open indefinitely.
2025-01-27 13:50:38 +00:00
David Ansari 99782120f7 Highlight busy incoming links
Visualise busy links from publisher to RabbitMQ. If the link credit
reaches 0, we set a yellow background colour in the cell.
Note that these credit values can change many times per second while the
management UI refreshes only every few seconds. However, it may still
give a user an idea of what links are currently busy.

We use yellow since that's consistent with the `flow` state in AMQP
0.9.1, which is also set to yellow.

We do not want want to highlight **outgoing** links with credit 0 as
that might be a paused consumer, and therefore not a busy link.

We also use yellow background color if incoming-window is 0 (in case of
a cluster wider memory or disk alarm) or if remote-incoming-window is 0
as consumers should try to keep their incoming-window open and instead
use link credit if they want to pause consumption.

Additionaly we set a grey background colour for the `/management`
address just to highlight them slightly since these are "special" link
pairs.
2025-01-17 14:40:43 +01:00
Michael Klishin 2dce5e7302
HTTP API reference: remove one more duplicate sentence 2025-01-08 22:20:24 -05:00
Michael Klishin fa00423fe5
HTTP API reference: remove duplicate sentences 2025-01-08 22:19:29 -05:00
Michael Klishin 9359a3aaf5
HTTP API reference: updates for 4.0.x
Closes #13042
2025-01-08 22:11:04 -05:00
Michael Klishin 9b1422e8f1
HTTP API reference: a follow-up to #13037 2025-01-07 20:35:11 -05:00
Michael Klishin 48aa250006
HTTP API reference: fix a typo 2025-01-07 19:27:27 -05:00
Michael Klishin bcb080179c
Improve documentation of certain health checks
in the HTTP API documentation reference
as well as one CLI command that apparently
needed a clarification.
2025-01-07 18:48:39 -05:00
Michal Kuratczyk 9ef226e571
MGMT UI: display deletion protection in vhost details 2025-01-03 11:54:49 +01:00
Michael Klishin f62d46c286
Introduce a way to protect a virtual host from deletion
Accidental "fat finger" virtual deletion accidents
would be easier to avoid if there was a protection mechanism
that would apply equally even to CLI tools and external
applications that do not use confirmations for deletion
operations.

This introduce the following changes:

 * Virtual host metadata now supports a new queue,
   'protected_from_deletion', which, when set,
   will be considered by key virtual host deletion function(s)
 * DELETE /api/vhosts/{name} was adapted to handle
   such blocked deletion attempts to respond with
   a 412 Precondition Failed status
 * 'rabbitmqctl list_vhosts' and 'rabbitmqctl delete_vhost'
   were adapted accordingly
 * DELETE /api/vhosts/{name}/deletion/protection
   is a new endpoint that can be used to remove
   the protective seal (the metadata key)
 * POST /api/vhosts/{name}/deletion/protection
   marks the virtual host as protected

In the case of the HTTP API, all operations on
virtual host metadata require administrative
privileges from the target user.

Other considerations:

 * When a virtual host does not exist, the behavior
  remains the same: the original, protection-unaware
  code path is used to preserve backwards compatibility

References #12772.
2025-01-02 16:50:51 -05:00
Marcial Rosales ce760c688b Insert control-cache headers to every resource and reload index.html 2024-11-21 16:47:48 +01:00
Marcial Rosales 5b845a6474 Extract table of sessions and links 2024-11-18 11:47:44 +01:00
Marcial Rosales 86bf3e108f Navigate from connections to connection page 2024-11-18 11:47:44 +01:00