hiera_mysql2
This module is used to retrieve data from MySQL through hiera.
Version information
released Sep 18th 2018
This version is compatible with:
- Puppet Enterprise 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
- Puppet >= 4.7.0 < 6.0.0
- , , , , ,
Start using this module
Add this module to your Puppetfile:
mod 'nvitaterna-hiera_mysql2', '0.1.1'
Learn more about managing modules with a PuppetfileDocumentation
nvitaterna/hiera_mysql2 — version 0.1.1 Sep 18th 2018
hiera-mysql2
This is hiera-mysql2 for use with Hiera 5 and Puppet 5.
Description
This module is used to retrieve data from a MySQL database for use in Puppet.
Setup
Installation
puppet module install nvitaterna/hiera_mysql2
Dependencies
If you are using Hiera-mysql under jRuby (puppetserver):
puppetserver gem install jdbc-mysql
If you are using Hiera-mysql under standard ruby:
/opt/puppetlabs/puppet/bin/gem install mysql2
Configuration
hiera.yaml:
- name: "MySQL lookup" # this can be changed
lookup_key: mysql2_lookup_key # this must be mysql2_lookup_key
paths: # can be any files you want this module to check for data
- "common.sql"
Assuming the default data directory is ./data. ./data/common.sql:
---
:dbconfig:
host: dev1 # mysql server host
username: root # mysql user
password: "%{lookup('mysqlpassword')}" # mysql password
database: puppet # mysql database
port: 3306 # mysql port (optional, defaults to 3306)
machines: SELECT * FROM machines; # queries can be named as you like
items: SELECT * FROM items;
NOTE: any of these fields, including the query, can reference can use hiera lookups.
Usage
When in puppet, use hiera like you normally would:
$machines = lookup('machines')
Credits
Credit to crayfishx/hiera-mysql and Telmo/hiera-mysql-backend.
MIT License Copyright (c) 2018 Nicolas Vitaterna Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.