aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 9bd2000defd93d2f0ffad947ee3f8ad5fba36483 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# puppet tftp module

## Overview

Install tftp-hpa package and configuration files for osfamily Debian.

## Usage

### class tftp

Parameters:

* username: tftp daemon user, default tftp.
* 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 inetd, default false. (Warning: this option when enabled to true is not compatible with custom service options).
* inetd_conf: inetd.conf file path, default /etc/inetd.conf.

Enabling inetd requires [puppetlabs-inetd](https://github.com/puppetlabs/puppetlabs-inetd) module.

Example:

    class tftp {
      directory => '/opt/tftp',
      address   => $::ipaddress,
      options   => '--ipv6 --timeout 60',
    }

### tftp::file

Parameters:

*  ensure: file type, default file.
*  recurse: file recurse, default false.
*  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.

Example:

    tftp::file { 'pxelinux.0':
      source => 'puppet:///modules/acme/pxelinux.0',
    }
    
    tftp::file { 'pxelinux.cfg':
      ensure => directory,
    }
    
    tftp::file { 'pxelinux.cfg/default':
      source => 'puppet:///modules/acme/default',
    }

## Example

1. tftp directories not in the OS package defaults should be managed as file resources.
2. 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