vend/puppet-elasticsearch

Elasticsearch Puppet module

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 57 minutes ago
Added to GitGenius on June 22nd, 2026
Created on March 27th, 2015
Open Issues & Pull Requests: 0 (+0)
Number of forks: 0
Total Stargazers: 1 (+0)
Total Subscribers: 0 (+0)

Issue Activity (beta)

Open issues: 0
New in 7 days: 0
Closed in 7 days: 0
Avg open age: N/A days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

The vend/puppet-elasticsearch repository is a Puppet module written in Ruby that automates the deployment and configuration of Elasticsearch instances. According to GitGenius classification data, this repository falls within the domains of configuration management, elasticsearch, puppet modules, automation, cluster setup, service management, index management, deployment, infrastructure, and search engines. The module has been moved to the vend/puppet repository, as noted in the README.

The primary purpose of this module is to manage Elasticsearch installations through Puppet's infrastructure-as-code approach. It handles a comprehensive range of Elasticsearch components including repository files, package installation, configuration files, service management, plugins, templates, ingest pipelines, index settings, Shield/X-Pack users and roles, and keystores. The module is actively tested against Elasticsearch versions 2.x, 5.x, and 6.x, ensuring compatibility across multiple major releases.

The module requires several dependencies to function properly. Core requirements include the stdlib Puppet library, the richardc/datacat module, Augeas, and puppetlabs-java_ks for Shield/X-Pack certificate management. For repository management specifically, additional dependencies are needed depending on the operating system: Puppetlabs/apt for Debian/Ubuntu systems and Darin/zypprepo for OpenSuSE/SLES systems. The module also assumes Java is installed on the target systems and recommends using the puppetlabs-java module for Java management.

The module operates on the concept of instances, allowing multiple Elasticsearch instances to run on a single host. Each instance can have its own data directory and node naming conventions. Configuration is highly flexible, supporting parameters that can be set at the top-level elasticsearch class and inherited by resources or overridden on a per-resource basis. This design makes the module particularly well-suited for integration with Hiera and Puppet Enterprise.

Plugin management is a significant feature of this module. It supports installing plugins from official Elasticsearch repositories, custom URLs, and GitHub sources. The module handles plugin versioning and upgrades, supporting multiple naming formats including elasticsearch/plugin/version for official plugins and groupId/artifactId/version for community plugins from Maven Central. Proxy support is included for environments requiring proxy authentication.

The module provides REST API integration for managing templates, ingest pipelines, and index settings directly through Elasticsearch's API. Templates can be added, replaced, or deleted using either file sources or inline content. Ingest pipelines follow similar patterns, allowing dynamic pipeline management. Index creation and deletion are supported with optional index settings configuration.

Service management is handled through SysV-style init and Systemd providers. The module allows configuration of JVM settings either through init defaults for Elasticsearch 1.x and 2.x or through jvm.options for version 5.x and later. Service restart behavior can be controlled globally or granularly through parameters like restart_config_change, restart_package_change, and restart_plugin_change.

Package installation can be accomplished through either repository management or remote package sources, supporting http, https, ftp, puppet://, and local file protocols. The module includes a connection validator resource that ensures instances are running before proceeding with subsequent actions, useful for orchestrating dependent configurations.

X-Pack and Shield support is included for managing file-based users, roles, and certificates, though the documentation notes this requires careful understanding of the associated caveats. The module's comprehensive feature set and flexible configuration options make it suitable for managing complex Elasticsearch deployments across diverse infrastructure environments.

puppet-elasticsearch
by
vendvend/puppet-elasticsearch

Repository Details

Fetching additional details & charts...