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.json to validate IPv6 addresses (regex exists – confirm and test).
-
EF Core Entity: Endpoint.Host supports 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:
Tests Added / Updated:
- ConfigurationValidationTests [updated]
- ProbeService tests [added]
Discussions:
- IPv4 | IPv6 | Dual option for HTTP ping handled by DNS provider.
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:
AF_INET6).Tests:
UI & Examples: Update YAML examples to include IPv6 targets.
Verify rollup and outage detection continue to work unchanged.
Acceptance Criteria:
/120.Developer Notes:
fe80::/10) may include a zone/index (e.g.,fe80::1%eth0) to disambiguate multiple interfaces.Tests Added / Updated:
Discussions: