Build all branches on travis
[puppet-modules/puppetlabs-apt.git] / README.md
1 # Apt module for Puppet
2
3 [![Build Status](https://travis-ci.org/puppetlabs/puppetlabs-apt.png?branch=master)](https://travis-ci.org/puppetlabs/puppetlabs-apt)
4
5 ## Description
6 Provides helpful definitions for dealing with Apt.
7
8 ## Usage
9
10 ### apt
11 The apt class provides a number of common resources and options which
12 are shared by the various defined types in this module. This class
13 should always be included in your manifests if you are using the `apt`
14 module.
15
16     class { 'apt':
17       always_apt_update    => false,
18       disable_keys         => undef,
19       proxy_host           => false,
20       proxy_port           => '8080',
21       purge_sources_list   => false,
22       purge_sources_list_d => false,
23       purge_preferences_d  => false
24     }
25
26 ### apt::builddep
27 Install the build depends of a specified package.
28
29     apt::builddep { "glusterfs-server": }
30
31 ### apt::force
32 Force a package to be installed from a specific release.  Useful when
33 using repositories like Debian unstable in Ubuntu.
34
35     apt::force { "glusterfs-server":
36           release => "unstable",
37           version => '3.0.3',
38           require => Apt::Source["debian_unstable"],
39     }
40
41 ### apt::pin
42 Add an apt pin for a certain release.
43
44     apt::pin { "karmic": priority => 700 }
45     apt::pin { "karmic-updates": priority => 700 }
46     apt::pin { "karmic-security": priority => 700 }
47
48 ### apt::ppa
49 Add a ppa repository using `add-apt-repository`.  Somewhat experimental.
50
51     apt::ppa { "ppa:drizzle-developers/ppa": }
52
53 ### apt::release
54 Set the default apt release.  Useful when using repositories like
55 Debian unstable in Ubuntu.
56
57     apt::release { "karmic": }
58
59 ### apt::source
60 Add an apt source to `/etc/apt/sources.list.d/`.
61
62     apt::source { "debian_unstable":
63       location          => "http://debian.mirror.iweb.ca/debian/",
64       release           => "unstable",
65       repos             => "main contrib non-free",
66       required_packages => "debian-keyring debian-archive-keyring",
67       key               => "55BE302B",
68       key_server        => "subkeys.pgp.net",
69       pin               => "-10",
70       include_src       => true
71     }
72
73 This source will configure your system for the Puppet Labs APT
74 repository.
75
76     apt::source { 'puppetlabs':
77       location   => 'http://apt.puppetlabs.com',
78       repos      => 'main',
79       key        => '4BD6EC30',
80       key_server => 'pgp.mit.edu',
81     }
82
83 ### apt::key
84 Add a key to the list of keys used by apt to authenticate packages.
85
86     apt::key { "puppetlabs":
87       key        => "4BD6EC30",
88       key_server => "pgp.mit.edu",
89     }
90
91     apt::key { "jenkins":
92       key        => "D50582E6",
93       key_source => "http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key",
94     }
95
96 Note that use of the "key_source" parameter requires wget to be
97 installed and working.
98
99
100 ## Contributors
101 A lot of great people have contributed to this module. A somewhat
102 current list follows.
103
104 Ben Godfrey <ben.godfrey@wonga.com>
105 Branan Purvine-Riley <branan@puppetlabs.com>
106 Christian G. Warden <cwarden@xerus.org>  
107 Dan Bode <bodepd@gmail.com> <dan@puppetlabs.com>  
108 Garrett Honeycutt <github@garretthoneycutt.com>  
109 Jeff Wallace <jeff@evolvingweb.ca> <jeff@tjwallace.ca>  
110 Ken Barber <ken@bob.sh>  
111 Matthaus Litteken <matthaus@puppetlabs.com> <mlitteken@gmail.com>  
112 Matthias Pigulla <mp@webfactory.de>  
113 Monty Taylor <mordred@inaugust.com>  
114 Peter Drake <pdrake@allplayers.com>  
115 Reid Vandewiele <marut@cat.pdx.edu>  
116 Robert Navarro <rnavarro@phiivo.com>  
117 Ryan Coleman <ryan@puppetlabs.com>  
118 Scott McLeod <scott.mcleod@theice.com>  
119 Spencer Krum <spencer@puppetlabs.com>  
120 William Van Hevelingen <blkperl@cat.pdx.edu> <wvan13@gmail.com>  
121 Zach Leslie <zach@puppetlabs.com>