3.9.5
New Features
- Metrics | Node Health page:
- Detects Puppet agent disabled state using the custom fact
puppet_agent_disabled(and optionalpuppet_agent_disable_message). - Shows last-known state from facts + report/fact staleness signals ("stale = possibly disabled or offline").
- Live "Check Current Status (via Bolt)" button runs an on-demand check using Bolt/SSH. This works even when the agent is disabled (the fundamental limitation of any fact-based approach).
- Table with filtering, status badges, disable messages, timestamps, and live results.
- Summary counts + help text.
- Detects Puppet agent disabled state using the custom fact
- Added supporting documentation:
docs/puppet-agent-disabled-fact.md(bash external fact + Ruby alternative + caveats). - Installer and updater now stage
puppet_agent_disabledexternal fact atshare/facts.d/puppet_agent_disabled(executable bash script with the exact required name). Post-install/update messages guide users on copying it into their Puppet module's facts.d/ so it gets pluginsynced to agents as executable.
Improvements
- Metrics | Fact Distribution: significantly upgraded graphing from basic/juvenile charts to professional Recharts visualizations matching the rest of the app.
- Numeric facts: clean sorted
AreaChartdistribution curves (rank vs. value) with gradients instead of toy scatter plots. - Categorical facts: proper
BarChartwith horizontal layout on expand for long labels. - Consistent tooltips, axes, colors, and styling with Run Performance and health pages.
- Numeric facts: clean sorted
- Clarified
puppet_agent_disabledfact deployment docs and installer messaging for exact executable bash filename.
Bug Fixes
- Metrics | Fleet Compliance: "Nodes by Category" pane now properly scrollable using the robust mechanism from Dashboard | Overview and other pages:
<Box style={{ maxHeight: 500, minHeight: 0, overflow: 'hidden' }}><ScrollArea h="100%" ...></ScrollArea></Box>inside Collapse (with Paper overflow handling). The lists under "Compliant" (and other categories) are now fully scrollable with the full set of nodes. All node lists are sorted alphabetically by certname usinglocaleCompare.
See the Fleet Fact Overview and Node Health pages for details.
Assisted By: Grok AI