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