Add the provider health Monitor

A leader-only runnable checks every configured provider concurrently
under one timeout per round (first round at start, then every interval),
keeps the latest results for the metrics collector, logs targets going
down, changing reason or coming back, and publishes one ProviderHealth
object per provider: created with a managed-by label when missing, then
a status merge patch. Per-target lastTransitionTime survives rounds in
which ready does not flip. Objects of providers that are no longer
configured are deleted once at start; with checks turned off, all are.
Reads go through the API reader, so no cluster-wide informer is needed.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-11 20:20:52 +00:00
co-authored by Claude Opus 5
parent 04dd2c0284
commit 88a15ecdb5
7 changed files with 1044 additions and 1 deletions
+16
View File
@@ -22,6 +22,22 @@ rules:
- get
- list
- watch
- apiGroups:
- crawl.example.com
resources:
- providerhealths
verbs:
- create
- delete
- get
- list
- apiGroups:
- crawl.example.com
resources:
- providerhealths/status
verbs:
- get
- patch
- apiGroups:
- crawl.example.com
resources: