puppet tftp module
Overview
Install tftp-hpa package and configuration files
This module will install TFTP as a xinetd service by default. It can be overridden to run as a standalone daemon by setting the inetd parameter to false.
Usage
class tftp
Parameters:
- username: tftp daemon user, default tftp(debian) or nobody(redhat).
 - directory: service directory, deafult see params class.
 - address: bind address, default 0.0.0.0.
 - port: bind port, default 69.
 - options: service option, default --secure.
 - inetd: run service via xinetd, default true.
 
Example:
class tftp {
  directory => '/opt/tftp',
  address   => $::ipaddress,
  options   => '--ipv6 --timeout 60',
}
tftp::file
Parameters:
- ensure: file type, default file.
 - owner: file owner, default tftp.
 - group: file group. default tftp.
 - mode: file mode, default 0644 (puppet will change to 0755 for directories).
 - content: file content.
 - source: file source, defaults to puppet:///module/${caller_module_name}/${name} for files without content.
 - recurse: directory recurse, default false.
 - purge: directory recurse and purge.
 - replace: replace directory with file or symlink, default undef.
 - recurselimit: directory recurse limit, default undef.
 
Example:
tftp::file { 'pxelinux.0':
  source => 'puppet:///modules/acme/pxelinux.0',
}
tftp::file { 'pxelinux.cfg':
  ensure => directory,
}
tftp::file { 'pxelinux.cfg/default':
  ensure => file,
  source => 'puppet:///modules/acme/pxelinux.cfg/default',
}
The last example can be abbreviated to the following if it's in the acme module:
tftp::file { 'pxelinux.cfg/default': }
Example
- tftp directories not in the OS package defaults should be managed as file resources.
 - customization for the class tftp must be declared before using tftp::file resources.
 
Example:
file { '/opt/tftp':
  ensure => directory,
}
class { 'tftp':
  directory => '/opt/tftp',
  address   => $::ipaddress,
}
tftp::file { 'pxelinux.0':
  source => 'puppet:///modules/acme/pxelinux.0',
}
The examples use a module acme and the tftp files should be placed in calling module path i.e. (/etc/puppet/modules/acme/files).
Supported Platforms
The module have been tested on the following operating systems. Testing and patches for other platforms are welcomed.
- Debian Wheezy
 - Ubuntu Oneiric
 - CentOS
 
