Compare commits

...

242 Commits

Author SHA1 Message Date
Jenkins Server
c217ae818d Merge remote-tracking branch 'origin/master' into jenkins-build-19 2026-03-14 11:48:20 +01:00
Jenkins Server
3bdb172f14 Recommit for updates in build 18 2026-02-27 16:21:47 +01:00
Jenkins Server
d56a003c03 Merge remote-tracking branch 'origin/master' into jenkins-build-18 2026-02-27 16:21:04 +01:00
451f19b93d add confdroid_prometheus 2026-02-27 16:20:47 +01:00
Jenkins Server
a7ab74eced Recommit for updates in build 17 2026-02-27 15:38:47 +01:00
Jenkins Server
1012b26885 Merge remote-tracking branch 'origin/master' into jenkins-build-17 2026-02-27 15:38:04 +01:00
a16b264886 OP#470reverse 2026-02-27 15:37:49 +01:00
Jenkins Server
2eaae1a0d6 Recommit for updates in build 16 2026-02-27 15:31:06 +01:00
Jenkins Server
67d6ac8f7b Merge remote-tracking branch 'origin/master' into jenkins-build-16 2026-02-27 15:30:24 +01:00
88fe618a5a OP#470 edit system-reload 2026-02-27 15:30:01 +01:00
Jenkins Server
b294b1500e Recommit for updates in build 15 2026-02-27 15:19:14 +01:00
Jenkins Server
9a51bf956e Merge remote-tracking branch 'origin/master' into jenkins-build-15 2026-02-27 15:18:30 +01:00
ec52f8f388 OP#470 add dir 2026-02-27 15:18:08 +01:00
Jenkins Server
cc445a483c Merge remote-tracking branch 'origin/master' into jenkins-build-14 2026-02-24 22:58:41 +01:00
Jenkins Server
01f554dc32 Merge remote-tracking branch 'origin/master' into jenkins-build-12 2026-02-24 18:31:20 +01:00
f1cb23c414 OP#459 update Readme 2026-02-24 18:31:05 +01:00
Jenkins Server
13c99ddc0a Merge remote-tracking branch 'origin/master' into jenkins-build-11 2026-02-24 18:29:10 +01:00
a8ba414237 OP#459 update Readme 2026-02-24 18:28:51 +01:00
Jenkins Server
6a949a7a23 Merge remote-tracking branch 'origin/master' into jenkins-build-10 2026-02-06 16:12:21 +01:00
b091635ce5 OP#414 update gitea url 2026-02-06 16:09:24 +01:00
Jenkins Server
86ce9e70b2 Recommit for updates in build 9 2026-01-28 13:51:54 +01:00
Jenkins Server
79e1befbdd Merge remote-tracking branch 'origin/master' into jenkins-build-9 2026-01-28 13:51:13 +01:00
066ba16121 OP#375 remove .vscode 2026-01-28 13:50:54 +01:00
Jenkins Server
48f2df8413 Recommit for updates in build 8 2025-12-14 16:46:23 +01:00
Jenkins Server
bbcdd03aeb Merge remote-tracking branch 'origin/master' into jenkins-build-8 2025-12-14 16:45:19 +01:00
12ww1160
bbc97f212e add button 2025-12-14 16:44:07 +01:00
Jenkins Server
f51b6e01eb Merge remote-tracking branch 'origin/master' into jenkins-build-7 2025-12-14 16:42:49 +01:00
12ww1160
79ee62961c add TOC 2025-12-14 16:42:33 +01:00
Jenkins Server
eaabe1dde6 Recommit for updates in build 6 2025-12-14 16:39:25 +01:00
Jenkins Server
7a44b84991 Merge remote-tracking branch 'origin/master' into jenkins-build-6 2025-12-14 16:38:24 +01:00
12ww1160
bf05f7165f add TOC 2025-12-14 16:38:05 +01:00
Jenkins Server
2afe03b9ee Recommit for updates in build 5 2025-12-13 16:00:45 +01:00
Jenkins Server
bb487e94e1 Merge remote-tracking branch 'origin/master' into jenkins-build-5 2025-12-13 15:59:39 +01:00
12ww1160
f307158ef2 OP#195 update Readme 2025-12-13 15:59:24 +01:00
Jenkins Server
63f842ac9a Recommit for updates in build 4 2025-12-13 15:57:03 +01:00
Jenkins Server
7aa0e09423 Merge remote-tracking branch 'origin/master' into jenkins-build-4 2025-12-13 15:56:00 +01:00
12ww1160
2f5fbbcde8 OP#195 update Readme 2025-12-13 15:55:35 +01:00
Jenkins Server
3c12570bc9 Recommit for updates in build 3 2025-12-13 13:34:25 +01:00
Jenkins Server
d6e8499b45 Merge remote-tracking branch 'origin/master' into jenkins-build-3 2025-12-13 13:33:24 +01:00
12ww1160
9636aea81a OP#195 add sonar badge 2025-12-13 13:33:03 +01:00
Jenkins Server
4176216c9e Recommit for updates in build 2 2025-12-13 13:26:32 +01:00
Jenkins Server
782ad64f74 Merge remote-tracking branch 'origin/master' into jenkins-build-2 2025-12-13 13:25:18 +01:00
12ww1160
0ff1f053e6 OP#195 change class names 2025-12-13 13:25:01 +01:00
12ww1160
92285116d4 OP#195 new module confdrdoid_prometheus 2025-12-13 13:22:02 +01:00
Jenkins Server
9538e2211b Merge remote-tracking branch 'origin/master' into jenkins-build-70 2025-12-07 18:04:09 +01:00
12ww1160
468f484544 update pruning script 2025-12-07 18:03:52 +01:00
Jenkins Server
e40de54d2c Recommit for updates in build 69 2025-12-07 17:50:29 +01:00
Jenkins Server
76f2662d2e Merge remote-tracking branch 'origin/master' into jenkins-build-69 2025-12-07 17:49:35 +01:00
12ww1160
c44902c7c3 add variable to prune.env 2025-12-07 17:49:14 +01:00
Jenkins Server
6155e59699 Recommit for updates in build 68 2025-12-07 16:20:06 +01:00
Jenkins Server
c1228188e5 Merge remote-tracking branch 'origin/master' into jenkins-build-68 2025-12-07 16:19:08 +01:00
12ww1160
2cfa007c17 add remote read 2025-12-07 16:18:47 +01:00
Jenkins Server
020b2351a3 Merge remote-tracking branch 'origin/master' into jenkins-build-67 2025-12-04 15:51:41 +01:00
12ww1160
89a6b52ed3 fix the remote url to reflect the new name 2025-12-04 15:51:21 +01:00
Jenkins Server
b42fff35d3 Recommit for updates in build 66 2025-12-04 14:46:40 +01:00
Jenkins Server
f306205669 Merge remote-tracking branch 'origin/master' into jenkins-build-66 2025-12-04 14:45:46 +01:00
12ww1160
61b5310305 OP#189 add the services 2025-12-04 14:45:26 +01:00
Jenkins Server
681b352be5 Recommit for updates in build 65 2025-12-04 14:31:33 +01:00
Jenkins Server
1fde5f3a9a Merge remote-tracking branch 'origin/master' into jenkins-build-65 2025-12-04 14:30:40 +01:00
12ww1160
fd566a0af8 OP#189 add the services 2025-12-04 14:30:24 +01:00
Jenkins Server
8c963eaf22 Merge remote-tracking branch 'origin/master' into jenkins-build-64 2025-12-04 14:22:50 +01:00
12ww1160
340306b15f OP#189 add the services 2025-12-04 14:22:33 +01:00
Jenkins Server
e764267826 Recommit for updates in build 63 2025-12-04 14:17:17 +01:00
Jenkins Server
eeffaa96e5 Merge remote-tracking branch 'origin/master' into jenkins-build-63 2025-12-04 14:16:25 +01:00
12ww1160
639d4b0099 OP#189 add the services 2025-12-04 14:16:06 +01:00
Jenkins Server
05b20e462c Recommit for updates in build 62 2025-12-04 13:38:33 +01:00
Jenkins Server
f0d35572ee Merge remote-tracking branch 'origin/master' into jenkins-build-62 2025-12-04 13:37:40 +01:00
12ww1160
dcbad998f4 OP#189 update readme 2025-12-04 13:37:23 +01:00
Jenkins Server
26ff306707 Recommit for updates in build 61 2025-12-04 13:37:02 +01:00
Jenkins Server
e8aac553a9 Merge remote-tracking branch 'origin/master' into jenkins-build-61 2025-12-04 13:36:10 +01:00
12ww1160
eb9473f2d4 OP#189 update readme 2025-12-04 13:35:53 +01:00
Jenkins Server
5fedb09ee9 Recommit for updates in build 60 2025-12-04 13:25:12 +01:00
Jenkins Server
97ab874212 Merge remote-tracking branch 'origin/master' into jenkins-build-60 2025-12-04 13:24:20 +01:00
12ww1160
c4a685101e OP#188 add env file 2025-12-04 13:23:59 +01:00
Jenkins Server
76e634912c Recommit for updates in build 59 2025-12-04 13:12:56 +01:00
Jenkins Server
d85561e537 Merge remote-tracking branch 'origin/master' into jenkins-build-59 2025-12-04 13:12:05 +01:00
12ww1160
7f1e0daded OP#188 add env file 2025-12-04 13:11:43 +01:00
Jenkins Server
9709f82135 Recommit for updates in build 58 2025-12-04 12:29:30 +01:00
Jenkins Server
9df632155d Merge remote-tracking branch 'origin/master' into jenkins-build-58 2025-12-04 12:28:40 +01:00
12ww1160
11eeeb4c2b OP#188 fix variable 2025-12-04 12:28:19 +01:00
Jenkins Server
f7ac960a8b Recommit for updates in build 57 2025-12-04 12:19:55 +01:00
Jenkins Server
314c4b8f44 Merge remote-tracking branch 'origin/master' into jenkins-build-57 2025-12-04 12:19:05 +01:00
12ww1160
3b20a4a566 OP#188 create file 2025-12-04 12:15:20 +01:00
Jenkins Server
a62c016ae9 Recommit for updates in build 56 2025-12-04 12:03:05 +01:00
Jenkins Server
9661d229eb Merge remote-tracking branch 'origin/master' into jenkins-build-56 2025-12-04 12:02:14 +01:00
12ww1160
de0a84737e OP#188 create proper boolean 2025-12-04 12:01:57 +01:00
Jenkins Server
cbbcd14158 Recommit for updates in build 55 2025-12-04 12:00:56 +01:00
Jenkins Server
0b1934a360 Merge remote-tracking branch 'origin/master' into jenkins-build-55 2025-12-04 12:00:00 +01:00
12ww1160
747b0f22d1 OP#188 create directory 2025-12-04 11:59:41 +01:00
Jenkins Server
198aee52f9 Merge remote-tracking branch 'origin/master' into jenkins-build-54 2025-12-04 10:55:04 +01:00
12ww1160
933d97d038 OP#186 remove local remote write 2025-12-04 10:54:47 +01:00
Jenkins Server
ebab649dfe Merge remote-tracking branch 'origin/master' into jenkins-build-53 2025-12-04 10:53:39 +01:00
12ww1160
aea5d0188c OP#186 remove local remote write 2025-12-04 10:53:19 +01:00
Jenkins Server
9e87d9287a Merge remote-tracking branch 'origin/master' into jenkins-build-52 2025-12-04 10:49:55 +01:00
12ww1160
b29fdba120 OP#186 remove local remote write 2025-12-04 10:49:37 +01:00
Jenkins Server
7437d3ea11 Merge remote-tracking branch 'origin/master' into jenkins-build-51 2025-12-03 16:58:10 +01:00
12ww1160
2a937468a2 OP#188 fix the config 2025-12-03 16:57:53 +01:00
Jenkins Server
9b7e345be4 Recommit for updates in build 50 2025-12-03 16:46:42 +01:00
Jenkins Server
c932afc6da Merge remote-tracking branch 'origin/master' into jenkins-build-50 2025-12-03 16:45:50 +01:00
12ww1160
dbea18d23a OP#188 comment out the service options as they do not seem to work, Prometheus as service does not respond then 2025-12-03 16:45:31 +01:00
12ww1160
40d2158e42 OP#188 comment out the service options as they do not seem to work, Prometheus as service does not respond then 2025-12-03 16:45:17 +01:00
Jenkins Server
0b409d728e Recommit for updates in build 49 2025-12-03 16:40:18 +01:00
Jenkins Server
2678d5d8ae Merge remote-tracking branch 'origin/master' into jenkins-build-49 2025-12-03 16:39:25 +01:00
12ww1160
f0f5de8ffe OP#188 comment out the service options as they do not seem to work, Prometheus as service does not respond then 2025-12-03 16:39:02 +01:00
Jenkins Server
0f5d0100e9 Merge remote-tracking branch 'origin/master' into jenkins-build-48 2025-12-03 16:03:54 +01:00
12ww1160
d4a81ae31f OP#188 remove Jenksinfile from public mirror 2025-12-03 16:03:36 +01:00
Jenkins Server
de52729133 Merge remote-tracking branch 'origin/master' into jenkins-build-47 2025-12-03 15:59:20 +01:00
12ww1160
c1e40ea302 OP#188 remove Jenksinfile from public mirror 2025-12-03 15:59:00 +01:00
Jenkins Server
73bf16913a Recommit for updates in build 46 2025-12-03 15:58:17 +01:00
Jenkins Server
baf8e46508 Merge remote-tracking branch 'origin/master' into jenkins-build-46 2025-12-03 15:57:25 +01:00
12ww1160
d92a12cea5 OP#188 remove Jenksinfile from public mirror 2025-12-03 15:57:10 +01:00
Jenkins Server
d4c0dc6cd7 Merge remote-tracking branch 'origin/master' into jenkins-build-45 2025-12-03 15:47:44 +01:00
12ww1160
11969d7dbe OP#188 remove Jenksinfile from public mirror 2025-12-03 15:47:28 +01:00
Jenkins Server
98efe2ac33 Merge remote-tracking branch 'origin/master' into jenkins-build-44 2025-12-03 15:41:49 +01:00
12ww1160
b760db13d8 OP#188 update Jenksinfile for correct flow 2025-12-03 15:41:19 +01:00
Jenkins
745c2a0df7 Merge branch 'jenkins-build-43' into 'master'
Auto-merge for build 43

See merge request puppet/prometheus_cd!42
2025-12-03 14:37:27 +00:00
Jenkins
d7f85617c5 Merge branch 'jenkins-build-42' into 'master'
Auto-merge for build 42

See merge request puppet/prometheus_cd!41
2025-12-03 14:37:11 +00:00
Jenkins
1f0fc900d8 Merge branch 'jenkins-build-41' into 'master'
Auto-merge for build 41

See merge request puppet/prometheus_cd!40
2025-12-03 14:36:44 +00:00
Jenkins Server
a22b0235e0 Recommit for updates in build 43 2025-12-03 15:36:21 +01:00
Jenkins Server
9290932867 Merge remote-tracking branch 'origin/master' into jenkins-build-43 2025-12-03 15:35:29 +01:00
12ww1160
eca339f345 OP#188 add Readme part 2025-12-03 15:35:03 +01:00
12ww1160
c4480a81b8 OP#188 add Readme partl 2025-12-03 15:34:46 +01:00
Jenkins Server
cdace949c6 Recommit for updates in build 42 2025-12-03 15:31:31 +01:00
Jenkins Server
5fc9c17e31 Merge remote-tracking branch 'origin/master' into jenkins-build-42 2025-12-03 15:30:31 +01:00
12ww1160
5967b2b3fc OP#188 add option to allow external remote write in gerenal 2025-12-03 15:29:56 +01:00
Jenkins Server
701b438f2b Merge remote-tracking branch 'origin/master' into jenkins-build-41 2025-12-03 13:00:36 +01:00
Jenkins
5c73afc51b Merge branch 'jenkins-build-40' into 'master'
Auto-merge for build 40

See merge request puppet/prometheus_cd!39
2025-12-03 11:54:51 +00:00
Jenkins
938c1b43c5 Merge branch 'jenkins-build-39' into 'master'
Auto-merge for build 39

See merge request puppet/prometheus_cd!38
2025-12-03 11:54:21 +00:00
Jenkins Server
20e802cc07 Recommit for updates in build 40 2025-12-03 12:52:53 +01:00
Jenkins Server
15dc2d1602 Merge remote-tracking branch 'origin/master' into jenkins-build-40 2025-12-03 12:52:04 +01:00
12ww1160
b4c889aa10 OP#180 update README and jenkinsfile for remote mirror 2025-12-03 12:51:48 +01:00
Jenkins Server
084f139d64 Recommit for updates in build 39 2025-12-03 12:45:25 +01:00
Jenkins
de1da42d4a Merge branch 'jenkins-build-38' into 'master'
Auto-merge for build 38

See merge request puppet/prometheus_cd!37
2025-12-03 11:44:35 +00:00
Jenkins Server
0e8fd3f911 Merge remote-tracking branch 'origin/master' into jenkins-build-39 2025-12-03 12:44:34 +01:00
12ww1160
8a03b183cc OP#180 add more tsdb options 2025-12-03 12:44:13 +01:00
Jenkins Server
31364dcb58 Recommit for updates in build 38 2025-12-03 12:38:42 +01:00
Jenkins Server
c5ac12cf2a Merge remote-tracking branch 'origin/master' into jenkins-build-38 2025-12-03 12:37:49 +01:00
12ww1160
c68146d3b6 OP#179 add more tsdb options 2025-12-03 12:37:30 +01:00
Jenkins
177ee94d1c Merge branch 'jenkins-build-37' into 'master'
Auto-merge for build 37

See merge request puppet/prometheus_cd!36
2025-12-03 11:27:44 +00:00
Jenkins Server
e4a95e8640 Recommit for updates in build 37 2025-12-03 12:26:07 +01:00
Jenkins Server
7b768bac51 Merge remote-tracking branch 'origin/master' into jenkins-build-37 2025-12-03 12:25:10 +01:00
12ww1160
1c95467582 OP#179 add service control units for memory consumption 2025-12-03 12:24:44 +01:00
Jenkins
87810a6da7 Merge branch 'jenkins-build-36' into 'master'
Auto-merge for build 36

See merge request puppet/prometheus_cd!35
2025-10-18 15:37:47 +00:00
Jenkins Server
abba09d54d Merge remote-tracking branch 'origin/master' into jenkins-build-36 2025-10-18 17:36:53 +02:00
Arne Teuke
c1f8eb8adf add setting for WAL segment size - https://gitlab.confdroid.com/internal/confdroid_management/-/issues/260 2025-10-18 17:36:20 +02:00
Jenkins
f602d96526 Merge branch 'jenkins-build-35' into 'master'
Auto-merge for build 35

See merge request puppet/prometheus_cd!34
2025-10-18 15:35:00 +00:00
Jenkins Server
dab5ad0681 Recommit for updates in build 35 2025-10-18 17:34:45 +02:00
Jenkins Server
3ca0717357 Merge remote-tracking branch 'origin/master' into jenkins-build-35 2025-10-18 17:34:03 +02:00
Arne Teuke
ea7d764664 add setting for WAL segment size - https://gitlab.confdroid.com/internal/confdroid_management/-/issues/260 2025-10-18 17:33:33 +02:00
Jenkins
7297d8455f Merge branch 'jenkins-build-34' into 'master'
Auto-merge for build 34

See merge request puppet/prometheus_cd!33
2025-10-18 14:54:42 +00:00
Jenkins Server
79740b868c Recommit for updates in build 34 2025-10-18 16:54:30 +02:00
Jenkins Server
f742e965c4 Merge remote-tracking branch 'origin/master' into jenkins-build-34 2025-10-18 16:53:48 +02:00
Jenkins
48bb9d877c Merge branch 'jenkins-build-33' into 'master'
Auto-merge for build 33

See merge request puppet/prometheus_cd!32
2025-10-18 14:40:26 +00:00
Jenkins Server
de88fc0a6a Merge remote-tracking branch 'origin/master' into jenkins-build-33 2025-10-18 16:38:53 +02:00
Jenkins
223cfdb1ec Merge branch 'jenkins-build-32' into 'master'
Auto-merge for build 32

See merge request puppet/prometheus_cd!31
2025-10-18 14:32:32 +00:00
Jenkins Server
c13bed3a4e Recommit for updates in build 32 2025-10-18 16:32:09 +02:00
Jenkins Server
ebc0c0af39 Merge remote-tracking branch 'origin/master' into jenkins-build-32 2025-10-18 16:31:27 +02:00
Jenkins
2c6000eb86 Merge branch 'jenkins-build-31' into 'master'
Auto-merge for build 31

