191 Commits
1.0.1 ... 1.1.0

Author SHA1 Message Date
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
Jenkins Server
6ae92a9ac1 recommit for updates in build 2 2025-05-16 11:36:56 +02:00
38 changed files with 969 additions and 155 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"
]
}

26
Jenkinsfile vendored
View File

@@ -69,7 +69,7 @@ pipeline {
withCredentials([string(credentialsId: 'sonar-token', variable: 'SONAR_TOKEN')]) {
sh '''
/opt/sonar-scanner/bin/sonar-scanner \
-Dsonar.projectKey=postgresql_cd \
-Dsonar.projectKey=confdroid_postgresql \
-Dsonar.sources=. \
-Dsonar.host.url=https://sonarqube.confdroid.com \
-Dsonar.token=$SONAR_TOKEN
@@ -93,6 +93,30 @@ pipeline {
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 commit --amend --no-edit --allow-empty
git remote add master https://gitea.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,14 +1,12 @@
# Readme
[![Build Status](https://jenkins.confdroid.com/buildStatus/icon?job=postgresql_cd)](https://jenkins.confdroid.com/job/postfresql_cd/)
[[_TOC_]]
[![Build Status](https://jenkins.confdroid.com/buildStatus/icon?job=confdroid_postgresql)](https://jenkins.confdroid.com/job/postfresql_cd/)
## 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
@@ -18,7 +16,7 @@ PostgreSQL is a powerful modern open source SQL database server.
Installation
* install binaries as per given parameters for major and minor version
* install binaries
* initialize the database cluster
Configuration
@@ -26,6 +24,12 @@ 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`)
## Repo Documentation
@@ -43,13 +47,13 @@ via site.pp or nodes.pp
```ruby
node 'example.example.net' {
include postgresql_cd
include confdroid_postgresql
}
```
* through Foreman:
In order to apply parameters through Foreman, **__postgresql_cd::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/).

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_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_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_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

@@ -0,0 +1,21 @@
## confdroid_postgresql::exporter::dirs.pp
# Module name: confdroid_postgresql
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class manages the postgresql exporter dirs
###############################################################################
class confdroid_postgresql::exporter::dirs (
) inherits confdroid_postgresql::params {
if ($fqdn == $pl_server_fqdn) and ($pl_use_exporter == true) {
file { $pl_install_dir:
ensure => directory,
owner => 'postgres',
group => 'postgres',
mode => '0755',
selrange => s0,
selrole => object_r,
seltype => usr_t,
seluser => system_u,
}
}
}

View File

@@ -0,0 +1,12 @@
## confdroid_postgresql::exporter::files.pp
# Module name: confdroid_postgresql
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class manages the postgresql exporter files
###############################################################################
class confdroid_postgresql::exporter::files (
) inherits confdroid_postgresql::params {
if ($fqdn == $pl_server_fqdn) and ($pl_use_exporter == true) {
require confdroid_postgresql::exporter::dirs
}
}

View File

@@ -0,0 +1,19 @@
## confdroid_postgresql::exporter::service.pp
# Module name: confdroid_postgresql
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class manages the postgresql exporter service
###############################################################################
class confdroid_postgresql::exporter::service (
) inherits confdroid_postgresql::params {
if ($fqdn == $pl_server_fqdn) and ($pl_use_exporter == true) {
require confdroid_postgresql::exporter::files
# service { $pl_exporter_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,

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,20 @@
## 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_exporter == true {
# include confdroid_postgresql::exporter::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,7 +19,7 @@ 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],
}
}

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,33 @@
# @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 [Boolean] pl_use_exporter whether to use the postgresql-exporter
# @param [String] pl_install_dir the path for the postgres-exporter files
# @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 +55,28 @@ 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,
# postgresql exporter
Boolean $pl_use_exporter = false,
String $pl_install_dir = '/opt/postgres-exporter',
# 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 +84,25 @@ 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'
# 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 %><%= @pl_ca_crt -%>'
ssl_cert_file = '<%= @pl_data_dir %><%= @pl_server_crt -%>'
ssl_key_file = '<%= @pl_data_dir %><%= @pl_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_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,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