- 
                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