{"id":15411287,"url":"https://github.com/haf/puppet-elasticsearch","last_synced_at":"2026-04-24T13:04:43.699Z","repository":{"id":66270150,"uuid":"15134772","full_name":"haf/puppet-elasticsearch","owner":"haf","description":"A puppet-elasticsearch module that has an edge over github.com/elasticsearch/puppet-elasticsearch.","archived":false,"fork":false,"pushed_at":"2013-12-12T11:55:38.000Z","size":216,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-17T20:14:48.334Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Puppet","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/haf.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-12-12T11:55:32.000Z","updated_at":"2014-01-28T02:25:38.000Z","dependencies_parsed_at":"2023-02-20T01:10:37.482Z","dependency_job_id":null,"html_url":"https://github.com/haf/puppet-elasticsearch","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haf%2Fpuppet-elasticsearch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haf%2Fpuppet-elasticsearch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haf%2Fpuppet-elasticsearch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haf%2Fpuppet-elasticsearch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/haf","download_url":"https://codeload.github.com/haf/puppet-elasticsearch/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242973973,"owners_count":20215247,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-01T16:48:35.249Z","updated_at":"2026-04-24T13:04:38.678Z","avatar_url":"https://github.com/haf.png","language":"Puppet","funding_links":[],"categories":[],"sub_categories":[],"readme":"# puppet-elasticsearch\n\nA puppet module for managing elasticsearch nodes\n\nhttp://www.elasticsearch.org/\n\n[![Build Status](https://travis-ci.org/elasticsearch/puppet-elasticsearch.png?branch=master)](https://travis-ci.org/elasticsearch/puppet-elasticsearch)\n\n## Usage\n\nInstallation, make sure service is running and will be started at boot time:\n\n     class { 'elasticsearch': }\n\nInstall a certain version:\n\n     class { 'elasticsearch':\n       version =\u003e '0.90.3'\n     }\n     \nThis assumes an elasticsearch package is already available to your distribution's package manager. To use a local deb or rpm, specify it like so:\n\n     class { 'elasticsearch':\n       pkg_source =\u003e 'puppet:///path_to_file'\n     }\n\nRemoval/decommissioning:\n\n     class { 'elasticsearch':\n       ensure =\u003e 'absent',\n     }\n\nInstall everything but disable service(s) afterwards:\n\n     class { 'elasticsearch':\n       status =\u003e 'disabled',\n     }\n\nDisable automated restart of Elasticsearch on config file change:\n\n     class { 'elasticsearch':\n       restart_on_change =\u003e false\n     }\n\nFor the config variable a hash needs to be passed:\n\n     class { 'elasticsearch':\n       config                   =\u003e {\n         'node'                 =\u003e {\n           'name'               =\u003e 'elasticsearch001'\n         },\n         'index'                =\u003e {\n           'number_of_replicas' =\u003e '0',\n           'number_of_shards'   =\u003e '5'\n         },\n         'network'              =\u003e {\n           'host'               =\u003e $::ipaddress\n         }\n       }\n     }\n\nShort write up of the config hash is also possible.\n\nInstead of writing the full hash representation:\n\n     class { 'elasticsearch':\n       config                 =\u003e {\n         'cluster'            =\u003e {\n           'name'             =\u003e 'ClusterName',\n           'routing'          =\u003e {\n             'allocation'     =\u003e {\n               'awareness'    =\u003e {\n                 'attributes' =\u003e 'rack'\n               }\n             }\n           }\n         }\n       }\n     }\n\nYou can write the dotted key naming:\n\n     class { 'elasticsearch':\n       config =\u003e {\n         'cluster' =\u003e {\n           'name' =\u003e 'ClusterName',\n           'routing.allocation.awareness.attributes' =\u003e 'rack'\n         }\n       }\n     }\n\n## Defaults file\n\nYou can populate the defaults file ( /etc/defaults/elasticsearch or /etc/sysconfig/elasticsearch )\n\n     class { 'elasticsearch':\n       service_settings =\u003e { 'ES_USER' =\u003e 'elasticsearch', 'ES_GROUP' =\u003e 'elasticsearch' }\n     }\n\n## Manage templates\n\n### Add a new template\n\n     elasticsearch::template { 'templatename':\n       file =\u003e 'puppet:///path/to/template.json'\n     }\n\n### Delete a template\n\n     elasticsearch::template { 'templatename':\n       delete =\u003e true\n     }\n\n### Replace a template\n\n     elasticsearch::template { 'templatename':\n       file    =\u003e 'puppet:///path/to/template.json',\n       replace =\u003e true\n     }\n\n### Host\n\n  Default it uses localhost:9200 as host. you can change this with the 'host' and 'port' variables\n\n     elasticsearch::template { 'templatename':\n       host =\u003e $::ipaddress,\n       port =\u003e 9200\n     }\n\n## Bindings / clients\n\nInstall [a variety of python bindings](http://www.elasticsearch.org/guide/clients/):\n\n     elasticsearch::python { \"rawes\": }\n\n\n## Plugins\n\nInstall [a variety of plugins](http://www.elasticsearch.org/guide/clients/):\n\n### From official repository:\n\n     elasticsearch::plugin{'mobz/elasticsearch-head':\n       module_dir =\u003e 'head'\n     }\n\n### From custom url:\n\n     elasticsearch::plugin{ 'elasticsearch-jetty':\n       module_dir =\u003e 'elasticsearch-jetty',\n       url        =\u003e 'https://oss-es-plugins.s3.amazonaws.com/elasticsearch-jetty/elasticsearch-jetty-0.90.0.zip'\n     }\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaf%2Fpuppet-elasticsearch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhaf%2Fpuppet-elasticsearch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaf%2Fpuppet-elasticsearch/lists"}