mirror_health: this_host_service_name is now optional
[mirror/dsa-puppet.git] / modules / mirror_health / manifests / service.pp
index f0df429..fced518 100644 (file)
@@ -1,10 +1,25 @@
-# base class for Debian's mirror-health checker
+# service instance for Debian's mirror-health checker
+#
+# for each defined service, a daemon will regularly check if the
+# local version of <url> matches the majority version among the
+# set of all hosts that define a <service_name>.
+#
+# the result of this check is then exposed via <health_url>
+#
 # @param url URL to check for freshness on each host (normally a Release file)
 # @param health_url URL to the health marker
+# @param this_host_service_name this host's service name for this service.
+#                               Other nodes will connect to this hostname to
+#                               fetch url for checking.
+#                               If this is undef, other hosts will not
+#                               check this host.
+# @param check_service name of this service
+# @param check_interval how often to check
+# @param ensure  present or absent
 define mirror_health::service (
   String $url,
   String $health_url,
-  String $this_host_service_name = $::fqdn,
+  Optional[String] $this_host_service_name = undef,
   String $check_service = $name,
   Integer $check_interval = 60,
   Enum['present','absent'] $ensure = 'present',
@@ -51,10 +66,12 @@ define mirror_health::service (
     mode           => '0444',
     notify         => Service["mirror-health-${check_service}"],
   }
-  @@concat::fragment { "mirror_health::service::${check_service}::hosts::${this_host_service_name}":
-    tag     => $tag,
-    target  => $hosts_file,
-    content => $this_host_service_name,
+  if $this_host_service_name and $ensure == 'present' {
+    @@concat::fragment { "mirror_health::service::${check_service}::hosts::${this_host_service_name}":
+      tag     => $tag,
+      target  => $hosts_file,
+      content => $this_host_service_name,
+    }
   }
   Concat::Fragment <<| tag == $tag |>>
 }