This repo contains the ravendb.ravendb
Ansible Collection. The collection includes many modules and plugins to work with RavenDB.
The modules present in Ansible 2.15.
If you like this collection please give us a rating on Ansible Galaxy.
We follow Ansible Code of Conduct in all our interactions within this project.
If you encounter abusive behavior violating the Ansible Code of Conduct, please refer to the policy violations section of the Code of Conduct for information on how to raise a complaint.
-
Join the Ansible forum:
- Get Help: get help or help others. Please add appropriate tags if you start new discussions, for example the
ravendb
tag. - Social Spaces: gather and interact with fellow enthusiasts.
- News & Announcements: track project-wide announcements including social events.
- Get Help: get help or help others. Please add appropriate tags if you start new discussions, for example the
-
The Ansible Bullhorn newsletter: used to announce releases and important changes.
For more information about communication, see the Ansible communication guide.
Tested with the current ansible-core 2.15, ansible-core 2.16, ansible-core 2.17, and ansible-core 2.18 releases, and the current development version of ansible-core. Ansible/ansible-base versions before 2.15.0 are not supported.
- This collection is tested against the most recent two RavenDB releases, currently 6.2.X and 7.0.X.
- ravendb-python-client - latest version supported only. Please upgrade your ravendb-python-client driver version if you encounter difficulties.
- requests;
All modules and plugins require Python 3.9 or later.
Before using the RavenDB community collection, you need to install the collection with the ansible-galaxy
CLI:
ansible-galaxy collection install ravendb.ravendb
See Ansible Using collections for more details.
Examples for each module and feature included in this collection can be found in the playbooks/ directory.
These roles prepare servers with Debian-based and RHEL-based distributions to run RavenDB.
ravendb.ravendb.ravendb_node
: Installs and configures a RavenDB server node. Handles service setup, secure and unsecured deployments, certificate management, and prerequisites installation.ravendb.ravendb_python_client_prerequisites
: Installs the required Python packages (such as the RavenDB Python client library) needed to run Ansible modules that interact with RavenDB clusters.
These modules manage RavenDB clusters, databases, and indexes:
ravendb.ravendb.database
: Creates or deletes RavenDB databases, including support for secured and unsecured servers, replication factor settings, and certificate authentication.ravendb.ravendb.index
: Creates, updates, or deletes RavenDB indexes, including support for multi-map indexes and managing index modes (enable, disable, pause, resume, reset).ravendb.ravendb.node
: Adds nodes to an existing RavenDB cluster, supporting both regular members and watcher nodes.
These tags are used across roles for categorizing tasks:
Tag | Description |
---|---|
ravendb |
Tasks specific to managing RavenDB. |
debian |
Tasks targeting Debian-based systems. |
redhat |
Tasks targeting RedHat-based systems. |
pkg |
Package installation tasks (e.g., apt , yum ). |
binaries |
Handling RavenDB binaries and unpacking operations. |
config |
Configuration tasks including system settings and settings.json . |
service_mgmt |
Service-related operations (e.g., start, stop, restart). |
user |
Creating and managing ravendb user and group. |
download |
Tasks involving downloading resources like .deb or .tar.bz2 files. |
self_signed |
Tasks specific to setting up self-signed certificates. |
secured |
Tasks for Let's Encrypt/secured RavenDB setup. |
ravendb_settings |
Overrides and manipulations on RavenDB configuration files. |
Tag | Description |
---|---|
molecule |
Used to mark tasks that are conditional when running Molecule tests. |
Please refer to CHANGELOG.md of this repository.
TODO
- Ansible Collection overview
- Ansible User guide
- Ansible Developer guide
- Ansible Collections Checklist
- Ansible Community code of conduct
- The Bullhorn (the Ansible Contributor newsletter)
- Changes impacting Contributors
This collection is licensed under the GNU General Public License v3.0 or later (GPL-3.0-or-later). See the LICENSE file of this repository for full details.