Forge Home


Basic host configuration


9,876 latest version

2.3 quality score

Version information

  • 0.1.3 (latest)
  • 0.1.2
  • 0.1.1
released Apr 18th 2013

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'apowers-basichost', '0.1.3'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add apowers-basichost
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install apowers-basichost --version 0.1.3

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.



apowers/basichost — version 0.1.3 Apr 18th 2013


This was my first module. I have since abandoned it in favor of several modules that do more specific things.


Basic host configuration.

  • Network interface configuration
  • dhclient configuration
  • Common packages
  • /etc/skel files
  • Common directories like '/home'.


Paramaterized and hiera compatible.

Written for puppet 3.x, not tested with puppet 2.x

Supports Debian and FreeBSD with CentOS and others coming soon.


For non-static interfaces (default), this module will configure DHCP-client with a fallback lease for the current IP address of the host.

CARP, VLAN, and virtual interfaces are ignored.

Assigning a static address assumes that the current IP address of the system is correct and will be used in the dhclient and interfaces configuration.

Default route logic is very basic. Only the first default route in the routing table will be recognized.

Hiera YAML

  • String: $basichost::resolv_conf['domain']

  • String: $basichost::resolv_conf['search']

  • Array: $basichost::resolv_conf['nameservers']

  • Array: $basichost::directories

  • Array: $basichost::packages

  • Bool: $basichost::static_address[<interface_name>]

    basichost::resolv_conf: domain: '' search: '' nameservers:

    • ''

    • ''


    • ''


    • ''

      basichost::static_address: <interface_name>: <true|false>


  • CentOS support.
  • MS Windows support?
  • SmartOS support?
  • Even if all interfaces are "static", dhclient will still be started. That might be a problem.