Installing packages from a third-party repository
Most often you will want to install packages from the main distribution repo, so a simple package
resource will do:
package { 'exim4': ensure => installed }
Sometimes, though, you need a package which is only found in a third-party repository (an Ubuntu PPA, for example). Or it might be that you need a more recent version of a package than that provided by the distribution, which is available from a third party.
On a manually-administered machine, you would normally do this by adding the repo source configuration to /etc/apt/sources.list.d
(and, if necessary, a GPG key for the repo) before installing the package. We can automate this process easily with Puppet.
How to do itβ¦
In this example we'll use the popular Percona APT repo (Percona is a MySQL consulting firm who maintain and release their own specialized version of MySQL).
Create the file
modules/admin/manifests/percona_repo.pp
with the following contents:# Install Percona APT repo class...