204 Commits

Author SHA1 Message Date
8e55ae1c25 update url 2026-02-06 16:08:15 +01:00
eeb78a7717 OP#375 remove .vscode 2026-01-28 13:49:56 +01:00
12ww1160
bbb2b7a991 OP#263 update Readme 2025-12-15 14:26:22 +01:00
12ww1160
e00a4c8da1 OP#263 remove exporter option 2025-12-15 14:09:47 +01:00
12ww1160
a59dc28728 OP#263 include exporter dirs 2025-12-15 13:55:20 +01:00
12ww1160
b9efa5800f OP#263 include exporter service 2025-12-15 13:54:08 +01:00
12ww1160
974e59af4d add badge 2025-12-14 16:49:10 +01:00
12ww1160
894e870c1b add button 2025-12-14 16:45:55 +01:00
12ww1160
dca27f11d0 add TOC 2025-12-14 16:39:50 +01:00
12ww1160
51cdc98fbf OP#228 update Readme 2025-12-08 14:35:49 +01:00
12ww1160
60d9d4b237 OP#228 add tls file control 2025-12-08 14:32:52 +01:00
12ww1160
58e12e6714 OP#207fix variable relationship and add firewall rule 2025-12-05 16:21:33 +01:00
12ww1160
a830a3adfd fix variable 2025-12-05 16:07:19 +01:00
12ww1160
a9fc834b44 fix variable 2025-12-05 16:03:57 +01:00
12ww1160
7ca147da38 fix variable 2025-12-05 15:46:23 +01:00
12ww1160
c70a12cd8f fix erb 2025-12-05 15:42:47 +01:00
12ww1160
64c8d080c3 fix erb 2025-12-05 15:37:17 +01:00
12ww1160
618544db01 add example 2025-12-05 15:15:38 +01:00
12ww1160
7499707336 add example 2025-12-05 15:09:55 +01:00
12ww1160
076ae79304 add placeholder 2025-12-05 14:58:45 +01:00
12ww1160
4a0f9ca235 fix placeholder 2025-12-05 14:52:36 +01:00
12ww1160
47b2355431 fix header names 2025-12-05 14:36:20 +01:00
12ww1160
4663bb15e0 fix header names 2025-12-05 14:28:25 +01:00
12ww1160
84a58bc0c8 fix autoload 2025-12-05 14:22:43 +01:00
12ww1160
b4c7c64169 fix params 2025-12-05 14:05:09 +01:00
12ww1160
527c6d784b add bouncer details 2025-12-05 14:02:54 +01:00
12ww1160
c4fcffcb40 add bouncer 2025-12-05 13:06:10 +01:00
12ww1160
9df1304812 OP#203 add bouncer to installation 2025-12-04 20:58:19 +01:00
12ww1160
6a8e2f2e35 OP#203 update Readme 2025-12-04 20:46:08 +01:00
12ww1160
88cd596b20 Update file settings.json 2025-12-04 18:55:46 +00:00
Jenkins Server
5bd1295d1f Recommit for updates in build 3 2025-12-04 19:51:48 +01:00
Jenkins Server
fd265a38d3 Merge remote-tracking branch 'origin/master' into jenkins-build-3 2025-12-04 19:50:23 +01:00
12ww1160
b97d83be3b OP#200 replace class names 2025-12-04 19:49:59 +01:00
12ww1160
363f546191 OP#200 add gitea step and push over 2025-12-04 19:43:07 +01:00
12ww1160
bf4a6cccd9 OP#200 add gitea step and push over 2025-12-04 19:41:33 +01:00
12ww1160
fb67adaf7e OP#200 add gitea step and push over 2025-12-04 19:38:10 +01:00
Jenkins
7da2ed7f8f Merge branch 'jenkins-build-57' into 'master'
Auto-merge for build 57

See merge request puppet/postgresql_cd!40
2025-12-04 17:04:29 +00:00
Jenkins Server
86e3636d57 Recommit for updates in build 57 2025-12-04 18:02:43 +01:00
Jenkins Server
2f60ec77a2 Merge remote-tracking branch 'origin/master' into jenkins-build-57 2025-12-04 18:01:38 +01:00
12ww1160
6acaa6d3b2 add variable for idle session timeout 2025-12-04 18:01:19 +01:00
Jenkins
e9e75030ec Merge branch 'jenkins-build-55' into 'master'
Auto-merge for build 55

See merge request puppet/postgresql_cd!39
2025-12-04 16:57:55 +00:00
12ww1160
9bac00de82 add variable for idle session timeout 2025-12-04 17:56:30 +01:00
Jenkins Server
51d084b453 Recommit for updates in build 55 2025-11-21 17:17:30 +01:00
Jenkins Server
9a7e19ef37 Merge remote-tracking branch 'origin/master' into jenkins-build-55 2025-11-21 17:16:19 +01:00
Arne Teuke
c1959854a8 OP#107 add control for extensions https://project.confdroid.com/work_packages/107 - update Readme 2025-11-21 17:15:59 +01:00
Jenkins
c01b1512a8 Merge branch 'jenkins-build-54' into 'master'
Auto-merge for build 54

See merge request puppet/postgresql_cd!38
2025-11-21 16:07:25 +00:00
Jenkins Server
74bd86cba9 Merge remote-tracking branch 'origin/master' into jenkins-build-54 2025-11-21 17:05:33 +01:00
Arne Teuke
6c41a6da8f fix template 2025-11-21 17:05:14 +01:00
Jenkins
b2d2a4a334 Merge branch 'jenkins-build-53' into 'master'
Auto-merge for build 53

See merge request puppet/postgresql_cd!37
2025-11-21 16:02:48 +00:00
Jenkins Server
6ba8b94efb Recommit for updates in build 53 2025-11-21 17:01:21 +01:00
Jenkins Server
b855525b72 Merge remote-tracking branch 'origin/master' into jenkins-build-53 2025-11-21 17:00:08 +01:00
Arne Teuke
c05c081041 fix params 2025-11-21 16:59:50 +01:00
Jenkins
9d1a9c8b58 Merge branch 'jenkins-build-52' into 'master'
Auto-merge for build 52

See merge request puppet/postgresql_cd!36
2025-11-21 15:54:01 +00:00
Jenkins Server
694d145246 Recommit for updates in build 52 2025-11-21 16:53:38 +01:00
Jenkins Server
14caecd624 Merge remote-tracking branch 'origin/master' into jenkins-build-52 2025-11-21 16:52:34 +01:00
Arne Teuke
ef27381ae8 fix params 2025-11-21 16:52:13 +01:00
Jenkins
31746deb11 Merge branch 'jenkins-build-50' into 'master'
Auto-merge for build 50

See merge request puppet/postgresql_cd!35
2025-11-21 15:50:38 +00:00
Arne Teuke
eb5b17b83e testing params 2025-11-21 16:50:07 +01:00
Jenkins Server
20a4022475 Recommit for updates in build 50 2025-11-21 16:47:55 +01:00
Jenkins Server
b115737d2d Merge remote-tracking branch 'origin/master' into jenkins-build-50 2025-11-21 16:46:48 +01:00
Arne Teuke
71f2fd1cd2 testing params 2025-11-21 16:46:25 +01:00
Jenkins
4afe4bcf2b Merge branch 'jenkins-build-49' into 'master'
Auto-merge for build 49

See merge request puppet/postgresql_cd!34
2025-11-21 15:40:19 +00:00
Jenkins
2a3074b9e2 Merge branch 'jenkins-build-48' into 'master'
Auto-merge for build 48

See merge request puppet/postgresql_cd!33
2025-11-21 15:39:58 +00:00
Jenkins
69e62ff8aa Merge branch 'jenkins-build-45' into 'master'
Auto-merge for build 45

See merge request puppet/postgresql_cd!32
2025-11-21 15:39:48 +00:00
Jenkins Server
05ad100b0e Recommit for updates in build 49 2025-11-21 16:39:14 +01:00
Jenkins Server
68a85be0fd Merge remote-tracking branch 'origin/master' into jenkins-build-49 2025-11-21 16:38:08 +01:00
Arne Teuke
fa6c7e487e troubleshooting 2025-11-21 16:37:49 +01:00
Jenkins Server
3ab5d464d2 Recommit for updates in build 48 2025-11-21 16:35:45 +01:00
Jenkins Server
92a435cede Merge remote-tracking branch 'origin/master' into jenkins-build-48 2025-11-21 16:34:39 +01:00
Arne Teuke
e138bba3bf troubleshooting 2025-11-21 16:34:19 +01:00
Arne Teuke
763cca0282 troubleshooting 2025-11-21 16:30:36 +01:00
Arne Teuke
a935d0acc3 troubleshooting 2025-11-21 16:25:43 +01:00
Jenkins Server
06b05fa7aa Recommit for updates in build 45 2025-11-21 16:23:19 +01:00
Jenkins Server
5a6e6f21cf Merge remote-tracking branch 'origin/master' into jenkins-build-45 2025-11-21 16:22:13 +01:00
Arne Teuke
de47309ba2 troubleshooting 2025-11-21 16:21:54 +01:00
Arne Teuke
d4b5dfb523 troubleshooting 2025-11-21 16:19:50 +01:00
Arne Teuke
a83b2b492f troubleshooting 2025-11-21 16:17:38 +01:00
Arne Teuke
f084a35bbb troubleshooting 2025-11-21 16:16:00 +01:00
Arne Teuke
a68dd11dba troubleshooting 2025-11-21 16:12:30 +01:00
Arne Teuke
a0a569d635 troubleshooting 2025-11-21 16:10:29 +01:00
Arne Teuke
1fb0fad22e add support for extensions and disable exporter config so far 2025-11-21 16:03:30 +01:00
Arne Teuke
e6e852dd70 add support for extensions and disable exporter config so far 2025-11-21 16:01:43 +01:00
Arne Teuke
34c1b99b18 add support for extensions and disable exporter config so far 2025-11-21 15:55:19 +01:00
Arne Teuke
9f35472176 add support for extensions and disable exporter config so far 2025-11-21 15:49:37 +01:00
Arne Teuke
4e3b493d17 add support for extensions 2025-11-21 15:45:25 +01:00
Jenkins
79405836bd Merge branch 'jenkins-build-35' into 'master'
Auto-merge for build 35

