How ravendb/ansible-collection-ravendb works
This is an Ansible collection for provisioning RavenDB servers and managing RavenDB clusters. The main workflow is an Ansible operator invoking a module, which validates inputs, creates a client context where applicable, and reconciles desired state against RavenDB; database reconciliation also uses service operations and optional encryption. The collection additionally provides node installation roles and modules for connection strings and health checks. Internal links are limited to relationships visible in excerpts; the README documents the collection’s broader capabilities.
Main entry points: database.py Database Module · database_reconciler.py Database Reconciler · index.py Index Module · client.py Document Store Factory
Components 23
Server Provisioning
- Node Role
roles/ravendb_node - Client Prerequisites
roles/ravendb_python_client_prerequisites
Ansible Modules
- Database Module
plugins/modules/database.py - Index Module
plugins/modules/index.py - Node Module
plugins/modules/node.py - Connection String Module
plugins/modules/connection_string.py - Healthcheck Module
plugins/modules/healthcheck.py
Module Runtime
- Input Validation
plugins/module_utils/core/validation.py - Document Store Factory
plugins/module_utils/core/client.py - Client Dependency Check
plugins/module_utils/core/deps.py - Database Specification
plugins/module_utils/dto/database.py
Domain Operations
- Database Reconciler
plugins/module_utils/reconcilers/database_reconciler.py - Database Operations
plugins/module_utils/services/database_service.py - Database Settings
plugins/module_utils/services/db_settings_service.py - Encryption Operations
plugins/module_utils/services/encryption_service.py - Cluster Operations
plugins/module_utils/services/cluster_service.py - Index Reconciler
plugins/module_utils/reconcilers/index_reconciler.py - Index Operations
plugins/module_utils/services/index_service.py - Connection String Operations
plugins/module_utils/services/connection_string_service.py - Healthcheck Operations
plugins/module_utils/services/healthcheck_service.py - Node Operations
plugins/module_utils/services/node_service.py
Other components
- Ansible Operator
- RavenDB Server
Connections 25
- Ansible Operator → Node Role: provisions with
README.md - Ansible Operator → Client Prerequisites: installs prerequisites
README.md - Node Role → RavenDB Server: installs and configures
README.md - Ansible Operator → Database Module: invokes
README.md - Ansible Operator → Index Module: invokes
README.md - Ansible Operator → Node Module: invokes
README.md - Ansible Operator → Connection String Module: invokes
- Ansible Operator → Healthcheck Module: invokes
- Database Module → Input Validation: validates inputs
plugins/modules/database.py - Database Module → Document Store Factory: creates context
- Database Module → Database Reconciler: delegates reconciliation
plugins/modules/database.py - Database Module → Database Specification: builds specification
- Database Module → Encryption Operations: validates encryption
plugins/modules/database.py - Document Store Factory → Client Dependency Check: requires client
plugins/module_utils/core/client.py - Database Reconciler → Database Operations: reads and mutates databases
plugins/module_utils/reconcilers/database_reconciler.py - Database Reconciler → Database Settings: applies settings
plugins/module_utils/reconcilers/database_reconciler.py - Database Reconciler → Encryption Operations: handles encryption
plugins/module_utils/reconcilers/database_reconciler.py - Database Reconciler → Cluster Operations: checks topology
plugins/module_utils/reconcilers/database_reconciler.py - Index Module → Index Reconciler: delegates reconciliation
plugins/modules/index.py - Index Module → Document Store Factory: creates context
plugins/modules/index.py - Index Module → Index Operations: reads index definition
- Index Reconciler → Index Operations: uses operations
- Connection String Module → Connection String Operations: manages connection strings
- Healthcheck Module → Healthcheck Operations: checks cluster health
- Node Module → Node Operations: manages cluster nodes