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 'simp-dhcp', '6.9.0'
Learn more about managing modules with a PuppetfileDocumentation
This is a SIMP module
This module is a component of the System Integrity Management Platform, a compliance-management framework built on Puppet.
If you find any issues, they can be submitted to our JIRA.
Please read our Contribution Guide.
Module Description
This module sets up a DHCP server. The configuration is primarily pulled from a
SIMP rsync
server.
Reference
Plesae see REFERENCE.md for a full reference.
Development
Please read our Contribution Guide.
Visit the project homepage and look at our issues on JIRA.
Reference
Table of Contents
Classes
dhcp
: A selector for configuring the DHCP server or clientdhcp::dhcpd
: This class is used to start dhcpd and create dhcpd.conf
Classes
dhcp
The client portion has not yet been implemented.
Parameters
The following parameters are available in the dhcp
class:
is_client
Data type: Boolean
Not yet implemented
Default value: false
is_server
Data type: Boolean
Denotes that the system is a DHCP server
Default value: true
dhcp::dhcpd
This class is used to start dhcpd and create dhcpd.conf
Parameters
The following parameters are available in the dhcp::dhcpd
class:
package_name
enable_data_rsync
rsync_server
rsync_timeout
dhcpd_conf
firewall
logrotate
syslog
package_ensure
rsync_source
package_name
Data type: String[1]
The DHCP server package name
enable_data_rsync
Data type: Boolean
Enable the retrieval of the DHCP configuration from an rsync server
- NOTE: This will be disabled by default at some point in the future
Default value: true
rsync_server
Data type: String[1]
The address of the server from which to pull the DHCPD configuration
Default value: simplib::lookup('simp_options::rsync::server', { 'default_value' => '127.0.0.1' })
rsync_timeout
Data type:
Variant[
Integer[0],
Pattern[/\A\d+\z/]
]
The connection timeout when communicating with the rsync server
Default value: simplib::lookup('simp_options::rsync::timeout', { 'default_value' => '2' })
dhcpd_conf
Data type: Optional[String[1]]
The entire contents of the /etc/dhcpd.conf configuration file
- If this is set,
$enable_data_rsync
will be forced tofalse
Default value: undef
firewall
Data type: Boolean
Whether or not to include the SIMP iptables class
Default value: simplib::lookup('simp_options::firewall', { 'default_value' => false })
logrotate
Data type: Boolean
Whether or not to include the SIMP logrotate class
Default value: simplib::lookup('simp_options::logrotate', { 'default_value' => false })
syslog
Data type: Boolean
Whether or not to include the SIMP rsyslog class
Default value: simplib::lookup('simp_options::syslog', { 'default_value' => false })
package_ensure
Data type: String[1]
The ensure status of the dhcp package
Default value: simplib::lookup('simp_options::package_ensure', { 'default_value' => 'installed' })
rsync_source
Data type: String[1]
Default value: "dhcpd_${facts['environment']}_${facts['os']['name']}/dhcpd.conf"
- Fri Sep 13 2024 Steven Pritchard steve@sicura.us - 6.9.0
- [puppetsync] Update module dependencies to support simp-iptables 7.x
- Mon Oct 23 2023 Steven Pritchard steve@sicura.us - 6.8.0
- [puppetsync] Add EL9 support
- Wed Oct 11 2023 Steven Pritchard steve@sicura.us - 6.7.0
- [puppetsync] Updates for Puppet 8
- These updates may include the following:
- Update Gemfile
- Add support for Puppet 8
- Drop support for Puppet 6
- Update module dependencies
- These updates may include the following:
- Thu Sep 07 2023 Steven Pritchard steve@sicura.us - 6.6.0
- Add AlmaLinux 8 support
- Tue Aug 29 2023 Steven Pritchard steve@sicura.us - 6.5.0
- Support for Puppet 8 and stdlib 9
- Drop use of Stdlib::Compat::Integer type
- Drop use of deprecated top-level facts
- Update gem dependencies
- Drop support for Puppet 6
- Mon Jun 12 2023 Chris Tessmer chris.tessmer@onyxpoint.com - 6.4.0
- Add RockyLinux 8 support
- Sun Jul 17 2022 Trevor Vaughan trevor@sicura.us - 6.3.1
- Support Amazon Linux 2
- Tue Jun 15 2021 Chris Tessmer chris.tessmer@onyxpoint.com - 6.3.0
- Removed support for Puppet 5
- Ensured support for Puppet 7 in requirements and stdlib
- Wed Feb 03 2021 Liz Nemsick lnemsick.simp@gmail.com - 6.2.1
- Expanded simp/rsyslog dependendency range to < 9.0.0.
- Fri Dec 18 2020 Chris Tessmer chris.tessmer@onyxpoint.com - 6.2.1
- Removed EL6 support
- Tue Dec 10 2019 Trevor Vaughan tvaughan@onyxpoint.com - 6.2.0-0
- Add EL8 support
- Updated README.md
- Added REFERENCE.md
- Made use of rsync optional (enabled by default for backwards compatibility)
- Add support for passing in a full dhcpd.conf entry
- Ensure that the SELinux user and type are set for the configuration files
- Switch to using iptables::listen::udp for firewalld compatibility
- Add acceptance test
- Fri Aug 02 2019 Robert Vincent pillarsdotnet@gmail.com - 6.2.0-0
- Drop Puppet 4 support
- Add Puppet 6 support
- Add puppetlabs-stdlib 6 support
- Tue Feb 12 2019 Liz Nemsick lnemsick.simp@gmail.com - 6.1.1-0
- Use simplib::passgen() in lieu of passgen(), a deprecated simplib Puppet 3 function.
- Update the upper bound of stdlib to < 6.0.0
- Update a URL in the README.md
- Mon Oct 15 2018 Nick Miller nick.miller@onyxpoint.com - 6.1.0-0
- Added $dhcp::dhcpd::package_ensure parameter
- Changed the package from 'latest' to 'installed'
- It will also respect
simp_options::package_ensure
- Remove support for Puppet less than 4.10.4
- Add Puppet Strings documentation
- Update badges and contribution guide URL in README.md
- Mon Mar 19 2018 Trevor Vaughan tvaughan@onyxpoint.com - 6.1.0-0
- Added support for OEL and Puppet 5
- Wed Apr 19 2017 Nick Markowski nmarkowski@keywcorp.com - 6.0.1-0
- Updated logrotate to use new lastaction API
- Confine puppet version in metadata.json
- Mon Jan 23 2017 Nick Markowski nmarkowski@keywcorp.com - 6.0.0-0
- Calls to rsyslog::rule no longer contain logic
- Rsync source updated to new location
- Tue Dec 13 2016 Nick Markowski nmarkowski@keywcorp.com - 6.0.0-0
- Updated global catalysts
- Strong typed
- Thu Dec 01 2016 Trevor Vaughan tvaughan@onyxpoint.com - 6.0.0-0
- Updated to use the environment-aware rsync in SIMP 6
- Thu Dec 01 2016 Nicholas Hughes, Nick Markowski nmarkowski@keywcorp.com - 6.0.0-0
- Prevent log duplication and log where intended.
- Changed naming to XX or YY to come before the default Z_default.conf for local rules, but after the numbered configs used by the log_server class.
- Tue Nov 22 2016 Liz Nemsick lnemsick.simp@gmail.com - 5.0.0-0
- Update version to reflect SIMP6 dependencies
- Update SIMP6 dependencies
- Minor cleanup
- Tue Nov 15 2016 Liz Nemsick lnemsick.simp@gmail.com - 4.1.3-0
- Updated iptables dependency version
- Mon Jul 11 2016 Trevor Vaughan tvaughan@onyxpoint.com - 4.1.1-0
- Migration to semantic versioning and fix of the build system
- Mon Nov 09 2015 Chris Tessmer chris.tessmer@onypoint.com - 4.1.0-5
- migration to simplib and simpcat (lib/ only)
- Tue Jul 21 2015 Kendall Moore kmoore@keywcorp.com - 4.1.0-4
- Updated to use new rsyslog module.
- Fri Feb 27 2015 Trevor Vaughan tvaughan@onyxpoint.com - 4.1.0-3
- Updated to use the new 'simp' environment.
- Changed calls directly to /etc/init.d/rsyslog to '/sbin/service rsyslog' so that both RHEL6 and RHEL7 are properly supported.
- Fri Jan 16 2015 Trevor Vaughan tvaughan@onyxpoint.com - 4.1.0-2
- Changed puppet-server requirement to puppet
- Tue Jun 24 2014 Nick Markowski nmarkowski@keywcorp.com - 4.1.0-1
- Modified all checksums to be sha256 instead of md5 in an effort to enable FIPS.
- Wed Apr 16 2014 Kendall Moore kmoore@keywcorp.com
- Added spec tests.
- Mon Apr 14 2014 Trevor Vaughan tvaughan@onyxpoint.com
- Tidied up the code to work with Hiera.
- Tue Dec 10 2013 Kendall Moore kmoore@keywcorp.com
- Updated to new code documentation format.
- Mon Feb 25 2013 Maintenance 4.0.1-3
- Added a call to $::rsync_timeout to the rsync call since it is now required.
- Created a Cucumber test that configures and tests dhcp.
- Tue Oct 23 2012 Maintenance 4.0.1-2
- Updated the rsyslog rule to be more concise.
- Thu May 03 2012 Maintenance 4.0.1-1
- Linked /etc/dhcpd.conf to /etc/dhcp/dhcpd.conf for consistency between RHEL5 and RHEL6.
- Moved mit-tests to /usr/share/simp...
- Updated pp files to better meet Puppet's recommended style guide.
- Fri Mar 02 2012 Maintenance 4.0.1-0
- Improved test stubs.
- DHCP is now set to no longer timeout at boot time. It will, by default, wait for a 7 days prior to failing.
- Mon Jan 30 2012 Maintenance 4.0-3
- Added test stubs
- Mon Dec 26 2011 Maintenance 4.0-2
- Updated the spec file to not require a separate file list.
- Mon Nov 07 2011 Maintenance 4.0-1
- Fixed call to rsyslog restart for RHEL6.
- Tue Jul 12 2011 Maintenance 4.0-0
- Use new RHEL6 location for dhcpd.conf.
- Tue Mar 29 2011 Maintenance - 2.0.0-2
- The dhcp module now expects to have an associated rsync space that is password protected.
- Modified to use a lower number for rsyslog so that the default rules would start at the appropriate location.
- Fri Feb 04 2011 Maintenance - 2.0.0-1
- Changed all instances of defined(Class['foo']) to defined('foo') per the directions from the Puppet mailing list.
- Updated to use rsync native type
- Tue Jan 11 2011 Maintenance 2.0.0-0
- Refactored for SIMP-2.0.0-alpha release
- Tue Oct 26 2010 Maintenance - 1-2
- Converting all spec files to check for directories prior to copy.
- Thu Jun 10 2010 Maintenance 1.0-1
- No templates to copy in caused an RPM build failure.
- Thu Jun 10 2010 Maintenance 1.0-0
- Dhcpd now writes to /var/log/dhcpd.log
- Addition of pupmod-iptables, pupmod-rsyslog, and pupmod-logrotate to the requires list.
- Code refactor and doc update.
Dependencies
- puppetlabs/stdlib (>= 8.0.0 < 10.0.0)
- simp/iptables (>= 6.5.3 < 8.0.0)
- simp/simplib (>= 4.9.0 < 5.0.0)
- simp/logrotate (>= 6.5.0 < 7.0.0)
- simp/rsyslog (>= 7.6.0 < 9.0.0)
- simp/rsync (>= 6.1.1 < 7.0.0)
pupmod-simp-dhcp - A Puppet Module for managing DHCP -- Per Section 105 of the Copyright Act of 1976, these works are not entitled to domestic copyright protection under US Federal law. The US Government retains the right to pursue copyright protections outside of the United States. The United States Government has unlimited rights in this software and all derivatives thereof, pursuant to the contracts under which it was developed and the License under which it falls. --- Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.