See merge request puppet/postgresql_cd!31
2025-10-30 13:38:19 +00:00
Jenkins Server
df6c148f9c Recommit for updates in build 35 2025-10-30 14:37:11 +01:00
Jenkins Server
bcadbd325c Merge remote-tracking branch 'origin/master' into jenkins-build-35 2025-10-30 14:35:50 +01:00
Arne Teuke
ca80d70857 switched parameter - https://gitlab.confdroid.com/internal/confdroid_management/-/issues/279 2025-10-30 14:30:26 +01:00
Jenkins
2fd2623e71 Merge branch 'jenkins-build-33' into 'master'
Auto-merge for build 33

See merge request puppet/postgresql_cd!30
2025-10-26 15:57:12 +00:00
Jenkins Server
b60ee9d4f1 Merge remote-tracking branch 'origin/master' into jenkins-build-33 2025-10-26 16:55:31 +01:00
Arne Teuke
d51fafc680 remnove redundant step 2025-10-26 16:55:13 +01:00
Jenkins
cbab5f2cc2 Merge branch 'jenkins-build-32' into 'master'
Auto-merge for build 32

See merge request puppet/postgresql_cd!29
2025-10-26 15:41:56 +00:00
Jenkins Server
3dbc938e12 Merge remote-tracking branch 'origin/master' into jenkins-build-32 2025-10-26 16:36:41 +01:00
Arne Teuke
8388203ef0 update creation of databases 2025-10-26 16:36:21 +01:00
Jenkins
747b9fb3ae Merge branch 'jenkins-build-31' into 'master'
Auto-merge for build 31

See merge request puppet/postgresql_cd!28
2025-10-02 22:19:55 +00:00
Jenkins Server
ba80c358f1 Merge remote-tracking branch 'origin/master' into jenkins-build-31 2025-10-03 00:18:08 +02:00
Arne Teuke
bf4eefc083 add step to grant permissions - https://gitlab.confdroid.com/internal/confdroid_management/-/issues/244 2025-10-03 00:17:36 +02:00
Jenkins
896f28b8f6 Merge branch 'jenkins-build-30' into 'master'
Auto-merge for build 30

See merge request puppet/postgresql_cd!27
2025-10-02 13:26:21 +00:00
Jenkins Server
04b502361f Recommit for updates in build 30 2025-10-02 15:23:59 +02:00
Jenkins Server
dddeb18a5b Merge remote-tracking branch 'origin/master' into jenkins-build-30 2025-10-02 15:23:10 +02:00
Arne Teuke
9a2698e3c5 update Readme - https://gitlab.confdroid.com/internal/confdroid_management/-/issues/239 2025-10-02 15:22:03 +02:00
Jenkins
e7ccb188a1 Merge branch 'jenkins-build-29' into 'master'
Auto-merge for build 29

See merge request puppet/postgresql_cd!26
2025-10-02 13:14:46 +00:00
Jenkins Server
6536ec2d8c Recommit for updates in build 29 2025-10-02 15:14:21 +02:00
Jenkins Server
59df777e02 Merge remote-tracking branch 'origin/master' into jenkins-build-29 2025-10-02 15:13:30 +02:00
Arne Teuke
ccdffca708 add db management - https://gitlab.confdroid.com/internal/confdroid_management/-/issues/239 2025-10-02 15:11:29 +02:00
Jenkins
d3e6b0c4fe Merge branch 'jenkins-build-28' into 'master'
Auto-merge for build 28

See merge request puppet/postgresql_cd!25
2025-10-02 12:21:09 +00:00
Jenkins Server
77bbe70696 Recommit for updates in build 28 2025-10-02 14:18:07 +02:00
Jenkins Server
1f4702bb47 Merge remote-tracking branch 'origin/master' into jenkins-build-28 2025-10-02 14:17:20 +02:00
Arne Teuke
87d838f8be add role management - https://gitlab.confdroid.com/internal/confdroid_management/-/issues/239 2025-10-02 14:14:30 +02:00
Jenkins
855d8f0383 Merge branch 'jenkins-build-27' into 'master'
Auto-merge for build 27

See merge request puppet/postgresql_cd!24
2025-10-01 16:56:21 +00:00
Jenkins Server
5184ce2001 Merge remote-tracking branch 'origin/master' into jenkins-build-27 2025-10-01 18:55:21 +02:00
Arne Teuke
ee67aaa26c remove universal access from pg_hba see https://gitlab.confdroid.com/internal/confdroid_management/-/issues/235 2025-10-01 18:54:45 +02:00
Jenkins
c00b35a88e Merge branch 'jenkins-build-26' into 'master'
Auto-merge for build 26

See merge request puppet/postgresql_cd!23
2025-10-01 16:42:19 +00:00
Jenkins Server
9cfbff7b19 Recommit for updates in build 26 2025-10-01 18:40:35 +02:00
Jenkins Server
e0f816a346 Merge remote-tracking branch 'origin/master' into jenkins-build-26 2025-10-01 18:39:50 +02:00
Arne Teuke
3dfcaa5540 remove reference to pg_hba.conf see https://gitlab.confdroid.com/internal/confdroid_management/-/issues/235 2025-10-01 18:39:16 +02:00
Jenkins
81f1752d0c Merge branch 'jenkins-build-25' into 'master'
Auto-merge for build 25

See merge request puppet/postgresql_cd!22
2025-10-01 16:33:11 +00:00
Jenkins Server
f1b624c45c Recommit for updates in build 25 2025-10-01 18:32:29 +02:00
Jenkins Server
f7f7f194a6 Merge remote-tracking branch 'origin/master' into jenkins-build-25 2025-10-01 18:31:46 +02:00
Arne Teuke
5ff3cbd1b1 fix permissions see https://gitlab.confdroid.com/internal/confdroid_management/-/issues/235 2025-10-01 18:31:18 +02:00
Jenkins
dc04aa4bdf Merge branch 'jenkins-build-24' into 'master'
Auto-merge for build 24

See merge request puppet/postgresql_cd!21
2025-10-01 16:21:21 +00:00
Jenkins
aca33a9367 Merge branch 'jenkins-build-23' into 'master'
Auto-merge for build 23

See merge request puppet/postgresql_cd!20
2025-10-01 16:16:04 +00:00
Jenkins Server
0eb286e89a Merge remote-tracking branch 'origin/master' into jenkins-build-24 2025-10-01 18:16:01 +02:00
Arne Teuke
6ae49bed9c fix variable see https://gitlab.confdroid.com/internal/confdroid_management/-/issues/235 2025-10-01 18:15:22 +02:00
Arne Teuke
3c762c82ff add extra line for space see https://gitlab.confdroid.com/internal/confdroid_management/-/issues/235 2025-10-01 18:14:35 +02:00
Jenkins Server
28306cb6f2 Merge remote-tracking branch 'origin/master' into jenkins-build-23 2025-10-01 17:55:30 +02:00
Arne Teuke
dcc1a9cda8 add extra line for space see https://gitlab.confdroid.com/internal/confdroid_management/-/issues/235 2025-10-01 17:54:59 +02:00
Jenkins
323c2f2c39 Merge branch 'jenkins-build-22' into 'master'
Auto-merge for build 22

See merge request puppet/postgresql_cd!19
2025-10-01 15:53:05 +00:00
Jenkins Server
c8f6a5e22d Merge remote-tracking branch 'origin/master' into jenkins-build-22 2025-10-01 17:37:35 +02:00
Arne Teuke
bedf5e7fd4 add extra line for space see https://gitlab.confdroid.com/internal/confdroid_management/-/issues/235 2025-10-01 17:36:58 +02:00
Jenkins
aaeb874a5c Merge branch 'jenkins-build-21' into 'master'
Auto-merge for build 21

See merge request puppet/postgresql_cd!18
2025-10-01 15:34:55 +00:00
Jenkins Server
da73ef9bd5 Merge remote-tracking branch 'origin/master' into jenkins-build-21 2025-10-01 17:33:40 +02:00
Arne Teuke
0a72d08920 add extra line for space see https://gitlab.confdroid.com/internal/confdroid_management/-/issues/235 2025-10-01 17:33:02 +02:00
Jenkins
8e470df59e Merge branch 'jenkins-build-20' into 'master'
Auto-merge for build 20

See merge request puppet/postgresql_cd!17
2025-10-01 15:30:37 +00:00
Jenkins
bf9c38d349 Merge branch 'jenkins-build-19' into 'master'
Auto-merge for build 19

See merge request puppet/postgresql_cd!16
2025-10-01 15:30:28 +00:00
Jenkins
dd02aab358 Merge branch 'jenkins-build-18' into 'master'
Auto-merge for build 18

