Forge Home


Install and manage the HAVEGE daemon.

Stefan Möding



1,120 latest version

5.0 quality score

Version information

  • 2.1.0 (latest)
  • 2.0.0
  • 1.1.0
  • 1.0.0
  • 0.2.0
  • 0.1.0
released Oct 28th 2020
This version is compatible with:
  • Puppet Enterprise 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 < 7.0.0
  • Debian

Start using this module


stm/haveged — version 2.1.0 Oct 28th 2020


Build Status Puppet Forge License

Table of Contents

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


Install and manage the haveged daemon.

Module Description

The haveged daemon provides a random number generator based on the HAVEGE (HArdware Volatile Entropy Gathering and Expansion) algorithm. This module provides a way of installing and setting up the daemon in your environment.


What haveged affects

Package, service and configuration files for the haveged daemon.

  • On Debian based systems this includes the /etc/default/haveged file if an init based startup system is used. For systems using systemd the configuration is stored in the /etc/systemd/system/haveged.service.d/opts.conf file.

  • On RHEL 6 systems the configuration is unfortunately hardcoded and no configuration file is used.

  • On RHEL 7 systems the configuration is stored in the /etc/systemd/system/haveged.service.d/opts.conf file.

Setup Requirements

This module requires the stdlib module.

The haveged package is part of the EPEL yum repository, so this repository must be enabled on Enterprise Linux to be able to install the package.

Beginning with haveged

Declare the haveged class to run the haveged daemon with the default parameters.

class { 'haveged': }

This installs the haveged package and starts the service using default parameters.

See the following sections for a detailed description of the available configuration options.


Use a higher threshold of available entropy

class { 'haveged':
  write_wakeup_threshold => 2048,



This module provides the following facts.

  • haveged_startup_provider: The startup system used on the node. The implementation uses the process name of PID 1 to resolve the fact. The value is either systemd or init.

More Information

See for all other reference documentation.


The haveged module has been tested on

  • Debian 8 (Jessie)
  • Debian 9 (Stretch)
  • Ubuntu 14.04 (Trusty Tahr)
  • Ubuntu 16.04 (Xenial Xerus)
  • Ubuntu 18.04 (Bionic Beaver)
  • CentOS 6
  • CentOS 7

Unfortunately the configuration is hardcoded on RHEL 6 systems. Using class parameters to set specific options will have no effect.


Feel free to send pull requests for new features and other operating systems.