]>
Commit | Line | Data |
---|---|---|
1 | { config, pkgs, nodes, hostFQDN, emailCheck, lib, ... }: | |
2 | let | |
3 | to_resource = func: cfg: lib.flatten (lib.optionals cfg.enable (lib.mapAttrsToList func cfg.profiles)); | |
4 | to_backup_age_dependency = name: profile: map (remote: | |
5 | { | |
6 | dependent_host_name = "eldiron.immae.eu"; | |
7 | host_name = "eldiron.immae.eu"; | |
8 | dependent_service_description = "${remote} backup for ${name} is not too old"; | |
9 | service_description = "${remote} backup is up and not full"; | |
10 | execution_failure_criteria = "u"; | |
11 | notification_failure_criteria = "u"; | |
12 | }) profile.remotes; | |
13 | to_backup_age = name: profile: map (remote: | |
14 | { | |
15 | service_description = "${remote} backup for ${name} is not too old"; | |
16 | host_name = "eldiron.immae.eu"; | |
17 | use = "external-service"; | |
18 | check_command = ["check_backup_${remote}_age" name]; | |
19 | ||
20 | check_interval = "120"; | |
21 | notification_interval = "1440"; | |
22 | }) profile.remotes; | |
23 | in | |
24 | { | |
25 | host = { | |
26 | # Dummy host for testing | |
27 | # "dummy-host" = { | |
28 | # alias = "dummy.host"; | |
29 | # address = "dummy.host"; | |
30 | # use = "linux-server"; | |
31 | # check_command = "check_ok"; | |
32 | # }; | |
33 | }; | |
34 | service = [ | |
35 | # Dummy service for testing | |
36 | # { | |
37 | # service_description = "Dummy failing test"; | |
38 | # host_name = "dummy-host"; | |
39 | # use = "local-service"; | |
40 | # check_interval = "0.3"; | |
41 | # max_check_attempts = "1"; | |
42 | # flap_detection_enabled = "0"; | |
43 | # notification_interval = "0.1"; | |
44 | # check_command = "check_critical"; | |
45 | # } | |
46 | ||
47 | (emailCheck "monitoring-1" hostFQDN) | |
48 | ||
49 | { | |
50 | service_description = "ftp has access to database for authentication"; | |
51 | host_name = "eldiron.immae.eu"; | |
52 | use = "external-service"; | |
53 | check_command = "check_ftp_database"; | |
54 | ||
55 | servicegroups = "webstatus-remote-services"; | |
56 | _webstatus_name = "FTP"; | |
57 | _webstatus_url = "ftp.immae.eu"; | |
58 | } | |
59 | ||
60 | { | |
61 | service_description = "gitolite is working"; | |
62 | host_name = "eldiron.immae.eu"; | |
63 | use = "external-web-service"; | |
64 | check_command = "check_git"; | |
65 | ||
66 | servicegroups = "webstatus-remote-services"; | |
67 | _webstatus_name = "Git"; | |
68 | _webstatus_url = "git.immae.eu"; | |
69 | } | |
70 | ||
71 | { | |
72 | service_description = "postfix SSL is up to date"; | |
73 | host_name = "eldiron.immae.eu"; | |
74 | use = "external-service"; | |
75 | check_command = "check_smtp"; | |
76 | ||
77 | servicegroups = "webstatus-ssl"; | |
78 | _webstatus_name = "SMTP"; | |
79 | _webstatus_url = "smtp.immae.eu"; | |
80 | } | |
81 | ||
82 | { | |
83 | service_description = "imap SSL is up to date"; | |
84 | host_name = "eldiron.immae.eu"; | |
85 | use = "external-service"; | |
86 | check_command = ["check_tcp_ssl" "993"]; | |
87 | ||
88 | servicegroups = "webstatus-ssl"; | |
89 | _webstatus_name = "IMAP"; | |
90 | _webstatus_url = "imap.immae.eu"; | |
91 | } | |
92 | ||
93 | { | |
94 | service_description = "imap connection works"; | |
95 | host_name = "eldiron.immae.eu"; | |
96 | use = "external-service"; | |
97 | check_command = "check_imap_connection"; | |
98 | ||
99 | servicegroups = "webstatus-remote-services,webstatus-email"; | |
100 | _webstatus_name = "IMAP"; | |
101 | _webstatus_url = "imap.immae.eu"; | |
102 | } | |
103 | ||
104 | # Third party services | |
105 | { | |
106 | service_description = "OVH account has enough sms"; | |
107 | host_name = "eldiron.immae.eu"; | |
108 | use = "external-service"; | |
109 | check_command = "check_ovh_sms"; | |
110 | ||
111 | check_interval = "120"; | |
112 | notification_interval = "1440"; | |
113 | } | |
114 | ||
115 | # Backup services | |
116 | # { | |
117 | # service_description = "eriomem backup is up and not full"; | |
118 | # host_name = "eldiron.immae.eu"; | |
119 | # use = "external-service"; | |
120 | # check_command = "check_backup_eriomem"; | |
121 | ||
122 | # check_interval = "120"; | |
123 | # notification_interval = "1440"; | |
124 | ||
125 | # servicegroups = "webstatus-backup"; | |
126 | # } | |
127 | { | |
128 | service_description = "ovh backup is up and not full"; | |
129 | host_name = "eldiron.immae.eu"; | |
130 | use = "external-service"; | |
131 | check_command = "check_ok"; | |
132 | ||
133 | check_interval = "120"; | |
134 | notification_interval = "1440"; | |
135 | ||
136 | servicegroups = "webstatus-backup"; | |
137 | } | |
138 | ||
139 | # DNS services | |
140 | { | |
141 | service_description = "eldiron dns is active and authoritative for aten.pro"; | |
142 | host_name = "eldiron.immae.eu"; | |
143 | use = "dns-service"; | |
144 | check_command = ["check_dns" "aten.pro" "-A"]; | |
145 | ||
146 | servicegroups = "webstatus-dns"; | |
147 | _webstatus_name = "aten.pro"; | |
148 | } | |
149 | ||
150 | { | |
151 | service_description = "eldiron dns is active and authoritative for bouya.org"; | |
152 | host_name = "eldiron.immae.eu"; | |
153 | use = "dns-service"; | |
154 | check_command = ["check_dns" "bouya.org" "-A"]; | |
155 | ||
156 | servicegroups = "webstatus-dns"; | |
157 | _webstatus_name = "bouya.org"; | |
158 | } | |
159 | ||
160 | { | |
161 | service_description = "eldiron dns is active and authoritative for filedesreves.fr"; | |
162 | host_name = "eldiron.immae.eu"; | |
163 | use = "dns-service"; | |
164 | check_command = ["check_dns" "filedesreves.fr" "-A"]; | |
165 | ||
166 | servicegroups = "webstatus-dns"; | |
167 | _webstatus_name = "filedesreves.fr"; | |
168 | } | |
169 | ||
170 | { | |
171 | service_description = "eldiron dns is active and authoritative for ludivinecassal.com"; | |
172 | host_name = "eldiron.immae.eu"; | |
173 | use = "dns-service"; | |
174 | check_command = ["check_dns" "ludivinecassal.com" "-A"]; | |
175 | ||
176 | servicegroups = "webstatus-dns"; | |
177 | _webstatus_name = "ludivinecassal.com"; | |
178 | } | |
179 | ||
180 | { | |
181 | service_description = "eldiron dns is active and authoritative for icommandeur.org"; | |
182 | host_name = "eldiron.immae.eu"; | |
183 | use = "dns-service"; | |
184 | check_command = ["check_dns" "icommandeur.org" "-A"]; | |
185 | ||
186 | servicegroups = "webstatus-dns"; | |
187 | _webstatus_name = "icommandeur.org"; | |
188 | } | |
189 | ||
190 | { | |
191 | service_description = "eldiron dns is active and authoritative for immae.eu"; | |
192 | host_name = "eldiron.immae.eu"; | |
193 | use = "dns-service"; | |
194 | check_command = ["check_dns" "immae.eu" "-A"]; | |
195 | ||
196 | servicegroups = "webstatus-dns"; | |
197 | _webstatus_name = "immae.eu"; | |
198 | } | |
199 | ||
200 | { | |
201 | service_description = "eldiron dns is active and authoritative for immae.fr"; | |
202 | host_name = "eldiron.immae.eu"; | |
203 | use = "dns-service"; | |
204 | check_command = ["check_dns" "immae.fr" "-A"]; | |
205 | ||
206 | servicegroups = "webstatus-dns"; | |
207 | _webstatus_name = "immae.fr"; | |
208 | } | |
209 | ||
210 | { | |
211 | service_description = "eldiron dns is active and authoritative for piedsjaloux.fr"; | |
212 | host_name = "eldiron.immae.eu"; | |
213 | use = "dns-service"; | |
214 | check_command = ["check_dns" "piedsjaloux.fr" "-A"]; | |
215 | ||
216 | servicegroups = "webstatus-dns"; | |
217 | _webstatus_name = "piedsjaloux.fr"; | |
218 | } | |
219 | ||
220 | { | |
221 | service_description = "eldiron dns is active and authoritative for saison-photo.org"; | |
222 | host_name = "eldiron.immae.eu"; | |
223 | use = "dns-service"; | |
224 | check_command = ["check_dns" "saison-photo.org" "-A"]; | |
225 | ||
226 | servicegroups = "webstatus-dns"; | |
227 | _webstatus_name = "saison-photo.org"; | |
228 | } | |
229 | ||
230 | { | |
231 | service_description = "eldiron dns is active and authoritative for tellesflorian.com"; | |
232 | host_name = "eldiron.immae.eu"; | |
233 | use = "dns-service"; | |
234 | check_command = ["check_dns" "tellesflorian.com" "-A"]; | |
235 | ||
236 | servicegroups = "webstatus-dns"; | |
237 | _webstatus_name = "tellesflorian.com"; | |
238 | } | |
239 | ||
240 | { | |
241 | service_description = "eldiron dns is active and authoritative for capitaines.fr"; | |
242 | host_name = "eldiron.immae.eu"; | |
243 | use = "dns-service"; | |
244 | check_command = ["check_dns" "capitaines.fr" "-A"]; | |
245 | ||
246 | servicegroups = "webstatus-dns"; | |
247 | _webstatus_name = "capitaines.fr"; | |
248 | } | |
249 | ||
250 | { | |
251 | service_description = "cloudns dns is active and authoritative for aten.pro"; | |
252 | host_name = "eldiron.immae.eu"; | |
253 | use = "dns-service"; | |
254 | check_command = ["check_external_dns" "pns1.cloudns.net" "aten.pro" "-A"]; | |
255 | ||
256 | servicegroups = "webstatus-dns"; | |
257 | _webstatus_name = "aten.pro (Secondary DNS ClouDNS)"; | |
258 | } | |
259 | ||
260 | { | |
261 | service_description = "cloudns dns is active and authoritative for bouya.org"; | |
262 | host_name = "eldiron.immae.eu"; | |
263 | use = "dns-service"; | |
264 | check_command = ["check_external_dns" "pns1.cloudns.net" "bouya.org" "-A"]; | |
265 | ||
266 | servicegroups = "webstatus-dns"; | |
267 | _webstatus_name = "bouya.org (Secondary DNS ClouDNS)"; | |
268 | } | |
269 | ||
270 | { | |
271 | service_description = "cloudns dns is active and authoritative for filedesreves.fr"; | |
272 | host_name = "eldiron.immae.eu"; | |
273 | use = "dns-service"; | |
274 | check_command = ["check_external_dns" "pns1.cloudns.net" "filedesreves.fr" "-A"]; | |
275 | ||
276 | servicegroups = "webstatus-dns"; | |
277 | _webstatus_name = "filedesreves.fr (Secondary DNS ClouDNS)"; | |
278 | } | |
279 | ||
280 | { | |
281 | service_description = "cloudns dns is active and authoritative for ludivinecassal.com"; | |
282 | host_name = "eldiron.immae.eu"; | |
283 | use = "dns-service"; | |
284 | check_command = ["check_external_dns" "pns1.cloudns.net" "ludivinecassal.com" "-A"]; | |
285 | ||
286 | servicegroups = "webstatus-dns"; | |
287 | _webstatus_name = "ludivinecassal.com (Secondary DNS ClouDNS)"; | |
288 | } | |
289 | ||
290 | { | |
291 | service_description = "cloudns dns is active and authoritative for icommandeur.org"; | |
292 | host_name = "eldiron.immae.eu"; | |
293 | use = "dns-service"; | |
294 | check_command = ["check_external_dns" "pns1.cloudns.net" "icommandeur.org" "-A"]; | |
295 | ||
296 | servicegroups = "webstatus-dns"; | |
297 | _webstatus_name = "icommandeur.org (Secondary DNS ClouDNS)"; | |
298 | } | |
299 | ||
300 | { | |
301 | service_description = "cloudns dns is active and authoritative for immae.eu"; | |
302 | host_name = "eldiron.immae.eu"; | |
303 | use = "dns-service"; | |
304 | check_command = ["check_external_dns" "pns1.cloudns.net" "immae.eu" "-A"]; | |
305 | ||
306 | servicegroups = "webstatus-dns"; | |
307 | _webstatus_name = "immae.eu (Secondary DNS ClouDNS)"; | |
308 | } | |
309 | ||
310 | { | |
311 | service_description = "cloudns dns is active and authoritative for immae.fr"; | |
312 | host_name = "eldiron.immae.eu"; | |
313 | use = "dns-service"; | |
314 | check_command = ["check_external_dns" "pns1.cloudns.net" "immae.fr" "-A"]; | |
315 | ||
316 | servicegroups = "webstatus-dns"; | |
317 | _webstatus_name = "immae.fr (Secondary DNS ClouDNS)"; | |
318 | } | |
319 | ||
320 | { | |
321 | service_description = "cloudns dns is active and authoritative for piedsjaloux.fr"; | |
322 | host_name = "eldiron.immae.eu"; | |
323 | use = "dns-service"; | |
324 | check_command = ["check_external_dns" "pns1.cloudns.net" "piedsjaloux.fr" "-A"]; | |
325 | ||
326 | servicegroups = "webstatus-dns"; | |
327 | _webstatus_name = "piedsjaloux.fr (Secondary DNS ClouDNS)"; | |
328 | } | |
329 | ||
330 | { | |
331 | service_description = "cloudns dns is active and authoritative for tellesflorian.com"; | |
332 | host_name = "eldiron.immae.eu"; | |
333 | use = "dns-service"; | |
334 | check_command = ["check_external_dns" "pns1.cloudns.net" "tellesflorian.com" "-A"]; | |
335 | ||
336 | servicegroups = "webstatus-dns"; | |
337 | _webstatus_name = "tellesflorian.com (Secondary DNS ClouDNS)"; | |
338 | } | |
339 | ||
340 | { | |
341 | service_description = "cloudns dns is active and authoritative for saison-photo.org"; | |
342 | host_name = "eldiron.immae.eu"; | |
343 | use = "dns-service"; | |
344 | check_command = ["check_external_dns" "pns1.cloudns.net" "saison-photo.org" "-A"]; | |
345 | ||
346 | servicegroups = "webstatus-dns"; | |
347 | _webstatus_name = "saison-photo.org (Secondary DNS ClouDNS)"; | |
348 | } | |
349 | ||
350 | #### Web scenarios | |
351 | { | |
352 | service_description = "blog website is running on immae.eu"; | |
353 | host_name = "eldiron.immae.eu"; | |
354 | use = "external-web-service"; | |
355 | check_command = ["check_https" "www.immae.eu" "/blog/" "egrep -ri TODO /etc"]; | |
356 | ||
357 | servicegroups = "webstatus-websites"; | |
358 | _webstatus_name = "Immae’s Blog"; | |
359 | _webstatus_url = "https://www.immae.eu/blog"; | |
360 | } | |
361 | ||
362 | { | |
363 | service_description = "owncloud website is running on cloud.immae.eu"; | |
364 | host_name = "eldiron.immae.eu"; | |
365 | use = "external-web-service"; | |
366 | check_command = ["check_https" "cloud.immae.eu" "/" "a safe home for all your data"]; | |
367 | ||
368 | servicegroups = "webstatus-webapps"; | |
369 | _webstatus_name = "Nextcloud"; | |
370 | _webstatus_url = "https://cloud.immae.eu"; | |
371 | } | |
372 | ||
373 | { | |
374 | service_description = "davical website is running on dav.immae.eu"; | |
375 | host_name = "eldiron.immae.eu"; | |
376 | use = "external-web-service"; | |
377 | check_command = ["check_https" "dav.immae.eu" "/davical/" "Log On Please"]; | |
378 | ||
379 | servicegroups = "webstatus-webapps"; | |
380 | _webstatus_name = "Davical"; | |
381 | _webstatus_url = "https://dav.immae.eu/davical"; | |
382 | } | |
383 | ||
384 | { | |
385 | service_description = "adminer website is running on tools.immae.eu"; | |
386 | host_name = "eldiron.immae.eu"; | |
387 | use = "external-web-service"; | |
388 | check_command = ["check_https_auth" "tools.immae.eu" "/adminer/" "www.adminer.org"]; | |
389 | ||
390 | servicegroups = "webstatus-webapps"; | |
391 | _webstatus_name = "Adminer"; | |
392 | _webstatus_url = "https://tools.immae.eu/adminer/"; | |
393 | } | |
394 | ||
395 | { | |
396 | service_description = "ttrss website is running on tools.immae.eu"; | |
397 | host_name = "eldiron.immae.eu"; | |
398 | use = "external-web-service"; | |
399 | check_command = ["check_https" "tools.immae.eu" "/ttrss/" "<title>Tiny Tiny RSS"]; | |
400 | ||
401 | servicegroups = "webstatus-webapps"; | |
402 | _webstatus_name = "TT-RSS"; | |
403 | _webstatus_url = "https://tools.immae.eu/ttrss/"; | |
404 | } | |
405 | ||
406 | { | |
407 | service_description = "mpd website is running on tools.immae.eu"; | |
408 | host_name = "eldiron.immae.eu"; | |
409 | use = "external-web-service"; | |
410 | check_command = ["check_https_auth" "tools.immae.eu" "/mpd/" "<title>ympd"]; | |
411 | ||
412 | servicegroups = "webstatus-webapps"; | |
413 | _webstatus_name = "MPD (YMPD)"; | |
414 | _webstatus_url = "https://tools.immae.eu/mpd/"; | |
415 | } | |
416 | ||
417 | { | |
418 | service_description = "rompr mpd website is running on tools.immae.eu"; | |
419 | host_name = "eldiron.immae.eu"; | |
420 | use = "external-web-service"; | |
421 | check_command = ["check_https_auth" "tools.immae.eu" "/rompr/" "<title>RompЯ"]; | |
422 | ||
423 | servicegroups = "webstatus-webapps"; | |
424 | _webstatus_name = "MPD (ROMPR)"; | |
425 | _webstatus_url = "https://tools.immae.eu/rompr/"; | |
426 | } | |
427 | ||
428 | { | |
429 | service_description = "wallabag website is running on tools.immae.eu"; | |
430 | host_name = "eldiron.immae.eu"; | |
431 | use = "external-web-service"; | |
432 | check_command = ["check_https" "tools.immae.eu" "/wallabag/" "<title>Bienvenue sur wallabag"]; | |
433 | ||
434 | servicegroups = "webstatus-webapps"; | |
435 | _webstatus_name = "Wallabag"; | |
436 | _webstatus_url = "https://tools.immae.eu/wallabag/"; | |
437 | } | |
438 | ||
439 | { | |
440 | service_description = "yourl website is running on tools.immae.eu"; | |
441 | host_name = "eldiron.immae.eu"; | |
442 | use = "external-web-service"; | |
443 | check_command = ["check_https" "tools.immae.eu" "/url/admin/" "<title>YOURLS"]; | |
444 | ||
445 | servicegroups = "webstatus-webapps"; | |
446 | _webstatus_name = "YOURLS"; | |
447 | _webstatus_url = "https://tools.immae.eu/url/admin/"; | |
448 | } | |
449 | ||
450 | { | |
451 | service_description = "roundcube website is running on mail.immae.eu"; | |
452 | host_name = "eldiron.immae.eu"; | |
453 | use = "external-web-service"; | |
454 | check_command = ["check_https" "mail.immae.eu" "/roundcube/" "<title>Roundcube"]; | |
455 | ||
456 | servicegroups = "webstatus-webapps,webstatus-email"; | |
457 | _webstatus_name = "Roundcube"; | |
458 | _webstatus_url = "https://mail.immae.eu/roundcube/"; | |
459 | } | |
460 | ||
461 | { | |
462 | service_description = "dokuwiki website is running on tools.immae.eu"; | |
463 | host_name = "eldiron.immae.eu"; | |
464 | use = "external-web-service"; | |
465 | check_command = ["check_https" "tools.immae.eu" "/dokuwiki/" "<title>start"]; | |
466 | ||
467 | servicegroups = "webstatus-webapps"; | |
468 | _webstatus_name = "Dokuwiki"; | |
469 | _webstatus_url = "https://tools.immae.eu/dokuwiki/"; | |
470 | } | |
471 | ||
472 | { | |
473 | service_description = "shaarli website is running on tools.immae.eu"; | |
474 | host_name = "eldiron.immae.eu"; | |
475 | use = "external-web-service"; | |
476 | check_command = ["check_https" "tools.immae.eu" "/Shaarli/immae" "<title>Immae"]; | |
477 | ||
478 | servicegroups = "webstatus-webapps"; | |
479 | _webstatus_name = "Shaarli"; | |
480 | _webstatus_url = "https://tools.immae.eu/Shaarli/"; | |
481 | } | |
482 | ||
483 | { | |
484 | service_description = "ldap website is running on tools.immae.eu"; | |
485 | host_name = "eldiron.immae.eu"; | |
486 | use = "external-web-service"; | |
487 | check_command = ["check_https" "tools.immae.eu" "/ldap/" "<title>phpLDAPadmin"]; | |
488 | ||
489 | servicegroups = "webstatus-webapps"; | |
490 | _webstatus_name = "LDAP"; | |
491 | _webstatus_url = "https://tools.immae.eu/ldap/"; | |
492 | } | |
493 | ||
494 | { | |
495 | service_description = "gitweb website is running on git.immae.eu"; | |
496 | host_name = "eldiron.immae.eu"; | |
497 | use = "external-web-service"; | |
498 | check_command = ["check_https" "git.immae.eu" "/cgit" "<title>Immae’s git"]; | |
499 | ||
500 | servicegroups = "webstatus-webapps"; | |
501 | _webstatus_name = "Git"; | |
502 | _webstatus_url = "https://git.immae.eu/"; | |
503 | } | |
504 | ||
505 | { | |
506 | service_description = "mantisbt website is running on git.immae.eu"; | |
507 | host_name = "eldiron.immae.eu"; | |
508 | use = "external-web-service"; | |
509 | check_command = ["check_https" "git.immae.eu" "/mantisbt/" "<title>My View - MantisBT"]; | |
510 | ||
511 | servicegroups = "webstatus-webapps"; | |
512 | _webstatus_name = "Mantisbt"; | |
513 | _webstatus_url = "https://git.immae.eu/mantisbt"; | |
514 | } | |
515 | ||
516 | { | |
517 | service_description = "diaspora website is running on diaspora.immae.eu"; | |
518 | host_name = "eldiron.immae.eu"; | |
519 | use = "external-web-service"; | |
520 | check_command = ["check_https" "diaspora.immae.eu" "/" "is the online social world where you are in control"]; | |
521 | ||
522 | servicegroups = "webstatus-webapps"; | |
523 | _webstatus_name = "Diaspora"; | |
524 | _webstatus_url = "https://diaspora.immae.eu/"; | |
525 | } | |
526 | ||
527 | { | |
528 | service_description = "peertube website is running on peertube.immae.eu"; | |
529 | host_name = "eldiron.immae.eu"; | |
530 | use = "external-web-service"; | |
531 | check_command = ["check_https" "peertube.immae.eu" "/" "<title>Immae’s PeerTube"]; | |
532 | ||
533 | servicegroups = "webstatus-webapps"; | |
534 | _webstatus_name = "Peertube"; | |
535 | _webstatus_url = "https://peertube.immae.eu/"; | |
536 | } | |
537 | ||
538 | { | |
539 | service_description = "etherpad website is running on ether.immae.eu"; | |
540 | host_name = "eldiron.immae.eu"; | |
541 | use = "external-web-service"; | |
542 | check_command = ["check_https" "ether.immae.eu" "/" "<title>Etherpad"]; | |
543 | ||
544 | servicegroups = "webstatus-webapps"; | |
545 | _webstatus_name = "Etherpad"; | |
546 | _webstatus_url = "https://ether.immae.eu/"; | |
547 | } | |
548 | ||
549 | { | |
550 | service_description = "mediagoblin website is running on mgoblin.immae.eu"; | |
551 | host_name = "eldiron.immae.eu"; | |
552 | use = "external-web-service"; | |
553 | check_command = ["check_https" "mgoblin.immae.eu" "/" "<title>GNU MediaGoblin"]; | |
554 | ||
555 | servicegroups = "webstatus-webapps"; | |
556 | _webstatus_name = "Mediagoblin"; | |
557 | _webstatus_url = "https://mgoblin.immae.eu/"; | |
558 | } | |
559 | ||
560 | { | |
561 | service_description = "mastodon website is running on mastodon.immae.eu"; | |
562 | host_name = "eldiron.immae.eu"; | |
563 | use = "external-web-service"; | |
564 | check_command = ["check_https" "mastodon.immae.eu" "/" "Mastodon</title>"]; | |
565 | ||
566 | servicegroups = "webstatus-webapps"; | |
567 | _webstatus_name = "Mastodon"; | |
568 | _webstatus_url = "https://mastodon.immae.eu/"; | |
569 | } | |
570 | ||
571 | # Other web pages | |
572 | { | |
573 | service_description = "Jerome website is running on naturaloutil.immae.eu"; | |
574 | host_name = "eldiron.immae.eu"; | |
575 | use = "external-web-service"; | |
576 | check_command = ["check_https" "naturaloutil.immae.eu" "/ping.php" "YES"]; | |
577 | ||
578 | servicegroups = "webstatus-websites"; | |
579 | _webstatus_name = "naturaloutil.immae.eu"; | |
580 | _webstatus_url = "https://naturaloutil.immae.eu/"; | |
581 | } | |
582 | ||
583 | { | |
584 | service_description = "Telio website is running on realistesmedia.fr"; | |
585 | host_name = "eldiron.immae.eu"; | |
586 | use = "external-web-service"; | |
587 | check_command = ["check_https" "realistesmedia.fr" "/" "doctype html"]; | |
588 | contact_groups = "telio-tortay"; | |
589 | } | |
590 | ||
591 | { | |
592 | service_description = "Chloe website site is running on osteopathe-cc.fr"; | |
593 | host_name = "eldiron.immae.eu"; | |
594 | use = "external-web-service"; | |
595 | check_command = ["check_https" "www.osteopathe-cc.fr" "/" "<title>Chloé Condamin ostéopathe D.O."]; | |
596 | ||
597 | servicegroups = "webstatus-websites"; | |
598 | _webstatus_name = "osteopathe-cc.fr"; | |
599 | _webstatus_url = "https://www.osteopathe-cc.fr/"; | |
600 | } | |
601 | ||
602 | { | |
603 | service_description = "Richie website is running on europe-richie.org"; | |
604 | host_name = "eldiron.immae.eu"; | |
605 | use = "external-web-service"; | |
606 | check_command = ["check_https" "www.europe-richie.org" "/" "<title>.Europe Richie]"]; | |
607 | ||
608 | servicegroups = "webstatus-websites"; | |
609 | _webstatus_name = "europe-richie.org"; | |
610 | _webstatus_url = "https://www.europe-richie.org/"; | |
611 | } | |
612 | ||
613 | { | |
614 | service_description = "Ludivine website site is running on ludivinecassal.com"; | |
615 | host_name = "eldiron.immae.eu"; | |
616 | use = "external-web-service"; | |
617 | check_command = ["check_https" "www.ludivinecassal.com" "/" "<title>Ludivine Cassal"]; | |
618 | ||
619 | servicegroups = "webstatus-websites"; | |
620 | _webstatus_name = "ludivinecassal.com"; | |
621 | _webstatus_url = "https://www.ludivinecassal.com/"; | |
622 | } | |
623 | ||
624 | { | |
625 | service_description = "Aten website site is running on aten.pro"; | |
626 | host_name = "eldiron.immae.eu"; | |
627 | use = "external-web-service"; | |
628 | check_command = ["check_https" "aten.pro" "/" "<title>ATEN"]; | |
629 | ||
630 | servicegroups = "webstatus-websites"; | |
631 | _webstatus_name = "aten.pro"; | |
632 | _webstatus_url = "https://aten.pro/"; | |
633 | } | |
634 | ||
635 | { | |
636 | service_description = "PiedsJaloux website site is running on piedsjaloux.fr"; | |
637 | host_name = "eldiron.immae.eu"; | |
638 | use = "external-web-service"; | |
639 | check_command = ["check_https" "www.piedsjaloux.fr" "/" "<title>Les Pieds Jaloux"]; | |
640 | ||
641 | servicegroups = "webstatus-websites"; | |
642 | _webstatus_name = "piedsjaloux.fr"; | |
643 | _webstatus_url = "https://www.piedsjaloux.fr/"; | |
644 | } | |
645 | ||
646 | { | |
647 | service_description = "Denise and Jerome website site is running on denisejerome.piedsjaloux.fr"; | |
648 | host_name = "eldiron.immae.eu"; | |
649 | use = "external-web-service"; | |
650 | check_command = ["check_https" "denisejerome.piedsjaloux.fr" "/" "<title>Accueil - Mariage"]; | |
651 | ||
652 | servicegroups = "webstatus-websites"; | |
653 | _webstatus_name = "denisejerome.piedsjaloux.fr"; | |
654 | _webstatus_url = "https://denisejerome.piedsjaloux.fr/"; | |
655 | } | |
656 | ||
657 | { | |
658 | service_description = "Connexionswing website site is running on connexionswing.com"; | |
659 | host_name = "eldiron.immae.eu"; | |
660 | use = "external-web-service"; | |
661 | check_command = ["check_https" "www.connexionswing.com" "/" "<title>Cours, stages"]; | |
662 | ||
663 | servicegroups = "webstatus-websites"; | |
664 | _webstatus_name = "connexionswing.com"; | |
665 | _webstatus_url = "https://www.connexionswing.com/"; | |
666 | } | |
667 | ||
668 | { | |
669 | service_description = "Sandetludo website site is running on sandetludo.com"; | |
670 | host_name = "eldiron.immae.eu"; | |
671 | use = "external-web-service"; | |
672 | check_command = ["check_https" "www.sandetludo.com" "/" "<title>Cours de West Coast"]; | |
673 | ||
674 | servicegroups = "webstatus-websites"; | |
675 | _webstatus_name = "sandetludo.com"; | |
676 | _webstatus_url = "https://www.sandetludo.com/"; | |
677 | } | |
678 | ||
679 | # SSL | |
680 | { | |
681 | service_description = "ldap SSL is up to date"; | |
682 | host_name = "eldiron.immae.eu"; | |
683 | use = "external-service"; | |
684 | check_command = ["check_tcp_ssl" "636"]; | |
685 | ||
686 | servicegroups = "webstatus-ssl"; | |
687 | _webstatus_name = "LDAP"; | |
688 | _webstatus_url = "ldap.immae.eu"; | |
689 | } | |
690 | ||
691 | # Tiboqorl | |
692 | { | |
693 | service_description = "Cyllene support page is running"; | |
694 | host_name = "tiboqorl.fr"; | |
695 | use = "external-web-service"; | |
696 | contact_groups = "tiboqorl"; | |
697 | check_command = [ "check_https" "sc.groupe-cyllene.com" "/" "<title>Support Client Cyllene" ]; | |
698 | _webstatus_namespace = "tiboqorl"; | |
699 | } | |
700 | ||
701 | { | |
702 | service_description = "Origny page is running"; | |
703 | host_name = "tiboqorl.fr"; | |
704 | use = "external-web-service"; | |
705 | contact_groups = "tiboqorl"; | |
706 | check_command = [ "check_https" "origny.tiboqorl.fr" "/" "<title>Home Assistant" ]; | |
707 | _webstatus_namespace = "tiboqorl"; | |
708 | } | |
709 | ] ++ to_resource to_backup_age nodes.eldiron.config.services.duplyBackup; | |
710 | contact = { | |
711 | telio-tortay = config.myEnv.monitoring.contacts.telio-tortay // { | |
712 | use = "generic-contact"; | |
713 | contactgroups = "telio-tortay"; | |
714 | }; | |
715 | thibault = config.myEnv.monitoring.contacts.thibault // { | |
716 | use = "generic-contact"; | |
717 | contactgroups = "tiboqorl"; | |
718 | }; | |
719 | }; | |
720 | contactgroup = { | |
721 | telio-tortay = { alias = "Telio Tortay"; members = "immae"; }; | |
722 | tiboqorl = { alias = "Tiboqorl"; members = "immae"; }; | |
723 | }; | |
724 | servicedependency = to_resource to_backup_age_dependency nodes.eldiron.config.services.duplyBackup; | |
725 | } |