Vendor Galaxy Roles and Collections
This commit is contained in:
parent
c1e1897cda
commit
2aed20393f
3553 changed files with 387444 additions and 2 deletions
|
|
@ -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/.
|
||||
|
|
@ -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 }}'
|
||||
# ]]]
|
||||
# ]]]
|
||||
# ]]]
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
Loading…
Add table
Add a link
Reference in a new issue