Version information
This version is compatible with:
- Puppet Enterprise 2023.8.x, 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x
- Puppet >= 7.0.0 < 9.0.0
- , , ,
Start using this module
Add this module to your Puppetfile:
mod 'stm-haveged', '5.2.0'
Learn more about managing modules with a PuppetfileDocumentation
haveged
Table of Contents
- Overview
- Module Description - What does the module do?
- Setup - The basics of getting started with haveged
- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
Overview
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.
Setup
What haveged affects
Package, service and configuration files for the haveged daemon.
-
On Debian based systems this includes the
/etc/default/haveged
file. -
On RedHat based 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.
Usage
Use a higher threshold of available entropy
class { 'haveged':
write_wakeup_threshold => 2048,
}
Reference
See REFERENCE.md for the reference documentation.
Development
Feel free to send pull requests for new features and other operating systems.
Reference
Table of Contents
Classes
haveged
: Manage the haveged daemon
Classes
haveged
Manage the haveged daemon
Examples
Declaring the class
class { 'haveged':
write_wakeup_threshold => 2048,
}
Parameters
The following parameters are available in the haveged
class:
package_name
package_ensure
service_name
service_ensure
service_enable
write_wakeup_threshold
buffer_size
data_cache_size
instruction_cache_size
package_name
Data type: String
The name of the package to manage. Normally provided by the module's
hiera configuration. Default: haveged
package_ensure
Data type: String
The state of the haveged package. Valid options: present
, installed
,
absent
, purged
, held
, latest
or a specific package version
number. Default: present
service_name
Data type: String
The name of the service to manage. Normally provided by the module's
hiera configuration. Default: haveged
service_ensure
Data type: Stdlib::Ensure::Service
Whether the service should be running. Normally provided by the module's
hiera configuration. Default: running
service_enable
Data type: Boolean
Whether the service should be enabled to start at boot time. This must
be an boolean value. Default: true
write_wakeup_threshold
Data type: Integer
The haveged daemon generates more data if the number of entropy bits
falls below this value. The value must be a an integer. Default: 1024
buffer_size
Data type: Optional[Integer]
The size of the collection buffer. The value must be a an integer. It
is interpreted as size in KB. Default: 128
Default value: undef
data_cache_size
Data type: Optional[Integer]
The data cache size in KB. The value must be a an integer. Default is
16
or as determined by cpuid.
Default value: undef
instruction_cache_size
Data type: Optional[Integer]
The instruction cache size in KB. The value must be a an integer.
Default is 16
or as determined by cpuid.
Default value: undef
2024-08-13 - Release 5.2.0
Enhancements
- Allow system 7.x module
- Add support for Ubuntu-24.04
2023-10-03 - Release 5.1.0
Enhancements
- Improve coverage of unit tests
- Allow systemd 6.x module
- Add support for Debian-12
2023-07-06 - Release 5.0.0
Breaking changes
- Remove support for Puppet 6
Enhancements
- Allow Stdlib 9.x
- Add support for Puppet 8
2023-02-05 - Release 4.0.0
Breaking changes
- Remove support for CentOS and Scientific Linux
- Remove support for Debian 9 (EoL)
Enhancements
- Add support for Ubuntu-22.04
- Add support for RedHat 9
- Add support for OracleLinux 9
- Allow systemd module 4.x
2021-09-29 - Release 3.0.1
Enhancements
- Allow stdlib 8.x
2021-08-05 - Release 3.0.0
Enhancements
- Add support for Debian 11
- Use the
puppet/systemd
module to manage the daemon.
Breaking changes
- Remove support for Puppet 5
- Remove support for Enterprise Linux 6 (EoL)
- Remove support for Ubuntu 14.04 and 16.04 (EoL)
2020-10-28 - Release 2.1.0
Enhancements
- Add Support for Debian 10
- Add Support for Ubuntu 20.04
- Add Support for RedHat 8
- Add Support for CentOS 8
- Add Support for OracleLinux 8
2019-09-27 - Release 2.0.0
Breaking changes
- Remove support for Puppet 4.
Enhancements
- Add support for Stdlib 6.x.
2019-02-17 - Release 1.1.0
Summary
The module dependencies have been updated to include current releases of Puppet and the stdlib module.
2018-07-22 - Release 1.0.0
Summary
This release is a complete rewrite of the module.
Breaking changes
- The module now uses data types to validate input parameters and therefore no longer works with Puppet 3.
- Numeric class parameters must now be integer values and can no longer be strings as in previous releases.
- Support for some older operating systems (Debian releases 6 & 7, Ubuntu 12.04) has been removed.
2015-10-11 - Release 0.2.0
Summary
This release adds support for RedHat based systems.
Features
- Add
haveged_startup_provider
fact to check whether the node usesinit
orsystemd
.
2015-06-09 - Release 0.1.0
Summary
Initial release.
Dependencies
- puppetlabs/stdlib (>= 5.1.0 < 10.0.0)
- puppet/systemd (>= 3.1.0 < 8.0.0)
Copyright (c) 2015, Stefan Möding All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.