This Ansible collection provides modules to work with Elasticsearch instances and clusters.
ansible-galaxy collection install community.elastic
Both Elasticsearch server version 7 and 8 are supported. But the version of elasticesearch Python library must be aligned with Elasticsearch server.
pip install elasticsearch==7.* # To connect to Elasticsearch 7.x
pip install elasticsearch==8.* # To connect to Elasticsearch 8.x
ansible-galaxy collection install https://github.com/ansible-collections/community.elastic/releases/download/latest/community-elastic-latest.tar.gz
These modules are tested on Debian and RHEL based distributions.
elastic_bulk
: Perform actions with documents using the Bulk API.elastic_cluster_health
: Validate cluster health.elastic_cluster_settings
: Manage Elastic Search Cluster Settings.elastic_index
: Manage Elasticsearch indexes.elastic_index_info
: Returns info about Elasticsearch indexes.elastic_index_lifecycle
: Manage Elasticsearch Index Lifecyles.elastic_keystore
: Manage entries in the Elasticsearch keystore.elastic_pipeline
: Manage Elasticsearch Pipelines.elastic_reindex
: Copies documents from a source to a destination.elastic_role
: Manage Elasticsearch user roles.elastic_rollup
: Manage Elasticsearch Rollup Jobs.elastic_snapshot
: Manage Elasticsearch Snapshots.elastic_snapshot_repository
: Manage Elasticsearch Snapshot Repositories.elastic_transform
: Manage Elasticsearch Transform Jobs.elastic_user
: Manage Elasticsearch users.Requirements
Useful Links
The ansible-test tool requires a specific directory hierarchy to function correctly so please follow carefully. Many of these test make use of docker-compose to launch Elastic Clusters. These tests should be run in a isolated Linux environment.
mkdir -p git/ansible_collections/community
cd git/ansible_collections/community
git clone https://github.com/ansible-collections/community.elastic.git ./elastic
git clone https://github.com/ansible-collections/community.general.git ./general
virtualenv venv
source venv/bin/activate
cd elastic
pip install https://github.com/ansible/ansible/archive/devel.tar.gz --disable-pip-version-check
Please note that most of these integration tests are intended to run directly in GitHUb Actions and running them locally may make changes to the executing computer. You can use the docker flag to avoid that but many of these tests won't work in those conditions.
Set elasticsearch and kibana version to integration_config.yml Please set elasticsearch_version and kibana_version to tests/integration/integration_config.yml. Refference: tests/integration/integration_config.yml.template
Run integration tests for the elastic_user module.
ansible-test integration -v --color yes --python 3.6 elastic_user
ansible-test integration -v --color yes --python 3.6 elastic_cluster_health
ansible-test integration -v --color yes --python 3.6