See merge request puppet/postgresql_cd!15
2025-10-01 15:30:19 +00:00
Jenkins Server
b940812192 Recommit for updates in build 20 2025-10-01 17:26:09 +02:00
Jenkins Server
0b8c4438a5 Merge remote-tracking branch 'origin/master' into jenkins-build-20 2025-10-01 17:25:21 +02:00
Arne Teuke
265d94c758 update Readme 2025-10-01 17:24:49 +02:00
Jenkins Server
2be1f8a83f Recommit for updates in build 19 2025-10-01 16:33:47 +02:00
Jenkins Server
ba50915331 Merge remote-tracking branch 'origin/master' into jenkins-build-19 2025-10-01 16:33:00 +02:00
Arne Teuke
80e9bc3bb6 remove line with order number to unclutter see https://gitlab.confdroid.com/internal/confdroid_management/-/issues/235 2025-10-01 16:32:26 +02:00
Jenkins Server
d6be3330f6 Recommit for updates in build 18 2025-10-01 15:58:09 +02:00
Jenkins Server
80f9e0d25c Merge remote-tracking branch 'origin/master' into jenkins-build-18 2025-10-01 15:57:25 +02:00
Arne Teuke
01737207e5 fix parameter description see https://gitlab.confdroid.com/internal/confdroid_management/-/issues/235 2025-10-01 15:56:49 +02:00
Jenkins
f35a7b374f Merge branch 'jenkins-build-17' into 'master'
Auto-merge for build 17

See merge request puppet/postgresql_cd!14
2025-10-01 12:17:43 +00:00
Jenkins Server
85c5dd5ee7 Recommit for updates in build 17 2025-10-01 13:58:48 +02:00
Jenkins Server
9424f042ac Merge remote-tracking branch 'origin/master' into jenkins-build-17 2025-10-01 13:58:04 +02:00
Arne Teuke
e3bd0e4265 fix parameter name and location see https://gitlab.confdroid.com/internal/confdroid_management/-/issues/235 2025-10-01 13:57:29 +02:00
Jenkins
d297d85342 Merge branch 'jenkins-build-16' into 'master'
Auto-merge for build 16

See merge request puppet/postgresql_cd!13
2025-10-01 11:47:25 +00:00
Jenkins Server
ed1d040740 Recommit for updates in build 16 2025-10-01 13:47:05 +02:00
Jenkins Server
b3eb7cf25e Merge remote-tracking branch 'origin/master' into jenkins-build-16 2025-10-01 13:46:19 +02:00
Arne Teuke
5ad8d5a244 fix parameter name see https://gitlab.confdroid.com/internal/confdroid_management/-/issues/235 2025-10-01 13:45:51 +02:00
Jenkins
abf7183fb8 Merge branch 'jenkins-build-15' into 'master'
Auto-merge for build 15

See merge request puppet/postgresql_cd!12
2025-10-01 11:42:16 +00:00
Jenkins Server
3538ef3d5e Recommit for updates in build 15 2025-10-01 13:40:26 +02:00
Jenkins Server
db49407d90 Merge remote-tracking branch 'origin/master' into jenkins-build-15 2025-10-01 13:39:39 +02:00
Arne Teuke
0d36bfa6b1 https://gitlab.confdroid.com/internal/confdroid_management/-/issues/235 fix ordering 2025-10-01 13:39:11 +02:00
Jenkins
281901a472 Merge branch 'jenkins-build-14' into 'master'
Auto-merge for build 14

See merge request puppet/postgresql_cd!11
2025-10-01 11:34:19 +00:00
Jenkins Server
b25295ccf1 Recommit for updates in build 14 2025-10-01 13:33:52 +02:00
Jenkins
71ee134336 Merge branch 'jenkins-build-13' into 'master'
Auto-merge for build 13

See merge request puppet/postgresql_cd!10
2025-10-01 11:33:32 +00:00
Jenkins Server
bf9302813a Merge remote-tracking branch 'origin/master' into jenkins-build-14 2025-10-01 13:33:09 +02:00
Arne Teuke
38e7bfd843 https://gitlab.confdroid.com/internal/confdroid_management/-/issues/253 update Readme 2025-10-01 13:31:34 +02:00
Jenkins Server
4a8c89ece6 Recommit for updates in build 13 2025-10-01 13:28:29 +02:00
Jenkins Server
5ac0bac6a4 Merge remote-tracking branch 'origin/master' into jenkins-build-13 2025-10-01 13:27:41 +02:00
Arne Teuke
36a3e0034a #235 add pghba define 2025-10-01 13:24:51 +02:00
Jenkins
887c6786df Merge branch 'jenkins-build-12' into 'master'
Auto-merge for build 12

See merge request puppet/postgresql_cd!9
2025-09-28 14:04:11 +00:00
Jenkins Server
87bb865b97 Recommit for updates in build 12 2025-09-28 15:57:02 +02:00
Jenkins Server
48ca7eb67c Merge remote-tracking branch 'origin/master' into jenkins-build-12 2025-09-28 15:56:18 +02:00
Arne Teuke
80afa41f55 ordering 2025-09-28 15:55:34 +02:00
Jenkins
da0ddb9d5b Merge branch 'jenkins-build-11' into 'master'
Auto-merge for build 11

See merge request puppet/postgresql_cd!8
2025-09-28 13:55:21 +00:00
Jenkins Server
c15e6b3618 Recommit for updates in build 11 2025-09-28 15:49:30 +02:00
Jenkins Server
cf0a409d5e Merge remote-tracking branch 'origin/master' into jenkins-build-11 2025-09-28 15:48:49 +02:00
Arne Teuke
73214a1128 add pg_hba rules 2025-09-28 15:47:55 +02:00
Arne Teuke
95347b22bf fix erb 2025-09-28 15:01:53 +02:00
Jenkins
a04d459bd8 Merge branch 'jenkins-build-10' into 'master'
Auto-merge for build 10

See merge request puppet/postgresql_cd!7
2025-09-28 12:30:49 +00:00
Jenkins Server
b3c9203010 Recommit for updates in build 10 2025-09-28 14:30:09 +02:00
Jenkins Server
82b6f9de26 Merge remote-tracking branch 'origin/master' into jenkins-build-10 2025-09-28 14:29:28 +02:00
Arne Teuke
3fb019e059 fix path 2025-09-28 14:28:49 +02:00
Jenkins
4d109d9f63 Merge branch 'jenkins-build-9' into 'master'
Auto-merge for build 9

See merge request puppet/postgresql_cd!6
2025-09-28 12:23:04 +00:00
Jenkins Server
f89fc0988a Recommit for updates in build 9 2025-09-28 14:16:18 +02:00
Jenkins Server
20834e2fe6 Merge remote-tracking branch 'origin/master' into jenkins-build-9 2025-09-28 14:15:38 +02:00
Arne Teuke
1c25a040f2 fix ordering 2025-09-28 14:12:41 +02:00
Jenkins
a312816d49 Merge branch 'jenkins-build-8' into 'master'
Auto-merge for build 8

See merge request puppet/postgresql_cd!5
2025-09-28 12:08:17 +00:00
Jenkins Server
adb80145ce Merge remote-tracking branch 'origin/master' into jenkins-build-8 2025-09-28 14:05:48 +02:00
Arne Teuke
d482191146 fix cert path 2025-09-28 14:05:17 +02:00
Jenkins
cbdb35a5ce Merge branch 'jenkins-build-7' into 'master'
Auto-merge for build 7

See merge request puppet/postgresql_cd!4
2025-09-28 12:02:13 +00:00
Jenkins Server
cacb8a098b Merge remote-tracking branch 'origin/master' into jenkins-build-7 2025-09-28 13:58:38 +02:00
Arne Teuke
e8a87e80ca fix cert path 2025-09-28 13:58:03 +02:00
Jenkins
53d131f920 Merge branch 'jenkins-build-6' into 'master'
Auto-merge for build 6

See merge request puppet/postgresql_cd!3
2025-09-28 11:52:27 +00:00
Jenkins Server
d22b4275a7 Recommit for updates in build 6 2025-09-28 13:49:44 +02:00
Jenkins Server
be3fddfad5 Merge remote-tracking branch 'origin/master' into jenkins-build-6 2025-09-28 13:49:05 +02:00
Arne Teuke
a6427523c6 update postgresql.conf with SSL settings 2025-09-28 13:48:29 +02:00
Jenkins
47309f44fe Merge branch 'jenkins-build-5' into 'master'
Auto-merge for build 5

See merge request puppet/postgresql_cd!2
2025-09-18 09:59:19 +00:00
Jenkins Server
33921ace4e Recommit for updates in build 5 2025-09-18 11:57:18 +02:00
Jenkins Server
c90e17c12a Merge remote-tracking branch 'origin/master' into jenkins-build-5 2025-09-18 11:55:51 +02:00
Arne Teuke
27acabd48b update params to include a package array instead string 2025-09-18 11:54:56 +02:00
Jenkins
2ad1321819 Merge branch 'jenkins-build-4' into 'master'
Auto-merge for build 4

See merge request puppet/postgresql_cd!1
2025-06-24 12:09:14 +00:00
Jenkins Server
d99c5cd77b Merge remote-tracking branch 'origin/master' into jenkins-build-4 2025-06-06 18:15:00 +02:00
Arne Teuke
3acaaa4ad8 add new MR approach 2025-06-06 18:14:41 +02:00
Jenkins Server
86e3453934 Recommit for updates in build 3 2025-05-22 18:49:59 +02:00
Jenkins Server
4ee93b2808 Merge remote-tracking branch 'origin/master' into jenkins-build-3 2025-05-22 18:49:21 +02:00
Arne Teuke
720ce621e5 fix build info and Jenkins pipeline 2025-05-22 18:49:00 +02:00
Jenkins Server
6ae92a9ac1 recommit for updates in build 2 2025-05-16 11:36:56 +02:00
38 changed files with 1018 additions and 172 deletions

1
.gitignore vendored
View File

@@ -3,3 +3,4 @@
Gemfile.lock
FileList
.scannerwork
.vscode

53
.vscode/settings.json vendored
View File

