Version information
released Aug 11th 2020
This version is compatible with:
Start using this module
Add this module to your Puppetfile:
mod 'mighq-ipset', '0.7.0'
Learn more about managing modules with a PuppetfileDocumentation
mighq/ipset — version 0.7.0 Aug 11th 2020
ipset
Overview
Linux ipset management by puppet.
Roughly based on thias/ipset module.
- checks for current ipset state, before doing any changes to it
- applies ipset every time it drifts from target state, not only on config file change
- handles type changes
- autostart support for rhel-6 and rhel-7 family (upstart, systemd)
Usage
direct content
Resource accepts ipset content as list of entries, one entry per line ("\n" separated). Can be generated by ERB template, or filled in directly from the manifest.
ipset { 'foo':
ensure => present,
set => "1.2.3.4\n5.6.7.8",
type => 'hash:ip',
}
content as array
Set can be filled from array data structure. Typically passed from Hiera.
ipset { 'foo':
ensure => present,
set => ['1.2.3.4', '5.6.7.8'],
type => 'hash:ip',
}
local file
Set will be filled in from the file present on the target computer's filesystem.
file { '/tmp/bar_set_content':
ensure => present,
content => "1.2.3.0/24\n5.6.7.8/32"
}
->
ipset { 'bar':
ensure => present,
set => 'file:///tmp/bar_set_content',
type => 'hash:net',
}
puppet master file
Content is passed from the file available in puppet master's definitions.
ipset { 'baz':
ensure => present,
set => 'puppet:///modules/foo/bar.ipset',
}
2018-08-14 - 0.6.0
- ignore hashsize parameter when syncing live ipsets
- fail if params cannot be synced (typically because ipset is already ised by iptables)
- installation ordering 2016-12-02 - 0.5.2
- installation tuning 2016-07-22 - 0.5.1
- just code quality fixes 2016-07-19 - 0.5.0
- improved support for rhel 7 + service deps
- fix from pull request #10 & #13
- be more strict what we accept as params
- fix: actually do the removal
- if loading of set contents fail, fail puppet
- ipset::unmanaged support 2016-06-16 - 0.4.1
- fix lost return value in ipset_sync 2016-05-27 - 0.4.0
- do not collide with sysvinit service from pkg 2016-04-14 - 0.3.3
- whitespace cleanup - indentation 2016-04-14 - 0.3.2
- verbose output option
- trim whitespaces from start&end of config file when comparing 2016-02-26 - 0.3.1
- /32 and /128 entries fix 2016-02-26 - 0.3.0
- support for passing set content as an array
- using swap when changing set contents - solves iptables cooperation problems
- ability to not sync the runtime (in-kernel) state with configs
- ability to change only one of set options
- input cleanup for duplicates in set content
- better performance when checking for set existence
- config folder for debian changed to /etc/ipset.d
- other minor code & bug fixes
2015-04-26 - 0.2.1
- documentation update
2015-04-26 - 0.2.0
- code quality tuning
- usage examples added to README.md
- systemd service definition / centos7 support
2015-01-23 - 0.1.0
- initial module release
Dependencies
- puppetlabs/stdlib (>=4.1.0)