Files
dnsmasq-webui/src/DnsmasqWebUI/Models/Dnsmasq/DnsmasqVersionInfo.cs
T
alex d910688742 Add dnsmasq version awareness, readiness endpoint, and Docker healthcheck
- Options: VersionCommand, VersionTimeoutSeconds, MinimumVersion, EnforceMinimumVersion
- Version probe service and parser; startup enforcement when EnforceMinimumVersion
- Save flow: block save on probe failure (VersionProbeFailed) or version below minimum (UnsupportedVersion)
- Status API and Dnsmasq page: show version with tooltip, link to CHANGELOG
- Readiness: GET /healthz/ready (version + dnsmasq running when StatusCommand set)
- MapReadyHealthCheck extension; Dockerfile HEALTHCHECK + curl; compose healthcheck and service_healthy
- Docs: README and agents.md updated
2026-03-08 23:12:38 +10:00

17 lines
938 B
C#

namespace DnsmasqWebUI.Models.Dnsmasq;
/// <summary>Result of probing dnsmasq version and comparing to minimum required.</summary>
/// <param name="InstalledVersion">Parsed version from version command output; null if probe failed or could not parse.</param>
/// <param name="MinimumVersion">Configured minimum required version.</param>
/// <param name="ProbeSucceeded">True when the version command ran and output could be parsed.</param>
/// <param name="IsSupported">True when probe succeeded and installed version is at least minimum.</param>
/// <param name="ProbeCommand">The command that was run (e.g. "dnsmasq --version").</param>
/// <param name="Error">Error message when probe failed or version could not be parsed; null on success.</param>
public record DnsmasqVersionInfo(
Version? InstalledVersion,
Version MinimumVersion,
bool ProbeSucceeded,
bool IsSupported,
string ProbeCommand,
string? Error);