-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Here’s a polished version of your description formatted as a GitHub issue:
Title: Enable full IPv6 support across Pulse probes (ICMP, TCP, HTTP)
Description:
Currently, Pulse only supports probing IPv4 hosts. This change enables admins to configure and monitor IPv6-only or dual-stack endpoints via YAML config.
Scope of Work:
-
YAML Schema: Update
config.schema.jsonto validate IPv6 addresses (regex exists – confirm and test). -
EF Core Entity:
Endpoint.Hostsupports 253 chars, sufficient for IPv6; validate storage/indexing. -
Probe Drivers:
- ICMP probe: add IPv6 ping support.
- TCP probe: allow IPv6 sockets (
AF_INET6). - HTTP probe: ensure DNS resolution includes AAAA records.
-
Tests:
- ICMP ping to IPv6-only test host.
- TCP connect to IPv6 service.
- HTTP GET via IPv6 address.
-
UI & Examples: Update YAML examples to include IPv6 targets.
-
Verify rollup and outage detection continue to work unchanged.
Acceptance Criteria:
- Admin can add an IPv6 host in YAML config and Pulse successfully probes it.
- Live board shows status for IPv6 endpoints like IPv4.
- Error handling distinguishes "host unreachable (IPv6)" vs "host unreachable (IPv4)".
- Semaphores / batching logic work for IPv6 endpoints.
- Automated tests cover ICMP, TCP, and HTTP over IPv6.
- CIDR safety: IPv6 CIDR expansion blocked by default for prefixes <
/120. - Logs provide clear messages: “IPv6 probe attempt failed — OS fell back to IPv4”.
Developer Notes:
- PR / Branch: [#161](feat: enable full IPv6 support for ICMP, TCP, and HTTP probes #161)
- Zone/Scope Handling: Link-local addresses (
fe80::/10) may include a zone/index (e.g.,fe80::1%eth0) to disambiguate multiple interfaces.
Tests Added / Updated:
- ConfigurationValidationTests [updated]
- ProbeService tests [added]
Discussions:
- IPv4 | IPv6 | Dual option for HTTP ping handled by DNS provider.
Metadata
Metadata
Assignees
Labels
No labels