From aef66b9d1d5b2f2fc4a526f7643cf661570b4bbd Mon Sep 17 00:00:00 2001 From: Ivan Vydrin Date: Thu, 30 Jul 2026 21:00:29 +0300 Subject: [PATCH] Say on each package's own page what moved into core The two deprecated packages had descriptions that said DEPRECATED and READMEs that did not. The README is what nuget.org renders as the listing page, so anyone landing on Healthie.NET.Uptime read a normal package page with no sign it had been superseded that morning. Both now lead with what moved, what to call instead, and that keeping the reference breaks nothing -- verified present in the packed artefact, not just the source. The dashboard docs still credited the uptime and leadership panels to packages that no longer carry them, and omitted the metrics view entirely. Both READMEs now list what you register rather than what you install, which is the distinction that changed. --- README.md | 2 +- src/Healthie.Dashboard/README.md | 17 ++++++++++------- src/Healthie.LeaderElection/README.md | 13 ++++++++++++- src/Healthie.Uptime/README.md | 13 ++++++++++++- 4 files changed, 35 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 5c719c4..2d48259 100644 --- a/README.md +++ b/README.md @@ -513,7 +513,7 @@ The `Healthie.NET.Dashboard` package is a pulse monitor for your services, shipp - **Aggregate pulse trace** -- an EKG across the header, with the combined checks-per-minute of everything you monitor. - **A row per checker** -- status light, name, checks per minute, and a pulse strip of the last N runs, one blip per run, coloured by the health it reported. - **Detail panel** -- select a checker for its uptime, failure streak, last message, and its interval, failure threshold, group and tags, all editable in place. -- **A panel per feature package you install** -- 24-hour uptime and longest outage from `Healthie.NET.Uptime`, a recent-alerts drawer from `Healthie.NET.Alerting`, a replica badge from `Healthie.NET.LeaderElection`, and an `EXPLAIN` button from `Healthie.NET.AI`. Nothing to configure: the panel appears because the package is registered, and an application that installs none of them gets the board unchanged. All read-only, so all of it survives `AllowMutations = false` -- bar `EXPLAIN`, which spends money on your account. +- **A panel per feature package you install** -- 24-hour uptime and longest outage once you call `AddHealthieUptime()`, a recent-alerts drawer from `Healthie.NET.Alerting`, a replica badge from `AddHealthieLeaderElection()`, a metrics view from `AddHealthieMetrics()`, and an `EXPLAIN` button from `Healthie.NET.AI`. Nothing to configure: the panel appears because the service is registered, and an application that registers none of them gets the board unchanged. All read-only, so all of it survives `AllowMutations = false` -- bar `EXPLAIN`, which spends money on your account. - **Groups and tags** -- a checker sits in at most one group and carries any number of tags. Sections the list by group, filters it by tag. Both are declared in code and can be changed here; see [Groups and tags](#groups-and-tags). - **Pin** -- keep the checkers worth watching at the top. A pin is shared, not personal. - **Rows or cards** -- the same list laid out either way, flat or sectioned by group with per-group healthy/suspicious/failing tallies. diff --git a/src/Healthie.Dashboard/README.md b/src/Healthie.Dashboard/README.md index 86180dc..97af582 100644 --- a/src/Healthie.Dashboard/README.md +++ b/src/Healthie.Dashboard/README.md @@ -60,7 +60,7 @@ app.MapHealthieUI().RequireAuthorization("AdminPolicy"); // With auth - Per-checker management: start, stop, trigger, reset, retime by interval or cron expression, change threshold - Bulk actions: Start All, Stop All, Trigger All - A read-only mode that reports everything and changes nothing — see below -- Panels for the feature packages you install — uptime, alerts, leadership, AI — see below +- Panels for what you register — uptime, alerts, metrics, leadership, AI — see below - Groups and tags, both editable here and seeded from code — see below - A collapsible left menu: overview, a section per group with its tally, and the alerts, log and about views - Pin a checker to the top of the list @@ -102,18 +102,21 @@ builder.Services.AddHealthieUI(options => options.AllowMutations = false); app.MapHealthieUI().RequireAuthorization(); ``` -## Panels for the packages you install +## Panels for what you register -The board grows a panel for each feature package the application registers, and shows none of them +The board grows a panel for each capability the application registers, and shows none of them otherwise. There is nothing to switch on: it renders the panel when the container can resolve the -contract, so installing the package is the whole configuration. +contract, so the registration is the whole configuration. -| Install | What appears | +Uptime, leader election and metrics live in the core package, so those three need no extra install — +just the call. Alerting and AI are separate packages, because each carries a dependency of its own. + +| Register | What appears | |---|---| -| `Healthie.NET.Uptime` | `24H` on the selected checker — uptime measured over real time — and `WORST`, the longest unbroken outage inside that window | +| `AddHealthieUptime()` | `24H` on the selected checker — uptime measured over real time — and `WORST`, the longest unbroken outage inside that window | | `Healthie.NET.Alerting` | An **ALERTS** view: the paged alert history, where each alert is delivered, and the settings a running dispatcher honours — see below | | `AddHealthieMetrics()` | A **METRICS** view: checks run, the share that reported healthy, transitions, overlapped triggers, and mean and slowest check duration | -| `Healthie.NET.LeaderElection` | A `LEADER` or `FOLLOWER` badge, hover-naming the replica — on a follower every checker sits still, which is otherwise indistinguishable from a broken board | +| `AddHealthieLeaderElection()` | A `LEADER` or `FOLLOWER` badge, hover-naming the replica — on a follower every checker sits still, which is otherwise indistinguishable from a broken board | | `Healthie.NET.AI` | An `EXPLAIN` button on a failing checker, which asks your `IChatClient` why it has been failing | ### The alerts view diff --git a/src/Healthie.LeaderElection/README.md b/src/Healthie.LeaderElection/README.md index 7dfe32e..304c5eb 100644 --- a/src/Healthie.LeaderElection/README.md +++ b/src/Healthie.LeaderElection/README.md @@ -1,7 +1,18 @@ -![Healthie.NET - Trust your uptime](https://raw.githubusercontent.com/ivanvyd/Healthie.NET/main/healthie.net.banner.png) +![Healthie.NET - Trust your uptime](https://raw.githubusercontent.com/ivanvyd/Healthie.NET/main/healthie.net.banner.png) # Healthie.NET.LeaderElection +> ### Deprecated as of 4.1.0 +> +> Leader election now ships in **[Healthie.NET](https://www.nuget.org/packages/Healthie.NET)**, the +> core package. Call `AddHealthieLeaderElection()` there and drop this reference — running the checks +> on one replica at a time works exactly as it does here. +> +> **Nothing breaks if you keep it.** This package is still published, as an assembly of type +> forwards, so an application referencing it keeps compiling and running untouched. It carried no +> third-party dependency, so keeping it separate cost you an install and saved you nothing. It will +> not gain features. + [![NuGet](https://img.shields.io/nuget/v/Healthie.NET.LeaderElection.svg)](https://www.nuget.org/packages/Healthie.NET.LeaderElection) **▶ [Live demo — healthie.compiletheory.com](https://healthie.compiletheory.com)** — a read-only Healthie.NET dashboard watching real status pages (Anthropic, OpenAI, GitHub, Cloudflare, and more), built from these packages. diff --git a/src/Healthie.Uptime/README.md b/src/Healthie.Uptime/README.md index f783568..6fcc14d 100644 --- a/src/Healthie.Uptime/README.md +++ b/src/Healthie.Uptime/README.md @@ -1,7 +1,18 @@ -![Healthie.NET - Trust your uptime](https://raw.githubusercontent.com/ivanvyd/Healthie.NET/main/healthie.net.banner.png) +![Healthie.NET - Trust your uptime](https://raw.githubusercontent.com/ivanvyd/Healthie.NET/main/healthie.net.banner.png) # Healthie.NET.Uptime +> ### Deprecated as of 4.1.0 +> +> Uptime reporting now ships in **[Healthie.NET](https://www.nuget.org/packages/Healthie.NET)**, the +> core package. Call `AddHealthieUptime()` there and drop this reference — uptime over any window +> works exactly as it does here. +> +> **Nothing breaks if you keep it.** This package is still published, as an assembly of type +> forwards, so an application referencing it keeps compiling and running untouched. It carried no +> third-party dependency, so keeping it separate cost you an install and saved you nothing. It will +> not gain features. + [![NuGet](https://img.shields.io/nuget/v/Healthie.NET.Uptime.svg)](https://www.nuget.org/packages/Healthie.NET.Uptime) **▶ [Live demo — healthie.compiletheory.com](https://healthie.compiletheory.com)** — a read-only Healthie.NET dashboard watching real status pages (Anthropic, OpenAI, GitHub, Cloudflare, and more), built from these packages.