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