metrics: true endpoints: - name: "HealthCheck" url: "{{ healthchecks_io_ping }}" interval: 60s conditions: - "[STATUS] == 200" - "[BODY] == pat(*OK*)" - name: "Expiration For {{ domain }}" url: "https://{{ domain }}" interval: 30m conditions: - "[DOMAIN_EXPIRATION] > 720h" - "[CERTIFICATE_EXPIRATION] > 240h" - name: "LDAPS" url: "tls://{{ idm_domain }}:3636" interval: 5m client: timeout: 5s conditions: - "[CONNECTED] == true" - "[CERTIFICATE_EXPIRATION] > 48h" {% for port in [465,993] %} - name: "mail on port {{ port }}" group: "mail" url: "tls://{{ mail_domain }}:{{ port }}" interval: 5m client: timeout: 5s conditions: - "[CONNECTED] == true" - "[CERTIFICATE_EXPIRATION] > 48h" {% endfor %} {% for user, m in mesh.items() %} {% for healthcheck in m.public_healthchecks %} - name: "healthcheck {{ user }} pub {{ healthcheck }} 200" group: "{{ user }}_pub" url: "{{ healthcheck }}" interval: 1m conditions: - "[STATUS] == 200" {% endfor %} {% for healthcheck in m.private_healthchecks %} - name: "healthcheck {{ user }} priv {{ healthcheck }}" url: "{{ healthcheck }}" group: "{{ user }}_priv" interval: 1m conditions: - "[STATUS] == 200" - name: "healthcheck {{ user }} pub {{ healthcheck }} 403" group: "{{ user }}_priv" url: "{{ healthcheck }}" client: dns-resolver: "tcp://1.1.1.1:53" interval: 1m conditions: - "[STATUS] == 403" {% endfor %} {% for record in m.private_records %} - name: "DNS Check [{{ record.name }}_{{ record.type }}]" group: "{{ user }}_dns_private" url: "{{ m.gateway }}" interval: 5m dns: query-name: "{{ record.name }}" query-type: "{{ record.type }}" conditions: - "[BODY] == {{ record.ip }}" - "[DNS_RCODE] == NOERROR" - name: "PING {{ record.name }}" group: "{{ user }}_dns_private" url: "icmp://{{ record.name }}" conditions: - "[CONNECTED] == true" {% endfor %} {% endfor %}