Skip to content

AutoHttps 1.2.0

Choose a tag to compare

@astralmaster astralmaster released this 02 Sep 11:25
· 76 commits to main since this release

Changes since 1.1.0. Four ways to see what AutoHttps is doing and react to it, none of them adding a dependency.

  • Certificate listeners. Implement IAutoHttpsCertificateListener and register it with AddCertificateListener to be told when the served certificate changes (issued, renewed, or picked up from another instance) and when an order fails. Use it to reload a proxy, copy the certificate elsewhere, warm a cache, or notify an operator. A change is reported only when the served certificate actually changes, so a reload runs when there is something new; a listener that throws is logged and cannot affect the certificate.
  • A health check. AddHealthChecks().AddAutoHttps() reports healthy while a certificate from the authority is in use, unhealthy once it has expired, and a configurable status before the first one is obtained. It is tagged ready, so a readiness probe picks it up while a liveness probe leaves it alone.
  • Metrics. A meter named AutoHttps publishes seconds until the certificate expires and a count of completed orders tagged outcome=success or outcome=failure. Subscribe with OpenTelemetry or a MeterListener.
  • An inspector. Inject IAutoHttpsCertificateInspector to read the current certificate and the next renewal time from your own code, for a status page or a diagnostic endpoint.

The ACME client and the ordering path are unchanged. Checked against the unit and integration suites and against Pebble, on net8.0 and net10.0. No breaking changes; upgrading is a package bump.