Skip to content

Commit 43861a3

Browse files
committed
server::database_grant: Always set default user/group/port
This enables us to make it configureable. When a user doesn't specify it, the defaults will be passed, without breaking existing behaviour.
1 parent 26b2555 commit 43861a3

File tree

3 files changed

+57
-14
lines changed

3 files changed

+57
-14
lines changed

REFERENCE.md

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1543,11 +1543,11 @@ Default value: `undef`
15431543

15441544
##### <a name="-postgresql--server--config_entry--path"></a>`path`
15451545

1546-
Data type: `Variant[Boolean, String[1]]`
1546+
Data type: `Stdlib::Absolutepath`
15471547

15481548
Path for postgresql.conf
15491549

1550-
Default value: `false`
1550+
Default value: `$postgresql::server::postgresql_conf_path`
15511551

15521552
### <a name="postgresql--server--database"></a>`postgresql::server::database`
15531553

@@ -1653,7 +1653,9 @@ The following parameters are available in the `postgresql::server::database_gran
16531653
* [`ensure`](#-postgresql--server--database_grant--ensure)
16541654
* [`psql_db`](#-postgresql--server--database_grant--psql_db)
16551655
* [`psql_user`](#-postgresql--server--database_grant--psql_user)
1656+
* [`psql_group`](#-postgresql--server--database_grant--psql_group)
16561657
* [`connect_settings`](#-postgresql--server--database_grant--connect_settings)
1658+
* [`port`](#-postgresql--server--database_grant--port)
16571659

16581660
##### <a name="-postgresql--server--database_grant--privilege"></a>`privilege`
16591661

@@ -1695,7 +1697,15 @@ Data type: `Optional[String[1]]`
16951697

16961698
Specifies the OS user for running psql. Default value: The default user for the module, usually 'postgres'.
16971699

1698-
Default value: `undef`
1700+
Default value: `$postgresql::server::user`
1701+
1702+
##### <a name="-postgresql--server--database_grant--psql_group"></a>`psql_group`
1703+
1704+
Data type: `Optional[String[1]]`
1705+
1706+
Overrides the default postgres user group to be used for related files in the file system.
1707+
1708+
Default value: `$postgresql::params::group`
16991709

17001710
##### <a name="-postgresql--server--database_grant--connect_settings"></a>`connect_settings`
17011711

@@ -1705,6 +1715,14 @@ Specifies a hash of environment variables used when connecting to a remote serve
17051715

17061716
Default value: `undef`
17071717

1718+
##### <a name="-postgresql--server--database_grant--port"></a>`port`
1719+
1720+
Data type: `Stdlib::Port`
1721+
1722+
Port to use when connecting.
1723+
1724+
Default value: `$postgresql::server::port`
1725+
17081726
### <a name="postgresql--server--db"></a>`postgresql::server::db`
17091727

17101728
Define for conveniently creating a role, database and assigning the correctpermissions.

manifests/server/database_grant.pp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,19 @@
66
# @param ensure Specifies whether to grant or revoke the privilege. Revoke or 'absent' works only in PostgreSQL version 9.1.24 or later.
77
# @param psql_db Defines the database to execute the grant against. This should not ordinarily be changed from the default
88
# @param psql_user Specifies the OS user for running psql. Default value: The default user for the module, usually 'postgres'.
9+
# @param psql_group Overrides the default postgres user group to be used for related files in the file system.
910
# @param connect_settings Specifies a hash of environment variables used when connecting to a remote server.
11+
# @param port Port to use when connecting.
1012
define postgresql::server::database_grant (
1113
Enum['ALL', 'CREATE', 'CONNECT', 'TEMPORARY', 'TEMP', 'all', 'create', 'connect', 'temporary', 'temp'] $privilege,
1214
String[1] $db,
1315
String[1] $role,
1416
Optional[Enum['present', 'absent']] $ensure = undef,
1517
Optional[String[1]] $psql_db = undef,
16-
Optional[String[1]] $psql_user = undef,
18+
String[1] $psql_user = $postgresql::server::user,
19+
String[1] $psql_group = $postgresql::server::group,
1720
Optional[Hash] $connect_settings = undef,
21+
Stdlib::Port $port = $postgresql::server::port,
1822
) {
1923
postgresql::server::grant { "database:${name}":
2024
ensure => $ensure,
@@ -25,6 +29,8 @@
2529
object_name => $db,
2630
psql_db => $psql_db,
2731
psql_user => $psql_user,
32+
group => $psql_group,
33+
port => $port,
2834
connect_settings => $connect_settings,
2935
}
3036
}

spec/defines/server/database_grant_spec.rb

Lines changed: 29 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,37 @@
99
'test'
1010
end
1111

12-
let :params do
13-
{
14-
privilege: 'ALL',
15-
db: 'test',
16-
role: 'test'
17-
}
18-
end
19-
2012
let :pre_condition do
2113
"class {'postgresql::server':}"
2214
end
2315

24-
it { is_expected.to contain_postgresql__server__database_grant('test') }
25-
it { is_expected.to contain_postgresql__server__grant('database:test') }
16+
context 'with minimal settings' do
17+
let :params do
18+
{
19+
privilege: 'ALL',
20+
db: 'test',
21+
role: 'test'
22+
}
23+
end
24+
25+
it { is_expected.to compile.with_all_deps }
26+
it { is_expected.to contain_postgresql__server__database_grant('test') }
27+
it { is_expected.to contain_postgresql__server__grant('database:test').with_psql_user('postgres').with_port(5432).with_group('postgres') }
28+
end
29+
30+
context 'with different user/group/port' do
31+
let :params do
32+
{
33+
privilege: 'ALL',
34+
db: 'test',
35+
role: 'test',
36+
psql_user: 'foo',
37+
psql_group: 'bar',
38+
port: 1337
39+
}
40+
end
41+
42+
it { is_expected.to compile.with_all_deps }
43+
it { is_expected.to contain_postgresql__server__grant('database:test').with_psql_user('foo').with_port(1337).with_group('bar') }
44+
end
2645
end

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy