Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
(maint) Fix puppetdb package names on FreeBSD
FreeBSD ships with all current versions of puppet and make packages
available with the major version as part of the package name, e.g.
puppet7, puppetserver8, puppetdb7, puppetdb-terminus8.

Gather the major from the user specified version if available, or
default to the latest version if not specified to build actual package
names.
  • Loading branch information
smortex committed Jan 31, 2024
commit b85c2d863046a2908f8c8e4d08b86ca95cb75a3d
21 changes: 18 additions & 3 deletions manifests/params.pp
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,12 @@
$postgres_version = '9.6'
}

$puppetdb_major_version = $puppetdb_version ? {
'latest' => '8',
'present' => '8',
default => $puppetdb_version.split('.')[0],
}

# The remaining database settings are not used for an embedded database
$database_host = 'localhost'
$database_port = '5432'
Expand Down Expand Up @@ -81,27 +87,32 @@
$java_args = {}
$merge_default_java_args = true

$puppetdb_package = 'puppetdb'
$puppetdb_service = 'puppetdb'
$masterless = false

if !($puppetdb_version in ['latest','present','absent']) and versioncmp($puppetdb_version, '3.0.0') < 0 {
case fact('os.family') {
'RedHat', 'Suse', 'Archlinux','Debian': {
$puppetdb_package = 'puppetdb'
$terminus_package = 'puppetdb-terminus'
$etcdir = '/etc/puppetdb'
$vardir = '/var/lib/puppetdb'
$database_embedded_path = "${vardir}/db/db"
$puppet_confdir = pick($puppetdb::globals::puppet_confdir,'/etc/puppet')
$puppet_service_name = 'puppetmaster'
}
'OpenBSD': {
$puppetdb_package = 'puppetdb'
$terminus_package = 'puppetdb-terminus'
$etcdir = '/etc/puppetdb'
$vardir = '/var/db/puppetdb'
$database_embedded_path = "${vardir}/db/db"
$puppet_confdir = pick($puppetdb::globals::puppet_confdir,'/etc/puppet')
$puppet_service_name = 'puppetmasterd'
}
'FreeBSD': {
$puppetdb_package = inline_epp('puppetdb<%= $puppetdb::params::puppetdb_major_version %>')
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice hack 👍

$terminus_package = inline_epp('puppetdb-terminus<%= $puppetdb::params::puppetdb_major_version %>')
$etcdir = '/usr/local/etc/puppetdb'
$vardir = '/var/db/puppetdb'
$database_embedded_path = "${vardir}/db/db"
Expand All @@ -112,23 +123,28 @@
fail("The fact 'os.family' is set to ${fact('os.family')} which is not supported by the puppetdb module.")
}
}
$terminus_package = 'puppetdb-terminus'
$test_url = '/v3/version'
} else {
case fact('os.family') {
'RedHat', 'Suse', 'Archlinux','Debian': {
$puppetdb_package = 'puppetdb'
$terminus_package = 'puppetdb-termini'
$etcdir = '/etc/puppetlabs/puppetdb'
$puppet_confdir = pick($puppetdb::globals::puppet_confdir,'/etc/puppetlabs/puppet')
$puppet_service_name = 'puppetserver'
$vardir = '/opt/puppetlabs/server/data/puppetdb'
}
'OpenBSD': {
$puppetdb_package = 'puppetdb'
$terminus_package = 'puppetdb-termini'
$etcdir = '/etc/puppetlabs/puppetdb'
$puppet_confdir = pick($puppetdb::globals::puppet_confdir,'/etc/puppetlabs/puppet')
$puppet_service_name = undef
$vardir = '/opt/puppetlabs/server/data/puppetdb'
}
'FreeBSD': {
$puppetdb_package = inline_epp('puppetdb<%= $puppetdb::params::puppetdb_major_version %>')
$terminus_package = inline_epp('puppetdb-terminus<%= $puppetdb::params::puppetdb_major_version %>')
$etcdir = '/usr/local/etc/puppetdb'
$puppet_confdir = pick($puppetdb::globals::puppet_confdir,'/usr/local/etc/puppet')
$puppet_service_name = 'puppetserver'
Expand All @@ -138,7 +154,6 @@
fail("The fact 'os.family' is set to ${fact('os.family')} which is not supported by the puppetdb module.")
}
}
$terminus_package = 'puppetdb-termini'
$test_url = '/pdb/meta/v1/version'
$database_embedded_path = "${vardir}/db/db"
}
Expand Down