diff --git a/docker/rabbitmq/Dockerfile b/docker/rabbitmq/Dockerfile index 2ec6502..1e6ba68 100644 --- a/docker/rabbitmq/Dockerfile +++ b/docker/rabbitmq/Dockerfile @@ -1,9 +1,12 @@ FROM rabbitmq:3.9-management +COPY ./users.ejs /opt/rabbitmq/plugins/rabbitmq_management-3.9.29/priv/www/js/tmpl +COPY ./limits.ejs /opt/rabbitmq/plugins/rabbitmq_management-3.9.29/priv/www/js/tmpl + RUN apt-get -o Acquire::Check-Date=false update && apt-get install -y curl RUN curl -L https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases/download/3.9.0/rabbitmq_delayed_message_exchange-3.9.0.ez > $RABBITMQ_HOME/plugins/rabbitmq_delayed_message_exchange-3.9.0.ez RUN chown rabbitmq:rabbitmq $RABBITMQ_HOME/plugins/rabbitmq_delayed_message_exchange-3.9.0.ez -RUN rabbitmq-plugins enable rabbitmq_delayed_message_exchange \ No newline at end of file +RUN rabbitmq-plugins enable rabbitmq_delayed_message_exchange diff --git a/docker/rabbitmq/limits.ejs b/docker/rabbitmq/limits.ejs new file mode 100644 index 0000000..7b0534e --- /dev/null +++ b/docker/rabbitmq/limits.ejs @@ -0,0 +1,177 @@ +

Limits

+ +
+

Virtual host Limits

+
+
+ + <% if (limits.length > 0) { %> + + + + + + + + + + + <% for (var i = 0; i < limits.length; i++) { + var limit = limits[i]; + var limit_values = Object.keys(limit.value).sort().map( + function(k) { return {name: k, value: limit.value[k]};}); + %> + + <% for (var j = 0; j < limit_values.length; j++) { + var limit_value = limit_values[j]; + %> + + > + <% if(j == 0) { %> + + <% } %> + + + + + <% } %> + <% } %> + +
Virtual HostLimitValue
<%= fmt_string(limit.vhost) %> <%= limit_value.name %><%= limit_value.value %> +
+ + + +
+
+ <% } %> +
+
+
+ +
+

Set / update a virtual host limit

+
+
+ + + + + + + + + + + + + +
+ +
+ +
+ + * +
+ +
+
+
+ +
+

User Limits

+
+
+ + <% if (user_limits.length > 0) { %> + + + + + + + + + + + <% for (var i = 0; i < user_limits.length; i++) { + var user_limit = user_limits[i]; + var user_limit_values = Object.keys(user_limit.value).sort().map( + function(k) { return {name: k, value: user_limit.value[k]};}); + %> + + <% for (var j = 0; j < user_limit_values.length; j++) { + var user_limit_value = user_limit_values[j]; + %> + + > + <% if(j == 0) { %> + + <% } %> + + + + + <% } %> + <% } %> + +
UserLimitValue
<%= fmt_string(user_limit.user) %> <%= user_limit_value.name %><%= user_limit_value.value %> +
+ + + +
+
+ <% } %> +
+
+
+ +
+

Set / update a user limit

+
+
+ + + + + + + + + + + + + +
+ +
+ +
+ + * +
+ +
+
+
diff --git a/docker/rabbitmq/users.ejs b/docker/rabbitmq/users.ejs new file mode 100644 index 0000000..a6c5d35 --- /dev/null +++ b/docker/rabbitmq/users.ejs @@ -0,0 +1,97 @@ +

Users

+
+ <%= paginate_ui(users, 'users') %> +
+
+ <% if (users.items.length > 0) { %> + + + + + + + + + + + <% + for (var i = 0; i < users.items.length; i++) { + var user = users.items[i]; + %> + > + + + + + + <% } %> + +
<%= fmt_sort('Name', 'name') %><%= fmt_sort('Tags', 'tags') %>Can access virtual hostsHas password
<%= link_user(user.name) %><%= fmt_string(user.tags) %><%= fmt_permissions(user, permissions, 'user', 'vhost', + '

No access

') %>
<%= fmt_boolean(user.password_hash.length > 0) %>
+<% } else { %> +

... no users ...

+<% } %> +

+
+ + + +
+

Add a user

+
+
+ + + + + + + + + + + + + +
+ + * +
+ + +
+ + *
+ + * + (confirm) +
+ +
+ + + + + + + + +
+ +
+
+