@@ -1,53 +0,0 @@
{
"cSpell.words": [
"archivedir",
"autovacuum",
"bgwriter",
"bitmapscan",
"bytea",
"conninfo",
"csvlog",
"csvlogs",
"datestyle",
"ecdh",
"fdatasync",
"geqo",
"hashagg",
"hashjoin",
"hostssl",
"indexonlyscan",
"indexscan",
"initdb",
"intervalstyle",
"keepalives",
"KEEPCNT",
"KEEPIDLE",
"KEEPINTVL",
"keytab",
"llvmjit",
"logfile",
"logfiles",
"maxpages",
"mergejoin",
"mmap",
"multixact",
"naptime",
"nestloop",
"partitionwise",
"pgsql",
"restartpoint",
"seqscan",
"seqscans",
"sysconfdir",
"sysv",
"tablespace",
"tablespaces",
"tidscan",
"timezonesets",
"walsender",
"writethrough",
"xacts",
"xmlbinary",
"xmloption"
]
}

71
Jenkinsfile vendored
View File

@@ -25,10 +25,16 @@ pipeline {
stage('pull master') {
steps {
sshagent(['edd05eb6-26b5-4c7b-a5cc-ea2ab899f4fa']) {
sh '''git config user.name "Jenkins Server"
git config user.email jenkins@confdroid.com
git pull origin master
git checkout -b jenkins '''
sh '''
git config user.name "Jenkins Server"
git config user.email jenkins@confdroid.com
# Ensure we're on the development branch (triggered by push)
git checkout development
# Create jenkins branch from development
git checkout -b jenkins-build-$BUILD_NUMBER
# Optionally merge master into jenkins to ensure compatibility
git merge origin/master --no-ff || { echo "Merge conflict detected"; exit 1; }
'''
}
}
}
@@ -53,20 +59,23 @@ pipeline {
steps {
sh '''/usr/local/bin/puppet-lint . \\
--no-variable_scope-check \\
|| { echo "Puppet lint failed"; exit 1; }
'''
}
}
stage('SonarScan') {
steps {
sh '''
/opt/sonar-scanner/bin/sonar-scanner \
-Dsonar.projectKey=postgresql_cd\
-Dsonar.sources=. \
-Dsonar.host.url=https://sonarqube.confdroid.com \
-Dsonar.token=sqa_aca21cc41336d0f31987ed196ccfb9be55ded774
'''
}
withCredentials([string(credentialsId: 'sonar-token', variable: 'SONAR_TOKEN')]) {
sh '''
/opt/sonar-scanner/bin/sonar-scanner \
-Dsonar.projectKey=confdroid_postgresql \
-Dsonar.sources=. \
-Dsonar.host.url=https://sonarqube.confdroid.com \
-Dsonar.token=$SONAR_TOKEN
'''
}
}
}
stage('create Puppet documentation') {
@@ -78,12 +87,40 @@ pipeline {
stage('update repo') {
steps {
sshagent(['edd05eb6-26b5-4c7b-a5cc-ea2ab899f4fa']) {
sh '''git config user.name "Jenkins Server"
git config user.email jenkins@confdroid.com
echo `git add -A && git commit -am "recommit for updates in build $BUILD_NUMBER"`
git push origin HEAD:master'''
sh '''
git config user.name "Jenkins Server"
git config user.email jenkins@confdroid.com
git rm -r --cached .vscode || echo "No .vscode to remove from git"
git add -A && git commit -am "Recommit for updates in build $BUILD_NUMBER" || echo "No changes to commit"
git push origin HEAD:master
'''
}
}
}
stage('Mirror to Gitea') {
steps {
withCredentials([usernamePassword(
credentialsId: 'Jenkins-gitea',
usernameVariable: 'GITEA_USER',
passwordVariable: 'GITEA_TOKEN')]) {
script {
// Checkout from GitLab (already done implicitly)
sh '''
git checkout master
git pull origin master
git branch -D development
git branch -D jenkins-build-$BUILD_NUMBER
git rm -f Jenkinsfile
git rm -r --cached .vscode || echo "No .vscode to remove from git"
git commit --amend --no-edit --allow-empty
git remote add master https://sourcecode.confdroid.com/confdroid/confdroid_postgresql.git
git -c credential.helper="!f() { echo username=${GITEA_USER}; echo password=${GITEA_TOKEN}; }; f" \
push master --mirror
'''
}
}
}
}
}
}
}

View File

