mythsunwind / yaml_data_in_modules

A data-in-modules backend for Hiera

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

yaml_data_in_modules : a data in modules backend for Hiera

Requirement

puppet >= 3.2.3 hiera >= 1.2.1

Description

This backend will check for yaml files in a directory called "data" of the current puppet module.

How to install it

Add this module to your Puppetfile to install "data in modules" as a new backend

mod 'yaml_data_in_modules',
    :git => "git@github.com:mythsunwind/yaml_data_in_modules.git"

How to use it with hiera

Add the backend to your hiera.yaml

:backends:
  - yaml_data_in_modules
  - yaml
:hierarchy:
  - %{context}-%{datacenter}-%{platform}-%{cluster}-%{hostname}
  - %{context}-%{datacenter}-%{platform}-%{cluster}
  - %{context}-%{datacenter}-%{platform}
  - %{context}-%{datacenter}
  - %{context}
  - common

The above configuration will check hierachically in the data directory for yaml files with the specified names. If it didn't found any files with the given names (concatinated with facts and common.yaml), the above configuration will then switch to the normal yaml backend and check at the central location.

How to add data to your module

In your module path create a directory called data and add yaml files into it.

modules/example_module/
                      + files
                      + manifests
                      + templates
                      + data
                        + dev-eu--vm116.yaml
                        + qa-na.yaml
                        + common.yaml

Add a variable to your yaml files

version : "1.23.4-567"

Use the following syntax to use this variable in your module

class my_module {
  $version = hiera("version")
}

About

A data-in-modules backend for Hiera

License:Apache License 2.0


Languages

Language:Ruby 100.0%Language:Puppet 0.0%