Skip to content

Commit

Permalink
remove param documentation from readme
Browse files Browse the repository at this point in the history
  • Loading branch information
zilchms committed Jan 29, 2024
1 parent 4d409c2 commit 0dce775
Showing 1 changed file with 0 additions and 182 deletions.
182 changes: 0 additions & 182 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -262,188 +262,6 @@ The resulting output in /etc/puppet/hiera.yaml:
- hiera::params: Handles variable conditionals
- hiera::eyaml: Handles eyaml configuration

### Parameters

The following parameters are available for the hiera class:

* `hierarchy`
The hiera hierarchy.
Default: `[]`
For Hiera verison 5.
Default: `[{}]`
* `hiera5_defaults`
To set hiera 5 defaults. e.g. `datadir`, `data_hash`.
Default: `{'datadir' => 'data', 'data_hash' => 'yaml_data'}`
* `hiera_version`
Version format to layout hiera.yaml.
Should be a string.
Default: `3`
* `backends`
The list of backends.
Default: `['yaml']`
If you supply a additional backend you must also supply the backend data in
the `backend_options` hash.
* `backend_options`
An optional hash of backend data for **any** backend.
Each key in the hash should be the name of the backend as listed in
the `backends` array. You can also supply additional settings for the backend
by passing in a hash. By default the `yaml` and `eyaml` backend data will be added
if you enable them via their respective parameters. Any options you supply
for `yaml` and `eyaml` backend types will always override other parameters supplied
to the hiera class for that backend.

Example hiera data for the backend_options hash:

```yaml
backend_options:
json:
datadir: '/etc/puppetlabs/puppet/%{environment}/jsondata'
redis:
password: clearp@ssw0rd # if your Redis server requires authentication
port: 6380 # unless present, defaults to 6379
db: 1 # unless present, defaults to 0
host: db.example.com # unless present, defaults to localhost
path: /tmp/redis.sock # overrides port if unixsocket exists
soft_connection_failure: true # bypass exception if Redis server is unavailable; default is false
separator: / # unless present, defaults to :
deserialize: :json # Try to deserialize; both :yaml and :json are supported
```

