Skip to content

v6.2.2

Choose a tag to compare

@m4r1k m4r1k released this 08 Oct 14:05
· 22 commits to main since this release
e2a4f30

Eneru 6.2.2 fixes remote shutdown for routers and switches without a POSIX shell, two eneru config check false alarms on FreeBSD and pfSense, and adds an opt-in escape hatch for a UPS whose battery-charge reading can't be trusted. There are no breaking configuration changes.

Fixed

  • Remote shutdown reaches routers and switches without a POSIX shell again. MikroTik RouterOS has no sh, and neither do Cisco, Juniper or Windows' cmd.exe. Since 6.1.8 Eneru has wrapped every remote command in shell syntax, which RouterOS rejects as a whole, so a configured switch shutdown never ran. Because RouterOS can exit 0 for a failed command, Eneru could even log it as sent.
    • New per-server posix_shell. The default, auto, asks the machine over SSH and judges its answer: a machine without a shell then gets its commands exactly as written. Until a machine answers, Eneru behaves as before. Windows prints its error on stderr only, so set posix_shell: false there.
    • New per-server probe_command replaces the global health probe, and the optional probe_expect names text the probe's output must contain, for CLIs whose exit code can't be trusted.
  • eneru config check no longer reports FreeBSD's /sbin/shutdown as missing. Only root and the operator group can run it. For a command run through sudo, sudo -n -l now decides.
  • config check warns about a backgrounded command that keeps SSH waiting. FreeBSD's delayed shutdown -h +3 & keeps the session open for the whole delay, so Eneru timed out and reported a failed shutdown that was in fact scheduled. The warning shows the fix for sh and for tcsh.

Added

  • triggers.trust_battery_charge for a UPS whose charge reading lies. During a real outage a UniFi UPS reported its charge falling from 100% to 52% in 90 seconds while the battery voltage held at 12.2 V and its own runtime estimate still showed about 18 minutes. Eneru shut down on those numbers; the battery then ran the host for more than 30 minutes.
    • trust_battery_charge: false (per UPS, or globally) skips the low-battery and depletion triggers. Critical runtime, time on battery, a failed self-test, FSD and a lost connection still apply. It's rejected unless extended_time is enabled, so the UPS always keeps a time limit.
    • While the charge is trusted, Eneru warns once per outage (BATTERY_CHARGE_ANOMALY) when the charge contradicts the runtime estimate and the battery voltage. The warning never changes a shutdown decision.
    • The default doesn't change. See When the charge reading lies before turning it off.

Thanks

  • Thank you to @ckrevel for following up on issue #128 with the 6.2.1 output from pfSense and a MikroTik switch.

This point release is intentionally not marked GitHub "Latest". The v6.2.0 feature release remains pinned there, while package repositories and container tags advance to 6.2.2.

Full details: changelog.