See merge request puppet/prometheus_cd!30
2025-10-18 14:17:10 +00:00
Jenkins
2752300a43 Merge branch 'jenkins-build-30' into 'master'
Auto-merge for build 30

See merge request puppet/prometheus_cd!29
2025-10-18 14:17:01 +00:00
Jenkins Server
33dc15ceb6 Merge remote-tracking branch 'origin/master' into jenkins-build-31 2025-10-18 16:16:02 +02:00
Jenkins Server
21be3a95f9 Merge remote-tracking branch 'origin/master' into jenkins-build-30 2025-10-18 16:14:28 +02:00
Jenkins
b775a735d1 Merge branch 'jenkins-build-29' into 'master'
Auto-merge for build 29

See merge request puppet/prometheus_cd!28
2025-10-18 14:05:13 +00:00
Jenkins Server
16ac7b1752 Merge remote-tracking branch 'origin/master' into jenkins-build-29 2025-10-18 16:03:22 +02:00
Jenkins
eb0d8f910e Merge branch 'jenkins-build-28' into 'master'
Auto-merge for build 28

See merge request puppet/prometheus_cd!27
2025-10-18 13:51:24 +00:00
Jenkins Server
35f8849e73 Recommit for updates in build 28 2025-10-18 15:48:33 +02:00
Jenkins Server
41ba97f64f Merge remote-tracking branch 'origin/master' into jenkins-build-28 2025-10-18 15:47:52 +02:00
Jenkins
c4cffe19e0 Merge branch 'jenkins-build-27' into 'master'
Auto-merge for build 27

See merge request puppet/prometheus_cd!26
2025-10-18 13:33:34 +00:00
Jenkins Server
b4ec13d69f Merge remote-tracking branch 'origin/master' into jenkins-build-27 2025-10-18 15:32:42 +02:00
Jenkins
4f418d5fee Merge branch 'jenkins-build-26' into 'master'
Auto-merge for build 26

See merge request puppet/prometheus_cd!25
2025-10-18 13:30:54 +00:00
Jenkins Server
ede5319ac4 Recommit for updates in build 26 2025-10-18 15:30:37 +02:00
Jenkins Server
05c1054486 Merge remote-tracking branch 'origin/master' into jenkins-build-26 2025-10-18 15:29:53 +02:00
Jenkins
83c55995a8 Merge branch 'jenkins-build-25' into 'master'
Auto-merge for build 25

See merge request puppet/prometheus_cd!24
2025-10-18 13:00:26 +00:00
Jenkins Server
16960c7618 Recommit for updates in build 25 2025-10-18 14:59:47 +02:00
Jenkins Server
799712b9d8 Merge remote-tracking branch 'origin/master' into jenkins-build-25 2025-10-18 14:59:07 +02:00
Jenkins
7fa7b310f6 Merge branch 'jenkins-build-24' into 'master'
Auto-merge for build 24

See merge request puppet/prometheus_cd!23
2025-10-18 12:47:30 +00:00
Jenkins Server
62016630ad Recommit for updates in build 24 2025-10-18 14:47:17 +02:00
Jenkins Server
7d0393a2d1 Merge remote-tracking branch 'origin/master' into jenkins-build-24 2025-10-18 14:46:37 +02:00
Jenkins
19ecee622b Merge branch 'jenkins-build-23' into 'master'
Auto-merge for build 23

See merge request puppet/prometheus_cd!22
2025-10-18 12:42:58 +00:00
Jenkins Server
9222c81959 Recommit for updates in build 23 2025-10-18 14:40:13 +02:00
Jenkins Server
c4880eca38 Merge remote-tracking branch 'origin/master' into jenkins-build-23 2025-10-18 14:39:32 +02:00
Jenkins
d807898514 Merge branch 'jenkins-build-22' into 'master'
Auto-merge for build 22

See merge request puppet/prometheus_cd!21
2025-10-18 12:36:24 +00:00
Jenkins Server
6b1b3f03ac Recommit for updates in build 22 2025-10-18 14:35:59 +02:00
Jenkins Server
b08668e537 Merge remote-tracking branch 'origin/master' into jenkins-build-22 2025-10-18 14:35:17 +02:00
Jenkins
3509216fd4 Merge branch 'jenkins-build-21' into 'master'
Auto-merge for build 21

See merge request puppet/prometheus_cd!20
2025-10-18 12:11:39 +00:00
Jenkins Server
f9b972414e Recommit for updates in build 21 2025-10-18 14:11:23 +02:00
Jenkins Server
1d05e8bfb2 Merge remote-tracking branch 'origin/master' into jenkins-build-21 2025-10-18 14:10:42 +02:00
Jenkins
6141ab59b8 Merge branch 'jenkins-build-20' into 'master'
Auto-merge for build 20

See merge request puppet/prometheus_cd!19
2025-10-18 12:08:41 +00:00
Jenkins Server
e48e7aa383 Recommit for updates in build 20 2025-10-18 14:08:27 +02:00
Jenkins Server
6e8620750c Merge remote-tracking branch 'origin/master' into jenkins-build-20 2025-10-18 14:07:47 +02:00
Jenkins
401d93735d Merge branch 'jenkins-build-19' into 'master'
Auto-merge for build 19

See merge request puppet/prometheus_cd!18
2025-10-18 12:01:11 +00:00
Jenkins Server
838685c7bf Recommit for updates in build 19 2025-10-18 14:00:43 +02:00
Jenkins Server
f5027db32c Merge remote-tracking branch 'origin/master' into jenkins-build-19 2025-10-18 13:59:57 +02:00
Jenkins
fccb178314 Merge branch 'jenkins-build-18' into 'master'
Auto-merge for build 18

See merge request puppet/prometheus_cd!17
2025-10-18 11:47:06 +00:00
Jenkins Server
12415a4253 Recommit for updates in build 18 2025-10-18 13:46:48 +02:00
Jenkins Server
7a51c9400f Merge remote-tracking branch 'origin/master' into jenkins-build-18 2025-10-18 13:46:07 +02:00
Jenkins
027af49e07 Merge branch 'jenkins-build-17' into 'master'
Auto-merge for build 17

See merge request puppet/prometheus_cd!16
2025-10-18 11:31:58 +00:00
Jenkins Server
b0de6e14ff Recommit for updates in build 17 2025-10-18 13:31:29 +02:00
Jenkins Server
e0b5a0d60c Merge remote-tracking branch 'origin/master' into jenkins-build-17 2025-10-18 13:30:47 +02:00
Jenkins
7be574a21d Merge branch 'jenkins-build-16' into 'master'
Auto-merge for build 16

See merge request puppet/prometheus_cd!15
2025-10-18 11:25:51 +00:00
Jenkins Server
c818256e73 Recommit for updates in build 16 2025-10-18 13:12:26 +02:00
Jenkins Server
c3aaaca252 Merge remote-tracking branch 'origin/master' into jenkins-build-16 2025-10-18 13:11:43 +02:00
Jenkins
67e76f0205 Merge branch 'jenkins-build-15' into 'master'
Auto-merge for build 15

See merge request puppet/prometheus_cd!14
2025-10-18 10:38:44 +00:00
Jenkins Server
e56129baa9 Recommit for updates in build 15 2025-10-18 12:35:37 +02:00
Jenkins Server
7edd5cf2e6 Merge remote-tracking branch 'origin/master' into jenkins-build-15 2025-10-18 12:34:52 +02:00
Jenkins
87c6b84b1e Merge branch 'jenkins-build-14' into 'master'
Auto-merge for build 14

See merge request puppet/prometheus_cd!13
2025-10-18 09:35:40 +00:00
Jenkins Server
e21d723240 Recommit for updates in build 14 2025-10-18 11:28:07 +02:00
Jenkins Server
61e0d83c08 Merge remote-tracking branch 'origin/master' into jenkins-build-14 2025-10-18 11:27:26 +02:00
Jenkins
4a9ebcbed2 Merge branch 'jenkins-build-13' into 'master'
Auto-merge for build 13

See merge request puppet/prometheus_cd!12
2025-10-18 09:13:17 +00:00
Jenkins Server
97929199e7 Recommit for updates in build 13 2025-10-18 11:11:31 +02:00
Jenkins Server
2046f1562a Merge remote-tracking branch 'origin/master' into jenkins-build-13 2025-10-18 11:10:51 +02:00
Jenkins
b03563bb9c Merge branch 'jenkins-build-12' into 'master'
Auto-merge for build 12

See merge request puppet/prometheus_cd!11
2025-10-18 09:08:21 +00:00
Jenkins
abb80600de Merge branch 'jenkins-build-11' into 'master'
Auto-merge for build 11

See merge request puppet/prometheus_cd!10
2025-10-18 09:08:10 +00:00
Jenkins Server
d67114f906 Recommit for updates in build 12 2025-10-18 10:55:43 +02:00
Jenkins Server
c4ee920529 Merge remote-tracking branch 'origin/master' into jenkins-build-12 2025-10-18 10:55:01 +02:00
Jenkins Server
92c5dcffb1 Recommit for updates in build 11 2025-10-18 10:53:07 +02:00
Jenkins Server
e8ea05c8e1 Merge remote-tracking branch 'origin/master' into jenkins-build-11 2025-10-18 10:52:23 +02:00
Jenkins
c80dd19c80 Merge branch 'jenkins-build-10' into 'master'
Auto-merge for build 10

See merge request puppet/prometheus_cd!9
2025-10-17 15:26:24 +00:00
Jenkins Server
9bdc76983d Recommit for updates in build 10 2025-10-17 17:25:18 +02:00
Jenkins Server
07426ceb46 Merge remote-tracking branch 'origin/master' into jenkins-build-10 2025-10-17 17:24:32 +02:00
Jenkins
abc15ce0d6 Merge branch 'jenkins-build-9' into 'master'
Auto-merge for build 9

See merge request puppet/prometheus_cd!8
2025-06-13 13:51:10 +00:00
Jenkins Server
67164ea9d1 Recommit for updates in build 9 2025-06-13 15:49:08 +02:00
Jenkins Server
66fc50845c Merge remote-tracking branch 'origin/master' into jenkins-build-9 2025-06-13 15:48:31 +02:00
Jenkins
409fc1763e Merge branch 'jenkins-build-8' into 'master'
Auto-merge for build 8

See merge request puppet/prometheus_cd!7
2025-06-13 13:44:30 +00:00
Jenkins Server
9857c6195d Recommit for updates in build 8 2025-06-13 15:43:23 +02:00
Jenkins Server
16e474fd17 Merge remote-tracking branch 'origin/master' into jenkins-build-8 2025-06-13 15:42:46 +02:00
Jenkins
fecfa85221 Merge branch 'jenkins-build-7' into 'master'
Auto-merge for build 7

See merge request puppet/prometheus_cd!6
2025-06-13 13:36:16 +00:00
Jenkins Server
4cd58536d8 Recommit for updates in build 7 2025-06-13 15:34:47 +02:00
Jenkins Server
58b362d4b4 Merge remote-tracking branch 'origin/master' into jenkins-build-7 2025-06-13 15:34:11 +02:00
Jenkins
0185a11f09 Merge branch 'jenkins-build-6' into 'master'
Auto-merge for build 6

See merge request puppet/prometheus_cd!5
2025-06-13 13:29:52 +00:00
Jenkins Server
d3f3f286b0 Recommit for updates in build 6 2025-06-13 15:27:42 +02:00
Jenkins Server
8aba4c52b0 Merge remote-tracking branch 'origin/master' into jenkins-build-6 2025-06-13 15:27:06 +02:00
Jenkins
0443e120f2 Merge branch 'jenkins-build-5' into 'master'
Auto-merge for build 5

See merge request puppet/prometheus_cd!4
2025-06-13 13:14:56 +00:00
Jenkins Server
1b9d2e6f88 Recommit for updates in build 5 2025-06-13 15:14:43 +02:00
Jenkins Server
9f7e3ccd8c Merge remote-tracking branch 'origin/master' into jenkins-build-5 2025-06-13 15:14:06 +02:00
Jenkins
eef492a631 Merge branch 'jenkins-build-4' into 'master'
Auto-merge for build 4

See merge request puppet/prometheus_cd!3
2025-06-13 13:09:53 +00:00
Jenkins Server
59172e9611 Recommit for updates in build 4 2025-06-13 15:06:02 +02:00
Jenkins Server
f4612fa7fb Merge remote-tracking branch 'origin/master' into jenkins-build-4 2025-06-13 15:05:26 +02:00
12ww1160
1fad3f36ea Merge branch 'jenkins-build-3' into 'master'
Auto-merge for build 3

See merge request puppet/prometheus_cd!2
2025-06-13 12:51:13 +00:00
12ww1160
54bc557ab3 Merge branch 'master' into 'jenkins-build-3'
# Conflicts:
#   doc/_index.html
#   doc/puppet_class_list.html
#   doc/puppet_classes/prometheus_cd_3A_3Amain_3A_3Aconfig.html
#   doc/puppet_classes/prometheus_cd_3A_3Aparams.html
2025-06-13 12:50:45 +00:00
Jenkins
2ac8e361c1 Merge branch 'jenkins-build-2' into 'master'
Auto-merge for build 2

See merge request puppet/prometheus_cd!1
2025-06-13 12:49:31 +00:00
Jenkins Server
4642e6d804 Recommit for updates in build 3 2025-06-13 14:49:00 +02:00
Jenkins Server
e17f33a0fa Recommit for updates in build 2 2025-06-13 14:37:43 +02:00
50 changed files with 7215 additions and 189 deletions

1
.gitignore vendored
View File

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

2
.puppet-lint.rc Normal file
View File

@@ -0,0 +1,2 @@
--no-variable_scope-check
--no-top_scope_facts

View File

@@ -1,9 +0,0 @@
{
"cSpell.words": [
"changeme",
"reqpackage",
"rpms",
"sslcacert",
"sslverify"
]
}

105
Jenkinsfile vendored
View File

