Mercurial > repos > other > Puppet
view modules/apt/manifests/keyring.pp @ 482:d83de9b3a62b default tip
Update hiera.yaml within Puppet config
Forgot that we manage it from here. Now has content to match
new packages
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Fri, 30 Aug 2024 16:10:36 +0100 |
parents | adf6fe9bbc17 |
children |
line wrap: on
line source
# @summary Manage GPG keyrings for apt repositories # # @example Download the puppetlabs apt keyring # apt::keyring { 'puppetlabs-keyring.gpg': # source => 'https://apt.puppetlabs.com/keyring.gpg', # } # @example Deploy the apt source and associated keyring file # apt::source { 'puppet8-release': # location => 'http://apt.puppetlabs.com', # repos => 'puppet8', # key => { # name => 'puppetlabs-keyring.gpg', # source => 'https://apt.puppetlabs.com/keyring.gpg' # } # } # # @param dir # Path to the directory where the keyring will be stored. # # @param filename # Optional filename for the keyring. It should also contain extension along with the filename. # # @param mode # File permissions of the keyring. # # @param source # Source of the keyring file. Mutually exclusive with 'content'. # # @param content # Content of the keyring file. Mutually exclusive with 'source'. # # @param ensure # Ensure presence or absence of the resource. # define apt::keyring ( Stdlib::Absolutepath $dir = '/etc/apt/keyrings', String[1] $filename = $name, Stdlib::Filemode $mode = '0644', Optional[Stdlib::Filesource] $source = undef, Optional[String[1]] $content = undef, Enum['present','absent'] $ensure = 'present', ) { ensure_resource('file', $dir, { ensure => 'directory', mode => '0755', }) if $source and $content { fail("Parameters 'source' and 'content' are mutually exclusive") } elsif ! $source and ! $content { fail("One of 'source' or 'content' parameters are required") } $file = "${dir}/${filename}" case $ensure { 'present': { file { $file: ensure => 'file', mode => $mode, owner => 'root', group => 'root', source => $source, content => $content, } } 'absent': { file { $file: ensure => $ensure, } } default: { fail("Invalid 'ensure' value '${ensure}' for apt::keyring") } } }