mirror of https://github.com/zulip/zulip.git
44 lines
899 B
Puppet
44 lines
899 B
Puppet
define apt::key (
|
|
$keyserver = 'pgp.mit.edu',
|
|
$ensure = present,
|
|
$source = '',
|
|
$content = ''
|
|
) {
|
|
|
|
case $ensure {
|
|
|
|
present: {
|
|
if $content == '' {
|
|
if $source == '' {
|
|
$thekey = "gpg --keyserver ${keyserver} --recv-key '${name}' && gpg --export --armor '${name}'"
|
|
}
|
|
else {
|
|
$thekey = "wget -O - '${source}'"
|
|
}
|
|
}
|
|
else {
|
|
$thekey = "echo '${content}'"
|
|
}
|
|
|
|
|
|
exec { "import gpg key ${name}":
|
|
command => "${thekey} | apt-key add -",
|
|
unless => "apt-key list | grep -Fqe '${name}'",
|
|
before => Exec['apt-get_update'],
|
|
notify => Exec['apt-get_update'],
|
|
}
|
|
}
|
|
|
|
absent: {
|
|
exec {"apt-key del ${name}":
|
|
onlyif => "apt-key list | grep -Fqe '${name}'",
|
|
}
|
|
}
|
|
|
|
default: {
|
|
fail "Invalid 'ensure' value '${ensure}' for apt::key"
|
|
}
|
|
|
|
}
|
|
}
|