aef363a8bb
Prior to this commit, all of the puppetdb packages were being installed with 'ensure=present'. This commit changes things so that you can explicitly specify a version if you desire; the default is still 'present'.
54 lines
2 KiB
Puppet
54 lines
2 KiB
Puppet
# Class: puppetdb
|
|
#
|
|
# This class provides a simple way to get a puppetdb instance up and running
|
|
# with minimal effort. It will install and configure all necessary packages,
|
|
# including the database server and instance.
|
|
#
|
|
# This class is intended as a high-level abstraction to help simplify the process
|
|
# of getting your puppetdb server up and running; it wraps the slightly-lower-level
|
|
# classes `puppetdb::server` and `puppetdb::database::*`. For maximum
|
|
# configurability, you may choose not to use this class. You may prefer to
|
|
# use the `puppetdb::server` class directly, or manage your puppetdb setup on your
|
|
# own.
|
|
#
|
|
# In addition to this class, you'll need to configure your puppet master to use
|
|
# puppetdb. You can use the `puppetdb::master::config` class to accomplish this.
|
|
#
|
|
# Parameters:
|
|
# ['database'] - Which database backend to use; legal values are
|
|
# `postgres` (default) or `embedded`. (The `embedded`
|
|
# db can be used for very small installations or for
|
|
# testing, but is not recommended for use in production
|
|
# environments. For more info, see the puppetdb docs.)
|
|
# ['puppetdb_version'] - The version of the `puppetdb` package that should
|
|
# be installed. You may specify an explicit version
|
|
# number, 'present', or 'latest'. Defaults to
|
|
# 'present'.
|
|
#
|
|
# Actions:
|
|
# - Creates and manages a puppetdb server and its database server/instance.
|
|
#
|
|
# Requires:
|
|
# - `inkling/postgresql`
|
|
#
|
|
# Sample Usage:
|
|
# include puppetdb
|
|
#
|
|
|
|
# TODO: expose more parameters
|
|
|
|
class puppetdb(
|
|
$database = $puppetdb::params::database,
|
|
$puppetdb_version = $puppetdb::params::puppetdb_version,
|
|
) inherits puppetdb::params {
|
|
class { 'puppetdb::server':
|
|
database => $database,
|
|
puppetdb_version => $puppetdb_version,
|
|
}
|
|
|
|
if ($database == "postgres") {
|
|
class { 'puppetdb::database::postgresql':
|
|
before => Class['puppetdb::server']
|
|
}
|
|
}
|
|
}
|