/community.rabbitmq

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

community.rabbitmq Collection

Build Status

This repo hosts the community.rabbitmq Ansible Collection.

The collection includes the rabbitmq modules and plugins supported by Ansible rabbitmq community to help the management of rabbitmq infrastructure.

Tested with Ansible

TBD

External requirements

TBD

Supported connections

TBD

Included content

TBD

Using this collection

Before using the rabbitmq community collection, you need to install the collection with the ansible-galaxy CLI:

ansible-galaxy collection install community.rabbitmq

Alternatively, you can also include it in a requirements.yml file and install it via ansible-galaxy collection install -r requirements.yml using the format:

collections:
- name: community.rabbitmq

For more information regarding using collections with Ansible, see the Ansible user guide.

Contributing to this collection

While this community is still developing its guidelines, the aspiration is to follow the following general guidelines:

  • Changes should include tests and documentation where appropriate.
  • Changes will be lint tested using standard python lint tests.
  • No changes which do not pass CI testing will be approved/merged.
  • The collection plugins must provide the same coverage of python support as the versions of Ansible supported.
  • The versions of Ansible supported by the collection must be the same as those in developed, or those maintained, as shown in the Ansible Release and Maintenance documentation.

As a fallback, the Ansible Community Guide remains our community reference set of guidelines.

Local Testing

Local testing is done with the ansible-test tool which requires a specific directory hierarchy to function correctly so please follow carefully.

# These base directory environment variables can be adjusted to suit personal preferences
SRC_BASE_DIR="~/code"
VENV_BASE_DIR="~/.venvs"

# These should not be altered
COLL_DIR="${SRC_BASE_DIR}/ansible/ansible_collections/community/rabbitmq"
VENV_DIR="${VENV_BASE_DIR}/ansible"

# Create the required directory structure
mkdir -p $(basename ${COLL_DIR})

# Clone the collection repository
git clone https://github.com/ansible-collections/community.rabbitmq.git ${COLL_DIR}

# Create and activate a virtual environment.
virtualenv ${VENV_DIR}
source ${VENV_DIR}/bin/activate

# Install the devel branch of ansible-base
pip install https://github.com/ansible/ansible/archive/devel.tar.gz --disable-pip-version-check

# Switch into the collection directory
cd ${COLL_DIR}

# Run the integration tests
ansible-test integration --docker default -v --color --python 3.6

# Run the unit tests
ansible-test units --docker default -v --color --python 3.6

Publishing New Version

The current process for publishing new versions of the Grafana Collection is manual, and requires a user who has access to the community.grafana namespace on Ansible Galaxy to publish the build artifact.

  1. Ensure CHANGELOG.md contains all the latest changes.
  2. Update galaxy.yml and this README's requirements.yml example with the new version for the collection.
  3. Tag the version in Git and push to GitHub.
  4. Run the following commands to build and release the new version on Galaxy:
ansible-galaxy collection build
ansible-galaxy collection publish ./community-rabbitmq-$VERSION_HERE.tar.gz

After the version is published, verify it exists on the Collection Galaxy page.

More Information

Communication

This is a small collection with a small number of contributors. As such, there is no formal Ansible Working Group. To communicate with the maintainers, please make contact via one of the following methods:

  • IRC on Freenode in #ansible-community
  • Issues on Github

Reference

License

GNU General Public License v3.0 or later.

See LICENCE to see the full text.