Skip to content

ravendb/ansible-collection-ravendb

Repository files navigation

RavenDB Community Collection

Documentation

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.

Code of Conduct

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.

Communication

  • 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.
  • The Ansible Bullhorn newsletter: used to announce releases and important changes.

For more information about communication, see the Ansible communication guide.

Tested with Ansible

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.

Requirements

  • 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.

Using this collection

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.

Usage Examples

Examples for each module and feature included in this collection can be found in the playbooks/ directory.

Collection contents

Roles

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.

Plugins

Modules

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.

ravendb.ravendb Role Tags

General role tags

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.

CI-related tags

Tag Description
molecule Used to mark tasks that are conditional when running Molecule tests.

Release notes

Please refer to CHANGELOG.md of this repository.

Running the integration and unit tests

TODO

More information

Licensing

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.

About

No description or website provided.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published