Puppet Class: pg_profile::database::db_software
- Inherits:
- pg_profile
- Defined in:
- manifests/database/db_software.pp
Summary
This class contains the definition of the Postgres software packages you want to use on this system.Overview
--
pg_profile::database::db_software
When these customizations aren’t enough, you can replace the class with your own class. See [pg_profile::database](./database.html) for an explanation on how to do this.
–++–
| 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | # File 'manifests/database/db_software.pp', line 52
class pg_profile::database::db_software(
  Optional[String[1]] $proxy,
  String[1]           $base_url,
  Boolean             $install_contrib,
  Boolean             $install_devel,
  Boolean             $install_docs,
  Boolean             $install_llvmjit,
  Boolean             $install_odbc,
  Boolean             $install_plperl,
  Boolean             $install_plpython3,
  Boolean             $install_pltcl,
  Boolean             $install_test,
) inherits pg_profile {
  echo {"Ensure Postgres software version ${pg_profile::version}":
    withpath => false,
  }
  $package_version = split($pg_profile::version, '[.]')[0]
  $gpg_key_path    = "/etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-${package_version}"
  easy_type::debug_evaluation() # Show local variable on extended debug
  file { $gpg_key_path:
    source => 'puppet:///modules/pg_profile/postgres-repo.key',
    owner  => 'root',
    group  => 'root',
    mode   => '0644',
  }
  -> yumrepo { 'yum.postgresql.org':
    descr    => "PostgreSQL ${pg_profile::version} \$releasever - \$basearch",
    baseurl  => $base_url,
    enabled  => 1,
    gpgcheck => 1,
    gpgkey   => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-${package_version}",
    proxy    => $proxy,
  }
  -> package { "postgresql${package_version}-server":
    ensure   => 'present',
    provider => 'yum'
  }
  $additional_packages = ['contrib','devel','docs','llvmjit','odbc','plperl','plpython3','pltcl','test'].each | $package| {
    $value = inline_template("<%= @install_${package} %>")
    if $value == 'true' {
      echo {"Ensure optional Postgres version ${pg_profile::version} package ${package} ":
        withpath => false,
      }
      package { "postgresql${package_version}-${package}":
        ensure  => 'present',
        # require => Package["postgresql${package_version}-server"],
      }
    }
  }
} |