add missing new files for pet role
authorPeter Palfrader <peter@palfrader.org>
Mon, 30 Sep 2019 08:04:23 +0000 (10:04 +0200)
committerPeter Palfrader <peter@palfrader.org>
Mon, 30 Sep 2019 08:04:23 +0000 (10:04 +0200)
modules/roles/manifests/pet.pp
modules/roles/manifests/pet/db_guest_access.pp [new file with mode: 0644]
modules/roles/manifests/pet/params.pp [new file with mode: 0644]

index 27a264a..ca3ce3b 100644 (file)
@@ -5,7 +5,7 @@
 class roles::pet (
   String  $db_address = $roles::pet::params::db_address,
   Integer $db_port    = $roles::pet::params::db_port,
-) {
+) inherits roles::pet::params {
   include apache2
   ssl::service { 'pet.debian.net': notify  => Exec['service apache2 reload'], key => true, }
   ssl::service { 'pet-devel.debian.net': notify  => Exec['service apache2 reload'], key => true, }
diff --git a/modules/roles/manifests/pet/db_guest_access.pp b/modules/roles/manifests/pet/db_guest_access.pp
new file mode 100644 (file)
index 0000000..ac76e4c
--- /dev/null
@@ -0,0 +1,25 @@
+# pet guest access to DB
+#
+# @param db_address       hostname of the postgres server for this service
+# @param db_port          port of the postgres server for this service
+# @param database         list of databases to give access to
+# @param address          hosts to give access
+# @param connection_type  connection type
+class roles::pet::db_guest_access (
+  String  $db_address     = $roles::pet::params::db_address,
+  Integer $db_port        = $roles::pet::params::db_port,
+  Array[String] $database = ['pet'],
+  Enum['local', 'host', 'hostssl'] $connection_type = 'hostssl',
+  Optional[Variant[Stdlib::IP::Address, Array[Stdlib::IP::Address]]] $address = $base::public_addresses,
+) inherits roles::pet::params {
+  @@postgres::cluster::hba_entry { "pet-guest-${::fqdn}":
+    tag             => "postgres::cluster::${db_port}::hba::${db_address}",
+    pg_port         => $db_port,
+    database        => $database,
+    user            => 'guest',
+    address         => $address,
+    connection_type => $connection_type,
+    method          => 'trust',
+    order           => '25',
+  }
+}
diff --git a/modules/roles/manifests/pet/params.pp b/modules/roles/manifests/pet/params.pp
new file mode 100644 (file)
index 0000000..ab73a2b
--- /dev/null
@@ -0,0 +1,9 @@
+# pet parameters
+#
+# @param db_address     hostname of the postgres server for this service
+# @param db_port        port of the postgres server for this service
+class roles::pet::params (
+  String  $db_address = $roles::pet::db_address,
+  Integer $db_port    = $roles::pet::db_port,
+) {
+}