@@ -1,24 +1,39 @@
# Readme
[![Build Status](https://pipelines.confdroid.com/buildStatus/icon?job=postgresql_cd)](https://pipelines.confdroid.com/job/postfresql_cd/)|
[![Build Status](https://jenkins.confdroid.com/buildStatus/icon?job=confdroid_postgresql)](https://jenkins.confdroid.com/job/postfresql_cd/)
[![Security Hotspots](https://sonarqube.confdroid.com/api/project_badges/measure?project=confdroid_postgresql&metric=security_hotspots&token=sqb_34cadd0d17dba89c9735fca0b6cd96c55e22950d)](https://sonarqube.confdroid.com/dashboard?id=confdroid_postgresql)
[[_TOC_]]
- [Readme](#readme)
- [Synopsis](#synopsis)
- [WARNING](#warning)
- [Features](#features)
- [Repo Documentation](#repo-documentation)
- [Dependencies](#dependencies)
- [Deployment](#deployment)
- [SELINUX](#selinux)
- [Known Problems](#known-problems)
- [Support](#support)
- [Tests](#tests)
- [Contact Us](#contact-us)
- [Disclaimer](#disclaimer)
## Synopsis
PostgreSQL is a powerful modern open source SQL database server.
`postgresql_cd` is a Puppet module to automate installation, configuration and management of all aspects of PostgreSQL for Puppet 8
`confdroid_postgresql` is a Puppet module to automate installation, configuration and management of all aspects of PostgreSQL(standalone) for Puppet 8
## WARNING
***Attention: Never use this puppet module on systems which have been previously configured manually. It is impossible to predict how and what would have been configured, hence previous configurations outside the scope of this module may be overwritten! Automated configurations require a test environment to verify that the module suits the purpose intended by the user, as well as tune the parameters, before deploying into live production***
[!["Buy Me A Coffee"](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://www.buymeacoffee.com/grizzly_coda)
## Features
Installation
* install binaries as per given parameters for major and minor version
* install binaries
* initialize the database cluster
Configuration
@@ -26,6 +41,13 @@ Configuration
* manage directory structure including file system permissions and selinux context
* manage service status
Optional:
* manage single line entries in pg_hba via define
* manage roles and databases via define (set `$pl_manage_content` to true)
* manage extensions (set `pl_manage_extensions`to `true`)
* install and manage pg_bouncer (set `pl_use_pg_bouncer`to `true`)
* enable SL / TLS manage TLS certificates (set `pl_ssl_enabled`to `true` and populate content externally through variables)
## Repo Documentation
@@ -43,13 +65,13 @@ via site.pp or nodes.pp
```ruby
node 'example.example.net' {
include cd_postgresql
include confdroid_postgresql
}
```
* through Foreman:
In order to apply parameters through Foreman, **__cd_postgresql::params__** must be added to the host or host group in question.
In order to apply parameters through Foreman, **__confdroid_postgresql::params__** must be added to the host or host group in question.
See [more details about class deployment on Confdroid.com](https://confdroid.com/2017/05/deploying-our-puppet-modules/).
@@ -61,8 +83,10 @@ All files and directories are configured with correct selinux context. If selinu
## Support
This module has been developed for and tested with
* OS: Rocky 9
* Puppet 6 - 8
* Puppet 8
## Tests
@@ -75,7 +99,8 @@ All files and directories are configured with correct selinux context. If selinu
## Contact Us
[contact Us](https://confdroid.com/contact/)
* [contact Us](https://confdroid.com/contact/)
* [Feedback Portal](https://feedback.confdroid.com)
## Disclaimer

BIN
files/postgres_exporter Executable file

Binary file not shown.

View File

@@ -0,0 +1,56 @@
## confdroid_postgresql::bouncer::bouncer.pp
# Module name: confdroid_postgresql
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class manages the pgbouncer service
# @example confdroid_postgresql::bouncer::bouncer_rule { 'test connection':
# pl_bouncer_db_name => 'test',
# pl_bouncer_host => '127.0.0.7',
# pl_bouncer_host_port => '5432',
# pl_bouncer_user => 'test_user',
# pl_bouncer_order => '001',
# }
###############################################################################
class confdroid_postgresql::bouncer::bouncer (
) inherits confdroid_postgresql::params {
if ($fqdn == $pl_server_fqdn) and ($pl_use_pg_bouncer == true) {
# ensure directory exists
file { $pl_bouncer_dir:
ensure => directory,
owner => 'root',
group => 'root',
mode => '0750',
selrange => s0,
selrole => object_r,
seltype => etc_t,
seluser => system_u,
}
# create auth user file to be populated through placeholder
file { $pl_bouncer_auth_file:
ensure => file,
owner => 'pgbouncer',
group => 'pgbouncer',
mode => '0440',
selrange => s0,
selrole => object_r,
seltype => etc_t,
seluser => system_u,
content => template($pl_bouncer_auth_erb),
}
# create the pgbouncer.ini file
concat { $pl_bouncer_ini_file:
ensure => present,
owner => 'pgbouncer',
mode => '0600',
#notify => Service[$pl_service],
}
# manage file header
concat::fragment { 'bouncer_header':
target => $pl_bouncer_ini_file,
content => template($pl_bouncer_ini_erb),
order => '000',
}
}
}

View File

@@ -0,0 +1,31 @@
# confdroid_postgresql::bouncer::bouncer_rule.pp
# Module name: confdroid_postgresql
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary define manages rule entries for bouncer rules
# @see https://www.postgresql.org/docs/9.6/static/auth-pg-hba-conf.html
# @param [String] pl_bouncer_db_name db name for the bouncer rule
# @param [String] pl_bouncer_host IP of the db host to bounce to
# @param [String] pl_bouncer_host_port port of the db host to bounce to
# @param [String] pl_bouncer_user user for the connection. Must be defined in
# userlist.txt
# @param [String] pl_bouncer_order the order in which the rule should appear
##############################################################################
define confdroid_postgresql::bouncer::bouncer_rule (
String $pl_bouncer_db_name = undef,
String $pl_bouncer_host = '127.0.0.1',
String $pl_bouncer_host_port = '5432',
String $pl_bouncer_user = undef,
String $pl_bouncer_order = undef,
) {
$pl_bouncer_ini_file = $confdroid_postgresql::params::pl_bouncer_ini_file
$pl_bouncer_ini_erb = $confdroid_postgresql::params::pl_bouncer_ini_erb
$pl_bouncer_rule_erb = $confdroid_postgresql::params::pl_bouncer_rule_erb
concat::fragment { "pl_bouncer_rule_${name}":
target => $pl_bouncer_ini_file,
content => template($pl_bouncer_rule_erb),
order => $pl_bouncer_order,
}
}

View File

@@ -0,0 +1,18 @@
## confdroid_postgresql::bouncer::service.pp
# Module name: confdroid_postgresql
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class manages the pgbouncer service
###############################################################################
class confdroid_postgresql::bouncer::service (
) inherits confdroid_postgresql::params {
if ($fqdn == $pl_server_fqdn) and ($pl_use_pg_bouncer == true) {
require confdroid_postgresql::bouncer::bouncer
service { $pl_bouncer_service:
ensure => running,
hasstatus => true,
hasrestart => true,
enable => true,
}
}
}

View File

@@ -1,11 +1,11 @@
## postgresql_cd::firewall::iptables.pp
# Module name: postgresql_cd
# Author: Arne Teuke (arne_teuke@confdroid.com)
## confdroid_postgresql::firewall::iptables.pp
# Module name: confdroid_postgresql
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class manages the alloy iptables
###############################################################################
class postgresql_cd::firewall::iptables (
class confdroid_postgresql::firewall::iptables (
) inherits postgresql_cd::params {
) inherits confdroid_postgresql::params {
if ($fqdn == $pl_server_fqdn) and ($pl_enable_fw == true) {
firewall { "${pl_fw_rule_order}${pl_fw_port} tcp port ${pl_fw_port}":
source => $pl_source_range,
@@ -13,5 +13,13 @@ class postgresql_cd::firewall::iptables (
dport => $pl_fw_port,
jump => 'accept',
}
if $pl_use_pg_bouncer == true {
firewall { "${pl_fw_rule_order}${pl_bouncer_port} tcp port ${pl_bouncer_port}":
source => $pl_source_range,
proto => 'tcp',
dport => $pl_bouncer_port,
jump => 'accept',
}
}
}
}

View File

@@ -1,8 +1,8 @@
## postgresql_cd::init.pp
# Module name: postgresql_cd
# Author: Arne Teuke (arne_teuke@confdroid.com)
# @summary Class initializes the postgresql_cd module.
## confdroid_postgresql::init.pp
# Module name: confdroid_postgresql
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class initializes the confdroid_postgresql module.
##############################################################################
class postgresql_cd {
include postgresql_cd::params
class confdroid_postgresql {
include confdroid_postgresql::params
}

View File

@@ -1,10 +1,17 @@
## postgresql_cd::main::config.pp
# Module name: postgresql_cd
# Author: Arne Teuke (arne_teuke@confdroid.com)
# @summary Class manages logic for the postgresql_cd module.
## confdroid_postgresql::main::config.pp
# Module name: confdroid_postgresql
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class manages logic for the confdroid_postgresql module.
##############################################################################
class postgresql_cd::main::config (
class confdroid_postgresql::main::config (
) inherits postgresql_cd::params {
include postgresql_cd::server::service
) inherits confdroid_postgresql::params {
require confdroid_postgresql::main::install
if $fqdn == $pl_server_fqdn {
include confdroid_postgresql::server::service
if $pl_use_pg_bouncer == true {
include confdroid_postgresql::bouncer::service
}
}
}

View File

@@ -1,10 +1,10 @@
## postgresql_cd::main::dirs.pp
# Module name: postgresql_cd
# Author: Arne Teuke (arne_teuke@confdroid.com)
# @summary Class manages logic for the postgresql_cd module.
## confdroid_postgresql::main::dirs.pp
# Module name: confdroid_postgresql
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class manages logic for the confdroid_postgresql module.
##############################################################################
class postgresql_cd::main::dirs (
class confdroid_postgresql::main::dirs (
) inherits postgresql_cd::params {
require postgresql_cd::main::install
) inherits confdroid_postgresql::params {
require confdroid_postgresql::main::install
}

View File

@@ -1,27 +1,14 @@
## postgresql_cd::main::files.pp
# Module name: postgresql_cd
# Author: Arne Teuke (arne_teuke@confdroid.com)
# @summary Class manages logic for the postgresql_cd module.
## confdroid_postgresql::main::files.pp
# Module name: confdroid_postgresql
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class manages logic for the confdroid_postgresql module.
##############################################################################
class postgresql_cd::main::files (
class confdroid_postgresql::main::files (
) inherits postgresql_cd::params {
) inherits confdroid_postgresql::params {
if $fqdn == $pl_server_fqdn {
require postgresql_cd::server::initdb
require postgresql_cd::main::dirs
file { '/var/lib/pgsql/data/pg_hba.conf':
ensure => file,
owner => 'postgres',
group => 'postgres',
mode => '0600',
selrange => s0,
selrole => object_r,
seltype => postgresql_db_t,
seluser => unconfined_u,
content => template('postgresql_cd/pg_hba.conf.erb'),
notify => Service[$pl_service],
}
require confdroid_postgresql::server::initdb
require confdroid_postgresql::main::dirs
file { '/var/lib/pgsql/data/postgresql.conf':
ensure => file,
@@ -32,8 +19,50 @@ class postgresql_cd::main::files (
selrole => object_r,
seltype => postgresql_db_t,
seluser => unconfined_u,
content => template('postgresql_cd/postgresql.conf.erb'),
content => template('confdroid_postgresql/postgresql.conf.erb'),
notify => Service[$pl_service],
}
if $pl_ssl_enabled == true {
# manage tls certs
## ca.crt
file { $pl_ca_crt_file:
ensure => file,
owner => 'postgres',
group => 'postgres',
mode => '0400',
selrange => s0,
selrole => object_r,
seltype => postgresql_db_t,
seluser => unconfined_u,
content => template($pl_ca_crt_erb),
notify => Service[$pl_service],
}
## server.crt
file { $pl_server_crt_file:
ensure => file,
owner => 'postgres',
group => 'postgres',
mode => '0400',
selrange => s0,
selrole => object_r,
seltype => postgresql_db_t,
seluser => unconfined_u,
content => template($pl_server_crt_erb),
notify => Service[$pl_service],
}
## server.key
file { $pl_server_key_file:
ensure => file,
owner => 'postgres',
group => 'postgres',
mode => '0400',
selrange => s0,
selrole => object_r,
seltype => postgresql_db_t,
seluser => unconfined_u,
content => template($pl_server_key_erb),
notify => Service[$pl_service],
}
}
}
}

View File

@@ -1,11 +1,11 @@
## postgresql_cd::main::install.pp
# Module name: postgresql_cd
# Author: Arne Teuke (arne_teuke@confdroid.com)
# @summary Class manages logic for the postgresql_cd module.
## confdroid_postgresql::main::install.pp
# Module name: confdroid_postgresql
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class manages logic for the confdroid_postgresql module.
##############################################################################
class postgresql_cd::main::install (
class confdroid_postgresql::main::install (
) inherits postgresql_cd::params {
) inherits confdroid_postgresql::params {
if $fqdn == $pl_server_fqdn {
package { $reqpackages_server:
ensure => $pkg_ensure,
@@ -13,6 +13,16 @@ class postgresql_cd::main::install (
package { $reqpackages_client:
ensure => $pkg_ensure,
}
if $pl_manage_extensions == true {
package { $reqpackages_extensions:
ensure => $pkg_ensure,
}
}
if $pl_use_pg_bouncer == true {
package { $reqpackages_bouncer:
ensure => $pkg_ensure,
}
}
}
if $fqdn != $pl_server_fqdn {

View File

@@ -1,10 +1,13 @@
## postgresql_cd::params.pp
# Module name: postgresql_cd
# Author: Arne Teuke (arne_teuke@confdroid.com)
## confdroid_postgresql::params.pp
# Module name: confdroid_postgresql
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class contains all parameters for the confdroid_postgresql module.
# @param [String] pl_server_fqdn the fqdn of the postgresql server. Any other
# system will be configured as client
# @param [String] reqpackages_server the packages for the server
# @param [Array] reqpackages_server the packages for the server
# @param [String] reqpackages_extensions the packages for extensions
# @param [String] reqpackages_client the packages for the client
# @param [String] reqpackages_bouncer the packages for the bouncer
# @param [String] pkg_ensure which version of the packages to install, i.e.
# 'latest', 'present' '13.20',
# @param [String] pl_fw_rule_order the prefix for the firewall rule
@@ -14,15 +17,31 @@
# @param [String] pl_listen_address which address should the service listen on
# @param [String] pl_listen_port which port should the service listen on
# @param [String] pl_max_conn maximum connections the service will accept
# @summary Class contains all parameters for the postgresql_cd module.
# @param [Boolean] pl_ssl_enabled whether SSL is enabled (true) or disabled (false)
# @param [String] pl_server_crt the name of the server cert
# @param [String] pl_server_key the name of the server key
# @param [String] pl_ca_crt the name of the CA crt
# @param [Boolean] pl_manage_content whether to manage roles and databases
# @param [Boolean] pl_manage_extensions whether to manage extensions
# @param [String] pl_idle_timeout idle_in_transaction_session_timeout
# @param [Boolean] pl_use_pg_bouncer whether to use the pc_bouncer
# @param [String] pl_bouncer_listen_addr bouncer listen address
# @param [String] pl_bouncer_port bouncer listen port
# @param [String] pl_bouncer_auth_mode bouncer auth mode
# @param [String] pl_bouncer_auth_users placeholder for users
# @param [String] pl_bouncer_pool_mode bouncer pool mode
# @param [String] pl_bouncer_mx_cl_conn bouncer max client connections
# @param [String] pl_bouncer_pool_size bouncer default pool size
##############################################################################
class postgresql_cd::params (
class confdroid_postgresql::params (
String $pl_server_fqdn = undef,
# installation
String $reqpackages_server = 'postgresql-server',
Array $reqpackages_server = ['postgresql-server','postgresql-contrib'],
String $reqpackages_extensions = 'timescaledb',
String $reqpackages_client = 'postgresql',
String $reqpackages_bouncer = 'pgbouncer',
String $pkg_ensure = 'latest',
# firewall
@@ -34,7 +53,24 @@ class postgresql_cd::params (
# main config
String $pl_listen_address = '*',
String $pl_listen_port = '5432',
String $pl_max_conn = '100',
String $pl_max_conn = '100',
String $pl_idle_timeout = '60000',
Boolean $pl_ssl_enabled = false,
String $pl_server_crt = 'server.crt',
String $pl_server_key = 'server.key',
String $pl_ca_crt = 'root.crt',
Boolean $pl_manage_content = true,
Boolean $pl_manage_extensions = false,
# pg bouncer
Boolean $pl_use_pg_bouncer = false,
String $pl_bouncer_listen_addr = '0.0.0.0',
String $pl_bouncer_port = '6432',
String $pl_bouncer_auth_mode = 'md5',
String $pl_bouncer_auth_users = '"pgbouncer" "fake"',
String $pl_bouncer_pool_mode = 'transaction',
String $pl_bouncer_mx_cl_conn = '100',
String $pl_bouncer_pool_size = '20',
) {
$fqdn = $facts['networking']['fqdn']
@@ -42,12 +78,31 @@ class postgresql_cd::params (
$os_name = $facts['os']['name']
$os_release = $facts['os']['release']['major']
# Service
$pl_service = 'postgresql'
# Directories
$pl_data_dir = '/var/lib/pgsql/data/'
$pl_bouncer_dir = '/etc/pgbouncer'
# files
$pl_pg_hba_conf = "${pl_data_dir}/pg_hba.conf"
$pl_pg_hba_rule_conf = 'confdroid_postgresql/server/pghba/pg_hba_rule.conf.erb'
$pl_pg_hba_conf_erb = 'confdroid_postgresql/server/pghba/pg_hba.conf.erb'
$pl_bouncer_ini_file = "${pl_bouncer_dir}/pgbouncer.ini"
$pl_bouncer_ini_erb = 'confdroid_postgresql/server/bouncer/pgbouncer.ini.erb'
$pl_bouncer_auth_file = "${pl_bouncer_dir}/userlist.txt"
$pl_bouncer_auth_erb = 'confdroid_postgresql/server/bouncer/bouncer_users.erb'
$pl_bouncer_rule_erb = 'confdroid_postgresql/server/bouncer/bouncer_rule.erb'
$pl_ca_crt_file = "${pl_data_dir}/ca.crt"
$pl_ca_crt_erb = 'confdroid_postgresql/server/ca.crt.erb'
$pl_server_crt_file = "${pl_data_dir}/server.crt"
$pl_server_crt_erb = 'confdroid_postgresql/server/server.crt.erb'
$pl_server_key_file = "${pl_data_dir}/server.key"
$pl_server_key_erb = 'confdroid_postgresql/server/server.key.erb'
# Service
$pl_service = 'postgresql'
$pl_exporter_service = 'postgres_exporter'
$pl_bouncer_service = 'pgbouncer'
# includes must be last
include postgresql_cd::main::config
include confdroid_postgresql::main::config
}

View File

@@ -0,0 +1,47 @@
## confdroid_postgresql::server::databases::db_df
# Module name: confdroid_postgresql
# Author: 12ww1160 (12ww1160@confdroid.com.com)
# @summary define manages databases
# @see https://www.postgresql.org/docs/9.6/static/managing-databases.html
# @param [String] pl_db_name the name of the database to be created.
# @param [String] pl_owner_name the name of the owner for the database
# (optional), if none specified, the postgresql defaults will apply.
# @param [String] pl_db_action whether to create or drop the database.
# 'CREATE DATABASE' creates it, 'DROP DATABASE' drops it.
# @param [String] pl_db_extension
##############################################################################
define confdroid_postgresql::server::databases::db_df (
Optional[String] $pl_db_name = undef,
Optional[String] $pl_owner_name = undef,
Optional[String] $pl_db_action = undef,
String $pl_db_extension = 'pg_trgm',
) {
$pl_manage_content = $confdroid_postgresql::params::pl_manage_content
if $pl_manage_content == true {
# create databases
if $pl_db_action == 'CREATE DATABASE' {
exec { "create_database_${name}":
command => template('confdroid_postgresql/server/databases/db_create_sql.erb'),
user => 'postgres',
path => ['/usr/bin','/bin'],
cwd => '/tmp',
unless => template('confdroid_postgresql/server/databases/unless_db_sql.erb'),
}
}
# Drop databases
if $pl_db_action == 'DROP DATABASE' {
exec { "drop_database_${name}":
command => template('confdroid_postgresql/server/databases/db_drop_sql.erb'),
user => 'postgres',
path => ['/usr/bin','/bin'],
cwd => '/tmp',
onlyif => template('confdroid_postgresql/server/databases/unless_drop_sql.erb'),
}
}
}
}

View File

@@ -1,12 +1,14 @@
## postgresql_cd::server::initdb.pp
# Module name: postgresql_cd
# Author: Arne Teuke (arne_teuke@confdroid.com)
## confdroid_postgresql::server::initdb.pp
# Module name: confdroid_postgresql
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class initiates the database
###############################################################################
class postgresql_cd::server::initdb (
class confdroid_postgresql::server::initdb (
) inherits postgresql_cd::params {
) inherits confdroid_postgresql::params {
if $fqdn == $pl_server_fqdn {
require confdroid_postgresql::main::install
exec { 'init_pgsql_db':
command => 'postgresql-setup --initdb',
creates => "${pl_data_dir}/PG_VERSION",
@@ -14,5 +16,5 @@ class postgresql_cd::server::initdb (
}
}
include postgresql_cd::main::files
include confdroid_postgresql::main::files
}

View File

@@ -0,0 +1,55 @@
## confdroid_postgresql::server::pg_hba.pp
# Module name: confdroid_postgresql
# Author: 12ww1160 (arne_teuke@puppetsoft.com)
# @summary Class manages pg_hba.conf file and line entries through define
# pg_hba_rule.pp
# @example confdroid_postgresql::server::pghba::pg_hba_rule { 'local access for role postgres':
# pl_auth_type => 'local',
# pl_auth_database => 'all',
# pl_auth_user => 'postgres',
# pl_auth_method => 'trust',
# pl_auth_order => '001',
# pl_auth_option => '',
# }
##############################################################################
class confdroid_postgresql::server::pghba::pg_hba (
) inherits confdroid_postgresql::params {
if $fqdn == $pl_server_fqdn {
# create the pg_hba.conf file
concat { $pl_pg_hba_conf:
ensure => present,
owner => 'postgres',
mode => '0600',
notify => Service[$pl_service],
}
# manage file header
concat::fragment { 'pghba_header':
target => $pl_pg_hba_conf,
content => template($pl_pg_hba_conf_erb),
order => '000',
}
# manage default rules => should go into external config set
# confdroid_postgresql::server::pghba::pg_hba_rule { 'local access for role postgres':
# pl_auth_type => 'local',
# pl_auth_database => 'all',
# pl_auth_user => $ql_user_name,
# pl_auth_method => 'trust',
# pl_auth_order => '001',
# pl_auth_option => $ql_auth_option,
# }
# confdroid_postgresql::server::pghba::pg_hba_rule { 'local access for all roles':
# pl_auth_type => 'local',
# pl_auth_database => 'all',
# pl_auth_user => 'all',
# pl_auth_method => 'trust',
# pl_auth_order => '002',
# pl_auth_option => $pl_auth_option,
# }
}
}

View File

@@ -0,0 +1,45 @@
## confdroid_postgresql::server::pghba::pg_hba_rule
# Module name: confdroid_postgresql
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary define manages rule entries for pg_hba configuration file
# @see https://www.postgresql.org/docs/9.6/static/auth-pg-hba-conf.html
# @param [string] pl_auth_type Specify the authentication type, can be
# 'local', 'host', 'hostssl' or 'hostnossl'.
# @param [string] pl_auth_database Specify the database for the connection
# @param [string] pl_auth_user Specify the user for the connection
# @param [string] pl_auth_address Specify IP address or FQDN for the
# connection, i.e. where to connect FROM.
# @param [string] pl_auth_method Specify the auth method, can be 'trust',
# 'reject', 'md5' , 'password', 'gss', 'sspi', 'ident', 'peer', 'ldap',
# 'radius', 'cert', 'pam','bsd'
# @param [string] pl_auth_option After the auth-method field, there can be
# field(s) of the form name=value that specify options for the authentication
# method.
# @param [string] pl_auth_order Specify the order in which the entry should
# appear on the list. Lower orders are higher on the list.
# @param [string] pl_auth_description Specify a description for the entry.
##############################################################################
define confdroid_postgresql::server::pghba::pg_hba_rule (
Optional[String] $pl_auth_type = undef,
Optional[String] $pl_auth_database = undef,
Optional[String] $pl_auth_user = undef,
Optional[String] $pl_auth_address = undef,
Optional[String] $pl_auth_method = undef,
Optional[String] $pl_auth_option = undef,
Optional[String] $pl_auth_order = undef,
Optional[String] $pl_auth_description = undef,
) {
$pl_pg_hba_conf = $confdroid_postgresql::params::pl_pg_hba_conf
$pl_pg_hba_rule_conf = $confdroid_postgresql::params::pl_pg_hba_rule_conf
$pl_data_dir = $confdroid_postgresql::params::pl_data_dir
# create rule fragment
concat::fragment { "pl_rule_${name}":
target => $pl_pg_hba_conf,
content => template($pl_pg_hba_rule_conf),
order => $pl_auth_order,
}
}

View File

@@ -0,0 +1,33 @@
## confdroid_postgresql::server::roles::role_df
# Module name: confdroid_postgresql
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary define manages databases
# @see https://www.postgresql.org/docs/9.6/static/managing-databases.html
# @param [string] pl_role_name the name of the role to be created.
# @param [string] pl_role_pw the password to be created
# @param [string] pl_role_attributes attributes for the role to be created
# @param [string] pl_role_status what to do with the role
##############################################################################
define confdroid_postgresql::server::roles::role_df (
Optional[String] $pl_role_name = undef,
Optional[String] $pl_role_pw = undef,
String $pl_role_attributes = 'LOGIN',
String $pl_role_status = 'CREATE ROLE',
) {
$pl_manage_content = $confdroid_postgresql::params::pl_manage_content
if $pl_manage_content == true {
# create the role
exec { "role_${name}":
command => template('confdroid_postgresql/server/roles/role.sql.erb'),
user => 'postgres',
path => ['/usr/bin','/bin'],
cwd => '/tmp',
unless => template('confdroid_postgresql/server/roles/unless_sql.erb'),
}
}
}

View File

@@ -1,14 +1,15 @@
## postgresql_cd::server::service.pp
# Module name: postgresql_cd
# Author: Arne Teuke (arne_teuke@confdroid.com)
## confdroid_postgresql::server::service.pp
# Module name: confdroid_postgresql
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class manages the postgresql service
###############################################################################
class postgresql_cd::server::service (
class confdroid_postgresql::server::service (
) inherits postgresql_cd::params {
) inherits confdroid_postgresql::params {
if $fqdn == $pl_server_fqdn {
require postgresql_cd::firewall::iptables
require postgresql_cd::server::initdb
require confdroid_postgresql::firewall::iptables
require confdroid_postgresql::server::initdb
require confdroid_postgresql::server::pghba::pg_hba
service { $pl_service:
ensure => running,

View File

@@ -1,3 +0,0 @@
# description: <%=@name%>
# order number: <%=@psql_auth_order%>
<%= @pl_auth_type %> <%= @pl_auth_database %> <%= @pl_auth_user %> <%= @pl_auth_address %> <%=@pl_auth_method %> <%=@psql_auth_option%>

View File

@@ -93,13 +93,32 @@ max_connections = <%= @pl_max_conn %>
#krb_server_keyfile = 'FILE:${sysconfdir}/krb5.keytab'
#krb_caseins_users = off
# - Shared Library Preloading -
<% if @pl_manage_extensions == true -%>
shared_preload_libraries = '<%= @reqpackages_extensions %>'
<% else -%>
# shared_preload_libraries = ''
<% end -%>
#local_preload_libraries = ''
#session_preload_libraries = ''
#jit_provider = 'llvmjit' # JIT library to use
# - SSL -
#ssl = off
#ssl_ca_file = ''
#ssl_cert_file = 'server.crt'
<% if @pl_ssl_enabled == true -%>
ssl = on
ssl_ca_file = '<%= @pl_data_dir %>ca.crt'
ssl_cert_file = '<%= @pl_data_dir %>server.crt'
ssl_key_file = '<%= @pl_data_dir %>server.key'
<% end -%>
<% if @pl_ssl_enabled != true -%>
ssl = off
<% end -%>
idle_in_transaction_session_timeout = <%= @pl_idle_timeout %>
#ssl_crl_file = ''
#ssl_key_file = 'server.key'
#ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL' # allowed SSL ciphers
#ssl_prefer_server_ciphers = on
#ssl_ecdh_curve = 'prime256v1'
@@ -657,7 +676,6 @@ log_timezone = 'Etc/UTC'
#session_replication_role = 'origin'
#statement_timeout = 0 # in milliseconds, 0 is disabled
#lock_timeout = 0 # in milliseconds, 0 is disabled
#idle_in_transaction_session_timeout = 0 # in milliseconds, 0 is disabled
#vacuum_freeze_min_age = 50000000
#vacuum_freeze_table_age = 150000000
#vacuum_multixact_freeze_min_age = 5000000
@@ -698,13 +716,6 @@ lc_time = 'en_US.UTF-8' # locale for time formatting
# default configuration for text search
default_text_search_config = 'pg_catalog.english'
# - Shared Library Preloading -
#shared_preload_libraries = '' # (change requires restart)
#local_preload_libraries = ''
#session_preload_libraries = ''
#jit_provider = 'llvmjit' # JIT library to use
# - Other Defaults -
#dynamic_library_path = '$libdir'

View File

@@ -0,0 +1 @@
<%= @pl_bouncer_db_name %> = host=<%= @pl_bouncer_host %> port=<%= @pl_bouncer_host_port %> auth_user=<%= @pl_bouncer_user %> dbname=<%= @pl_bouncer_db_name %>

View File

@@ -0,0 +1 @@
<%= @pl_bouncer_auth_users %>

View File

@@ -0,0 +1,11 @@
[pgbouncer]
listen_addr = <%= @pl_bouncer_listen_addr %>
listen_port = <%= @pl_bouncer_port %>
auth_type = <%= @pl_bouncer_auth_mode %>
auth_file = <%= @pl_bouncer_auth_file %>
pool_mode = <%= @pl_bouncer_pool_mode %>
max_client_conn = <%= @pl_bouncer_mx_cl_conn %>
default_pool_size = <%= @pl_bouncer_pool_size %>
ignore_startup_parameters = extra_float_digits
[databases]

View File

@@ -0,0 +1,405 @@
;;;
;;; PgBouncer configuration file
;;;
;; database name = connect string
;;
;; connect string params:
;; dbname= host= port= user= password= auth_user=
;; client_encoding= datestyle= timezone=
;; pool_size= reserve_pool_size= max_db_connections=
;; pool_mode= connect_query= application_name=
[databases]
;; foodb over Unix socket
;foodb =
;; redirect bardb to bazdb on localhost
;bardb = host=localhost dbname=bazdb
;; access to dest database will go with single user
;forcedb = host=localhost port=300 user=baz password=foo client_encoding=UNICODE datestyle=ISO connect_query='SELECT 1'
;; use custom pool sizes
;nondefaultdb = pool_size=50 reserve_pool_size=10
;; use auth_user with auth_query if user not present in auth_file
;; auth_user must exist in auth_file
; foodb = auth_user=bar
;; run auth_query on a specific database.
; bardb = auth_dbname=foo max_db_client_connections=10
;; fallback connect string
;* = host=testserver
;; User-specific configuration
[users]
;user1 = pool_size=5 reserve_pool_size=2 pool_mode=transaction max_user_connections=10 max_user_client_connections=20
;; Configuration section
[pgbouncer]
;;;
;;; Administrative settings
;;;
logfile = /var/log/pgbouncer/pgbouncer.log
pidfile = /var/run/pgbouncer/pgbouncer.pid
;;;
;;; Where to wait for clients
;;;
;; IP address or * which means all IPs
listen_addr = localhost
listen_port = 6432
;; Unix socket is also used for -R.
;; On Debian it should be /var/run/postgresql
;unix_socket_dir = /tmp
;unix_socket_mode = 0777
;unix_socket_group =
;; The peer id used to identify this pgbouncer process in a group of pgbouncer
;; processes that are peered together. When set to 0 pgbouncer peering is disabled
;peer_id = 0
;;; Notify client that they are queued after this many seconds
;;; Disabled when set to 0
;query_wait_notify = 5
;;;
;;; TLS settings for accepting clients
;;;
;; disable, allow, require, verify-ca, verify-full
;client_tls_sslmode = disable
;; Path to file that contains trusted CA certs
;client_tls_ca_file = <system default>
;; Private key and cert to present to clients.
;; Required for accepting TLS connections from clients.
;client_tls_key_file =
;client_tls_cert_file =
;; default, secure, fast, normal, <ciphersuite string>
;client_tls_ciphers = default
; TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 TLS_AES_128_GCM_SHA256
; TLS_AES_128_CCM_8_SHA256 TLS_AES_128_CCM_SHA256
;client_tls13_ciphers =
;; all, secure, tlsv1.0, tlsv1.1, tlsv1.2, tlsv1.3
;client_tls_protocols = secure
;; none, auto, legacy
;client_tls_dheparams = auto
;; none, auto, <curve name>
;client_tls_ecdhcurve = auto
;;;
;;; TLS settings for connecting to backend databases
;;;
;; disable, allow, prefer, require, verify-ca, verify-full
;server_tls_sslmode = prefer
;; Path to that contains trusted CA certs
;server_tls_ca_file = <system default>
;; Private key and cert to present to backend.
;; Needed only if backend server require client cert.
;server_tls_key_file =
;server_tls_cert_file =
;; all, secure, tlsv1.0, tlsv1.1, tlsv1.2, tlsv1.3
;server_tls_protocols = secure
;; default, secure, fast, normal, <ciphersuite string>
;server_tls_ciphers = default
;; See client_tls13_ciphers.
;server_tls13_ciphers =
;;;
;;; Authentication settings
;;;
;; any, trust, plain, md5, cert, hba, ldap, pam
auth_type = md5
auth_file = /etc/pgbouncer/userlist.txt
;; Path to HBA-style auth config
;auth_hba_file =
;; Path to Pg-ident-style map file
;auth_ident_file =
;; LDAP connection options when "auth_type = ldap"
;auth_ldap_options =
;; Query to use to fetch password from database. Result
;; must have 2 columns - username and password hash.
;auth_query = SELECT rolname, CASE WHEN rolvaliduntil < pg_catalog.now() THEN NULL ELSE rolpassword END FROM pg_authid WHERE rolname=$1 AND rolcanlogin
;; Authentication database that can be set globally to run "auth_query".
;auth_dbname =
;;;
;;; Users allowed into database 'pgbouncer'
;;;
;; comma-separated list of users who are allowed to change settings
admin_users = postgres
;; comma-separated list of users who are just allowed to use SHOW command
stats_users = stats, postgres
;;;
;;; Pooler personality questions
;;;
;; When server connection is released back to pool:
;; session - after client disconnects (default)
;; transaction - after transaction finishes
;; statement - after statement finishes
;pool_mode = session
;; Number of prepared statements to cache on a server connection (zero value
;; disables support of prepared statements).
;max_prepared_statements = 0
;; The number of computational iterations to be performed when
;; encrypting a password using SCRAM-SHA-256.
;scram_iterations = 4096
;; Query for cleaning connection immediately after releasing from
;; client. No need to put ROLLBACK here, pgbouncer does not reuse
;; connections where transaction is left open.
;server_reset_query = DISCARD ALL
;; Whether server_reset_query should run in all pooling modes. If it
;; is off, server_reset_query is used only for session-pooling.
;server_reset_query_always = 0
;; Comma-separated list of parameters to track per client. The
;; Postgres parameters listed here will be cached per client by
;; pgbouncer and restored in server every time the client runs a query.
;track_extra_parameters = IntervalStyle
;; Comma-separated list of parameters to ignore when given in startup
;; packet. Newer JDBC versions require the extra_float_digits here.
;ignore_startup_parameters = extra_float_digits
;; When taking idle server into use, this query is run first.
;server_check_query = select 1
;; If server was used more recently that this many seconds ago,
;; skip the check query. Value 0 may or may not run in immediately.
;server_check_delay = 30
;; Close servers in session pooling mode after a RECONNECT, RELOAD,
;; etc. when they are idle instead of at the end of the session.
;server_fast_close = 0
;; Use <appname - host> as application_name on server.
;application_name_add_host = 0
;; Period for updating aggregated stats.
;stats_period = 60
;;;
;;; Connection limits
;;;
;; Total number of clients that can connect
;max_client_conn = 100
;; Default pool size. 20 is good number when transaction pooling
;; is in use, in session pooling it needs to be the number of
;; max clients you want to handle at any moment
;default_pool_size = 20
;; Minimum number of server connections to keep in pool.
;min_pool_size = 0
; how many additional connection to allow in case of trouble
;reserve_pool_size = 0
;; If a clients needs to wait more than this many seconds, use reserve
;; pool.
;reserve_pool_timeout = 5
;; Maximum number of server connections for a database
;max_db_connections = 0
;; Maximum number of server connections for a user
;max_user_connections = 0
;; If off, then server connections are reused in LIFO manner
;server_round_robin = 0
;;;
;;; Logging
;;;
;; Syslog settings
;syslog = 0
;syslog_facility = daemon
;syslog_ident = pgbouncer
;; log if client connects or server connection is made
;log_connections = 1
;; log if and why connection was closed
;log_disconnections = 1
;; log error messages pooler sends to clients
;log_pooler_errors = 1
;; write aggregated stats into log
;log_stats = 1
;; Logging verbosity. Same as -v switch on command line.
;verbose = 0
;;;
;;; Timeouts
;;;
;; Close server connection if its been connected longer.
;server_lifetime = 3600
;; Close server connection if its not been used in this time. Allows
;; to clean unnecessary connections from pool after peak.
;server_idle_timeout = 600
;; Cancel connection attempt if server does not answer takes longer.
;server_connect_timeout = 15
;; If server login failed (server_connect_timeout or auth failure)
;; then wait this many second before trying again.
;server_login_retry = 15
;; Dangerous. Server connection is closed if query does not return in
;; this time. Should be used to survive network problems, _not_ as
;; statement_timeout. (default: 0)
;query_timeout = 0
;; Dangerous. Client connection is closed if the query is not
;; assigned to a server in this time. Should be used to limit the
;; number of queued queries in case of a database or network
;; failure. (default: 120)
;query_wait_timeout = 120
;; Dangerous. Client connection is closed if the cancellation request
;; is not assigned to a server in this time. Should be used to limit
;; the time a client application blocks on a queued cancel request in
;; case of a database or network failure. (default: 10)
;cancel_wait_timeout = 10
;; Dangerous. Client connection is closed if no activity in this
;; time. Should be used to survive network problems. (default: 0)
;client_idle_timeout = 0
;; Disconnect clients who have not managed to log in after connecting
;; in this many seconds.
;client_login_timeout = 60
;; Clean automatically created database entries (via "*") if they stay
;; unused in this many seconds.
;autodb_idle_timeout = 3600
;; Close connections which are in "IDLE in transaction" state longer
;; than this many seconds.
;idle_transaction_timeout = 0
;; How long SUSPEND/-R waits for buffer flush before closing
;; connection.
;suspend_timeout = 10
;;;
;;; Low-level tuning options
;;;
;; buffer for streaming packets
;pkt_buf = 4096
;; man 2 listen
;listen_backlog = 128
;; Max number pkt_buf to process in one event loop.
;sbuf_loopcnt = 5
;; Maximum PostgreSQL protocol packet size.
;max_packet_size = 2147483647
;; Set SO_REUSEPORT socket option
;so_reuseport = 0
;; networking options, for info: man 7 tcp
;; Linux: Notify program about new connection only if there is also
;; data received. (Seconds to wait.) On Linux the default is 45, on
;; other OS'es 0.
;tcp_defer_accept = 0
;; In-kernel buffer size (Linux default: 4096)
;tcp_socket_buffer = 0
;; whether tcp keepalive should be turned on (0/1)
;tcp_keepalive = 1
;; The following options are Linux-specific. They also require
;; tcp_keepalive=1.
;; Count of keepalive packets
;tcp_keepcnt = 0
;; How long the connection can be idle before sending keepalive
;; packets
;tcp_keepidle = 0
;; The time between individual keepalive probes
;tcp_keepintvl = 0
;; How long may transmitted data remain unacknowledged before TCP
;; connection is closed (in milliseconds)
;tcp_user_timeout = 0
;; DNS lookup caching time
;dns_max_ttl = 15
;; DNS zone SOA lookup period
;dns_zone_check_period = 0
;; DNS negative result caching time
;dns_nxdomain_ttl = 15
;; Custom resolv.conf file, to set custom DNS servers or other options
;; (default: empty = use OS settings)
;resolv_conf = /etc/pgbouncer/resolv.conf
;;;
;;; Random stuff
;;;
;; Hackish security feature. Helps against SQL injection: when PQexec
;; is disabled, multi-statement cannot be made.
;disable_pqexec = 0
;; Config file to use for next RELOAD/SIGHUP
;; By default contains config file from command line.
;conffile
;; Windows service name to register as. job_name is alias for
;; service_name, used by some Skytools scripts.
;service_name = pgbouncer
;job_name = pgbouncer
;; Read additional config from other file
;%include /etc/pgbouncer/pgbouncer-other.ini

View File

@@ -0,0 +1 @@
<%= @pl_ca_crt %>

View File

@@ -0,0 +1,2 @@
psql -U postgres -tc "SELECT 1 FROM pg_database WHERE datname = '<%= @pl_db_name %>'" | grep -q 1 || psql -U postgres -c "CREATE DATABASE <%= @pl_db_name %> OWNER '<%= @pl_owner_name %>' "
psql -U postgres <%= @pl_db_name %> -c 'create extension if not exists <%= @pl_db_extension %>'

View File

@@ -0,0 +1 @@
dropdb -U postgres <%= @pl_db_name %> --if-exists

View File

@@ -0,0 +1 @@
psql -U postgres -c "SELECT datname FROM pg_database WHERE datname='<%= @pl_db_name %>' " | grep -q 1

View File

@@ -0,0 +1 @@
psql -U postgres -c "SELECT datname FROM pg_database WHERE datname='<%= @pl_db_name %>' " | grep -q 1

View File

@@ -17,4 +17,4 @@ local replication all md5
host replication all 127.0.0.1/32 md5
host replication all ::1/128 md5
host all all 0.0.0.0/0 md5
# custom rules below

View File

@@ -0,0 +1,3 @@
# description: <%=@name%>
<%= @pl_auth_type %> <%= @pl_auth_database %> <%= @pl_auth_user %> <%= @pl_auth_address %> <%=@pl_auth_method %> <%=@ql_auth_option%>

View File

@@ -0,0 +1 @@
psql -U postgres -c "<%= @pl_role_status %> <%= @pl_role_name %> WITH <%= @pl_role_attributes %> PASSWORD '<%= @pl_role_pw %>'"

View File

@@ -0,0 +1 @@
psql -U postgres -c "SELECT usename FROM pg_user WHERE usename='<%= @pl_role_name %>' " | grep -o 1

View File

@@ -0,0 +1 @@
<%= @pl_server_crt %>

View File

@@ -0,0 +1 @@
<%= @pl_server_key %>