elastic_api
Manage Elastic Stack settings via Elasticsearch and Kibana API
Version information
released Nov 15th 2019
This version is compatible with:
- Puppet Enterprise 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2016.4.x
- Puppet >= 4.10.0 < 7.0.0
- , , , , , ,
Start using this module
Add this module to your Puppetfile:
mod 'mightp-elastic_api', '1.0.0'
Learn more about managing modules with a PuppetfileDocumentation
mightp/elastic_api — version 1.0.0 Nov 15th 2019
Overview
This module will manage Elastic Stack settings, using the Elasticsearch/Kibana API.
This module has been tested on Debian- and RHEL-based OS'es, but should work on anything that runs Puppet, due to the nature of custom providers
Examples
# Manage a space
elastic_api::space { 'my_space':
display_name => 'My Space',
description => 'This is my space!',
initials => 'MS',
color => '#FFFF00',
}
# Manage a Kibana Advanced Setting
elastic_api::advanced_setting { 'dateFormat:dow':
value => 'Monday',
space => 'my_space',
}
# Manage a ILM Policy
elastic_api::ilm_policy { '1_week':
hot_max_age => '1d',
hot_max_size => '50gb',
warm_number_of_shards => 1,
cold_enabled => false,
delete_min_age => '7d',
}
# Manage a User Role and User Mapping (e.g. to LDAP realm)
# Create Grafana user role
elastic_api::user_role { 'ldap_grafana_role':
indices => [{
'names' => ['my_indices*'],
'privileges' => ['read', 'monitor', 'view_index_metadata'],
'allow_restricted_indices' => false,
}],
}
# Map the Grafana role
elastic_api::user_mapping { 'sa_grafana_role_mapping':
dn_path => 'CN=Grafana User,OU=ELK,DC=my_domain,DC=org',
roles => ['ldap_grafana_role'],
is_user => true, # Can be a pointed to a Security Group, with this set to false
}