class nodo::subsystem::apt { # # Apt configuration # class { '::apt': include_src => hiera('nodo::subsystem::apt::include_src', false), use_next_release => hiera('nodo::subsystem::apt::use_next_release', false), custom_key_dir => hiera('nodo::subsystem::apt::custom_key_dir', 'puppet:///modules/site_apt/keys.d') } class { '::apt::unattended_upgrades': } $apt_domain_source = hiera('nodo::subsystem::apt::domain_source', false) ::apt::sources_list { "${::domain}.list": source => [ "puppet:///modules/site_apt/sources.list.d/${::operatingsystem}/${::lsbdistcodename}/${::domain}.list", "puppet:///modules/site_apt/sources.list.d/${::operatingsystem}/${::domain}.list", ], ensure => $apt_domain_source ? { true => present, default => absent, } } # Preferences file can't have dots in the filename $apt_domain_preferences = regsubst($::domain, '\.', '-', 'G') file { "/etc/apt/preferences.d/${apt_domain_preferences}": source => [ "puppet:///modules/site_apt/preferences.d/${::operatingsystem}/${::domain}", "puppet:///modules/nodo/preferences.d/custom" ], ensure => $apt_domain_source ? { true => present, default => absent, } } $apt_proxy = hiera('nodo::subsystem::apt::proxy', false) if $apt_proxy != false { class { 'apt::proxy_client': proxy => $apt_proxy, port => hiera('nodo::subsystem::apt::proxy_port', ''), } } $apt_include_sid = hiera('nodo::subsystem::apt::include_sid', false) ::apt::sources_list { 'sid.list': content => "deb http://http.debian.net/debian/ unstable main contrib non-free\n" ensure => $apt_include_sid ? { true => present, default => absent, }, } package { 'apt-transport-https': ensure => present, } }