[GH-ISSUE #308] Newt keeps performing healthchecks after Public resource is deleted #1149

Open
opened 2026-04-22 00:57:38 -05:00 by GiteaMirror · 4 comments
Owner

Originally created by @mprokopiev on GitHub (Mar 13, 2026).
Original GitHub issue: https://github.com/fosrl/newt/issues/308

Describe the Bug

Not sure if this one is Newt or Pangolin though likely Pangolin should instruct Newt not to ping the public resource. Anyways, I noticed Newt keeps performing healthchecks for the resource, which was already deleted hours ago. Newt stops healthchecks after the restart.

Environment

  • OS Type & Version: Fedora 43
  • Pangolin Version: 1.16.2
  • Gerbil Version: 1.3.0
  • Traefik Version: 3.6.10
  • Newt Version: 1.10.2

To Reproduce

  • configure healthcheck for a public resource
  • check newt log to see healthcheck works
  • remove the public resource - healthchecks will continue

Expected Behavior

Healthcheck must stop after deleting the public resource

Originally created by @mprokopiev on GitHub (Mar 13, 2026). Original GitHub issue: https://github.com/fosrl/newt/issues/308 ### Describe the Bug Not sure if this one is Newt or Pangolin though likely Pangolin should instruct Newt not to ping the public resource. Anyways, I noticed Newt keeps performing healthchecks for the resource, which was already deleted hours ago. Newt stops healthchecks after the restart. ### Environment - OS Type & Version: Fedora 43 - Pangolin Version: 1.16.2 - Gerbil Version: 1.3.0 - Traefik Version: 3.6.10 - Newt Version: 1.10.2 ### To Reproduce * configure healthcheck for a public resource * check newt log to see healthcheck works * remove the public resource - healthchecks will continue ### Expected Behavior Healthcheck must stop after deleting the public resource
GiteaMirror added the needs investigating label 2026-04-22 00:57:38 -05:00
Author
Owner

@github-actions[bot] commented on GitHub (Mar 28, 2026):

This issue has been automatically marked as stale due to 14 days of inactivity. It will be closed in 14 days if no further activity occurs.

<!-- gh-comment-id:4222967682 --> @github-actions[bot] commented on GitHub (Mar 28, 2026): This issue has been automatically marked as stale due to 14 days of inactivity. It will be closed in 14 days if no further activity occurs.
Author
Owner

@LaurenceJJones commented on GitHub (Apr 10, 2026):

Moved to Newt repo, as Newt should get the call to remove the proxied resource, so need to check if it also taps into the healthcheck

<!-- gh-comment-id:4222974893 --> @LaurenceJJones commented on GitHub (Apr 10, 2026): Moved to Newt repo, as Newt should get the call to remove the proxied resource, so need to check if it also taps into the healthcheck
Author
Owner

@LaurenceJJones commented on GitHub (Apr 10, 2026):

Investigated both Newt + Pangolin sides for #308 (healthchecks continue after resource delete).

Findings

  • In Newt, newt/sync had reconciliation logic commented out (e68b656: “Temp lets ignore the sync messages”), including:
    • healthMonitor.SyncTargets(syncData.HealthCheckTargets)
  • In Pangolin, direct delete-time push to Newt is currently disabled:
    • server/routers/resource/deleteResource.ts (remove flow commented)
    • server/routers/target/deleteTarget.ts (remove flow commented)
  • Pangolin has removeTargets() that already sends:
    • newt/{tcp|udp}/remove
    • newt/healthcheck/remove (with healthcheck target IDs)
      but those delete routes are not calling it right now.
  • Also noticed payload mismatch in sync:
    • Pangolin sends proxyTargets
    • Newt sync handler reads targets

Potential actions

  • Re-enable delete-time removeTargets(...) calls in Pangolin delete handlers for site.type === "newt" (using current signature with newt.version).
  • Align sync payload key (targets vs proxyTargets) so reconciliation works.
  • Keep Newt-side healthcheck sync active as fallback (covers missed WS events/reconnect drift).

@oschwartz10612

<!-- gh-comment-id:4223457843 --> @LaurenceJJones commented on GitHub (Apr 10, 2026): Investigated both Newt + Pangolin sides for `#308` (`healthchecks continue after resource delete`). ### Findings - In Newt, `newt/sync` had reconciliation logic commented out (`e68b656`: “Temp lets ignore the sync messages”), including: - `healthMonitor.SyncTargets(syncData.HealthCheckTargets)` - In Pangolin, direct delete-time push to Newt is currently disabled: - `server/routers/resource/deleteResource.ts` (remove flow commented) - `server/routers/target/deleteTarget.ts` (remove flow commented) - Pangolin has `removeTargets()` that already sends: - `newt/{tcp|udp}/remove` - `newt/healthcheck/remove` (with healthcheck target IDs) but those delete routes are not calling it right now. - Also noticed payload mismatch in sync: - Pangolin sends `proxyTargets` - Newt sync handler reads `targets` ### Potential actions - Re-enable delete-time `removeTargets(...)` calls in Pangolin delete handlers for `site.type === "newt"` (using current signature with `newt.version`). - Align sync payload key (`targets` vs `proxyTargets`) so reconciliation works. - Keep Newt-side healthcheck sync active as fallback (covers missed WS events/reconnect drift). @oschwartz10612
Author
Owner

@gravis commented on GitHub (Apr 11, 2026):

Can confirm I'm seeing this as well.

Environment

  • OS Type & Version: NixOS
  • Pangolin Version: 1.17.0
  • Gerbil Version: 1.3.1
  • Traefik Version: 3.6.9
  • Newt Version: 1.11.0
<!-- gh-comment-id:4227992649 --> @gravis commented on GitHub (Apr 11, 2026): Can confirm I'm seeing this as well. ## Environment - OS Type & Version: NixOS - Pangolin Version: 1.17.0 - Gerbil Version: 1.3.1 - Traefik Version: 3.6.9 - Newt Version: 1.11.0
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/newt#1149