Health checks and probes
Network groups, reachability probe targets, status matrix, and check-triggered runs.
exocomp includes a native reachability monitoring system that tracks the health of internal services and network targets, enabling automated remediation without external polling daemons.
Network groups and probe targets
-
Network groups (
netgroup): Define named CIDR blocks to classify hosts and services by topological location:exocomp netgroup add lan 192.168.1.0/24 exocomp netgroup add tailnet 100.64.0.0/10 -
Probes and checks: Register reachability checks against targets:
exocomp check add dns-resolver \ --kind tcp \ --target resolver=192.168.1.1:53 \ --interval 30sTargets are classified automatically into matching
netgroupdefinitions based on their IP address.
The checks matrix in the Web UI
In the Web UI, the Checks view renders target status in an interactive card grid:

The UI adheres strictly to the design invariant: State is colour plus word. A failing target renders as a red badge containing the explicit text DOWN, while an unpolled target displays UNOBSERVED.
Check-triggered runs
When a check target transitions between states (e.g. from up to down), exocomp emits an internal event. You can bind reactive rules to trigger an automated playbook run when a service fails:
exocomp rule add restart-dns-on-failure \
--source check \
--expr "event.check == 'dns-resolver' && event.status == 'down'" \
--action playbook \
--repo-source homelab \
--playbook playbooks/restart-dns.yml \
--limit dns-servers