aboutsummaryrefslogtreecommitdiffstats
path: root/modules/postgresql/manifests/init.pp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/postgresql/manifests/init.pp')
-rw-r--r--modules/postgresql/manifests/init.pp173
1 files changed, 1 insertions, 172 deletions
diff --git a/modules/postgresql/manifests/init.pp b/modules/postgresql/manifests/init.pp
index 394037cd..faec8b8c 100644
--- a/modules/postgresql/manifests/init.pp
+++ b/modules/postgresql/manifests/init.pp
@@ -1,172 +1 @@
-class postgresql {
- class server {
- $pgsql_data = "/var/lib/pgsql/data/"
- $pg_version = '9.0'
-
- # missing requires is corrected in cooker,
- # should be removed
- # once the fix is in a stable release
- package { "postgresql${pg_version}-plpgsql":
- alias => "postgresql-plpgsql",
- }
-
- package { "postgresql${pg_version}-server":
- alias => "postgresql-server",
- require => Package['postgresql-plpgsql'],
- }
-
- service { postgresql:
- subscribe => Package["postgresql-server"],
- }
-
- exec { "service postgresql reload":
- refreshonly => true,
- }
-
- openssl::self_signed_splitted_cert { "pgsql.$domain":
- filename => "server",
- directory => $pgsql_data,
- owner => "postgres",
- group => "postgres",
- require => Package['postgresql-server']
- }
-
-
- file { '/etc/pam.d/postgresql':
- content => template("postgresql/pam"),
- }
-
- define config($content) {
- file { "$name":
- owner => postgres,
- group => postgres,
- mode => 600,
- content => $content,
- require => Package["postgresql-server"],
- notify => Exec['service postgresql reload'],
- }
- }
-
-
- $db = list_exported_ressources('Postgresql::Db_and_user')
-
- $forum_lang = list_exported_ressources('Phpbb::Locale_db')
-
- config {
- "$pgsql_data/pg_hba.conf": content => template("postgresql/pg_hba.conf");
- "$pgsql_data/pg_ident.conf": content => template("postgresql/pg_ident.conf");
- "$pgsql_data/postgresql.conf": content => template("postgresql/postgresql.conf");
- }
-
- }
-
- define tagged() {
- # TODO add a system of tag so we can declare database on more than one
- # server
- Postgresql::User <<| tag == $name |>>
- Postgresql::Database <<| tag == $name |>>
- Postgresql::Db_and_user <<| tag == $name |>>
- }
-
-
- define remote_db_and_user($description = "",
- $tag = "default",
- $callback_notify = "",
- $password ) {
-
- @@postgresql::db_and_user { $name:
- callback_notify => $callback_notify,
- tag => $tag,
- description => $description,
- password => $password
- }
- # fetch the exported ressources that should have been exported
- # once the db was created, and trigger a notify to the object passwed as callback_notify
- Postgresql::Database_callback <<| tag == $name |>>
- }
-
- define remote_database($description = "",
- $user = "postgresql",
- $callback_notify = "",
- $tag = "default")
- {
-
-
- @@postgresql::database { $name:
- description => $description,
- user => $user,
- callback_notify => $callback_notify,
- tag => $tag,
- require => Postgresql::User[$user]
- }
-
- Postgresql::Database_callback <<| tag == $name |>>
- }
-
- define remote_user($password,
- $tag = "default")
- {
- @@postgresql::user { $name:
- tag => $tag,
- password => $password,
- }
- }
-
- define db_and_user($description = "",
- $callback_notify = "",
- $password ) {
-
- postgresql::database { $name:
- callback_notify => $callback_notify,
- description => $description,
- user => $name,
- require => Postgresql::User[$name],
- }
-
- postgresql::user { $name:
- password => $password
- }
-
- }
-
- define database_callback($callback_notify = '') {
- # dummy declaration, so we can trigger the notify
- if $callback_notify {
- exec { "callback $name":
- command => "true",
- notify => $callback_notify,
- }
- }
- }
-
- # TODO convert it to a regular type ( so we can later change user and so on )
- define database($description = "",
- $user = "postgres",
- $callback_notify = "") {
- exec { "createdb -O $user -U postgres $name '$description'":
- user => root,
- unless => "psql -A -t -U postgres -l | grep '^$name|'",
- require => Service['postgresql'],
- }
-
- # this is fetched by the manifest asking the database creation, once the db have been created
- # FIXME proper ordering ?
- @@postgresql::database_callback { $name:
- tag => $name,
- callback_notify => $callback_notify,
- }
- }
-
- # TODO convert to a regular type, so we can later change password without erasing the
- # current user
- define user($password) {
- $sql = "CREATE ROLE $name ENCRYPTED PASSWORD '\$pass' NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT LOGIN;"
-
- exec { "psql -U postgres -c \"$sql\" ":
- user => root,
- environment => "pass=$password",
- unless => "psql -A -t -U postgres -c '\\du $name' | grep '$name'",
- require => Service['postgresql'],
- }
- }
-}
+class postgresql { }