@@ -1,105 +0,0 @@
pipeline {
agent {
label 'puppet'
}
post {
always {
deleteDir() /* clean up our workspace */
}
success {
updateGitlabCommitStatus state: 'success'
}
failure {
updateGitlabCommitStatus state: 'failed'
step([$class: 'Mailer', notifyEveryUnstableBuild: true, recipients: 'support@confdroid.com', sendToIndividuals: true])
}
}
options {
gitLabConnection('gitlab.confdroid.com')
}
stages {
stage('pull master') {
steps {
sshagent(['edd05eb6-26b5-4c7b-a5cc-ea2ab899f4fa']) {
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; }
'''
}
}
}
stage('puppet parser') {
steps {
sh '''for file in $(find . -iname \'*.pp\'); do
/opt/puppetlabs/bin/puppet parser validate --color false --render-as s --modulepath=modules $file || exit 1;
done;'''
}
}
stage('check templates') {
steps{
sh '''for file in $(find . -iname \'*.erb\');
do erb -P -x -T "-" $file | ruby -c || exit 1;
done;'''
}
}
stage('puppet-lint') {
steps {
sh '''/usr/local/bin/puppet-lint . \\
--no-variable_scope-check \\
|| { echo "Puppet lint failed"; exit 1; }
'''
}
}
stage('SonarScan') {
steps {
withCredentials([string(credentialsId: 'sonar-token', variable: 'SONAR_TOKEN')]) {
sh '''
/opt/sonar-scanner/bin/sonar-scanner \
-Dsonar.projectKey=prometheus_cd \
-Dsonar.sources=. \
-Dsonar.host.url=https://sonarqube.confdroid.com \
-Dsonar.token=$SONAR_TOKEN
'''
}
}
}
stage('create Puppet documentation') {
steps {
sh '/opt/puppetlabs/bin/puppet strings'
}
}
stage('update repo') {
steps {
sshagent(['edd05eb6-26b5-4c7b-a5cc-ea2ab899f4fa']) {
sh '''
git config user.name "Jenkins Server"
git config user.email jenkins@confdroid.com
git add -A && git commit -am "Recommit for updates in build $BUILD_NUMBER" || echo "No changes to commit"
git push -o merge_request.create \
-o merge_request.target=master \
-o merge_request.title="Auto-merge for build $BUILD_NUMBER" \
-o merge_request.description="Automated changes from Jenkins build $BUILD_NUMBER" \
-o merge_request.merge_when_pipeline_succeeds=true \
origin jenkins-build-$BUILD_NUMBER
'''
}
}
}
}
}

View File

@@ -1,20 +1,37 @@
# Readme
[![Build Status](https://jenkins.confdroid.com/buildStatus/icon?job=prometheus_cd)](https://jenkins.confdroid.com/job/prometheus_cd/)
[![Build Status](https://jenkins.confdroid.com/buildStatus/icon?job=confdroid_prometheus)](https://jenkins.confdroid.com/job/confdroid_prometheus/)
[![Security Issues](https://sonarqube.confdroid.com/api/project_badges/measure?project=confdroid_prometheus&metric=software_quality_security_issues&token=sqb_3d09bf2c3c7ef13bd7ba77aceb330a82fbb36cdf)](https://sonarqube.confdroid.com/dashboard?id=confdroid_prometheus)
- [Readme](#readme)
- [Synopsis](#synopsis)
- [WARNING](#warning)
- [Features](#features)
- [Puppet Documentation](#puppet-documentation)
- [Dependencies](#dependencies)
- [Deployment](#deployment)
- [SELINUX](#selinux)
- [Known Problems](#known-problems)
- [Support](#support)
- [Tests](#tests)
- [Contact Us](#contact-us)
- [Feedback](#feedback)
- [Disclaimer](#disclaimer)
[[_TOC_]]
## Synopsis
Prometheus is an open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach.
`prometheus_cd` is a Puppet module to automate installation and configuration of prometheus and node exporter.
`confdroid_prometheus` is a Puppet module to automate installation and configuration of prometheus, optionally node exporter, tsdb pruning and more.
This module supports either managing prometheus or node_exporter or both. You need to set the parameters `$manage_prometheus`and / or `$manage_node_exporter`to true ( false by default)
## 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
@@ -31,11 +48,22 @@ CONFIGURATION
Configurable options:
- --storage.tsdb.retention.time via `$ps_retention_time`
- --storage.tsdb.retention.size via `$ps_retention_size`
- --storage.tsdb.wal-segment-size via `ps_wal_seg_size`
- --storage.tsdb.min-block-duration via `ps_min_block_dur`
- --storage.tsdb.max-block-duration via `ps_max_block_dur`
- authentication user via `$ps_auth_user`
- authentication password via `$ps_auth_pass`
- web authentication password via `$ps_web_pass` ( different format required)
- external remote write ( writing to a remote instance like pg-adapter):
- `ps_write_external` true enables it
- `ps_external_url` must be a valid full url
- `ps_auth_ext_user`must be a valid user
- `ps_auth_ext_pass`must be a valid password
- pruning local blocks
- `ps_enable_pruning` true enables it
- `ps_pruning_dir` the directory where the pruning script should live
## Repo Documentation
## Puppet Documentation
See the full Puppet documentation including parameters in `docs/index.html`
@@ -83,6 +111,10 @@ All files and directories are configured with correct selinux context. If selinu
[contact Us](https://confdroid.com/contact/)
## Feedback
Having suggestions or feature requests? head over to our
[feedback collection](https://feedback.confdroid.com) and add an item for public votes or discussion.
## Disclaimer
ConfDroid as entity is entirely independent from Puppet. We provide custom configuration modules, written for specific purposes and specific environments.

153
doc/_index.html Normal file
View File

@@ -0,0 +1,153 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Documentation by YARD 0.9.36
</title>
<link rel="stylesheet" href="css/style.css" type="text/css" />
<link rel="stylesheet" href="css/common.css" type="text/css" />
<script type="text/javascript">
pathId = null;
relpath = '';
</script>
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="puppet_class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
</div>
<div id="search">
<a class="full_list_link" id="puppet_class_list_link"
href="puppet_class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1 class="noborder title">Documentation by YARD 0.9.36</h1>
<div id="listing">
<h1 class="alphaindex">Alphabetic Index</h1>
<h2>Puppet Class Listing A-Z</h2>
<table>
<tr>
<td valign='top' width="33%">
<ul id="alpha_C" class="alpha">
<li class="letter">C</li>
<ul>
<li>
<span class='object_link'><a href="puppet_classes/confdroid_prometheus.html" title="puppet_classes::confdroid_prometheus (puppet_class)">confdroid_prometheus</a></span>
</li>
<li>
<span class='object_link'><a href="puppet_classes/confdroid_prometheus_3A_3Afirewall_3A_3Aiptables.html" title="puppet_classes::confdroid_prometheus::firewall::iptables (puppet_class)">confdroid_prometheus::firewall::iptables</a></span>
</li>
<li>
<span class='object_link'><a href="puppet_classes/confdroid_prometheus_3A_3Amain_3A_3Aconfig.html" title="puppet_classes::confdroid_prometheus::main::config (puppet_class)">confdroid_prometheus::main::config</a></span>
</li>
<li>
<span class='object_link'><a href="puppet_classes/confdroid_prometheus_3A_3Amain_3A_3Adirs.html" title="puppet_classes::confdroid_prometheus::main::dirs (puppet_class)">confdroid_prometheus::main::dirs</a></span>
</li>
<li>
<span class='object_link'><a href="puppet_classes/confdroid_prometheus_3A_3Amain_3A_3Afiles.html" title="puppet_classes::confdroid_prometheus::main::files (puppet_class)">confdroid_prometheus::main::files</a></span>
</li>
<li>
<span class='object_link'><a href="puppet_classes/confdroid_prometheus_3A_3Amain_3A_3Ainstall.html" title="puppet_classes::confdroid_prometheus::main::install (puppet_class)">confdroid_prometheus::main::install</a></span>
</li>
<li>
<span class='object_link'><a href="puppet_classes/confdroid_prometheus_3A_3Amain_3A_3Aservice.html" title="puppet_classes::confdroid_prometheus::main::service (puppet_class)">confdroid_prometheus::main::service</a></span>
</li>
<li>
<span class='object_link'><a href="puppet_classes/confdroid_prometheus_3A_3Amain_3A_3Ayumrepo.html" title="puppet_classes::confdroid_prometheus::main::yumrepo (puppet_class)">confdroid_prometheus::main::yumrepo</a></span>
</li>
<li>
<span class='object_link'><a href="puppet_classes/confdroid_prometheus_3A_3Aparams.html" title="puppet_classes::confdroid_prometheus::params (puppet_class)">confdroid_prometheus::params</a></span>
</li>
</ul>
</ul>
</td>
</tr>
</table>
<h2>File Listing</h2>
<ul id="files" class="index_inline_list">
<li class="r1"><a href="index.html" title="README">README</a></li>
</ul>
<div class="clear"></div>
</div>
</div>
<div id="footer">
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
</div>
</div>
</body>
</html>

8
doc/css/common.css Normal file
View File

@@ -0,0 +1,8 @@
/* Ensure the search bar doesn't overlap with links */
.fixed_header {
padding-bottom: 25px;
}
#full_list {
padding-top: 15px;
}

58
doc/css/full_list.css Normal file
View File

@@ -0,0 +1,58 @@
body {
margin: 0;
font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif;
font-size: 13px;
height: 101%;
overflow-x: hidden;
background: #fafafa;
}
h1 { padding: 12px 10px; padding-bottom: 0; margin: 0; font-size: 1.4em; }
.clear { clear: both; }
.fixed_header { position: fixed; background: #fff; width: 100%; padding-bottom: 10px; margin-top: 0; top: 0; z-index: 9999; height: 70px; }
#search { position: absolute; right: 5px; top: 9px; padding-left: 24px; }
#content.insearch #search, #content.insearch #noresults { background: url(data:image/gif;base64,R0lGODlhEAAQAPYAAP///wAAAPr6+pKSkoiIiO7u7sjIyNjY2J6engAAAI6OjsbGxjIyMlJSUuzs7KamppSUlPLy8oKCghwcHLKysqSkpJqamvT09Pj4+KioqM7OzkRERAwMDGBgYN7e3ujo6Ly8vCoqKjY2NkZGRtTU1MTExDw8PE5OTj4+PkhISNDQ0MrKylpaWrS0tOrq6nBwcKysrLi4uLq6ul5eXlxcXGJiYoaGhuDg4H5+fvz8/KKiohgYGCwsLFZWVgQEBFBQUMzMzDg4OFhYWBoaGvDw8NbW1pycnOLi4ubm5kBAQKqqqiQkJCAgIK6urnJyckpKSjQ0NGpqatLS0sDAwCYmJnx8fEJCQlRUVAoKCggICLCwsOTk5ExMTPb29ra2tmZmZmhoaNzc3KCgoBISEiIiIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCAAAACwAAAAAEAAQAAAHaIAAgoMgIiYlg4kACxIaACEJCSiKggYMCRselwkpghGJBJEcFgsjJyoAGBmfggcNEx0flBiKDhQFlIoCCA+5lAORFb4AJIihCRbDxQAFChAXw9HSqb60iREZ1omqrIPdJCTe0SWI09GBACH5BAkIAAAALAAAAAAQABAAAAdrgACCgwc0NTeDiYozCQkvOTo9GTmDKy8aFy+NOBA7CTswgywJDTIuEjYFIY0JNYMtKTEFiRU8Pjwygy4ws4owPyCKwsMAJSTEgiQlgsbIAMrO0dKDGMTViREZ14kYGRGK38nHguHEJcvTyIEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDAggPg4iJAAMJCRUAJRIqiRGCBI0WQEEJJkWDERkYAAUKEBc4Po1GiKKJHkJDNEeKig4URLS0ICImJZAkuQAhjSi/wQyNKcGDCyMnk8u5rYrTgqDVghgZlYjcACTA1sslvtHRgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCQARAtOUoQRGRiFD0kJUYWZhUhKT1OLhR8wBaaFBzQ1NwAlkIszCQkvsbOHL7Y4q4IuEjaqq0ZQD5+GEEsJTDCMmIUhtgk1lo6QFUwJVDKLiYJNUd6/hoEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4uen4ICCA+IkIsDCQkVACWmhwSpFqAABQoQF6ALTkWFnYMrVlhWvIKTlSAiJiVVPqlGhJkhqShHV1lCW4cMqSkAR1ofiwsjJyqGgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCSMhREZGIYYGY2ElYebi56fhyWQniSKAKKfpaCLFlAPhl0gXYNGEwkhGYREUywag1wJwSkHNDU3D0kJYIMZQwk8MjPBLx9eXwuETVEyAC/BOKsuEjYFhoEAIfkECQgAAAAsAAAAABAAEAAAB2eAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4ueICImip6CIQkJKJ4kigynKaqKCyMnKqSEK05StgAGQRxPYZaENqccFgIID4KXmQBhXFkzDgOnFYLNgltaSAAEpxa7BQoQF4aBACH5BAkIAAAALAAAAAAQABAAAAdogACCg4SFggJiPUqCJSWGgkZjCUwZACQkgxGEXAmdT4UYGZqCGWQ+IjKGGIUwPzGPhAc0NTewhDOdL7Ykji+dOLuOLhI2BbaFETICx4MlQitdqoUsCQ2vhKGjglNfU0SWmILaj43M5oEAOwAAAAAAAAAAAA==) no-repeat center left; }
#full_list { padding: 0; list-style: none; margin-left: 0; margin-top: 80px; font-size: 1.1em; }
#full_list ul { padding: 0; }
#full_list li { padding: 0; margin: 0; list-style: none; }
#full_list li .item { padding: 5px 5px 5px 12px; }
#noresults { padding: 7px 12px; background: #fff; }
#content.insearch #noresults { margin-left: 7px; }
li.collapsed ul { display: none; }
li a.toggle { cursor: default; position: relative; left: -5px; top: 4px; text-indent: -999px; width: 10px; height: 9px; margin-left: -10px; display: block; float: left; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAYAAABb0P4QAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAK8AAACvABQqw0mAAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTM5jWRgMAAAAVdEVYdENyZWF0aW9uIFRpbWUAMy8xNC8wOeNZPpQAAAE2SURBVDiNrZTBccIwEEXfelIAHUA6CZ24BGaWO+FuzZAK4k6gg5QAdGAq+Bxs2Yqx7BzyL7Llp/VfzZeQhCTc/ezuGzKKnKSzpCxXJM8fwNXda3df5RZETlIt6YUzSQDs93sl8w3wBZxCCE10GM1OcWbWjB2mWgEH4Mfdyxm3PSepBHibgQE2wLe7r4HjEidpnXMYdQPKEMJcsZ4zs2POYQOcaPfwMVOo58zsAdMt18BuoVDPxUJRacELbXv3hUIX2vYmOUvi8C8ydz/ThjXrqKqqLbDIAdsCKBd+Wo7GWa7o9qzOQHVVVXeAbs+yHHCH4aTsaCOQqunmUy1yBUAXkdMIfMlgF5EXLo2OpV/c/Up7jG4hhHcYLgWzAZXUc2b2ixsfvc/RmNNfOXD3Q/oeL9axJE1yT9IOoUu6MGUkAAAAAElFTkSuQmCC) no-repeat bottom left; }
li.collapsed a.toggle { opacity: 0.5; cursor: default; background-position: top left; }
li { color: #888; cursor: pointer; }
li.deprecated { text-decoration: line-through; font-style: italic; }
li.odd { background: #f0f0f0; }
li.even { background: #fafafa; }
.item:hover { background: #ddd; }
li small:before { content: "("; }
li small:after { content: ")"; }
li small.search_info { display: none; }
a, a:visited { text-decoration: none; color: #05a; }
li.clicked > .item { background: #05a; color: #ccc; }
li.clicked > .item a, li.clicked > .item a:visited { color: #eee; }
li.clicked > .item a.toggle { opacity: 0.5; background-position: bottom right; }
li.collapsed.clicked a.toggle { background-position: top right; }
#search input { border: 1px solid #bbb; border-radius: 3px; }
#full_list_nav { margin-left: 10px; font-size: 0.9em; display: block; color: #aaa; }
#full_list_nav a, #nav a:visited { color: #358; }
#full_list_nav a:hover { background: transparent; color: #5af; }
#full_list_nav span:after { content: ' | '; }
#full_list_nav span:last-child:after { content: ''; }
#content h1 { margin-top: 0; }
li { white-space: nowrap; cursor: normal; }
li small { display: block; font-size: 0.8em; }
li small:before { content: ""; }
li small:after { content: ""; }
li small.search_info { display: none; }
#search { width: 170px; position: static; margin: 3px; margin-left: 10px; font-size: 0.9em; color: #888; padding-left: 0; padding-right: 24px; }
#content.insearch #search { background-position: center right; }
#search input { width: 110px; }
#full_list.insearch ul { display: block; }
#full_list.insearch .item { display: none; }
#full_list.insearch .found { display: block; padding-left: 11px !important; }
#full_list.insearch li a.toggle { display: none; }
#full_list.insearch li small.search_info { display: block; }

497
doc/css/style.css Normal file
View File

@@ -0,0 +1,497 @@
html {
width: 100%;
height: 100%;
}
body {
font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif;
font-size: 13px;
width: 100%;
margin: 0;
padding: 0;
display: flex;
display: -webkit-flex;
display: -ms-flexbox;
}
#nav {
position: relative;
width: 100%;
height: 100%;
border: 0;
border-right: 1px dotted #eee;
overflow: auto;
}
.nav_wrap {
margin: 0;
padding: 0;
width: 20%;
height: 100%;
position: relative;
display: flex;
display: -webkit-flex;
display: -ms-flexbox;
flex-shrink: 0;
-webkit-flex-shrink: 0;
-ms-flex: 1 0;
}
#resizer {
position: absolute;
right: -5px;
top: 0;
width: 10px;
height: 100%;
cursor: col-resize;
z-index: 9999;
}
#main {
flex: 5 1;
-webkit-flex: 5 1;
-ms-flex: 5 1;
outline: none;
position: relative;
background: #fff;
padding: 1.2em;
padding-top: 0.2em;
box-sizing: border-box;
}
@media (max-width: 920px) {
.nav_wrap { width: 100%; top: 0; right: 0; overflow: visible; position: absolute; }
#resizer { display: none; }
#nav {
z-index: 9999;
background: #fff;
display: none;
position: absolute;
top: 40px;
right: 12px;
width: 500px;
max-width: 80%;
height: 80%;
overflow-y: scroll;
border: 1px solid #999;
border-collapse: collapse;
box-shadow: -7px 5px 25px #aaa;
border-radius: 2px;
}
}
@media (min-width: 920px) {
body { height: 100%; overflow: hidden; }
#main { height: 100%; overflow: auto; }
#search { display: none; }
}
#main img { max-width: 100%; }
h1 { font-size: 25px; margin: 1em 0 0.5em; padding-top: 4px; border-top: 1px dotted #d5d5d5; }
h1.noborder { border-top: 0px; margin-top: 0; padding-top: 4px; }
h1.title { margin-bottom: 10px; }
h1.alphaindex { margin-top: 0; font-size: 22px; }
h2 {
padding: 0;
padding-bottom: 3px;
border-bottom: 1px #aaa solid;
font-size: 1.4em;
margin: 1.8em 0 0.5em;
position: relative;
}
h2 small { font-weight: normal; font-size: 0.7em; display: inline; position: absolute; right: 0; }
h2 small a {
display: block;
height: 20px;
border: 1px solid #aaa;
border-bottom: 0;
border-top-left-radius: 5px;
background: #f8f8f8;
position: relative;
padding: 2px 7px;
}
.clear { clear: both; }
.inline { display: inline; }
.inline p:first-child { display: inline; }
.docstring, .tags, #filecontents { font-size: 15px; line-height: 1.5145em; }
.docstring p > code, .docstring p > tt, .tags p > code, .tags p > tt {
color: #c7254e; background: #f9f2f4; padding: 2px 4px; font-size: 1em;
border-radius: 4px;
}
.docstring h1, .docstring h2, .docstring h3, .docstring h4 { padding: 0; border: 0; border-bottom: 1px dotted #bbb; }
.docstring h1 { font-size: 1.2em; }
.docstring h2 { font-size: 1.1em; }
.docstring h3, .docstring h4 { font-size: 1em; border-bottom: 0; padding-top: 10px; }
.summary_desc .object_link a, .docstring .object_link a {
font-family: monospace; font-size: 1.05em;
color: #05a; background: #EDF4FA; padding: 2px 4px; font-size: 1em;
border-radius: 4px;
}
.rdoc-term { padding-right: 25px; font-weight: bold; }
.rdoc-list p { margin: 0; padding: 0; margin-bottom: 4px; }
.summary_desc pre.code .object_link a, .docstring pre.code .object_link a {
padding: 0px; background: inherit; color: inherit; border-radius: inherit;
}
/* style for <table> */
#filecontents table, .docstring table { border-collapse: collapse; }
#filecontents table th, #filecontents table td,
.docstring table th, .docstring table td { border: 1px solid #ccc; padding: 8px; padding-right: 17px; }
#filecontents table tr:nth-child(odd),
.docstring table tr:nth-child(odd) { background: #eee; }
#filecontents table tr:nth-child(even),
.docstring table tr:nth-child(even) { background: #fff; }
#filecontents table th, .docstring table th { background: #fff; }
/* style for <ul> */
#filecontents li > p, .docstring li > p { margin: 0px; }
#filecontents ul, .docstring ul { padding-left: 20px; }
/* style for <dl> */
#filecontents dl, .docstring dl { border: 1px solid #ccc; }
#filecontents dt, .docstring dt { background: #ddd; font-weight: bold; padding: 3px 5px; }
#filecontents dd, .docstring dd { padding: 5px 0px; margin-left: 18px; }
#filecontents dd > p, .docstring dd > p { margin: 0px; }
.note {
color: #222;
margin: 20px 0;
padding: 10px;
border: 1px solid #eee;
border-radius: 3px;
display: block;
}
.docstring .note {
border-left-color: #ccc;
border-left-width: 5px;
}
.note.todo { background: #ffffc5; border-color: #ececaa; }
.note.returns_void { background: #efefef; }
.note.deprecated { background: #ffe5e5; border-color: #e9dada; }
.note.title.deprecated { background: #ffe5e5; border-color: #e9dada; }
.note.private { background: #ffffc5; border-color: #ececaa; }
.note.title { padding: 3px 6px; font-size: 0.9em; font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; display: inline; }
.summary_signature + .note.title { margin-left: 7px; }
h1 .note.title { font-size: 0.5em; font-weight: normal; padding: 3px 5px; position: relative; top: -3px; text-transform: capitalize; }
.note.title { background: #efefef; }
.note.title.constructor { color: #fff; background: #6a98d6; border-color: #6689d6; }
.note.title.writeonly { color: #fff; background: #45a638; border-color: #2da31d; }
.note.title.readonly { color: #fff; background: #6a98d6; border-color: #6689d6; }
.note.title.private { background: #d5d5d5; border-color: #c5c5c5; }
.note.title.not_defined_here { background: transparent; border: none; font-style: italic; }
.discussion .note { margin-top: 6px; }
.discussion .note:first-child { margin-top: 0; }
h3.inherited {
font-style: italic;
font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif;
font-weight: normal;
padding: 0;
margin: 0;
margin-top: 12px;
margin-bottom: 3px;
font-size: 13px;
}
p.inherited {
padding: 0;
margin: 0;
margin-left: 25px;
}
.box_info dl {
margin: 0;
border: 0;
width: 100%;
font-size: 1em;
display: flex;
display: -webkit-flex;
display: -ms-flexbox;
}
.box_info dl dt {
flex-shrink: 0;
-webkit-flex-shrink: 1;
-ms-flex-shrink: 1;
width: 100px;
text-align: right;
font-weight: bold;
border: 1px solid #aaa;
border-width: 1px 0px 0px 1px;
padding: 6px 0;
padding-right: 10px;
}
.box_info dl dd {
flex-grow: 1;
-webkit-flex-grow: 1;
-ms-flex: 1;
max-width: 420px;
padding: 6px 0;
padding-right: 20px;
border: 1px solid #aaa;
border-width: 1px 1px 0 0;
overflow: hidden;
position: relative;
}
.box_info dl:last-child > * {
border-bottom: 1px solid #aaa;
}
.box_info dl:nth-child(odd) > * { background: #eee; }
.box_info dl:nth-child(even) > * { background: #fff; }
.box_info dl > * { margin: 0; }
ul.toplevel { list-style: none; padding-left: 0; font-size: 1.1em; }
.index_inline_list { padding-left: 0; font-size: 1.1em; }
.index_inline_list li {
list-style: none;
display: inline-block;
padding: 0 12px;
line-height: 30px;
margin-bottom: 5px;
}
dl.constants { margin-left: 10px; }
dl.constants dt { font-weight: bold; font-size: 1.1em; margin-bottom: 5px; }
dl.constants.compact dt { display: inline-block; font-weight: normal }
dl.constants dd { width: 75%; white-space: pre; font-family: monospace; margin-bottom: 18px; }
dl.constants .docstring .note:first-child { margin-top: 5px; }
.summary_desc {
margin-left: 32px;
display: block;
font-family: sans-serif;
font-size: 1.1em;
margin-top: 8px;
line-height: 1.5145em;
margin-bottom: 0.8em;
}
.summary_desc tt { font-size: 0.9em; }
dl.constants .note { padding: 2px 6px; padding-right: 12px; margin-top: 6px; }
dl.constants .docstring { margin-left: 32px; font-size: 0.9em; font-weight: normal; }
dl.constants .tags { padding-left: 32px; font-size: 0.9em; line-height: 0.8em; }
dl.constants .discussion *:first-child { margin-top: 0; }
dl.constants .discussion *:last-child { margin-bottom: 0; }
.method_details { border-top: 1px dotted #ccc; margin-top: 25px; padding-top: 0; }
.method_details.first { border: 0; margin-top: 5px; }
.method_details.first h3.signature { margin-top: 1em; }
p.signature, h3.signature {
font-size: 1.1em; font-weight: normal; font-family: Monaco, Consolas, Courier, monospace;
padding: 6px 10px; margin-top: 1em;
background: #E8F4FF; border: 1px solid #d8d8e5; border-radius: 5px;
}
p.signature tt,
h3.signature tt { font-family: Monaco, Consolas, Courier, monospace; }
p.signature .overload,
h3.signature .overload { display: block; }
p.signature .extras,
h3.signature .extras { font-weight: normal; font-family: sans-serif; color: #444; font-size: 1em; }
p.signature .not_defined_here,
h3.signature .not_defined_here,
p.signature .aliases,
h3.signature .aliases { display: block; font-weight: normal; font-size: 0.9em; font-family: sans-serif; margin-top: 0px; color: #555; }
p.signature .aliases .names,
h3.signature .aliases .names { font-family: Monaco, Consolas, Courier, monospace; font-weight: bold; color: #000; font-size: 1.2em; }
.tags .tag_title { font-size: 1.05em; margin-bottom: 0; font-weight: bold; }
.tags .tag_title tt { color: initial; padding: initial; background: initial; }
.tags ul { margin-top: 5px; padding-left: 30px; list-style: square; }
.tags ul li { margin-bottom: 3px; }
.tags ul .name { font-family: monospace; font-weight: bold; }
.tags ul .note { padding: 3px 6px; }
.tags { margin-bottom: 12px; }
.tags .examples .tag_title { margin-bottom: 10px; font-weight: bold; }
.tags .examples .inline p { padding: 0; margin: 0; font-weight: bold; font-size: 1em; }
.tags .examples .inline p:before { content: "▸"; font-size: 1em; margin-right: 5px; }
.tags .overload .overload_item { list-style: none; margin-bottom: 25px; }
.tags .overload .overload_item .signature {
padding: 2px 8px;
background: #F1F8FF; border: 1px solid #d8d8e5; border-radius: 3px;
}
.tags .overload .signature { margin-left: -15px; font-family: monospace; display: block; font-size: 1.1em; }
.tags .overload .docstring { margin-top: 15px; }
.defines { display: none; }
#method_missing_details .notice.this { position: relative; top: -8px; color: #888; padding: 0; margin: 0; }
.showSource { font-size: 0.9em; }
.showSource a, .showSource a:visited { text-decoration: none; color: #666; }
#content a, #content a:visited { text-decoration: none; color: #05a; }
#content a:hover { background: #ffffa5; }
ul.summary {
list-style: none;
font-family: monospace;
font-size: 1em;
line-height: 1.5em;
padding-left: 0px;
}
ul.summary a, ul.summary a:visited {
text-decoration: none; font-size: 1.1em;
}
ul.summary li { margin-bottom: 5px; }
.summary_signature { padding: 4px 8px; background: #f8f8f8; border: 1px solid #f0f0f0; border-radius: 5px; }
.summary_signature:hover { background: #CFEBFF; border-color: #A4CCDA; cursor: pointer; }
.summary_signature.deprecated { background: #ffe5e5; border-color: #e9dada; }
ul.summary.compact li { display: inline-block; margin: 0px 5px 0px 0px; line-height: 2.6em;}
ul.summary.compact .summary_signature { padding: 5px 7px; padding-right: 4px; }
#content .summary_signature:hover a,
#content .summary_signature:hover a:visited {
background: transparent;
color: #049;
}
p.inherited a { font-family: monospace; font-size: 0.9em; }
p.inherited { word-spacing: 5px; font-size: 1.2em; }
p.children { font-size: 1.2em; }
p.children a { font-size: 0.9em; }
p.children strong { font-size: 0.8em; }
p.children strong.modules { padding-left: 5px; }
ul.fullTree { display: none; padding-left: 0; list-style: none; margin-left: 0; margin-bottom: 10px; }
ul.fullTree ul { margin-left: 0; padding-left: 0; list-style: none; }
ul.fullTree li { text-align: center; padding-top: 18px; padding-bottom: 12px; background: url(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAHtJREFUeNqMzrEJAkEURdGzuhgZbSoYWcAWoBVsB4JgZAGmphsZCZYzTQgWNCYrDN9RvMmHx+X916SUBFbo8CzD1idXrLErw1mQttgXtyrOcQ/Ny5p4Qh+2XqLYYazsPWNTiuMkRxa4vcV+evuNAUOLIx5+c2hyzv7hNQC67Q+/HHmlEwAAAABJRU5ErkJggg==) no-repeat top center; }
ul.fullTree li:first-child { padding-top: 0; background: transparent; }
ul.fullTree li:last-child { padding-bottom: 0; }
.showAll ul.fullTree { display: block; }
.showAll .inheritName { display: none; }
#search { position: absolute; right: 12px; top: 0px; z-index: 9000; }
#search a {
display: block; float: left;
padding: 4px 8px; text-decoration: none; color: #05a; fill: #05a;
border: 1px solid #d8d8e5;
border-bottom-left-radius: 3px; border-bottom-right-radius: 3px;
background: #F1F8FF;
box-shadow: -1px 1px 3px #ddd;
}
#search a:hover { background: #f5faff; color: #06b; fill: #06b; }
#search a.active {
background: #568; padding-bottom: 20px; color: #fff; fill: #fff;
border: 1px solid #457;
border-top-left-radius: 5px; border-top-right-radius: 5px;
}
#search a.inactive { color: #999; fill: #999; }
.inheritanceTree, .toggleDefines {
float: right;
border-left: 1px solid #aaa;
position: absolute; top: 0; right: 0;
height: 100%;
background: #f6f6f6;
padding: 5px;
min-width: 55px;
text-align: center;
}
#menu { font-size: 1.3em; color: #bbb; }
#menu .title, #menu a { font-size: 0.7em; }
#menu .title a { font-size: 1em; }
#menu .title { color: #555; }
#menu a, #menu a:visited { color: #333; text-decoration: none; border-bottom: 1px dotted #bbd; }
#menu a:hover { color: #05a; }
#footer { margin-top: 15px; border-top: 1px solid #ccc; text-align: center; padding: 7px 0; color: #999; }
#footer a, #footer a:visited { color: #444; text-decoration: none; border-bottom: 1px dotted #bbd; }
#footer a:hover { color: #05a; }
#listing ul.alpha { font-size: 1.1em; }
#listing ul.alpha { margin: 0; padding: 0; padding-bottom: 10px; list-style: none; }
#listing ul.alpha li.letter { font-size: 1.4em; padding-bottom: 10px; }
#listing ul.alpha ul { margin: 0; padding-left: 15px; }
#listing ul small { color: #666; font-size: 0.7em; }
li.r1 { background: #f0f0f0; }
li.r2 { background: #fafafa; }
#content ul.summary li.deprecated .summary_signature a,
#content ul.summary li.deprecated .summary_signature a:visited { text-decoration: line-through; font-style: italic; }
#toc {
position: relative;
float: right;
overflow-x: auto;
right: -3px;
margin-left: 20px;
margin-bottom: 20px;
padding: 20px; padding-right: 30px;
max-width: 300px;
z-index: 5000;
background: #fefefe;
border: 1px solid #ddd;
box-shadow: -2px 2px 6px #bbb;
}
#toc .title { margin: 0; }
#toc ol { padding-left: 1.8em; }
#toc li { font-size: 1.1em; line-height: 1.7em; }
#toc > ol > li { font-size: 1.1em; font-weight: bold; }
#toc ol > li > ol { font-size: 0.9em; }
#toc ol ol > li > ol { padding-left: 2.3em; }
#toc ol + li { margin-top: 0.3em; }
#toc.hidden { padding: 10px; background: #fefefe; box-shadow: none; }
#toc.hidden:hover { background: #fafafa; }
#filecontents h1 + #toc.nofloat { margin-top: 0; }
@media (max-width: 560px) {
#toc {
margin-left: 0;
margin-top: 16px;
float: none;
max-width: none;
}
}
/* syntax highlighting */
.source_code { display: none; padding: 3px 8px; border-left: 8px solid #ddd; margin-top: 5px; }
#filecontents pre.code, .docstring pre.code, .source_code pre { font-family: monospace; }
#filecontents pre.code, .docstring pre.code { display: block; }
.source_code .lines { padding-right: 12px; color: #555; text-align: right; }
#filecontents pre.code, .docstring pre.code,
.tags pre.example {
padding: 9px 14px;
margin-top: 4px;
border: 1px solid #e1e1e8;
background: #f7f7f9;
border-radius: 4px;
font-size: 1em;
overflow-x: auto;
line-height: 1.2em;
}
pre.code { color: #000; tab-size: 2; }
pre.code .info.file { color: #555; }
pre.code .val { color: #036A07; }
pre.code .tstring_content,
pre.code .heredoc_beg, pre.code .heredoc_end,
pre.code .qwords_beg, pre.code .qwords_end, pre.code .qwords_sep,
pre.code .words_beg, pre.code .words_end, pre.code .words_sep,
pre.code .qsymbols_beg, pre.code .qsymbols_end, pre.code .qsymbols_sep,
pre.code .symbols_beg, pre.code .symbols_end, pre.code .symbols_sep,
pre.code .tstring, pre.code .dstring { color: #036A07; }
pre.code .fid, pre.code .rubyid_new, pre.code .rubyid_to_s,
pre.code .rubyid_to_sym, pre.code .rubyid_to_f,
pre.code .dot + pre.code .id,
pre.code .rubyid_to_i pre.code .rubyid_each { color: #0085FF; }
pre.code .comment { color: #0066FF; }
pre.code .const, pre.code .constant { color: #585CF6; }
pre.code .label,
pre.code .symbol { color: #C5060B; }
pre.code .kw,
pre.code .rubyid_require,
pre.code .rubyid_extend,
pre.code .rubyid_include { color: #0000FF; }
pre.code .ivar { color: #318495; }
pre.code .gvar,
pre.code .rubyid_backref,
pre.code .rubyid_nth_ref { color: #6D79DE; }
pre.code .regexp, .dregexp { color: #036A07; }
pre.code a { border-bottom: 1px dotted #bbf; }
/* inline code */
*:not(pre) > code {
padding: 1px 3px 1px 3px;
border: 1px solid #E1E1E8;
background: #F7F7F9;
border-radius: 4px;
}
/* Color fix for links */
#content .summary_desc pre.code .id > .object_link a, /* identifier */
#content .docstring pre.code .id > .object_link a { color: #0085FF; }
#content .summary_desc pre.code .const > .object_link a, /* constant */
#content .docstring pre.code .const > .object_link a { color: #585CF6; }

196
doc/file.README.html Normal file
View File

@@ -0,0 +1,196 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
File: README
&mdash; Documentation by YARD 0.9.36
</title>
<link rel="stylesheet" href="css/style.css" type="text/css" />
<link rel="stylesheet" href="css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "";
relpath = '';
</script>
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="file_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="_index.html">Index</a> &raquo;
<span class="title">File: README</span>
</div>
<div id="search">
<a class="full_list_link" id="puppet_class_list_link"
href="puppet_class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><div id='filecontents'>
<h1 id="label-Readme">Readme</h1>
<p><a href="https://jenkins.confdroid.com/job/confdroid_prometheus/"><img src="https://jenkins.confdroid.com/buildStatus/icon?job=confdroid_prometheus"></a> <a href="https://sonarqube.confdroid.com/dashboard?id=confdroid_prometheus"><img src="https://sonarqube.confdroid.com/api/project_badges/measure?project=confdroid_prometheus&amp;metric=software_quality_security_issues&amp;token=sqb_3d09bf2c3c7ef13bd7ba77aceb330a82fbb36cdf"></a></p>
<ul><li>
<p><a href="#readme">Readme</a></p>
</li><li>
<p><a href="#synopsis">Synopsis</a></p>
</li><li>
<p><a href="#warning">WARNING</a></p>
</li><li>
<p><a href="#features">Features</a></p>
</li><li>
<p><a href="#puppet-documentation">Puppet Documentation</a></p>
</li><li>
<p><a href="#dependencies">Dependencies</a></p>
</li><li>
<p><a href="#deployment">Deployment</a></p>
</li><li>
<p><a href="#selinux">SELINUX</a></p>
</li><li>
<p><a href="#known-problems">Known Problems</a></p>
</li><li>
<p><a href="#support">Support</a></p>
</li><li>
<p><a href="#tests">Tests</a></p>
</li><li>
<p><a href="#contact-us">Contact Us</a></p>
</li><li>
<p><a href="#feedback">Feedback</a></p>
</li><li>
<p><a href="#disclaimer">Disclaimer</a></p>
</li></ul>
<h2 id="label-Synopsis">Synopsis</h2>
<p>Prometheus is an open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach.</p>
<p><code>confdroid_prometheus</code> is a Puppet module to automate installation and configuration of prometheus, optionally node exporter, tsdb pruning and more. This module supports either managing prometheus or node_exporter or both. You need to set the parameters <code>$manage_prometheus</code>and / or <code>$manage_node_exporter</code>to true ( false by default)</p>
<h2 id="label-WARNING">WARNING</h2>
<p><strong><em>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</em></strong></p>
<p><a href="https://www.buymeacoffee.com/grizzly_coda"><img src="https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png"></a></p>
<h2 id="label-Features">Features</h2>
<p>INSTALLATION</p>
<ul><li>
<p>installs prometheus binaries (optional)</p>
</li><li>
<p>installs node_exporter binaries (optional)</p>
</li></ul>
<p>CONFIGURATION</p>
<ul><li>
<p>manage directories</p>
</li><li>
<p>manage files including templates</p>
</li><li>
<p>manage service</p>
</li></ul>
<p>Configurable options: - storage.tsdb.retention.time via <code>$ps_retention_time</code> - storage.tsdb.retention.size via <code>$ps_retention_size</code> - storage.tsdb.wal-segment-size via <code>ps_wal_seg_size</code> - storage.tsdb.min-block-duration via <code>ps_min_block_dur</code> - storage.tsdb.max-block-duration via <code>ps_max_block_dur</code> - authentication user via <code>$ps_auth_user</code> - authentication password via <code>$ps_auth_pass</code> - web authentication password via <code>$ps_web_pass</code> ( different format required) - external remote write ( writing to a remote instance like pg-adapter): - <code>ps_write_external</code> true enables it - <code>ps_external_url</code> must be a valid full url - <code>ps_auth_ext_user</code>must be a valid user - <code>ps_auth_ext_pass</code>must be a valid password - pruning local blocks - <code>ps_enable_pruning</code> true enables it - <code>ps_pruning_dir</code> the directory where the pruning script should live</p>
<h2 id="label-Puppet+Documentation">Puppet Documentation</h2>
<p>See the full Puppet documentation including parameters in <code>docs/index.html</code></p>
<h2 id="label-Dependencies">Dependencies</h2>
<p>All dependencies must be included in the catalogue.</p>
<h2 id="label-Deployment">Deployment</h2>
<ul><li>
<p>native Puppet deployment</p>
</li></ul>
<p>via site.pp or nodes.pp</p>
<pre class="code ruby"><code class="ruby">node &#39;example.example.net&#39; {
include cd_prometheus
}
</code></pre>
<ul><li>
<p>through Foreman:</p>
</li></ul>
<p>In order to apply parameters through Foreman, the params.pp must be added to the host or host group in question.</p>
<p>See <a href="https://confdroid.com/2017/05/deploying-our-puppet-modules/">more details about class deployment on Confdroid.com</a>.</p>
<h2 id="label-SELINUX">SELINUX</h2>
<p>All files and directories are configured with correct selinux context. If selinux is disabled, these contexts are ignored.</p>
<h2 id="label-Known+Problems">Known Problems</h2>
<h2 id="label-Support">Support</h2>
<ul><li>
<p>OS: Rocky 9</p>
</li><li>
<p>Puppet 8</p>
</li></ul>
<h2 id="label-Tests">Tests</h2>
<ul><li>
<p>Puppet Lint</p>
</li><li>
<p>Puppet Parser</p>
</li><li>
<p>ERB Template Parser</p>
</li><li>
<p>Sonar Quality Gate</p>
</li></ul>
<h2 id="label-Contact+Us">Contact Us</h2>
<p><a href="https://confdroid.com/contact/">contact Us</a></p>
<h2 id="label-Feedback">Feedback</h2>
<p>Having suggestions or feature requests? head over to our <a href="https://feedback.confdroid.com">feedback collection</a> and add an item for public votes or discussion.</p>
<h2 id="label-Disclaimer">Disclaimer</h2>
<p>ConfDroid as entity is entirely independent from Puppet. We provide custom configuration modules, written for specific purposes and specific environments. The modules are tested and supported only as documented, and require testing in designated environments (i.e. lab or development environments) for parameter tuning etc. before deploying into production environments. v</p>
</div></div>
<div id="footer">
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
</div>
</div>
</body>
</html>

22
doc/frames.html Normal file
View File

@@ -0,0 +1,22 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Documentation by YARD 0.9.36</title>
</head>
<script type="text/javascript">
var mainUrl = 'index.html';
try {
var match = decodeURIComponent(window.location.hash).match(/^#!(.+)/);
var name = match ? match[1] : mainUrl;
var url = new URL(name, location.href);
window.top.location.replace(url.origin === location.origin ? name : mainUrl);
} catch (e) {
window.top.location.replace(mainUrl);
}
</script>
<noscript>
<h1>Oops!</h1>
<h2>YARD requires JavaScript!</h2>
</noscript>
</html>

196
doc/index.html Normal file
View File

@@ -0,0 +1,196 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
File: README
&mdash; Documentation by YARD 0.9.36
</title>
<link rel="stylesheet" href="css/style.css" type="text/css" />
<link rel="stylesheet" href="css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "";
relpath = '';
</script>
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="puppet_class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="_index.html">Index</a> &raquo;
<span class="title">File: README</span>
</div>
<div id="search">
<a class="full_list_link" id="puppet_class_list_link"
href="puppet_class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><div id='filecontents'>
<h1 id="label-Readme">Readme</h1>
<p><a href="https://jenkins.confdroid.com/job/confdroid_prometheus/"><img src="https://jenkins.confdroid.com/buildStatus/icon?job=confdroid_prometheus"></a> <a href="https://sonarqube.confdroid.com/dashboard?id=confdroid_prometheus"><img src="https://sonarqube.confdroid.com/api/project_badges/measure?project=confdroid_prometheus&amp;metric=software_quality_security_issues&amp;token=sqb_3d09bf2c3c7ef13bd7ba77aceb330a82fbb36cdf"></a></p>
<ul><li>
<p><a href="#readme">Readme</a></p>
</li><li>
<p><a href="#synopsis">Synopsis</a></p>
</li><li>
<p><a href="#warning">WARNING</a></p>
</li><li>
<p><a href="#features">Features</a></p>
</li><li>
<p><a href="#puppet-documentation">Puppet Documentation</a></p>
</li><li>
<p><a href="#dependencies">Dependencies</a></p>
</li><li>
<p><a href="#deployment">Deployment</a></p>
</li><li>
<p><a href="#selinux">SELINUX</a></p>
</li><li>
<p><a href="#known-problems">Known Problems</a></p>
</li><li>
<p><a href="#support">Support</a></p>
</li><li>
<p><a href="#tests">Tests</a></p>
</li><li>
<p><a href="#contact-us">Contact Us</a></p>
</li><li>
<p><a href="#feedback">Feedback</a></p>
</li><li>
<p><a href="#disclaimer">Disclaimer</a></p>
</li></ul>
<h2 id="label-Synopsis">Synopsis</h2>
<p>Prometheus is an open-source monitoring system with a dimensional data model, flexible query language, efficient time series database and modern alerting approach.</p>
<p><code>confdroid_prometheus</code> is a Puppet module to automate installation and configuration of prometheus, optionally node exporter, tsdb pruning and more. This module supports either managing prometheus or node_exporter or both. You need to set the parameters <code>$manage_prometheus</code>and / or <code>$manage_node_exporter</code>to true ( false by default)</p>
<h2 id="label-WARNING">WARNING</h2>
<p><strong><em>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</em></strong></p>
<p><a href="https://www.buymeacoffee.com/grizzly_coda"><img src="https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png"></a></p>
<h2 id="label-Features">Features</h2>
<p>INSTALLATION</p>
<ul><li>
<p>installs prometheus binaries (optional)</p>
</li><li>
<p>installs node_exporter binaries (optional)</p>
</li></ul>
<p>CONFIGURATION</p>
<ul><li>
<p>manage directories</p>
</li><li>
<p>manage files including templates</p>
</li><li>
<p>manage service</p>
</li></ul>
<p>Configurable options: - storage.tsdb.retention.time via <code>$ps_retention_time</code> - storage.tsdb.retention.size via <code>$ps_retention_size</code> - storage.tsdb.wal-segment-size via <code>ps_wal_seg_size</code> - storage.tsdb.min-block-duration via <code>ps_min_block_dur</code> - storage.tsdb.max-block-duration via <code>ps_max_block_dur</code> - authentication user via <code>$ps_auth_user</code> - authentication password via <code>$ps_auth_pass</code> - web authentication password via <code>$ps_web_pass</code> ( different format required) - external remote write ( writing to a remote instance like pg-adapter): - <code>ps_write_external</code> true enables it - <code>ps_external_url</code> must be a valid full url - <code>ps_auth_ext_user</code>must be a valid user - <code>ps_auth_ext_pass</code>must be a valid password - pruning local blocks - <code>ps_enable_pruning</code> true enables it - <code>ps_pruning_dir</code> the directory where the pruning script should live</p>
<h2 id="label-Puppet+Documentation">Puppet Documentation</h2>
<p>See the full Puppet documentation including parameters in <code>docs/index.html</code></p>
<h2 id="label-Dependencies">Dependencies</h2>
<p>All dependencies must be included in the catalogue.</p>
<h2 id="label-Deployment">Deployment</h2>
<ul><li>
<p>native Puppet deployment</p>
</li></ul>
<p>via site.pp or nodes.pp</p>
<pre class="code ruby"><code class="ruby">node &#39;example.example.net&#39; {
include cd_prometheus
}
</code></pre>
<ul><li>
<p>through Foreman:</p>
</li></ul>
<p>In order to apply parameters through Foreman, the params.pp must be added to the host or host group in question.</p>
<p>See <a href="https://confdroid.com/2017/05/deploying-our-puppet-modules/">more details about class deployment on Confdroid.com</a>.</p>
<h2 id="label-SELINUX">SELINUX</h2>
<p>All files and directories are configured with correct selinux context. If selinux is disabled, these contexts are ignored.</p>
<h2 id="label-Known+Problems">Known Problems</h2>
<h2 id="label-Support">Support</h2>
<ul><li>
<p>OS: Rocky 9</p>
</li><li>
<p>Puppet 8</p>
</li></ul>
<h2 id="label-Tests">Tests</h2>
<ul><li>
<p>Puppet Lint</p>
</li><li>
<p>Puppet Parser</p>
</li><li>
<p>ERB Template Parser</p>
</li><li>
<p>Sonar Quality Gate</p>
</li></ul>
<h2 id="label-Contact+Us">Contact Us</h2>
<p><a href="https://confdroid.com/contact/">contact Us</a></p>
<h2 id="label-Feedback">Feedback</h2>
<p>Having suggestions or feature requests? head over to our <a href="https://feedback.confdroid.com">feedback collection</a> and add an item for public votes or discussion.</p>
<h2 id="label-Disclaimer">Disclaimer</h2>
<p>ConfDroid as entity is entirely independent from Puppet. We provide custom configuration modules, written for specific purposes and specific environments. The modules are tested and supported only as documented, and require testing in designated environments (i.e. lab or development environments) for parameter tuning etc. before deploying into production environments. v</p>
</div></div>
<div id="footer">
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
</div>
</div>
</body>
</html>

314
doc/js/app.js Normal file
View File

@@ -0,0 +1,314 @@
(function() {
var localStorage = {}, sessionStorage = {};
try { localStorage = window.localStorage; } catch (e) { }
try { sessionStorage = window.sessionStorage; } catch (e) { }
function createSourceLinks() {
$('.method_details_list .source_code').
before("<span class='showSource'>[<a href='#' class='toggleSource'>View source</a>]</span>");
$('.toggleSource').toggle(function() {
$(this).parent().nextAll('.source_code').slideDown(100);
$(this).text("Hide source");
},
function() {
$(this).parent().nextAll('.source_code').slideUp(100);
$(this).text("View source");
});
}
function createDefineLinks() {
var tHeight = 0;
$('.defines').after(" <a href='#' class='toggleDefines'>more...</a>");
$('.toggleDefines').toggle(function() {
tHeight = $(this).parent().prev().height();
$(this).prev().css('display', 'inline');
$(this).parent().prev().height($(this).parent().height());
$(this).text("(less)");
},
function() {
$(this).prev().hide();
$(this).parent().prev().height(tHeight);
$(this).text("more...");
});
}
function createFullTreeLinks() {
var tHeight = 0;
$('.inheritanceTree').toggle(function() {
tHeight = $(this).parent().prev().height();
$(this).parent().toggleClass('showAll');
$(this).text("(hide)");
$(this).parent().prev().height($(this).parent().height());
},
function() {
$(this).parent().toggleClass('showAll');
$(this).parent().prev().height(tHeight);
$(this).text("show all");
});
}
function searchFrameButtons() {
$('.full_list_link').click(function() {
toggleSearchFrame(this, $(this).attr('href'));
return false;
});
window.addEventListener('message', function(e) {
if (e.data === 'navEscape') {
$('#nav').slideUp(100);
$('#search a').removeClass('active inactive');
$(window).focus();
}
});
$(window).resize(function() {
if ($('#search:visible').length === 0) {
$('#nav').removeAttr('style');
$('#search a').removeClass('active inactive');
$(window).focus();
}
});
}
function toggleSearchFrame(id, link) {
var frame = $('#nav');
$('#search a').removeClass('active').addClass('inactive');
if (frame.attr('src') === link && frame.css('display') !== "none") {
frame.slideUp(100);
$('#search a').removeClass('active inactive');
}
else {
$(id).addClass('active').removeClass('inactive');
if (frame.attr('src') !== link) frame.attr('src', link);
frame.slideDown(100);
}
}
function linkSummaries() {
$('.summary_signature').click(function() {
document.location = $(this).find('a').attr('href');
});
}
function summaryToggle() {
$('.summary_toggle').click(function(e) {
e.preventDefault();
localStorage.summaryCollapsed = $(this).text();
$('.summary_toggle').each(function() {
$(this).text($(this).text() == "collapse" ? "expand" : "collapse");
var next = $(this).parent().parent().nextAll('ul.summary').first();
if (next.hasClass('compact')) {
next.toggle();
next.nextAll('ul.summary').first().toggle();
}
else if (next.hasClass('summary')) {
var list = $('<ul class="summary compact" />');
list.html(next.html());
list.find('.summary_desc, .note').remove();
list.find('a').each(function() {
$(this).html($(this).find('strong').html());
$(this).parent().html($(this)[0].outerHTML);
});
next.before(list);
next.toggle();
}
});
return false;
});
if (localStorage.summaryCollapsed == "collapse") {
$('.summary_toggle').first().click();
} else { localStorage.summaryCollapsed = "expand"; }
}
function constantSummaryToggle() {
$('.constants_summary_toggle').click(function(e) {
e.preventDefault();
localStorage.summaryCollapsed = $(this).text();
$('.constants_summary_toggle').each(function() {
$(this).text($(this).text() == "collapse" ? "expand" : "collapse");
var next = $(this).parent().parent().nextAll('dl.constants').first();
if (next.hasClass('compact')) {
next.toggle();
next.nextAll('dl.constants').first().toggle();
}
else if (next.hasClass('constants')) {
var list = $('<dl class="constants compact" />');
list.html(next.html());
list.find('dt').each(function() {
$(this).addClass('summary_signature');
$(this).text( $(this).text().split('=')[0]);
if ($(this).has(".deprecated").length) {
$(this).addClass('deprecated');
};
});
// Add the value of the constant as "Tooltip" to the summary object
list.find('pre.code').each(function() {
console.log($(this).parent());
var dt_element = $(this).parent().prev();
var tooltip = $(this).text();
if (dt_element.hasClass("deprecated")) {
tooltip = 'Deprecated. ' + tooltip;
};
dt_element.attr('title', tooltip);
});
list.find('.docstring, .tags, dd').remove();
next.before(list);
next.toggle();
}
});
return false;
});
if (localStorage.summaryCollapsed == "collapse") {
$('.constants_summary_toggle').first().click();
} else { localStorage.summaryCollapsed = "expand"; }
}
function generateTOC() {
if ($('#filecontents').length === 0) return;
var _toc = $('<ol class="top"></ol>');
var show = false;
var toc = _toc;
var counter = 0;
var tags = ['h2', 'h3', 'h4', 'h5', 'h6'];
var i;
var curli;
if ($('#filecontents h1').length > 1) tags.unshift('h1');
for (i = 0; i < tags.length; i++) { tags[i] = '#filecontents ' + tags[i]; }
var lastTag = parseInt(tags[0][1], 10);
$(tags.join(', ')).each(function() {
if ($(this).parents('.method_details .docstring').length != 0) return;
if (this.id == "filecontents") return;
show = true;
var thisTag = parseInt(this.tagName[1], 10);
if (this.id.length === 0) {
var proposedId = $(this).attr('toc-id');
if (typeof(proposedId) != "undefined") this.id = proposedId;
else {
var proposedId = $(this).text().replace(/[^a-z0-9-]/ig, '_');
if ($('#' + proposedId).length > 0) { proposedId += counter; counter++; }
this.id = proposedId;
}
}
if (thisTag > lastTag) {
for (i = 0; i < thisTag - lastTag; i++) {
if ( typeof(curli) == "undefined" ) {
curli = $('<li/>');
toc.append(curli);
}
toc = $('<ol/>');
curli.append(toc);
curli = undefined;
}
}
if (thisTag < lastTag) {
for (i = 0; i < lastTag - thisTag; i++) {
toc = toc.parent();
toc = toc.parent();
}
}
var title = $(this).attr('toc-title');
if (typeof(title) == "undefined") title = $(this).text();
curli =$('<li><a href="#' + this.id + '">' + title + '</a></li>');
toc.append(curli);
lastTag = thisTag;
});
if (!show) return;
html = '<div id="toc"><p class="title hide_toc"><a href="#"><strong>Table of Contents</strong></a></p></div>';
$('#content').prepend(html);
$('#toc').append(_toc);
$('#toc .hide_toc').toggle(function() {
$('#toc .top').slideUp('fast');
$('#toc').toggleClass('hidden');
$('#toc .title small').toggle();
}, function() {
$('#toc .top').slideDown('fast');
$('#toc').toggleClass('hidden');
$('#toc .title small').toggle();
});
}
function navResizeFn(e) {
if (e.which !== 1) {
navResizeFnStop();
return;
}
sessionStorage.navWidth = e.pageX.toString();
$('.nav_wrap').css('width', e.pageX);
$('.nav_wrap').css('-ms-flex', 'inherit');
}
function navResizeFnStop() {
$(window).unbind('mousemove', navResizeFn);
window.removeEventListener('message', navMessageFn, false);
}
function navMessageFn(e) {
if (e.data.action === 'mousemove') navResizeFn(e.data.event);
if (e.data.action === 'mouseup') navResizeFnStop();
}
function navResizer() {
$('#resizer').mousedown(function(e) {
e.preventDefault();
$(window).mousemove(navResizeFn);
window.addEventListener('message', navMessageFn, false);
});
$(window).mouseup(navResizeFnStop);
if (sessionStorage.navWidth) {
navResizeFn({which: 1, pageX: parseInt(sessionStorage.navWidth, 10)});
}
}
function navExpander() {
var done = false, timer = setTimeout(postMessage, 500);
function postMessage() {
if (done) return;
clearTimeout(timer);
var opts = { action: 'expand', path: pathId };
document.getElementById('nav').contentWindow.postMessage(opts, '*');
done = true;
}
window.addEventListener('message', function(event) {
if (event.data === 'navReady') postMessage();
return false;
}, false);
}
function mainFocus() {
var hash = window.location.hash;
if (hash !== '' && $(hash)[0]) {
$(hash)[0].scrollIntoView();
}
setTimeout(function() { $('#main').focus(); }, 10);
}
function navigationChange() {
// This works around the broken anchor navigation with the YARD template.
window.onpopstate = function() {
var hash = window.location.hash;
if (hash !== '' && $(hash)[0]) {
$(hash)[0].scrollIntoView();
}
};
}
$(document).ready(function() {
navResizer();
navExpander();
createSourceLinks();
createDefineLinks();
createFullTreeLinks();
searchFrameButtons();
linkSummaries();
summaryToggle();
constantSummaryToggle();
generateTOC();
mainFocus();
navigationChange();
});
})();

216
doc/js/full_list.js Normal file
View File

@@ -0,0 +1,216 @@
(function() {
var $clicked = $(null);
var searchTimeout = null;
var searchCache = [];
var caseSensitiveMatch = false;
var ignoreKeyCodeMin = 8;
var ignoreKeyCodeMax = 46;
var commandKey = 91;
RegExp.escape = function(text) {
return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
}
function escapeShortcut() {
$(document).keydown(function(evt) {
if (evt.which == 27) {
window.parent.postMessage('navEscape', '*');
}
});
}
function navResizer() {
$(window).mousemove(function(e) {
window.parent.postMessage({
action: 'mousemove', event: {pageX: e.pageX, which: e.which}
}, '*');
}).mouseup(function(e) {
window.parent.postMessage({action: 'mouseup'}, '*');
});
window.parent.postMessage("navReady", "*");
}
function clearSearchTimeout() {
clearTimeout(searchTimeout);
searchTimeout = null;
}
function enableLinks() {
// load the target page in the parent window
$('#full_list li').on('click', function(evt) {
$('#full_list li').removeClass('clicked');
$clicked = $(this);
$clicked.addClass('clicked');
evt.stopPropagation();
if (evt.target.tagName === 'A') return true;
var elem = $clicked.find('> .item .object_link a')[0];
var e = evt.originalEvent;
var newEvent = new MouseEvent(evt.originalEvent.type);
newEvent.initMouseEvent(e.type, e.canBubble, e.cancelable, e.view, e.detail, e.screenX, e.screenY, e.clientX, e.clientY, e.ctrlKey, e.altKey, e.shiftKey, e.metaKey, e.button, e.relatedTarget);
elem.dispatchEvent(newEvent);
evt.preventDefault();
return false;
});
}
function enableToggles() {
// show/hide nested classes on toggle click
$('#full_list a.toggle').on('click', function(evt) {
evt.stopPropagation();
evt.preventDefault();
$(this).parent().parent().toggleClass('collapsed');
highlight();
});
}
function populateSearchCache() {
$('#full_list li .item').each(function() {
var $node = $(this);
var $link = $node.find('.object_link a');
if ($link.length > 0) {
searchCache.push({
node: $node,
link: $link,
name: $link.text(),
fullName: $link.attr('title').split(' ')[0]
});
}
});
}
function enableSearch() {
$('#search input').keyup(function(event) {
if (ignoredKeyPress(event)) return;
if (this.value === "") {
clearSearch();
} else {
performSearch(this.value);
}
});
$('#full_list').after("<div id='noresults' style='display:none'></div>");
}
function ignoredKeyPress(event) {
if (
(event.keyCode > ignoreKeyCodeMin && event.keyCode < ignoreKeyCodeMax) ||
(event.keyCode == commandKey)
) {
return true;
} else {
return false;
}
}
function clearSearch() {
clearSearchTimeout();
$('#full_list .found').removeClass('found').each(function() {
var $link = $(this).find('.object_link a');
$link.text($link.text());
});
$('#full_list, #content').removeClass('insearch');
$clicked.parents().removeClass('collapsed');
highlight();
}
function performSearch(searchString) {
clearSearchTimeout();
$('#full_list, #content').addClass('insearch');
$('#noresults').text('').hide();
partialSearch(searchString, 0);
}
function partialSearch(searchString, offset) {
var lastRowClass = '';
var i = null;
for (i = offset; i < Math.min(offset + 50, searchCache.length); i++) {
var item = searchCache[i];
var searchName = (searchString.indexOf('::') != -1 ? item.fullName : item.name);
var matchString = buildMatchString(searchString);
var matchRegexp = new RegExp(matchString, caseSensitiveMatch ? "" : "i");
if (searchName.match(matchRegexp) == null) {
item.node.removeClass('found');
item.link.text(item.link.text());
}
else {
item.node.addClass('found');
item.node.removeClass(lastRowClass).addClass(lastRowClass == 'r1' ? 'r2' : 'r1');
lastRowClass = item.node.hasClass('r1') ? 'r1' : 'r2';
item.link.html(item.name.replace(matchRegexp, "<strong>$&</strong>"));
}
}
if(i == searchCache.length) {
searchDone();
} else {
searchTimeout = setTimeout(function() {
partialSearch(searchString, i);
}, 0);
}
}
function searchDone() {
searchTimeout = null;
highlight();
if ($('#full_list li:visible').size() === 0) {
$('#noresults').text('No results were found.').hide().fadeIn();
} else {
$('#noresults').text('').hide();
}
$('#content').removeClass('insearch');
}
function buildMatchString(searchString, event) {
caseSensitiveMatch = searchString.match(/[A-Z]/) != null;
var regexSearchString = RegExp.escape(searchString);
if (caseSensitiveMatch) {
regexSearchString += "|" +
$.map(searchString.split(''), function(e) { return RegExp.escape(e); }).
join('.+?');
}
return regexSearchString;
}
function highlight() {
$('#full_list li:visible').each(function(n) {
$(this).removeClass('even odd').addClass(n % 2 == 0 ? 'odd' : 'even');
});
}
/**
* Expands the tree to the target element and its immediate
* children.
*/
function expandTo(path) {
var $target = $(document.getElementById('object_' + path));
$target.addClass('clicked');
$target.removeClass('collapsed');
$target.parentsUntil('#full_list', 'li').removeClass('collapsed');
if($target[0]) {
window.scrollTo(window.scrollX, $target.offset().top - 250);
highlight();
}
}
function windowEvents(event) {
var msg = event.data;
if (msg.action === "expand") {
expandTo(msg.path);
}
return false;
}
window.addEventListener("message", windowEvents, false);
$(document).ready(function() {
escapeShortcut();
navResizer();
enableLinks();
enableToggles();
populateSearchCache();
enableSearch();
});
})();

4
doc/js/jquery.js vendored Normal file

File diff suppressed because one or more lines are too long

106
doc/puppet_class_list.html Normal file
View File

@@ -0,0 +1,106 @@
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta charset="utf-8" />
<link rel="stylesheet" href="css/full_list.css" type="text/css" media="screen" />
<link rel="stylesheet" href="css/common.css" type="text/css" media="screen" />
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="js/full_list.js"></script>
<title>Puppet Class List</title>
<base id="base_target" target="_parent" />
</head>
<body>
<div id="content">
<div class="fixed_header">
<h1 id="full_list_header">Puppet Class List</h1>
<div id="full_list_nav">
<span><a target="_self" href="puppet_class_list.html">
Puppet Classes
</a></span>
</div>
<div id="search">Search: <input type="text" /></div>
</div>
<ul id="full_list" class="puppet_class">
<li id="object_puppet_classes::confdroid_prometheus" class="odd">
<div class="item">
<span class='object_link'><a href="puppet_classes/confdroid_prometheus.html" title="puppet_classes::confdroid_prometheus (puppet_class)">confdroid_prometheus</a></span>
</div>
</li>
<li id="object_puppet_classes::confdroid_prometheus::firewall::iptables" class="even">
<div class="item">
<span class='object_link'><a href="puppet_classes/confdroid_prometheus_3A_3Afirewall_3A_3Aiptables.html" title="puppet_classes::confdroid_prometheus::firewall::iptables (puppet_class)">confdroid_prometheus::firewall::iptables</a></span>
</div>
</li>
<li id="object_puppet_classes::confdroid_prometheus::main::config" class="odd">
<div class="item">
<span class='object_link'><a href="puppet_classes/confdroid_prometheus_3A_3Amain_3A_3Aconfig.html" title="puppet_classes::confdroid_prometheus::main::config (puppet_class)">confdroid_prometheus::main::config</a></span>
</div>
</li>
<li id="object_puppet_classes::confdroid_prometheus::main::dirs" class="even">
<div class="item">
<span class='object_link'><a href="puppet_classes/confdroid_prometheus_3A_3Amain_3A_3Adirs.html" title="puppet_classes::confdroid_prometheus::main::dirs (puppet_class)">confdroid_prometheus::main::dirs</a></span>
</div>
</li>
<li id="object_puppet_classes::confdroid_prometheus::main::files" class="odd">
<div class="item">
<span class='object_link'><a href="puppet_classes/confdroid_prometheus_3A_3Amain_3A_3Afiles.html" title="puppet_classes::confdroid_prometheus::main::files (puppet_class)">confdroid_prometheus::main::files</a></span>
</div>
</li>
<li id="object_puppet_classes::confdroid_prometheus::main::install" class="even">
<div class="item">
<span class='object_link'><a href="puppet_classes/confdroid_prometheus_3A_3Amain_3A_3Ainstall.html" title="puppet_classes::confdroid_prometheus::main::install (puppet_class)">confdroid_prometheus::main::install</a></span>
</div>
</li>
<li id="object_puppet_classes::confdroid_prometheus::main::service" class="odd">
<div class="item">
<span class='object_link'><a href="puppet_classes/confdroid_prometheus_3A_3Amain_3A_3Aservice.html" title="puppet_classes::confdroid_prometheus::main::service (puppet_class)">confdroid_prometheus::main::service</a></span>
</div>
</li>
<li id="object_puppet_classes::confdroid_prometheus::main::yumrepo" class="even">
<div class="item">
<span class='object_link'><a href="puppet_classes/confdroid_prometheus_3A_3Amain_3A_3Ayumrepo.html" title="puppet_classes::confdroid_prometheus::main::yumrepo (puppet_class)">confdroid_prometheus::main::yumrepo</a></span>
</div>
</li>
<li id="object_puppet_classes::confdroid_prometheus::params" class="odd">
<div class="item">
<span class='object_link'><a href="puppet_classes/confdroid_prometheus_3A_3Aparams.html" title="puppet_classes::confdroid_prometheus::params (puppet_class)">confdroid_prometheus::params</a></span>
</div>
</li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,121 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: confdroid_prometheus
&mdash; Documentation by YARD 0.9.36
</title>
<link rel="stylesheet" href="../css/style.css" type="text/css" />
<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "puppet_classes::confdroid_prometheus";
relpath = '../';
</script>
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="../puppet_class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="../_index.html">Index (c)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">confdroid_prometheus</span>
</div>
<div id="search">
<a class="full_list_link" id="puppet_class_list_link"
href="../puppet_class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: confdroid_prometheus</h1>
<div class="box_info">
<dl>
<dt>Defined in:</dt>
<dd>
manifests/init.pp
</dd>
</dl>
</div>
<h2>Summary</h2>
Class initializes the confdroid_prometheus module.
<h2>Overview</h2>
<div class="docstring">
<div class="discussion">
<p>confdroid_prometheus::init.pp Module name: confdroid_prometheus Author: 12ww1160 (12ww1160@confdroid.com)</p>
</div>
</div>
<div class="tags">
</div><div class="method_details_list">
<table class="source_code">
<tr>
<td>
<pre class="lines">
6
7
8</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/init.pp', line 6</span>
class confdroid_prometheus {
include confdroid_prometheus::params
}</pre>
</td>
</tr>
</table>
</div>
</div>
<div id="footer">
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,142 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: confdroid_prometheus::firewall::iptables
&mdash; Documentation by YARD 0.9.36
</title>
<link rel="stylesheet" href="../css/style.css" type="text/css" />
<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "puppet_classes::confdroid_prometheus::firewall::iptables";
relpath = '../';
</script>
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="../puppet_class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="../_index.html">Index (c)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">confdroid_prometheus::firewall::iptables</span>
</div>
<div id="search">
<a class="full_list_link" id="puppet_class_list_link"
href="../puppet_class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: confdroid_prometheus::firewall::iptables</h1>
<div class="box_info">
<dl>
<dt>Inherits:</dt>
<dd><span class='object_link'><a href="confdroid_prometheus_3A_3Aparams.html" title="puppet_classes::confdroid_prometheus::params (puppet_class)">confdroid_prometheus::params</a></span></dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>
manifests/firewall/iptables.pp
</dd>
</dl>
</div>
<h2>Summary</h2>
Class manages the firewall rules for the confdroid_prometheus module.
<h2>Overview</h2>
<div class="docstring">
<div class="discussion">
<p>confdroid_prometheus::firewall::iptables.pp Module name: confdroid_prometheus Author: 12ww1160 (12ww1160@confdroid.com)</p>
</div>
</div>
<div class="tags">
</div><div class="method_details_list">
<table class="source_code">
<tr>
<td>
<pre class="lines">
6
7
8
9
10
11
12
13
14
15
16</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/firewall/iptables.pp', line 6</span>
class confdroid_prometheus::firewall::iptables (
) inherits confdroid_prometheus::params {
if ($ps_prom_host == $fqdn) and ($ps_manage_fw == true) {
# main port
firewall { &quot;${ps_fw_prefix}${$ps_main_port} main port&quot;:
proto =&gt; &#39;tcp&#39;,
dport =&gt; $ps_main_port,
jump =&gt; &#39;accept&#39;,
}
}
}</pre>
</td>
</tr>
</table>
</div>
</div>
<div id="footer">
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,140 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: confdroid_prometheus::main::config
&mdash; Documentation by YARD 0.9.36
</title>
<link rel="stylesheet" href="../css/style.css" type="text/css" />
<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "puppet_classes::confdroid_prometheus::main::config";
relpath = '../';
</script>
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="../puppet_class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="../_index.html">Index (c)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">confdroid_prometheus::main::config</span>
</div>
<div id="search">
<a class="full_list_link" id="puppet_class_list_link"
href="../puppet_class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: confdroid_prometheus::main::config</h1>
<div class="box_info">
<dl>
<dt>Inherits:</dt>
<dd><span class='object_link'><a href="confdroid_prometheus_3A_3Aparams.html" title="puppet_classes::confdroid_prometheus::params (puppet_class)">confdroid_prometheus::params</a></span></dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>
manifests/main/config.pp
</dd>
</dl>
</div>
<h2>Summary</h2>
Class manages the module logic for the confdroid_prometheus module.
<h2>Overview</h2>
<div class="docstring">
<div class="discussion">
<p>confdroid_prometheus::main::config.pp Module name: confdroid_prometheus Author: 12ww1160 (12ww1160@confdroid.com)</p>
</div>
</div>
<div class="tags">
</div><div class="method_details_list">
<table class="source_code">
<tr>
<td>
<pre class="lines">
6
7
8
9
10
11
12
13
14
15</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/main/config.pp', line 6</span>
class confdroid_prometheus::main::config (
) inherits confdroid_prometheus::params {
include confdroid_prometheus::main::service
exec { &#39;ps-systemd-daemon-reload&#39;:
command =&gt; &#39;/bin/systemctl daemon-reload&#39;,
path =&gt; [&#39;/bin&#39;, &#39;/usr/bin&#39;],
refreshonly =&gt; true,
}
}</pre>
</td>
</tr>
</table>
</div>
</div>
<div id="footer">
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,210 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: confdroid_prometheus::main::dirs
&mdash; Documentation by YARD 0.9.36
</title>
<link rel="stylesheet" href="../css/style.css" type="text/css" />
<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "puppet_classes::confdroid_prometheus::main::dirs";
relpath = '../';
</script>
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="../puppet_class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="../_index.html">Index (c)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">confdroid_prometheus::main::dirs</span>
</div>
<div id="search">
<a class="full_list_link" id="puppet_class_list_link"
href="../puppet_class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: confdroid_prometheus::main::dirs</h1>
<div class="box_info">
<dl>
<dt>Inherits:</dt>
<dd><span class='object_link'><a href="confdroid_prometheus_3A_3Aparams.html" title="puppet_classes::confdroid_prometheus::params (puppet_class)">confdroid_prometheus::params</a></span></dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>
manifests/main/dirs.pp
</dd>
</dl>
</div>
<h2>Summary</h2>
Class manages directories for the confdroid_prometheus module.
<h2>Overview</h2>
<div class="docstring">
<div class="discussion">
<p>confdroid_prometheus::main::dirs.pp Module name: confdroid_prometheus Author: 12ww1160 (12ww1160@confdroid.com)</p>
</div>
</div>
<div class="tags">
</div><div class="method_details_list">
<table class="source_code">
<tr>
<td>
<pre class="lines">
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/main/dirs.pp', line 6</span>
class confdroid_prometheus::main::dirs (
) inherits confdroid_prometheus::params {
require confdroid_prometheus::main::install
if ($ps_prom_host == $fqdn) and ($manage_prometheus == true) {
# prometheus directory
file { $ps_main_dir:
ensure =&gt; directory,
owner =&gt; &#39;root&#39;,
group =&gt; &#39;root&#39;,
mode =&gt; &#39;0755&#39;,
selrange =&gt; s0,
selrole =&gt; object_r,
seltype =&gt; etc_t,
seluser =&gt; system_u,
}
# service system file directory
file { $ps_system_file_dir:
ensure =&gt; directory,
owner =&gt; &#39;root&#39;,
group =&gt; &#39;root&#39;,
mode =&gt; &#39;0755&#39;,
selrange =&gt; s0,
selrole =&gt; object_r,
seltype =&gt; systemd_unit_file_t,
seluser =&gt; unconfined_u,
}
if $ps_enable_pruning == true {
file { $ps_pruning_dir:
ensure =&gt; directory,
owner =&gt; &#39;prometheus&#39;,
group =&gt; &#39;prometheus&#39;,
mode =&gt; &#39;0755&#39;,
selrange =&gt; s0,
selrole =&gt; object_r,
seltype =&gt; usr_,
seluser =&gt; unconfined_u,
}
}
if $ps_enable_pruning == false {
file { $ps_pruning_dir:
ensure =&gt; absent,
}
}
}
}</pre>
</td>
</tr>
</table>
</div>
</div>
<div id="footer">
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,342 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: confdroid_prometheus::main::files
&mdash; Documentation by YARD 0.9.36
</title>
<link rel="stylesheet" href="../css/style.css" type="text/css" />
<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "puppet_classes::confdroid_prometheus::main::files";
relpath = '../';
</script>
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="../puppet_class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="../_index.html">Index (c)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">confdroid_prometheus::main::files</span>
</div>
<div id="search">
<a class="full_list_link" id="puppet_class_list_link"
href="../puppet_class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: confdroid_prometheus::main::files</h1>
<div class="box_info">
<dl>
<dt>Inherits:</dt>
<dd><span class='object_link'><a href="confdroid_prometheus_3A_3Aparams.html" title="puppet_classes::confdroid_prometheus::params (puppet_class)">confdroid_prometheus::params</a></span></dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>
manifests/main/files.pp
</dd>
</dl>
</div>
<h2>Summary</h2>
Class manages configuration files for the confdroid_prometheus module.
<h2>Overview</h2>
<div class="docstring">
<div class="discussion">
<p>confdroid_prometheus::main::files.pp Module name: confdroid_prometheus Author: 12ww1160 (12ww1160@confdroid.com)</p>
</div>
</div>
<div class="tags">
</div><div class="method_details_list">
<table class="source_code">
<tr>
<td>
<pre class="lines">
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/main/files.pp', line 6</span>
class confdroid_prometheus::main::files (
) inherits confdroid_prometheus::params {
if ($ps_prom_host == $fqdn) and ($manage_prometheus == true) {
require confdroid_prometheus::main::dirs
file { $ps_main_file:
ensure =&gt; file,
owner =&gt; &#39;root&#39;,
group =&gt; &#39;root&#39;,
mode =&gt; &#39;0644&#39;,
selrange =&gt; s0,
selrole =&gt; object_r,
seltype =&gt; etc_t,
seluser =&gt; system_u,
content =&gt; template(&#39;confdroid_prometheus/prometheus.yml.erb&#39;),
notify =&gt; Service[$ps_prom_service],
}
file { $ps_system_service_file:
ensure =&gt; file,
owner =&gt; &#39;root&#39;,
group =&gt; &#39;root&#39;,
mode =&gt; &#39;0644&#39;,
selrange =&gt; s0,
selrole =&gt; object_r,
seltype =&gt; systemd_unit_file_t,
seluser =&gt; unconfined_u,
content =&gt; template(&#39;confdroid_prometheus/override.conf.erb&#39;),
notify =&gt; Service[$ps_prom_service],
}
file { $ps_web_config_file:
ensure =&gt; file,
owner =&gt; &#39;root&#39;,
group =&gt; &#39;root&#39;,
mode =&gt; &#39;0644&#39;,
selrange =&gt; s0,
selrole =&gt; object_r,
seltype =&gt; etc_t,
seluser =&gt; system_u,
content =&gt; template(&#39;confdroid_prometheus/web.yml.erb&#39;),
notify =&gt; Service[$ps_prom_service],
}
if $ps_enable_pruning == true {
file { $ps_pruning_file:
ensure =&gt; file,
owner =&gt; &#39;prometheus&#39;,
group =&gt; &#39;prometheus&#39;,
mode =&gt; &#39;0750&#39;,
selrange =&gt; s0,
selrole =&gt; object_r,
seltype =&gt; usr_,
seluser =&gt; unconfined_u,
content =&gt; template(&#39;confdroid_prometheus/prune_blocks.erb&#39;),
# notify Service ToDo,
}
file { $ps_env_file:
ensure =&gt; file,
owner =&gt; &#39;prometheus&#39;,
group =&gt; &#39;prometheus&#39;,
mode =&gt; &#39;0440&#39;,
selrange =&gt; s0,
selrole =&gt; object_r,
seltype =&gt; usr_,
seluser =&gt; unconfined_u,
content =&gt; template(&#39;confdroid_prometheus/prune.env.erb&#39;),
}
file { $ps_pruning_svc_file:
ensure =&gt; file,
owner =&gt; &#39;root&#39;,
group =&gt; &#39;root&#39;,
mode =&gt; &#39;0644&#39;,
selrange =&gt; s0,
selrole =&gt; object_r,
seltype =&gt; systemd_unit_file_t,
seluser =&gt; unconfined_u,
content =&gt; template(&#39;confdroid_prometheus/prometheus-prune-service.erb&#39;),
notify =&gt; Exec[&#39;ps-systemd-daemon-reload&#39;],
}
file { $ps_pruning_timer_file:
ensure =&gt; file,
owner =&gt; &#39;root&#39;,
group =&gt; &#39;root&#39;,
mode =&gt; &#39;0644&#39;,
selrange =&gt; s0,
selrole =&gt; object_r,
seltype =&gt; systemd_unit_file_t,
seluser =&gt; unconfined_u,
content =&gt; template(&#39;confdroid_prometheus/prometheus-prune-timer.erb&#39;),
notify =&gt; Exec[&#39;ps-systemd-daemon-reload&#39;],
}
file { $ps_prune_log_file:
ensure =&gt; file,
owner =&gt; &#39;prometheus&#39;,
group =&gt; &#39;prometheus&#39;,
mode =&gt; &#39;0644&#39;,
}
}
if $ps_enable_pruning == false {
file { $ps_pruning_file:
ensure =&gt; absent,
notify =&gt; Exec[&#39;ps-ps-systemd-daemon-reload&#39;],
}
file { $ps_env_file:
ensure =&gt; absent,
}
file { $ps_pruning_svc_file:
ensure =&gt; absent,
notify =&gt; Exec[&#39;ps-ps-systemd-daemon-reload&#39;],
}
}
}
}</pre>
</td>
</tr>
</table>
</div>
</div>
<div id="footer">
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,148 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: confdroid_prometheus::main::install
&mdash; Documentation by YARD 0.9.36
</title>
<link rel="stylesheet" href="../css/style.css" type="text/css" />
<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "puppet_classes::confdroid_prometheus::main::install";
relpath = '../';
</script>
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="../puppet_class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="../_index.html">Index (c)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">confdroid_prometheus::main::install</span>
</div>
<div id="search">
<a class="full_list_link" id="puppet_class_list_link"
href="../puppet_class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: confdroid_prometheus::main::install</h1>
<div class="box_info">
<dl>
<dt>Inherits:</dt>
<dd><span class='object_link'><a href="confdroid_prometheus_3A_3Aparams.html" title="puppet_classes::confdroid_prometheus::params (puppet_class)">confdroid_prometheus::params</a></span></dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>
manifests/main/install.pp
</dd>
</dl>
</div>
<h2>Summary</h2>
Class install binaries for the confdroid_prometheus module.
<h2>Overview</h2>
<div class="docstring">
<div class="discussion">
<p>confdroid_prometheus::main::install.pp Module name: confdroid_prometheus Author: 12ww1160 (12ww1160@confdroid.com)</p>
</div>
</div>
<div class="tags">
</div><div class="method_details_list">
<table class="source_code">
<tr>
<td>
<pre class="lines">
6
7
8
9
10
11
12
13
14
15
16
17
18
19</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/main/install.pp', line 6</span>
class confdroid_prometheus::main::install (
) inherits confdroid_prometheus::params {
require confdroid_prometheus::main::yumrepo
if $manage_prometheus == true {
package { $reqpackage_prom:
ensure =&gt; $pkg_ensure,
}
}
if $manage_node_exporter == true {
package { $reqpackage_ne:
ensure =&gt; $pkg_ensure,
}
}
}</pre>
</td>
</tr>
</table>
</div>
</div>
<div id="footer">
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,208 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: confdroid_prometheus::main::service
&mdash; Documentation by YARD 0.9.36
</title>
<link rel="stylesheet" href="../css/style.css" type="text/css" />
<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "puppet_classes::confdroid_prometheus::main::service";
relpath = '../';
</script>
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="../puppet_class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="../_index.html">Index (c)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">confdroid_prometheus::main::service</span>
</div>
<div id="search">
<a class="full_list_link" id="puppet_class_list_link"
href="../puppet_class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: confdroid_prometheus::main::service</h1>
<div class="box_info">
<dl>
<dt>Inherits:</dt>
<dd><span class='object_link'><a href="confdroid_prometheus_3A_3Aparams.html" title="puppet_classes::confdroid_prometheus::params (puppet_class)">confdroid_prometheus::params</a></span></dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>
manifests/main/service.pp
</dd>
</dl>
</div>
<h2>Summary</h2>
Class manages the services for the confdroid_prometheus module.
<h2>Overview</h2>
<div class="docstring">
<div class="discussion">
<p>confdroid_prometheus::main::service.pp Module name: confdroid_prometheus Author: 12ww1160 (12ww1160@confdroid.com)</p>
</div>
</div>
<div class="tags">
</div><div class="method_details_list">
<table class="source_code">
<tr>
<td>
<pre class="lines">
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/main/service.pp', line 6</span>
class confdroid_prometheus::main::service (
) inherits confdroid_prometheus::params {
if ($ps_prom_host == $fqdn) and ($manage_prometheus == true) {
require confdroid_prometheus::main::files
require confdroid_prometheus::firewall::iptables
service { $ps_prom_service:
ensure =&gt; running,
hasstatus =&gt; true,
hasrestart =&gt; true,
enable =&gt; true,
}
}
if $manage_node_exporter == true {
service { $ps_ne_service:
ensure =&gt; running,
hasstatus =&gt; true,
hasrestart =&gt; true,
enable =&gt; true,
}
}
if $ps_enable_pruning == true {
service { $ps_prune_service:
hasstatus =&gt; true,
hasrestart =&gt; true,
}
service { $ps_prune_timer:
ensure =&gt; running,
hasstatus =&gt; true,
hasrestart =&gt; true,
enable =&gt; true,
subscribe =&gt; File[$ps_pruning_svc_file],
}
}
if $ps_enable_pruning == false {
service { $ps_prune_service:
ensure =&gt; stopped,
enable =&gt; false,
}
service { $ps_prune_timer:
ensure =&gt; stopped,
enable =&gt; false,
}
}
}</pre>
</td>
</tr>
</table>
</div>
</div>
<div id="footer">
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,146 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: confdroid_prometheus::main::yumrepo
&mdash; Documentation by YARD 0.9.36
</title>
<link rel="stylesheet" href="../css/style.css" type="text/css" />
<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "puppet_classes::confdroid_prometheus::main::yumrepo";
relpath = '../';
</script>
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="../puppet_class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="../_index.html">Index (c)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">confdroid_prometheus::main::yumrepo</span>
</div>
<div id="search">
<a class="full_list_link" id="puppet_class_list_link"
href="../puppet_class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: confdroid_prometheus::main::yumrepo</h1>
<div class="box_info">
<dl>
<dt>Inherits:</dt>
<dd><span class='object_link'><a href="confdroid_prometheus_3A_3Aparams.html" title="puppet_classes::confdroid_prometheus::params (puppet_class)">confdroid_prometheus::params</a></span></dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>
manifests/main/yumrepo.pp
</dd>
</dl>
</div>
<h2>Summary</h2>
Class manages yumrepo for the confdroid_prometheus module.
<h2>Overview</h2>
<div class="docstring">
<div class="discussion">
<p>confdroid_prometheus::main::yumrepo.pp Module name: confdroid_prometheus Author: 12ww1160 (12ww1160@confdroid.com)</p>
</div>
</div>
<div class="tags">
</div><div class="method_details_list">
<table class="source_code">
<tr>
<td>
<pre class="lines">
6
7
8
9
10
11
12
13
14
15
16
17
18</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/main/yumrepo.pp', line 6</span>
class confdroid_prometheus::main::yumrepo (
) inherits confdroid_prometheus::params {
yumrepo { &#39;prometheus&#39;:
ensure =&gt; &#39;present&#39;,
name =&gt; &#39;prometheus&#39;,
descr =&gt; &#39;prometheus rpms&#39;,
baseurl =&gt; &#39;https://packagecloud.io/prometheus-rpm/release/el/9/$basearch&#39;,
gpgkey =&gt; &#39;https://packagecloud.io/prometheus-rpm/release/gpgkey&#39;,
enabled =&gt; &#39;1&#39;,
gpgcheck =&gt; &#39;0&#39;,
target =&gt; &#39;/etc/yum.repo.d/prometheus.repo&#39;,
}
}</pre>
</td>
</tr>
</table>
</div>
</div>
<div id="footer">
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
</div>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,121 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: prometheus_cd
&mdash; Documentation by YARD 0.9.36
</title>
<link rel="stylesheet" href="../css/style.css" type="text/css" />
<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "puppet_classes::prometheus_cd";
relpath = '../';
</script>
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="../puppet_class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="../_index.html">Index (p)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">prometheus_cd</span>
</div>
<div id="search">
<a class="full_list_link" id="puppet_class_list_link"
href="../puppet_class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: prometheus_cd</h1>
<div class="box_info">
<dl>
<dt>Defined in:</dt>
<dd>
manifests/init.pp
</dd>
</dl>
</div>
<h2>Summary</h2>
Class initializes the prometheus_cd module.
<h2>Overview</h2>
<div class="docstring">
<div class="discussion">
<p>prometheus_cd::init.pp Module name: prometheus_cd Author: Arne Teuke (arne_teuke@confdroid.com)</p>
</div>
</div>
<div class="tags">
</div><div class="method_details_list">
<table class="source_code">
<tr>
<td>
<pre class="lines">
6
7
8</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/init.pp', line 6</span>
class prometheus_cd {
include prometheus_cd::params
}</pre>
</td>
</tr>
</table>
</div>
</div>
<div id="footer">
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,142 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: prometheus_cd::firewall::iptables
&mdash; Documentation by YARD 0.9.36
</title>
<link rel="stylesheet" href="../css/style.css" type="text/css" />
<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "puppet_classes::prometheus_cd::firewall::iptables";
relpath = '../';
</script>
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="../puppet_class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="../_index.html">Index (p)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">prometheus_cd::firewall::iptables</span>
</div>
<div id="search">
<a class="full_list_link" id="puppet_class_list_link"
href="../puppet_class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: prometheus_cd::firewall::iptables</h1>
<div class="box_info">
<dl>
<dt>Inherits:</dt>
<dd><span class='object_link'><a href="prometheus_cd_3A_3Aparams.html" title="puppet_classes::prometheus_cd::params (puppet_class)">prometheus_cd::params</a></span></dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>
manifests/firewall/iptables.pp
</dd>
</dl>
</div>
<h2>Summary</h2>
Class manages the firewall rules for the prometheus_cd module.
<h2>Overview</h2>
<div class="docstring">
<div class="discussion">
<p>prometheus_cd::firewall::iptables.pp Module name: prometheus_cd Author: Arne Teuke (arne_teuke@confdroid.com)</p>
</div>
</div>
<div class="tags">
</div><div class="method_details_list">
<table class="source_code">
<tr>
<td>
<pre class="lines">
6
7
8
9
10
11
12
13
14
15
16</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/firewall/iptables.pp', line 6</span>
class prometheus_cd::firewall::iptables (
) inherits prometheus_cd::params {
if ($ps_prom_host == $fqdn) and ($ps_manage_fw == true) {
# main port
firewall { &quot;${ps_fw_prefix}${$ps_main_port} main port&quot;:
proto =&gt; &#39;tcp&#39;,
dport =&gt; $ps_main_port,
jump =&gt; &#39;accept&#39;,
}
}
}</pre>
</td>
</tr>
</table>
</div>
</div>
<div id="footer">
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,140 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: prometheus_cd::main::config
&mdash; Documentation by YARD 0.9.36
</title>
<link rel="stylesheet" href="../css/style.css" type="text/css" />
<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "puppet_classes::prometheus_cd::main::config";
relpath = '../';
</script>
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="../puppet_class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="../_index.html">Index (p)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">prometheus_cd::main::config</span>
</div>
<div id="search">
<a class="full_list_link" id="puppet_class_list_link"
href="../puppet_class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: prometheus_cd::main::config</h1>
<div class="box_info">
<dl>
<dt>Inherits:</dt>
<dd><span class='object_link'><a href="prometheus_cd_3A_3Aparams.html" title="puppet_classes::prometheus_cd::params (puppet_class)">prometheus_cd::params</a></span></dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>
manifests/main/config.pp
</dd>
</dl>
</div>
<h2>Summary</h2>
Class manages the module logic for the prometheus_cd module.
<h2>Overview</h2>
<div class="docstring">
<div class="discussion">
<p>prometheus_cd::main::config.pp Module name: prometheus_cd Author: Arne Teuke (arne_teuke@confdroid.com)</p>
</div>
</div>
<div class="tags">
</div><div class="method_details_list">
<table class="source_code">
<tr>
<td>
<pre class="lines">
6
7
8
9
10
11
12
13
14
15</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/main/config.pp', line 6</span>
class prometheus_cd::main::config (
) inherits prometheus_cd::params {
include prometheus_cd::main::service
exec { &#39;systemd-daemon-reload&#39;:
command =&gt; &#39;/bin/systemctl daemon-reload&#39;,
path =&gt; [&#39;/bin&#39;, &#39;/usr/bin&#39;],
refreshonly =&gt; true,
}
}</pre>
</td>
</tr>
</table>
</div>
</div>
<div id="footer">
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,210 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: prometheus_cd::main::dirs
&mdash; Documentation by YARD 0.9.36
</title>
<link rel="stylesheet" href="../css/style.css" type="text/css" />
<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "puppet_classes::prometheus_cd::main::dirs";
relpath = '../';
</script>
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="../puppet_class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="../_index.html">Index (p)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">prometheus_cd::main::dirs</span>
</div>
<div id="search">
<a class="full_list_link" id="puppet_class_list_link"
href="../puppet_class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: prometheus_cd::main::dirs</h1>
<div class="box_info">
<dl>
<dt>Inherits:</dt>
<dd><span class='object_link'><a href="prometheus_cd_3A_3Aparams.html" title="puppet_classes::prometheus_cd::params (puppet_class)">prometheus_cd::params</a></span></dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>
manifests/main/dirs.pp
</dd>
</dl>
</div>
<h2>Summary</h2>
Class manages directories for the prometheus_cd module.
<h2>Overview</h2>
<div class="docstring">
<div class="discussion">
<p>prometheus_cd::main::dirs.pp Module name: prometheus_cd Author: Arne Teuke (arne_teuke@confdroid.com)</p>
</div>
</div>
<div class="tags">
</div><div class="method_details_list">
<table class="source_code">
<tr>
<td>
<pre class="lines">
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/main/dirs.pp', line 6</span>
class prometheus_cd::main::dirs (
) inherits prometheus_cd::params {
require prometheus_cd::main::install
if ($ps_prom_host == $fqdn) and ($manage_prometheus == true) {
# prometheus directory
file { $ps_main_dir:
ensure =&gt; directory,
owner =&gt; &#39;root&#39;,
group =&gt; &#39;root&#39;,
mode =&gt; &#39;0755&#39;,
selrange =&gt; s0,
selrole =&gt; object_r,
seltype =&gt; etc_t,
seluser =&gt; system_u,
}
# service system file directory
file { $ps_system_file_dir:
ensure =&gt; directory,
owner =&gt; &#39;root&#39;,
group =&gt; &#39;root&#39;,
mode =&gt; &#39;0755&#39;,
selrange =&gt; s0,
selrole =&gt; object_r,
seltype =&gt; systemd_unit_file_t,
seluser =&gt; unconfined_u,
}
if $ps_enable_pruning == true {
file { $ps_pruning_dir:
ensure =&gt; directory,
owner =&gt; &#39;prometheus&#39;,
group =&gt; &#39;prometheus&#39;,
mode =&gt; &#39;0755&#39;,
selrange =&gt; s0,
selrole =&gt; object_r,
seltype =&gt; usr_,
seluser =&gt; unconfined_u,
}
}
if $ps_enable_pruning == false {
file { $ps_pruning_dir:
ensure =&gt; absent,
}
}
}
}</pre>
</td>
</tr>
</table>
</div>
</div>
<div id="footer">
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,342 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: prometheus_cd::main::files
&mdash; Documentation by YARD 0.9.36
</title>
<link rel="stylesheet" href="../css/style.css" type="text/css" />
<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "puppet_classes::prometheus_cd::main::files";
relpath = '../';
</script>
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="../puppet_class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="../_index.html">Index (p)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">prometheus_cd::main::files</span>
</div>
<div id="search">
<a class="full_list_link" id="puppet_class_list_link"
href="../puppet_class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: prometheus_cd::main::files</h1>
<div class="box_info">
<dl>
<dt>Inherits:</dt>
<dd><span class='object_link'><a href="prometheus_cd_3A_3Aparams.html" title="puppet_classes::prometheus_cd::params (puppet_class)">prometheus_cd::params</a></span></dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>
manifests/main/files.pp
</dd>
</dl>
</div>
<h2>Summary</h2>
Class manages configuration files for the prometheus_cd module.
<h2>Overview</h2>
<div class="docstring">
<div class="discussion">
<p>prometheus_cd::main::files.pp Module name: prometheus_cd Author: Arne Teuke (arne_teuke@confdroid.com)</p>
</div>
</div>
<div class="tags">
</div><div class="method_details_list">
<table class="source_code">
<tr>
<td>
<pre class="lines">
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/main/files.pp', line 6</span>
class prometheus_cd::main::files (
) inherits prometheus_cd::params {
if ($ps_prom_host == $fqdn) and ($manage_prometheus == true) {
require prometheus_cd::main::dirs
file { $ps_main_file:
ensure =&gt; file,
owner =&gt; &#39;root&#39;,
group =&gt; &#39;root&#39;,
mode =&gt; &#39;0644&#39;,
selrange =&gt; s0,
selrole =&gt; object_r,
seltype =&gt; etc_t,
seluser =&gt; system_u,
content =&gt; template(&#39;prometheus_cd/prometheus.yml.erb&#39;),
notify =&gt; Service[$ps_prom_service],
}
file { $ps_system_service_file:
ensure =&gt; file,
owner =&gt; &#39;root&#39;,
group =&gt; &#39;root&#39;,
mode =&gt; &#39;0644&#39;,
selrange =&gt; s0,
selrole =&gt; object_r,
seltype =&gt; systemd_unit_file_t,
seluser =&gt; unconfined_u,
content =&gt; template(&#39;prometheus_cd/override.conf.erb&#39;),
notify =&gt; Service[$ps_prom_service],
}
file { $ps_web_config_file:
ensure =&gt; file,
owner =&gt; &#39;root&#39;,
group =&gt; &#39;root&#39;,
mode =&gt; &#39;0644&#39;,
selrange =&gt; s0,
selrole =&gt; object_r,
seltype =&gt; etc_t,
seluser =&gt; system_u,
content =&gt; template(&#39;prometheus_cd/web.yml.erb&#39;),
notify =&gt; Service[$ps_prom_service],
}
if $ps_enable_pruning == true {
file { $ps_pruning_file:
ensure =&gt; file,
owner =&gt; &#39;prometheus&#39;,
group =&gt; &#39;prometheus&#39;,
mode =&gt; &#39;0750&#39;,
selrange =&gt; s0,
selrole =&gt; object_r,
seltype =&gt; usr_,
seluser =&gt; unconfined_u,
content =&gt; template(&#39;prometheus_cd/prune_blocks.erb&#39;),
# notify Service ToDo,
}
file { $ps_env_file:
ensure =&gt; file,
owner =&gt; &#39;prometheus&#39;,
group =&gt; &#39;prometheus&#39;,
mode =&gt; &#39;0440&#39;,
selrange =&gt; s0,
selrole =&gt; object_r,
seltype =&gt; usr_,
seluser =&gt; unconfined_u,
content =&gt; template(&#39;prometheus_cd/prune.env.erb&#39;),
}
file { $ps_pruning_svc_file:
ensure =&gt; file,
owner =&gt; &#39;root&#39;,
group =&gt; &#39;root&#39;,
mode =&gt; &#39;0644&#39;,
selrange =&gt; s0,
selrole =&gt; object_r,
seltype =&gt; systemd_unit_file_t,
seluser =&gt; unconfined_u,
content =&gt; template(&#39;prometheus_cd/prometheus-prune-service.erb&#39;),
notify =&gt; Exec[&#39;systemd-daemon-reload&#39;],
}
file { $ps_pruning_timer_file:
ensure =&gt; file,
owner =&gt; &#39;root&#39;,
group =&gt; &#39;root&#39;,
mode =&gt; &#39;0644&#39;,
selrange =&gt; s0,
selrole =&gt; object_r,
seltype =&gt; systemd_unit_file_t,
seluser =&gt; unconfined_u,
content =&gt; template(&#39;prometheus_cd/prometheus-prune-timer.erb&#39;),
notify =&gt; Exec[&#39;systemd-daemon-reload&#39;],
}
file { $ps_prune_log_file:
ensure =&gt; file,
owner =&gt; &#39;prometheus&#39;,
group =&gt; &#39;prometheus&#39;,
mode =&gt; &#39;0644&#39;,
}
}
if $ps_enable_pruning == false {
file { $ps_pruning_file:
ensure =&gt; absent,
notify =&gt; Exec[&#39;systemd-daemon-reload&#39;],
}
file { $ps_env_file:
ensure =&gt; absent,
}
file { $ps_pruning_svc_file:
ensure =&gt; absent,
notify =&gt; Exec[&#39;systemd-daemon-reload&#39;],
}
}
}
}</pre>
</td>
</tr>
</table>
</div>
</div>
<div id="footer">
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,148 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: prometheus_cd::main::install
&mdash; Documentation by YARD 0.9.36
</title>
<link rel="stylesheet" href="../css/style.css" type="text/css" />
<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "puppet_classes::prometheus_cd::main::install";
relpath = '../';
</script>
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="../puppet_class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="../_index.html">Index (p)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">prometheus_cd::main::install</span>
</div>
<div id="search">
<a class="full_list_link" id="puppet_class_list_link"
href="../puppet_class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: prometheus_cd::main::install</h1>
<div class="box_info">
<dl>
<dt>Inherits:</dt>
<dd><span class='object_link'><a href="prometheus_cd_3A_3Aparams.html" title="puppet_classes::prometheus_cd::params (puppet_class)">prometheus_cd::params</a></span></dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>
manifests/main/install.pp
</dd>
</dl>
</div>
<h2>Summary</h2>
Class install binaries for the prometheus_cd module.
<h2>Overview</h2>
<div class="docstring">
<div class="discussion">
<p>prometheus_cd::main::install.pp Module name: prometheus_cd Author: Arne Teuke (arne_teuke@confdroid.com)</p>
</div>
</div>
<div class="tags">
</div><div class="method_details_list">
<table class="source_code">
<tr>
<td>
<pre class="lines">
6
7
8
9
10
11
12
13
14
15
16
17
18
19</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/main/install.pp', line 6</span>
class prometheus_cd::main::install (
) inherits prometheus_cd::params {
require prometheus_cd::main::yumrepo
if $manage_prometheus == true {
package { $reqpackage_prom:
ensure =&gt; $pkg_ensure,
}
}
if $manage_node_exporter == true {
package { $reqpackage_ne:
ensure =&gt; $pkg_ensure,
}
}
}</pre>
</td>
</tr>
</table>
</div>
</div>
<div id="footer">
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,208 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: prometheus_cd::main::service
&mdash; Documentation by YARD 0.9.36
</title>
<link rel="stylesheet" href="../css/style.css" type="text/css" />
<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "puppet_classes::prometheus_cd::main::service";
relpath = '../';
</script>
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="../puppet_class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="../_index.html">Index (p)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">prometheus_cd::main::service</span>
</div>
<div id="search">
<a class="full_list_link" id="puppet_class_list_link"
href="../puppet_class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: prometheus_cd::main::service</h1>
<div class="box_info">
<dl>
<dt>Inherits:</dt>
<dd><span class='object_link'><a href="prometheus_cd_3A_3Aparams.html" title="puppet_classes::prometheus_cd::params (puppet_class)">prometheus_cd::params</a></span></dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>
manifests/main/service.pp
</dd>
</dl>
</div>
<h2>Summary</h2>
Class manages the services for the prometheus_cd module.
<h2>Overview</h2>
<div class="docstring">
<div class="discussion">
<p>prometheus_cd::main::service.pp Module name: prometheus_cd Author: Arne Teuke (arne_teuke@confdroid.com)</p>
</div>
</div>
<div class="tags">
</div><div class="method_details_list">
<table class="source_code">
<tr>
<td>
<pre class="lines">
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/main/service.pp', line 6</span>
class prometheus_cd::main::service (
) inherits prometheus_cd::params {
if ($ps_prom_host == $fqdn) and ($manage_prometheus == true) {
require prometheus_cd::main::files
require prometheus_cd::firewall::iptables
service { $ps_prom_service:
ensure =&gt; running,
hasstatus =&gt; true,
hasrestart =&gt; true,
enable =&gt; true,
}
}
if $manage_node_exporter == true {
service { $ps_ne_service:
ensure =&gt; running,
hasstatus =&gt; true,
hasrestart =&gt; true,
enable =&gt; true,
}
}
if $ps_enable_pruning == true {
service { $ps_prune_service:
hasstatus =&gt; true,
hasrestart =&gt; true,
}
service { $ps_prune_timer:
ensure =&gt; running,
hasstatus =&gt; true,
hasrestart =&gt; true,
enable =&gt; true,
subscribe =&gt; File[$ps_pruning_svc_file],
}
}
if $ps_enable_pruning == false {
service { $ps_prune_service:
ensure =&gt; stopped,
enable =&gt; false,
}
service { $ps_prune_timer:
ensure =&gt; stopped,
enable =&gt; false,
}
}
}</pre>
</td>
</tr>
</table>
</div>
</div>
<div id="footer">
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,146 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Puppet Class: prometheus_cd::main::yumrepo
&mdash; Documentation by YARD 0.9.36
</title>
<link rel="stylesheet" href="../css/style.css" type="text/css" />
<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "puppet_classes::prometheus_cd::main::yumrepo";
relpath = '../';
</script>
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="../puppet_class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="../_index.html">Index (p)</a> &raquo;
<span class='title'><span class='object_link'>Puppet Classes</span></span>
&raquo;
<span class="title">prometheus_cd::main::yumrepo</span>
</div>
<div id="search">
<a class="full_list_link" id="puppet_class_list_link"
href="../puppet_class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Puppet Class: prometheus_cd::main::yumrepo</h1>
<div class="box_info">
<dl>
<dt>Inherits:</dt>
<dd><span class='object_link'><a href="prometheus_cd_3A_3Aparams.html" title="puppet_classes::prometheus_cd::params (puppet_class)">prometheus_cd::params</a></span></dd>
</dl>
<dl>
<dt>Defined in:</dt>
<dd>
manifests/main/yumrepo.pp
</dd>
</dl>
</div>
<h2>Summary</h2>
Class manages yumrepo for the prometheus_cd module.
<h2>Overview</h2>
<div class="docstring">
<div class="discussion">
<p>prometheus_cd::main::yumrepo.pp Module name: prometheus_cd Author: Arne Teuke (arne_teuke@confdroid.com)</p>
</div>
</div>
<div class="tags">
</div><div class="method_details_list">
<table class="source_code">
<tr>
<td>
<pre class="lines">
6
7
8
9
10
11
12
13
14
15
16
17
18</pre>
</td>
<td>
<pre class="code"><span class="info file"># File 'manifests/main/yumrepo.pp', line 6</span>
class prometheus_cd::main::yumrepo (
) inherits prometheus_cd::params {
yumrepo { &#39;prometheus&#39;:
ensure =&gt; &#39;present&#39;,
name =&gt; &#39;prometheus&#39;,
descr =&gt; &#39;prometheus rpms&#39;,
baseurl =&gt; &#39;https://packagecloud.io/prometheus-rpm/release/el/9/$basearch&#39;,
gpgkey =&gt; &#39;https://packagecloud.io/prometheus-rpm/release/gpgkey&#39;,
enabled =&gt; &#39;1&#39;,
gpgcheck =&gt; &#39;0&#39;,
target =&gt; &#39;/etc/yum.repo.d/prometheus.repo&#39;,
}
}</pre>
</td>
</tr>
</table>
</div>
</div>
<div id="footer">
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
</div>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,98 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Top Level Namespace
&mdash; Documentation by YARD 0.9.36
</title>
<link rel="stylesheet" href="css/style.css" type="text/css" />
<link rel="stylesheet" href="css/common.css" type="text/css" />
<script type="text/javascript">
pathId = "";
relpath = '';
</script>
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
</head>
<body>
<div class="nav_wrap">
<iframe id="nav" src="puppet_class_list.html?1"></iframe>
<div id="resizer"></div>
</div>
<div id="main" tabindex="-1">
<div id="header">
<div id="menu">
<a href="_index.html">Index</a> &raquo;
<span class="title">Top Level Namespace</span>
</div>
<div id="search">
<a class="full_list_link" id="puppet_class_list_link"
href="puppet_class_list.html">
<svg width="24" height="24">
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
</svg>
</a>
</div>
<div class="clear"></div>
</div>
<div id="content"><h1>Top Level Namespace
</h1>
<div class="box_info">
</div>
</div>
<div id="footer">
Generated by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>.
</div>
</div>
</body>
</html>

View File

@@ -1,10 +1,10 @@
# prometheus_cd::firewall::iptables.pp
# Module name: prometheus_cd
# Author: Arne Teuke (arne_teuke@confdroid.com)
# @summary Class manages the firewall rules for the prometheus_cd module.
# confdroid_prometheus::firewall::iptables.pp
# Module name: confdroid_prometheus
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class manages the firewall rules for the confdroid_prometheus module.
##############################################################################
class prometheus_cd::firewall::iptables (
) inherits prometheus_cd::params {
class confdroid_prometheus::firewall::iptables (
) inherits confdroid_prometheus::params {
if ($ps_prom_host == $fqdn) and ($ps_manage_fw == true) {
# main port
firewall { "${ps_fw_prefix}${$ps_main_port} main port":

View File

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

View File

@@ -1,9 +1,15 @@
# prometheus_cd::main::config.pp
# Module name: prometheus_cd
# Author: Arne Teuke (arne_teuke@confdroid.com)
# @summary Class manages the module logic for the prometheus_cd module.
# confdroid_prometheus::main::config.pp
# Module name: confdroid_prometheus
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class manages the module logic for the confdroid_prometheus module.
##############################################################################
class prometheus_cd::main::config (
) inherits prometheus_cd::params {
include prometheus_cd::main::service
class confdroid_prometheus::main::config (
) inherits confdroid_prometheus::params {
include confdroid_prometheus::main::service
exec { 'ps-systemd-daemon-reload':
command => '/bin/systemctl daemon-reload',
path => ['/bin', '/usr/bin'],
refreshonly => true,
}
}

View File

@@ -1,11 +1,11 @@
# prometheus_cd::main::dirs.pp
# Module name: prometheus_cd
# Author: Arne Teuke (arne_teuke@confdroid.com)
# @summary Class manages directories for the prometheus_cd module.
# confdroid_prometheus::main::dirs.pp
# Module name: confdroid_prometheus
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class manages directories for the confdroid_prometheus module.
##############################################################################
class prometheus_cd::main::dirs (
) inherits prometheus_cd::params {
require prometheus_cd::main::install
class confdroid_prometheus::main::dirs (
) inherits confdroid_prometheus::params {
require confdroid_prometheus::main::install
if ($ps_prom_host == $fqdn) and ($manage_prometheus == true) {
# prometheus directory
file { $ps_main_dir:
@@ -18,7 +18,7 @@ class prometheus_cd::main::dirs (
seltype => etc_t,
seluser => system_u,
}
# service systemfile directory
# service system file directory
file { $ps_system_file_dir:
ensure => directory,
owner => 'root',
@@ -29,5 +29,22 @@ class prometheus_cd::main::dirs (
seltype => systemd_unit_file_t,
seluser => unconfined_u,
}
if $ps_enable_pruning == true {
file { $ps_pruning_dir:
ensure => directory,
owner => 'prometheus',
group => 'prometheus',
mode => '0755',
selrange => s0,
selrole => object_r,
seltype => usr_,
seluser => unconfined_u,
}
}
if $ps_enable_pruning == false {
file { $ps_pruning_dir:
ensure => absent,
}
}
}
}

View File

@@ -1,12 +1,12 @@
# prometheus_cd::main::files.pp
# Module name: prometheus_cd
# Author: Arne Teuke (arne_teuke@confdroid.com)
# @summary Class manages configuration files for the prometheus_cd module.
# confdroid_prometheus::main::files.pp
# Module name: confdroid_prometheus
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class manages configuration files for the confdroid_prometheus module.
##############################################################################
class prometheus_cd::main::files (
) inherits prometheus_cd::params {
class confdroid_prometheus::main::files (
) inherits confdroid_prometheus::params {
if ($ps_prom_host == $fqdn) and ($manage_prometheus == true) {
require prometheus_cd::main::dirs
require confdroid_prometheus::main::dirs
file { $ps_main_file:
ensure => file,
owner => 'root',
@@ -16,7 +16,7 @@ class prometheus_cd::main::files (
selrole => object_r,
seltype => etc_t,
seluser => system_u,
content => template('prometheus_cd/prometheus.yml.erb'),
content => template('confdroid_prometheus/prometheus.yml.erb'),
notify => Service[$ps_prom_service],
}
file { $ps_system_service_file:
@@ -28,7 +28,7 @@ class prometheus_cd::main::files (
selrole => object_r,
seltype => systemd_unit_file_t,
seluser => unconfined_u,
content => template('prometheus_cd/override.conf.erb'),
content => template('confdroid_prometheus/override.conf.erb'),
notify => Service[$ps_prom_service],
}
file { $ps_web_config_file:
@@ -40,8 +40,77 @@ class prometheus_cd::main::files (
selrole => object_r,
seltype => etc_t,
seluser => system_u,
content => template('prometheus_cd/web.yml.erb'),
content => template('confdroid_prometheus/web.yml.erb'),
notify => Service[$ps_prom_service],
}
if $ps_enable_pruning == true {
file { $ps_pruning_file:
ensure => file,
owner => 'prometheus',
group => 'prometheus',
mode => '0750',
selrange => s0,
selrole => object_r,
seltype => usr_,
seluser => unconfined_u,
content => template('confdroid_prometheus/prune_blocks.erb'),
# notify Service ToDo,
}
file { $ps_env_file:
ensure => file,
owner => 'prometheus',
group => 'prometheus',
mode => '0440',
selrange => s0,
selrole => object_r,
seltype => usr_,
seluser => unconfined_u,
content => template('confdroid_prometheus/prune.env.erb'),
}
file { $ps_pruning_svc_file:
ensure => file,
owner => 'root',
group => 'root',
mode => '0644',
selrange => s0,
selrole => object_r,
seltype => systemd_unit_file_t,
seluser => unconfined_u,
content => template('confdroid_prometheus/prometheus-prune-service.erb'),
notify => Exec['ps-systemd-daemon-reload'],
}
file { $ps_pruning_timer_file:
ensure => file,
owner => 'root',
group => 'root',
mode => '0644',
selrange => s0,
selrole => object_r,
seltype => systemd_unit_file_t,
seluser => unconfined_u,
content => template('confdroid_prometheus/prometheus-prune-timer.erb'),
notify => Exec['ps-systemd-daemon-reload'],
}
file { $ps_prune_log_file:
ensure => file,
owner => 'prometheus',
group => 'prometheus',
mode => '0644',
}
}
if $ps_enable_pruning == false {
file { $ps_pruning_file:
ensure => absent,
notify => Exec['ps-ps-systemd-daemon-reload'],
}
file { $ps_env_file:
ensure => absent,
}
file { $ps_pruning_svc_file:
ensure => absent,
notify => Exec['ps-ps-systemd-daemon-reload'],
}
}
}
}

View File

@@ -1,11 +1,11 @@
# prometheus_cd::main::install.pp
# Module name: prometheus_cd
# Author: Arne Teuke (arne_teuke@confdroid.com)
# @summary Class install binaries for the prometheus_cd module.
# confdroid_prometheus::main::install.pp
# Module name: confdroid_prometheus
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class install binaries for the confdroid_prometheus module.
##############################################################################
class prometheus_cd::main::install (
) inherits prometheus_cd::params {
require prometheus_cd::main::yumrepo
class confdroid_prometheus::main::install (
) inherits confdroid_prometheus::params {
require confdroid_prometheus::main::yumrepo
if $manage_prometheus == true {
package { $reqpackage_prom:
ensure => $pkg_ensure,

View File

@@ -1,13 +1,13 @@
# prometheus_cd::main::service.pp
# Module name: prometheus_cd
# Author: Arne Teuke (arne_teuke@confdroid.com)
# @summary Class manages the services for the prometheus_cd module.
# confdroid_prometheus::main::service.pp
# Module name: confdroid_prometheus
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class manages the services for the confdroid_prometheus module.
##############################################################################
class prometheus_cd::main::service (
) inherits prometheus_cd::params {
class confdroid_prometheus::main::service (
) inherits confdroid_prometheus::params {
if ($ps_prom_host == $fqdn) and ($manage_prometheus == true) {
require prometheus_cd::main::files
require prometheus_cd::firewall::iptables
require confdroid_prometheus::main::files
require confdroid_prometheus::firewall::iptables
service { $ps_prom_service:
ensure => running,
hasstatus => true,
@@ -23,4 +23,27 @@ class prometheus_cd::main::service (
enable => true,
}
}
if $ps_enable_pruning == true {
service { $ps_prune_service:
hasstatus => true,
hasrestart => true,
}
service { $ps_prune_timer:
ensure => running,
hasstatus => true,
hasrestart => true,
enable => true,
subscribe => File[$ps_pruning_svc_file],
}
}
if $ps_enable_pruning == false {
service { $ps_prune_service:
ensure => stopped,
enable => false,
}
service { $ps_prune_timer:
ensure => stopped,
enable => false,
}
}
}

View File

@@ -1,10 +1,10 @@
# prometheus_cd::main::yumrepo.pp
# Module name: prometheus_cd
# Author: Arne Teuke (arne_teuke@confdroid.com)
# @summary Class manages yumrepo for the prometheus_cd module.
# confdroid_prometheus::main::yumrepo.pp
# Module name: confdroid_prometheus
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class manages yumrepo for the confdroid_prometheus module.
##############################################################################
class prometheus_cd::main::yumrepo (
) inherits prometheus_cd::params {
class confdroid_prometheus::main::yumrepo (
) inherits confdroid_prometheus::params {
yumrepo { 'prometheus':
ensure => 'present',
name => 'prometheus',

View File

@@ -1,7 +1,7 @@
# prometheus_cd::params.pp
# Module name: prometheus_cd
# Author: Arne Teuke (arne_teuke@confdroid.com)
# @summary Class holds all parameters for the prometheus_cd module.
# confdroid_prometheus::params.pp
# Module name: confdroid_prometheus
# Author: 12ww1160 (12ww1160@confdroid.com)
# @summary Class holds all parameters for the confdroid_prometheus module.
# @param [String] reqpackage_prom the prometheus package
# @param [String] reqpackage_ne the node_exporter package
# @param [String] pkg_ensure which version of the package to install
@@ -16,8 +16,33 @@
# @param [String] ps_web_pass the password for web authentication
# @param [String] ps_retention_time tsdb retention time
# @param [String] ps_retention_size tsdb retention size
# @param [String] ps_wal_seg_size WAL segment size
# @param [String] ps_min_block_dur tsdb minimum block duration
# @param [String] ps_max_block_dur tsdb maximum block duration
# @param [String] ps_max_mem hard memory ceiling
# @param [String] ps_high_mem soft limit to make kernel reclaim earlier
# @param [String] ps_swap_mem allow swap, but limit it
# @param [String] ps_oom_score OOM killer choosing prometheus
# @param [String] ps_max_procs reduce parallel WAL replay workers
# @param [Boolean] ps_write_external whether to allow remote postgres
# @param [String] ps_auth_ext_user user for writing to extern instance
# @param [String] ps_auth_ext_pass password for writing to extern instance
# @param [String] ps_external_url the full url for the remote write point
# @param [Boolean] ps_enable_pruning whether to allow pruning local blocks
# @param [String] ps_pruning_dir the directory for the pruning script
# @param [String] ps_pruning_file the url and filename for the pruning script
# @param [String] ps_env_file the url and filename for the env file
# @param [String] ps_pg_host the host running the database for cold metrics
# @param [String] ps_pg_port the port for the database for cold metrics
# @param [String] ps_pg_db the database for cold metrics
# @param [String] ps_pg_user the read-only user for the db for cold metrics
# @param [String] ps_pg_pass the password for the db for cold metrics
# @param [Boolean] ps_dry_run (true = just log, false = actually delete blocks)
# @param [String] ps_min_age_hours Minimum block age in hours before pruning
# @param [String] ps_grace_hours Grace period in hours to be extra safe
# @param [String] ps_sql_template the SQL template to use for checks.
##############################################################################
class prometheus_cd::params (
class confdroid_prometheus::params (
# installation
String $reqpackage_prom = 'prometheus2',
@@ -34,14 +59,47 @@ class prometheus_cd::params (
String $ps_fw_prefix = '50',
String $ps_main_port = '9090',
# auth
# auth prometheus
String $ps_auth_user = 'changeme',
String $ps_auth_pass = 'changeme',
String $ps_web_pass = 'changeme',
# auth remote
String $ps_auth_ext_user = 'changeme',
String $ps_auth_ext_pass = 'changeme',
# storage
String $ps_retention_time = '15d',
String $ps_retention_size = '20GB',
String $ps_wal_seg_size = '50MB',
String $ps_min_block_dur = '2h',
String $ps_max_block_dur = '2h',
# service
String $ps_max_mem = '6G',
String $ps_high_mem = '5G',
String $ps_swap_mem = '4G',
String $ps_oom_score = '500',
String $ps_max_procs = '1',
# remote write external
Boolean $ps_write_external = false,
String $ps_external_url = 'http://changeme.local',
# pruning script
Boolean $ps_enable_pruning = false,
String $ps_pruning_dir = '/opt/prometheus-prune',
String $ps_pruning_file = "${ps_pruning_dir}/prune_prometheus_pg.sh",
String $ps_env_file = "${ps_pruning_dir}/prune.env",
String $ps_pg_host = 'localhost',
String $ps_pg_port = '5432',
String $ps_pg_db = 'prometheus',
String $ps_pg_user = 'readaccess',
String $ps_pg_pass = 'Changeme',
Boolean $ps_dry_run = true,
String $ps_min_age_hours = '4',
String $ps_grace_hours = '1',
String $ps_sql_template = 'Changeme',
) {
# defaults
@@ -53,16 +111,23 @@ class prometheus_cd::params (
# dirs
$ps_main_dir = '/etc/prometheus'
$ps_system_file_dir = '/etc/systemd/system/prometheus.service.d'
$ps_system_dir = '/etc/systemd/system/'
$ps_install_dir = '/opt/prometheus'
# files
$ps_main_file = "${ps_main_dir}/prometheus.yml"
$ps_web_config_file = "${ps_main_dir}/web.yml"
$ps_system_service_file = "${ps_system_file_dir}/override.conf"
$ps_pruning_svc_file = "${ps_system_dir}/prometheus-prune.service"
$ps_pruning_timer_file = "${ps_system_dir}/prometheus-prune.timer"
$ps_prune_log_file = '/var/log/prometheus-prune.log'
# services
$ps_prom_service = 'prometheus'
$ps_ne_service = 'node_exporter'
$ps_prune_service = 'prometheus-prune.service'
$ps_prune_timer = 'prometheus-prune.timer'
# includes must be last
include prometheus_cd::main::config
include confdroid_prometheus::main::config
}

View File

@@ -2,6 +2,7 @@
##### File created by Puppet - manual changes will be overwritten #####
###############################################################################
[Service]
ExecStart=
ExecStart=/usr/bin/prometheus \
--config.file=/etc/prometheus/prometheus.yml \
@@ -9,6 +10,9 @@ ExecStart=/usr/bin/prometheus \
--storage.tsdb.path=/var/lib/prometheus \
--storage.tsdb.retention.time=<%= @ps_retention_time %> \
--storage.tsdb.retention.size=<%= @ps_retention_size %> \
--storage.tsdb.wal-segment-size=<%= @ps_wal_seg_size %> \
--web.enable-remote-write-receiver \
--web.enable-lifecycle \
--storage.tsdb.wal-compression
--storage.tsdb.wal-compression \
--storage.tsdb.min-block-duration=<%= @ps_min_block_dur %> \
--storage.tsdb.max-block-duration=<%= @ps_max_block_dur %>

View File

@@ -0,0 +1,13 @@
[Unit]
Description=Prometheus TSDB prune service
Wants=network-online.target
After=network-online.target
[Service]
Type=oneshot
User=prometheus
Group=prometheus
EnvironmentFile=<%= @ps_env_file %>
ExecStart=<%= @ps_pruning_file %>
Nice=10
IOWeight=80

View File

@@ -0,0 +1,10 @@
[Unit]
Description=Run Prometheus TSDB prune script every 6 hours
[Timer]
OnBootSec=10min
OnUnitActiveSec=6h
Persistent=true
[Install]
WantedBy=timers.target

View File

@@ -32,7 +32,16 @@ scrape_configs:
username: <%= @ps_auth_user %>
password: <%= @ps_auth_pass %>
remote_write:
- url: "http://localhost:9090/api/v1/write"
<% if @ps_write_external == true -%>
- url: "<%= @ps_external_url %>/write"
basic_auth:
username: <%= @ps_auth_user %>
password: <%= @ps_auth_pass %>
username: <%= @ps_auth_ext_user %>
password: <%= @ps_auth_ext_pass %>
<% end -%>
remote_read:
<% if @ps_write_external == true -%>
- url: "<%= @ps_external_url %>/read"
basic_auth:
username: <%= @ps_auth_ext_user %>
password: <%= @ps_auth_ext_pass %>
<% end -%>

21
templates/prune.env.erb Normal file
View File

@@ -0,0 +1,21 @@
# /opt/prometheus-prune/prune.env
# PostgreSQL connection
PGHOST=<%= @ps_pg_host %>
PGPORT=<%= @ps_pg_port %>
PGDATABASE=<%= @ps_pg_db %>
PGUSER=<%= @ps_pg_user %>
PGPASSWORD=<%= @ps_pg_pass %>
# Dry-run mode (true = just log, false = actually delete)
DRY_RUN=<%= @ps_dry_run %>
# Minimum block age in hours before pruning
MIN_AGE_HOURS=<%= @ps_min_age_hours %>
# Grace period in hours to be extra safe
GRACE_HOURS=<%= @ps_grace_hours %>
# SQL template to check if block exists in PostgreSQL
# @param [String] ps_sql_template the SQL template to use for checks.
<%= @ps_sql_template %>

View File

@@ -0,0 +1,48 @@
#!/bin/bash
set -euo pipefail
# Load environment
source <%= @ps_env_file %>
LOG_FILE="<%= @ps_prune_log_file %>"
echo "$(date '+%Y-%m-%d %H:%M:%S') Starting prune run" >> "$LOG_FILE"
# -----------------------
# Iterate TSDB blocks
# -----------------------
for block in "$TSDB_DIR"/*/; do
[[ -d "$block" ]] || continue
meta="$block/meta.json"
[[ -f "$meta" ]] || continue
min_time=$(jq -r '.minTime' "$meta")
max_time=$(jq -r '.maxTime' "$meta")
# Skip last MIN_AGE_HOURS
block_age_hours=$(( ($(date +%s) - min_time/1000) / 3600 ))
if (( block_age_hours < MIN_AGE_HOURS + GRACE_HOURS )); then
log "Keeping block $block (age ${block_age_hours}h)"
continue
fi
# Check existence in PostgreSQL
check_sql="${CHECK_SQL_TEMPLATE//\{min\}/$min_time}"
check_sql="${check_sql//\{max\}/$max_time}"
exists=$(psql -h "$PGHOST" -p "$PGPORT" -U "$PGUSER" -d "$PGDATABASE" -t -c "$check_sql" | xargs || echo "0")
if [[ "$exists" != "1" ]]; then
log "Block $block not confirmed in PostgreSQL, skipping deletion"
continue
fi
# Delete block
if [[ "$DRY_RUN" == "true" ]]; then
log "[DRY-RUN] Would delete block $block"
else
log "Deleting block $block"
rm -rf "$block"
fi
done
echo "$(date '+%Y-%m-%d %H:%M:%S') Prune run finished" >> "$LOG_FILE"