**NOTE:** The backend_options must **not** contain symbols as keys ie `:json:`
despite the hiera config needing symbols. The template will perform all the
conversions to symbols in order for hiera to be happy. Because puppet does
not use symbols there are minor annoyances when converting back and forth and
merge data together.
* `hiera_yaml`
The path to the hiera config file.
**Note**: Due to a bug, hiera.yaml is not placed in the codedir. Your
puppet.conf `hiera_config` setting must match the configured value; see also
`hiera::puppet_conf_manage`
Default:
* `'/etc/puppet/hiera.yaml'` for Puppet Open Source
* `'/etc/puppetlabs/puppet/hiera.yaml'` for Puppet Enterprise
* `create_symlink`
Whether to create the symlink `/etc/hiera.yaml`
Default: true
* `datadir`
The path to the directory where hiera will look for databases.
Default:
* `'/etc/puppetlabs/puppet/hieradata'` for PE Puppet < 4
* `'/etc/puppetlabs/code/environments/%{environment}/hieradata'` for Puppet >= 4
* `datadir_manage`
Whether to create and manage the datadir as a file resource.
Default: `true`
* `owner`
The owner of managed files and directories.
Default:
* `'puppet'` for Puppet Open Source
* `'pe-puppet'` for Puppet Enterprise
* `group`
The group owner of managed files and directories.
Default:
* `'puppet'` for Puppet Open Source
* `'pe-puppet'` for Puppet Enterprise
* `eyaml`
Whether to install, configure, and enable [the eyaml backend][eyaml]. Also see
the provider and master_service parameters.
Default: `false`
* `eyaml_name`
The name of the eyaml gem.
Default: 'hiera-eyaml'
* `eyaml_version`
The version of hiera-eyaml to install. Accepts 'installed', 'latest', '2.0.7',
etc
Default: `undef`
* `eyaml_source`
An alternate gem source for installing hiera-eyaml.
Default: `undef`, uses gem backend default
* `eyaml_datadir`
The path to the directory where hiera will look for databases with the eyaml backend.
Default: same as `datadir`
* `eyaml_extension`
The file extension for the eyaml backend.
Default: `undef`, backend defaults to `'.eyaml'`
* `eyaml_gpg_gnupghome_recurse`
Whether to recurse and set permissions in the gpgdir.
This is imporant to protect the key, but makes puppet agent
raise an error on each run. You can set the mode on these files
to 0600 by yourself and set this to false.
Default: true
* `deep_merge_name`
The name of the deep_merge gem.
Default: 'deep\_merge'
* `deep_merge_version`
The version of deep\_merge to install. Accepts 'installed', 'latest', '2.0.7',
etc.
Default: `undef`
* `deep_merge_source`
An alternate gem source for installing deep_merge.
Default: `undef`, uses gem backend default
* `deep_merge_options`
A hash of options to set in hiera.yaml for the deep merge behavior.
Default: `{}`
* `manage_package`
A boolean for wether the hiera package should be managed.
Default: `false`
* `package_name`
Specifies the name of the hiera package. Default: 'hiera'
* `package_ensure`
Specifies the ensure value of the hiera package. Default: 'present'
* `confdir`
The path to Puppet's confdir.
Default: `$settings::confdir` which should be `'/etc/puppetlabs/puppet'`
* `logger`
Which hiera logger to use.
**Note**: You need to manage any package/gem dependencies yourself.
Default: `undef`, hiera defaults to `'console'`
* `cmdpath`
Search paths for command binaries, like the `eyaml` command.
The default should cover most cases.
Default: `['/opt/puppet/bin', '/usr/bin', '/usr/local/bin']`
* `create_keys`
Whether to create pkcs7 keys and manage key files for hiera-eyaml.
This is useful if you need to distribute a pkcs7 key pair.
Default: `true`
* `merge_behavior`
Which hiera merge behavior to use. Valid values are 'native', 'deep', and
'deeper'. Deep and deeper values will install the deep\_merge gem into the
puppet runtime.
Default: `undef`, hiera defaults to `'native'`
* `extra_config`
Arbitrary YAML content to append to the end of the hiera.yaml config file.
This is useful for configuring backend-specific parameters.
Default: `''`
* `keysdir`
Directory for hiera to manage for eyaml keys.
Default: `$confdir/keys`
**Note:** If using PE 2013.x+ and code-manager set the keysdir under the
```$confdir/code-staging directory``` to allow the code manager to sync the
keys to all PuppetServers Example: ```/etc/puppetlabs/code-staging/keys```
* `puppet_conf_manage`
Whether to manage the puppet.conf `hiera_config` value or not.
Default: `true`
* `provider`
Which provider to use to install hiera-eyaml. Can be:
* `puppetserver_gem` (PE 2015.x or FOSS using puppetserver)
* `pe_puppetserver_gem` (PE 3.7 or 3.8)
* `pe_gem` (PE pre-3.7)
* `puppet_gem` (agent-only gem)
* `gem` (FOSS using system ruby (ie puppetmaster))
**Note**: this module cannot detect FOSS puppetserver and you must pass
`provider => 'puppetserver_gem'` for that to work. See also master_service.
Default: Depends on puppet version detected as specified above.
* `master_service`
The service name of the master to restart after package installation or
hiera.yaml changes.
**Note**: You must pass `master_service => 'puppetserver'` for FOSS puppetserver
Default: 'pe-puppetserver' for PE 2015.x, otherwise 'puppetmaster'
* `gem_install_options`
An array of install options to pass to the gem package resources. Typically,
this parameter is used to specify a proxy server. eg
`gem_install_options => ['--http-proxy', 'http://proxy.example.com:3128']`

[eyaml]: https://github.com/TomPoulton/hiera-eyaml

## Limitations

The `eyaml_version` parameter does not currently modify the eyaml version of the
Expand Down

0 comments on commit 0dce775

Please sign in to comment.