Forge Home

tinydata

Tiny Puppet Data

58,580 downloads

261 latest version

5.0 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 0.7.1 (latest)
  • 0.7.0
  • 0.6.0
  • 0.5.1
  • 0.5.0
  • 0.4.8
  • 0.4.7
  • 0.4.6
  • 0.4.5
  • 0.4.4
  • 0.4.3
  • 0.4.2
  • 0.4.1
  • 0.4.0
  • 0.3.3
  • 0.3.2
  • 0.3.1
  • 0.3.0
  • 0.2.7
  • 0.2.6
  • 0.2.5
  • 0.2.4
  • 0.2.3
  • 0.2.2
  • 0.2.1
  • 0.2.0
  • 0.1.12
  • 0.1.11
  • 0.1.10
  • 0.1.9
  • 0.1.8
  • 0.1.6
  • 0.1.5
  • 0.1.3
  • 0.1.2
  • 0.1.1
  • 0.0.25
  • 0.0.24
  • 0.0.23
  • 0.0.22
  • 0.0.21
  • 0.0.20
  • 0.0.19
  • 0.0.18
  • 0.0.17
  • 0.0.16
  • 0.0.15
  • 0.0.14
  • 0.0.13
  • 0.0.12
  • 0.0.11
  • 0.0.10
  • 0.0.8
  • 0.0.7
  • 0.0.6
  • 0.0.5
  • 0.0.4
  • 0.0.3
  • 0.0.2
  • 0.0.1
released Aug 9th 2023
This version is compatible with:
  • Puppet Enterprise 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 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, 2017.1.x, 2016.5.x, 2016.4.x
  • Puppet >= 3.0.0 < 9.0.0
  • , , , , , , ,

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'example42-tinydata', '0.7.1'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add example42-tinydata
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install example42-tinydata --version 0.7.1

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

example42/tinydata — version 0.7.1 Aug 9th 2023

Tiny Data

This repository contains data used to manage applications on different Operating Systems.

It's currently used by the (Tiny Puppet (tp) module as default backend where is stored the application informations.

Data files

Each supported application has a sub directory in data/ which contains:

  • the hiera.yaml file which describes the hierarchy to use to lookup for the relevant application data.

  • the yaml files where data is stored according to the defined hierarchy.

A basic hiera.yaml is like this:

---
 :hierarchy:
   - "%{title}/osfamily/%{osfamily}"
   - "%{title}/default"
   - default

so the lookup is done, if $title == 'mariadb' and $facts['os']['family'] == 'RedHat' in these files:

tinydata/data/mariadb/osfamily/RedHat.yaml
tinydata/data/mariadb/default.yaml
tinydata/data/default.yaml

The last file contains general defaults for every application, if a setting is specified in an higher level file, it will override the default. For example what's set in tinydata/data/mariadb/osfamily/RedHat.yaml will override the default in tinydata/data/default.yaml (on RedHat derivatives).

Data format

For each application a settings hash is stored in the yaml files.

Check the reference app tinyata for the official reference on the settings and how they are used. Settings marked as v3 are used by tp module up to version 4, where they are still supported but start to be deprecated. Settings marked as v4 are used by tp module 4 and above (a tech preview is available from tp 3.8.0).

Create data for a new application

To create tinydata for a new application is enough to create a new directory in data/ with the name of the application and then:

  • add the hiera.yaml where you configure the hierarchy to follow.
  • add at least a default.yaml (or whatever matches your default file in hiera.yaml) with the settings for the application.

The recommended approach is to use the moduledata_clone.sh script to generate a new app data directory based on an existing one.

Usage is as follows:

scripts/moduledata_clone.sh <sourceapp> <newapp>

You can and should use one of the sample apps templates with predefined and updated tinydata to have a good starting point:

scripts/moduledata_clone.sh sample <newapp>

Update policy

Software evolves and things change. Our committment is to keep Tiny Data as updated as possible, so whenever new references to new versions (for example in repos url) are available, they will be updated.

If data for some Operating Systems is incorrect (and it is) we will update it without caring about possible backwards incompatibilities on existing setups: the driving principle is to have the correct data for each version of each supported operating system and application.

We recommend to refer to a specific version on this module in your Puppetfile and update it after proper checks on the eventual changes introduced in data related to the application you managing via Tiny Puppet.