Vendor Galaxy Roles and Collections
Some checks failed
/ Ansible Lint (push) Failing after 5m45s
/ Ansible Lint (pull_request) Failing after 4m59s

This commit is contained in:
Stefan Bethke 2026-02-06 22:07:16 +01:00
commit 2aed20393f
3553 changed files with 387444 additions and 2 deletions

View file

@ -0,0 +1,19 @@
debops.rabbitmq_management - Configure RabbitMQ Management Console
Copyright (C) 2017 Maciej Delmanowski <drybjed@gmail.com>
Copyright (C) 2017 DebOps <https://debops.org/>
SPDX-License-Identifier: GPL-3.0-only
This repository is part of DebOps.
DebOps is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 3, as
published by the Free Software Foundation.
DebOps is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with DebOps. If not, see https://www.gnu.org/licenses/.

View file

@ -0,0 +1,187 @@
---
# .. vim: foldmarker=[[[,]]]:foldmethod=marker
# .. Copyright (C) 2017 Maciej Delmanowski <drybjed@gmail.com>
# .. Copyright (C) 2017 DebOps <https://debops.org/>
# .. SPDX-License-Identifier: GPL-3.0-only
# .. _rabbitmq_management__ref_defaults:
# debops.rabbitmq_management default variables [[[
# ================================================
# .. contents:: Sections
# :local:
#
# .. include:: ../../../../includes/global.rst
# Basic configuration [[[
# -----------------------
# .. envvar:: rabbitmq_management__local [[[
#
# Enable or disable configuration of the RabbitMQ Management Console on a given
# host. Other services like :command:`nginx` will still be configured if this
# variable is set to ``False``, the role just assumes that the Management
# Console is on a different host.
rabbitmq_management__local: True
# ]]]
# .. envvar:: rabbitmq_management__deploy_state [[[
#
# If ``present``, RabbitMQ Management Console will be configured on a given
# host. If ``absent``, the RabbitMQ Management Console will be uninstalled.
rabbitmq_management__deploy_state: 'present'
# ]]]
# .. envvar:: rabbitmq_management__fqdn [[[
#
# The Fully Qualified Domain Name address on which the RabbitMQ Management
# Console will be accessible.
rabbitmq_management__fqdn: 'rabbitmq.{{ rabbitmq_management__domain }}'
# ]]]
# .. envvar:: rabbitmq_management__domain [[[
#
# The DNS domain used by default to configure the main application FQDN.
rabbitmq_management__domain: '{{ ansible_domain }}'
# ]]]
# .. envvar:: rabbitmq_management__webserver_allow [[[
#
# List of IP addresses or CIDR subnets which will be permitted to access the
# RabbitMQ Management Console web interface. If the list is empty, anybody can
# access the service.
rabbitmq_management__webserver_allow: []
# ]]]
# ]]]
# RabbitMQ plugins [[[
# --------------------
# .. envvar:: rabbitmq_management__default_plugins [[[
#
# List of default RabbitMQ plugins to enable.
rabbitmq_management__default_plugins: [ 'rabbitmq_management' ]
# ]]]
# .. envvar:: rabbitmq_management__plugins [[[
#
# List of additional RabbitMQ plugins to enable.
rabbitmq_management__plugins: []
# ]]]
# ]]]
# Backend plugin configuration [[[
# --------------------------------
# .. envvar:: rabbitmq_management__app_port [[[
#
# The TCP port used by the RabbitMQ Management Console plugin.
rabbitmq_management__app_port: '15672'
# ]]]
# .. envvar:: rabbitmq_management__app_bind [[[
#
# The interface to which the plugin will be bound. Keep in mind that the
# Management Console needs to be accessed over an interface different than the
# ``localhost``, otherwise the ``loopback_users`` RabbitMQ configuration option
# will not work. A firewall is very useful to protect the external TCP port.
#
# With the default configuration, the plugin will listen on both IPv4 and IPv6
# networks.
rabbitmq_management__app_bind: '::'
# ]]]
# .. envvar:: rabbitmq_management__app_host [[[
#
# The FQDN address on which the plugin will be accessed by the reverse proxy
# (:command:`nginx`). By default it's the host's own FQDN.
rabbitmq_management__app_host: '{{ ansible_fqdn }}'
# ]]]
# .. envvar:: rabbitmq_management__app_protocol [[[
#
# The HTTP protocol to use to contact the backend service. If the service is
# installed locally, ``http://`` is used by default, else the ``https://`` is
# assumed as default.
rabbitmq_management__app_protocol: '{{ "http"
if rabbitmq_management__local | bool
else "https" }}'
# ]]]
# ]]]
# RabbitMQ main configuration [[[
# -------------------------------
# .. envvar:: rabbitmq_management__default_config [[[
#
# Default configuration options for the RabbitMQ Management Console. See the
# documentation of the ``debops.rabbitmq_server`` Ansible role for more
# details.
rabbitmq_management__default_config:
- name: 'rabbitmq_management'
state: '{{ rabbitmq_management__deploy_state }}'
options:
- name: 'listener'
value: |
[{port, {{ rabbitmq_management__app_port + '}' }},
{ip, "{{ rabbitmq_management__app_bind }}"}]
comment: |
Communication with the Management Console is done using
a reverse proxy at 'https://{{ rabbitmq_management__fqdn }}/'
type: 'raw'
# ]]]
# .. envvar:: rabbitmq_management__config [[[
#
# Additional configuration options set in the RabbitMQ configuration file.
rabbitmq_management__config: []
# ]]]
# ]]]
# Configuration for other Ansible roles [[[
# -----------------------------------------
# .. envvar:: rabbitmq_management__etc_services__dependent_list [[[
#
# Configuration for the :ref:`debops.etc_services` Ansible role.
rabbitmq_management__etc_services__dependent_list:
- name: 'rabbitmq-mgmt'
port: '{{ rabbitmq_management__app_port }}'
comment: 'RabbitMQ Management Console'
state: '{{ rabbitmq_management__deploy_state }}'
# ]]]
# .. envvar:: rabbitmq_management__rabbitmq_server__dependent_config [[[
#
# Configuration for the :ref:`debops.rabbitmq_server` Ansible role.
rabbitmq_management__rabbitmq_server__dependent_config:
- '{{ rabbitmq_management__default_config }}'
- '{{ rabbitmq_management__config }}'
# ]]]
# .. envvar:: rabbitmq_management__nginx__dependent_servers [[[
#
# Server configuration for the :ref:`debops.nginx` Ansible role.
rabbitmq_management__nginx__dependent_servers:
- name: '{{ rabbitmq_management__fqdn }}'
by_role: 'debops.rabbitmq_management'
filename: 'debops.rabbitmq_management'
state: '{{ rabbitmq_management__deploy_state }}'
type: 'proxy'
proxy_pass: '{{ rabbitmq_management__app_protocol }}://rabbitmq_management'
proxy_redirect: 'default'
allow: '{{ rabbitmq_management__webserver_allow }}'
# ]]]
# .. envvar:: rabbitmq_management__nginx__dependent_upstreams [[[
#
# Upstream configuration for the :ref:`debops.nginx` Ansible role.
rabbitmq_management__nginx__dependent_upstreams:
- name: 'rabbitmq_management'
server: '{{ rabbitmq_management__app_host + ":" + rabbitmq_management__app_port }}'
state: '{{ rabbitmq_management__deploy_state }}'
# ]]]
# ]]]
# ]]]

View file

@ -0,0 +1,34 @@
---
# Copyright (C) 2017 Maciej Delmanowski <drybjed@gmail.com>
# Copyright (C) 2017-2022 DebOps <https://debops.org/>
# SPDX-License-Identifier: GPL-3.0-only
# Ensure that custom Ansible plugins and modules included in the main DebOps
# collection are available to roles in other collections.
collections: [ 'debops.debops' ]
dependencies: []
galaxy_info:
author: 'Maciej Delmanowski'
description: 'Install and configure RabbitMQ Management Console'
company: 'DebOps'
license: 'GPL-3.0-only'
min_ansible_version: '2.3.0'
platforms:
- name: 'Ubuntu'
versions: [ 'all' ]
- name: 'Debian'
versions: [ 'all' ]
galaxy_tags:
- amqp
- stomp
- mqtt
- broker
- queue
- networking

View file

@ -0,0 +1,12 @@
---
# Copyright (C) 2017 Maciej Delmanowski <drybjed@gmail.com>
# Copyright (C) 2017 DebOps <https://debops.org/>
# SPDX-License-Identifier: GPL-3.0-only
- name: Manage RabbitMQ plugins
community.rabbitmq.rabbitmq_plugin:
names: '{{ (rabbitmq_management__default_plugins
+ rabbitmq_management__plugins) | join(",") }}'
state: '{{ "enabled" if rabbitmq_management__deploy_state != "absent" else "disabled" }}'
new_only: True
when: rabbitmq_management__local | bool