Puppet Module for managing hardware watchdogs

Matt Dainty



288 latest version

5.0 quality score

Version information

  • 2.1.0 (latest)
  • 2.0.0
  • 1.1.0
  • 1.0.0
released Jun 1st 2021
This version is compatible with:
  • Puppet Enterprise 2021.1.x, 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x
  • Puppet >=5.5.10 <8.0.0
  • RedHat

Start using this module

Tags: tco, watchdog


bodgit/watchdog — version 2.1.0 Jun 1st 2021


Build Status Codecov Puppet Forge version Puppet Forge downloads Puppet Forge - PDK version

Table of Contents

  1. Description
  2. Setup - The basics of getting started with watchdog
  3. Usage - Configuration options and additional functionality
  4. Reference - An under-the-hood peek at what the module is doing and how
  5. Limitations - OS compatibility, etc.
  6. Development - Guide for contributing to the module


This module manages a hardware watchdog. This is usually implemented as a kernel device and optionally a userspace process to periodically reset the device to prevent it rebooting the machine.

This module ensures that the watchdog is enabled and configured to reset the machine if it has not been reset after the specified period. If a userspace process is required to reset the watchdog then this will be configured to run periodically.


Setup Requirements

This module assumes that the appropriate hardware device is already configured and accessible. This could be as simple as loading a kernel module or as complex as compiling a whole new kernel from scratch.

Beginning with watchdog

include watchdog


If you want to use something else to manage the watchdog daemon, you can do:

class { 'watchdog':
  service_manage => false,


The reference documentation is generated with puppet-strings and the latest version of the documentation is hosted at and available also in the


There is no standard for watchdog timeout periods so it's potentially tricky to ship a default value that works on all hardware however hopefully a period of 60 seconds should work in 99% of cases.

This module has been built on and tested against Puppet 5 and higher.

The module has been tested on:

  • RedHat Enterprise Linux 6/7
  • OpenBSD 6.7/6.8 (anything as far back as 4.9 should work)


The module relies on PDK and has rspec-puppet tests. Run them with:

$ bundle exec rake spec

Please log issues or pull requests at github.