Newer
Older
puppet-interfaces / README.markdown
@Andreas Jaggi Andreas Jaggi on 1 May 2014 2 KB Add coveralls badge to readme
What is it?
===========

A Puppet module to manage /etc/network/interfaces.

[![Build Status](https://secure.travis-ci.org/x-way/puppet-interfaces.png)](http://travis-ci.org/x-way/puppet-interfaces)
[![Coverage Status](https://coveralls.io/repos/x-way/puppet-interfaces/badge.png)](https://coveralls.io/r/x-way/puppet-interfaces)

Usage:
------

Basic example which only configures the loopback interface:

```
include interfaces
interfaces::iface { 'lo': family => 'inet', method => 'loopback', auto => 1 }
```

Standard example with a regular Ethernet interface configured for DHCP:

```
include interfaces
interfaces::iface { 'eth0': family => 'inet', method => 'dhcp', auto => 1, allow_hotplug => 1 }
```

Network interface with static addressing and VLAN with DHCP configuration:
```
include interfaces
interfaces::iface { 'eth0': family => 'inet', method => 'static', options => ['address 192.0.2.1','netmask 255.255.255.0','gateway 192.0.2.2'], auto => 1, allow_hotplug => 1 }
interfaces::iface { 'eth0.123': family => 'inet', method => 'dhcp', options => ['vlan_raw_device eth0'], auto => 1 }
```

Static IPv6 address configuration:
```
include interfaces
interfaces::iface { 'eth0': family => 'inet6', method => 'static', options => ['address 2001:db8::1','netmask 64'], auto => 1, allow_hotplug => 1 }
```

Dualstack configuration:
```
include interfaces
interfaces::iface { 'eth0': family => 'inet', method => 'dhcp', auto => 1, allow_hotplug => 1 }
interfaces::iface { 'eth0v6': ifname => 'eth0', family => 'inet6', method => 'static', options => ['address 2001:db8::1','netmask 64'] }
```

Reference:
----------

The puppet module directly implements the stanzas documented in interfaces(5).

```
interfaces::auto()
interfaces::allow($subsystem)
interfaces::mapping($script, $maps=[])
interfaces::iface($family, $method, $options=[], $ifname=$name, $auto=0, $allow_hotplug=0)
```

Currently the only shortcuts are the $auto parameter of interfaces::iface which when set to 1 directly produces an interfaces::auto entry for the interface and the $allow_hotplug parameter of interfaces::iface which when set to 1 directly produces an interfaces::allow hotplug subsystem entry for the interface.