diff --git a/CHANGELOG.md b/CHANGELOG.md index f36bf82..efc8197 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,26 @@ +## 2015-03-24 - Supported Release 4.3.0 +### Summary +This release fixes compatibility with Puppet 4 and removes opportunities for local users to view the postgresql password. It also adds a new custom resource to aid in managing replication. + +#### Features +- Add `postgresql::server::logdir` parameter to manage the logdir +- Add `environment` parameter to `postgresql_psql` +- Add `postgresql_replication_slot` custom resource + +#### Bugfixes +- Fix for Puppet 4 +- Don't print postgresql\_psql password in command +- Allow `postgresql::validate_db_connection` for more than one host+port+database combo +- Fix service command on Debian 8 and up +- Fix `postgresql::server::extension` to work with custom user/group/port +- Fix `postgresql::server::initdb` to work with custom user/group/port +- Fix changing template1 encoding +- Fix default `postgresql::server::grant::object_name` value +- Fix idempotency of granting all tables in schema with `puppet::server::grant` +- Fix lint warnings +- Fix apt key to use 40 character key and bump puppetlabs-apt to >= 1.8.0 < 2.0.0 + + ##2015-03-10 - Supported Release 4.2.0 ###Summary diff --git a/README.md b/README.md index c6437ec..5a69355 100644 --- a/README.md +++ b/README.md @@ -153,6 +153,12 @@ Resources: * [postgresql::server::tablespace](#resource-postgresqlservertablespace) * [postgresql::validate_db_connection](#resource-postgresqlvalidate_db_connection) +Custom Resources: + +* [postgresql\_psql](#custom-resource-postgresql_psql) +* [postgresql\_replication\_slot](#custom-resource-postgresql_replication_slot) +* [postgresql\_conf](#custom-resource-postgresql_conf) + Functions: * [postgresql\_password](#function-postgresql_password) @@ -846,6 +852,74 @@ Upon failure, sets the number of attempts before giving up and failing the resou This will ensure the database is created before running the test. This only really works if your test is local. Defaults to `true`. +### Custom Resource: postgresql\_psql +This type allows puppet to run psql statements. + +#### `name` +An arbitrary tag for your own reference; the name of the message. This is the +namevar. + +#### `command` +The SQL command to execute via psql. Required. + +#### `cwd` +The working directory under which the psql command should be executed. Defaults +to '/tmp' + +#### `db` +The name of the database to execute the SQL command against. + +#### `environment` +Any additional environment variables you want to set for a SQL command. +Multiple environment variables should be specified as an array. + +#### `port` +The port of the database server to execute the SQL command against. + +#### `psql\_group` +The system user group account under which the psql command should be executed. +Defaults to 'postgres' + +#### `psql\_path` +The path to psql executable. Defaults to 'psql' + +#### `psql\_user` +The system user account under which the psql command should be executed. +Defaults to "postgres" + +#### `refreshonly` +If 'true', then the SQL will only be executed via a notify/subscribe event. +Valid values are true or false. Defaults to false. + +#### `search\_path` +The schema search path to use when executing the SQL command + +#### `unless` +An optional SQL command to execute prior to the main :command; this is +generally intended to be used for idempotency, to check for the existence of an +object in the database to determine whether or not the main SQL command needs +to be executed at all. + +### Custom Resource: postgresql\_conf +This type allows puppet to manage postgresql.conf parameters. + +#### `name` +The postgresql parameter name to manage. This is the namevar. + +#### `target` +The path to postgresql.conf. Defaults to '/etc/postgresql.conf' + +#### `value` +The value to set for this parameter. + +### Custom Resource: postgresql\_replication\_slot +This type allows to create and destroy replication slots +to register warm standby replication on a Postgresql +master server. + +#### `name` +The name of the slot to create. Must be a validt replication slot name. This is the namevar. + ###Function: postgresql\_password If you need to generate a postgres encrypted password, use `postgresql_password`. You can call it from your production manifests if you don't mind them containing the clear text versions of your passwords, or you can call it from the command line and then copy and paste the encrypted password into your manifest: diff --git a/manifests/repo/apt_postgresql_org.pp b/manifests/repo/apt_postgresql_org.pp index e3ad07c..82accff 100644 --- a/manifests/repo/apt_postgresql_org.pp +++ b/manifests/repo/apt_postgresql_org.pp @@ -13,7 +13,7 @@ include ::apt location => 'http://apt.postgresql.org/pub/repos/apt/', release => "${::lsbdistcodename}-pgdg", repos => "main ${postgresql::repo::version}", - key => 'ACCC4CF8', + key => 'B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8', key_source => 'https://www.postgresql.org/media/keys/ACCC4CF8.asc', include_src => false, } diff --git a/metadata.json b/metadata.json index f374375..a481303 100644 --- a/metadata.json +++ b/metadata.json @@ -1,6 +1,6 @@ { "name": "puppetlabs-postgresql", - "version": "4.2.0", + "version": "4.3.0", "author": "Inkling/Puppet Labs", "summary": "Offers support for basic management of PostgreSQL databases.", "license": "Apache-2.0", @@ -68,7 +68,7 @@ ], "dependencies": [ {"name":"puppetlabs/stdlib","version_requirement":"4.x"}, - {"name":"puppetlabs/apt","version_requirement":">=1.1.0 <2.0.0"}, + {"name":"puppetlabs/apt","version_requirement":">=1.8.0 <2.0.0"}, {"name":"puppetlabs/concat","version_requirement":">= 1.1.0 <2.0.0"} ] }