newer pg module
[mirror/dsa-puppet.git] / 3rdparty / modules / postgresql / manifests / repo / yum_postgresql_org.pp
diff --git a/3rdparty/modules/postgresql/manifests/repo/yum_postgresql_org.pp b/3rdparty/modules/postgresql/manifests/repo/yum_postgresql_org.pp
new file mode 100644 (file)
index 0000000..1ee8c9a
--- /dev/null
@@ -0,0 +1,36 @@
+# PRIVATE CLASS: do not use directly
+class postgresql::repo::yum_postgresql_org inherits postgresql::repo {
+  $version_parts   = split($postgresql::repo::version, '[.]')
+  $package_version = "${version_parts[0]}${version_parts[1]}"
+  $gpg_key_path    = "/etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-${package_version}"
+
+  file { $gpg_key_path:
+    source => 'puppet:///modules/postgresql/RPM-GPG-KEY-PGDG',
+    owner  => 'root',
+    group  => 'root',
+    mode   => '0644',
+    before => Yumrepo['yum.postgresql.org']
+  }
+
+  if($::operatingsystem == 'Fedora') {
+    $label1 = 'fedora'
+    $label2 = $label1
+  } else {
+    $label1 = 'redhat'
+    $label2 = 'rhel'
+  }
+  $default_baseurl = "https://download.postgresql.org/pub/repos/yum/${postgresql::repo::version}/${label1}/${label2}-\$releasever-\$basearch"
+
+  $_baseurl = pick($postgresql::repo::baseurl, $default_baseurl)
+
+  yumrepo { 'yum.postgresql.org':
+    descr    => "PostgreSQL ${postgresql::repo::version} \$releasever - \$basearch",
+    baseurl  => $_baseurl,
+    enabled  => 1,
+    gpgcheck => 1,
+    gpgkey   => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PGDG-${package_version}",
+    proxy    => $postgresql::repo::proxy,
+  }
+
+  Yumrepo['yum.postgresql.org'] -> Package<|tag == 'postgresql'|>
+}