Forge Home


Basic host configuration


10,489 latest version

2.3 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

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.