FreeBSD Jails with Puppet
Go to file
R. Tyler Croy 24c9b907d4
Use the proper package name all through the setup
I wasn't braining correctly before when I committed the half-baked change
2017-09-22 20:22:14 -07:00
lib/puppet pkglist, step 1: add param, ensure nothing breaks 2017-06-26 21:11:56 +02:00
manifests Use the proper package name all through the setup 2017-09-22 20:22:14 -07:00
spec Reduce expectations per test 2017-06-24 12:49:53 -07:00
templates Improve the deployment of jails 2014-02-09 12:45:13 -08:00
.gitignore modulesync 2017-02-07 2017-02-25 21:52:11 -08:00
.msync.yml modulesync 2017-02-07 2017-02-25 21:52:11 -08:00
.pmtignore modulesync 2017-02-07 2017-02-25 21:52:11 -08:00
.rspec Import testing from skeleton 2014-10-18 20:01:29 -07:00
.rubocop.yml modulesync 2017-02-07 2017-02-25 21:52:11 -08:00
.sync.yml modulesync 2017-02-07 2017-02-25 21:52:11 -08:00
.travis.yml modulesync 2017-02-07 2017-02-25 21:52:11 -08:00
.yardopts modulesync 2017-02-07 2017-02-25 21:52:11 -08:00
CHANGELOG.md (rel) 3.1.0 2016-08-29 13:05:09 -07:00
Gemfile some style fixes to make test rake rspec 2017-06-18 17:49:51 +02:00
README.md Add user_data support 2016-05-31 21:00:18 -07:00
Rakefile some style fixes to make test rake rspec 2017-06-18 17:49:51 +02:00
metadata.json fix open-ended concat version 2017-06-18 17:11:06 +02:00

README.md

FreeBSD Jail management with Puppet

Puppet Forge Build Status

Manage FreeBSD jails with Puppet, leveraging iocage for jail management.

Setup

This module expects to be the only jail manager on a given system. Each system where jails will be managed needs to include the jail::setup class as well.

include jail::setup

This simply installs 'iocage' and removes '/etc/jail.conf'.

This allows the type to use the correct jail without having to specify the pool on each jail.

A simple jail

jail { 'myjail1':
  ensure    => present,
  state     => 'up',
  ip4_addr  => 'em0|10.0.0.10/24',
  ip6_addr  => 'em0|fc00::10/64',
  hostname  => 'myjail1.example.com',
  boot      => 'on',
  user_data => template('mysite/user_data.sh.erb'),
}

Note the ip4_addr and the ip6_addr properties take an interface name and an IP address separated by a pipe character. This value is passed directly to iocage(7). You may wish to read the man page.