Harden PPA defined type
[puppet-modules/puppetlabs-apt.git] / manifests / params.pp
index aeaf114dc7fe3ef1d13064e88429caf9b85912ef..f045491acf1e673307f74405a06a2aceddc0feac 100644 (file)
@@ -1,29 +1,35 @@
-# Setting params for the module
+# @summary Provides defaults for the Apt module parameters.
+#
+# @api private
+#
 class apt::params {
-
-  if $::osfamily != 'Debian' {
-    fail(translate('This module only works on Debian or derivatives like Ubuntu'))
+  if $facts['os']['family'] != 'Debian' {
+    fail('This module only works on Debian or derivatives like Ubuntu')
   }
 
-  $root           = '/etc/apt'
-  $provider       = '/usr/bin/apt-get'
-  $sources_list   = "${root}/sources.list"
-  $sources_list_d = "${root}/sources.list.d"
-  $trusted_gpg_d  = "${root}/trusted.gpg.d"
-  $conf_d         = "${root}/apt.conf.d"
-  $preferences    = "${root}/preferences"
-  $preferences_d  = "${root}/preferences.d"
-  $keyserver      = 'keyserver.ubuntu.com'
-  $confs          = {}
-  $update         = {}
-  $purge          = {}
-  $proxy          = {}
-  $sources        = {}
-  $keys           = {}
-  $ppas           = {}
-  $pins           = {}
-  $settings       = {}
-  $auth_conf_entries = []
+  $root                 = '/etc/apt'
+  $provider             = '/usr/bin/apt-get'
+  $sources_list         = "${root}/sources.list"
+  $sources_list_force   = false
+  $sources_list_d       = "${root}/sources.list.d"
+  $trusted_gpg_d        = "${root}/trusted.gpg.d"
+  $conf_d               = "${root}/apt.conf.d"
+  $preferences          = "${root}/preferences"
+  $preferences_d        = "${root}/preferences.d"
+  $apt_conf_d           = "${root}/apt.conf.d"
+  $keyserver            = 'keyserver.ubuntu.com'
+  $key_options          = undef
+  $confs                = {}
+  $update               = {}
+  $purge                = {}
+  $proxy                = {}
+  $sources              = {}
+  $keys                 = {}
+  $ppas                 = {}
+  $pins                 = {}
+  $settings             = {}
+  $manage_auth_conf     = true
+  $auth_conf_entries    = []
 
   $config_files = {
     'conf'   => {
@@ -37,7 +43,7 @@ class apt::params {
     'list'   => {
       'path' => $sources_list_d,
       'ext'  => '.list',
-    }
+    },
   }
 
   $update_defaults = {
@@ -48,11 +54,12 @@ class apt::params {
   }
 
   $proxy_defaults = {
-    'ensure' => undef,
-    'host'   => undef,
-    'port'   => 8080,
-    'https'  => false,
-    'direct' => false,
+    'ensure'     => undef,
+    'host'       => undef,
+    'port'       => 8080,
+    'https'      => false,
+    'https_acng' => false,
+    'direct'     => false,
   }
 
   $purge_defaults = {
@@ -60,13 +67,7 @@ class apt::params {
     'sources.list.d' => false,
     'preferences'    => false,
     'preferences.d'  => false,
-  }
-
-  $source_key_defaults = {
-    'server'  => $keyserver,
-    'options' => undef,
-    'content' => undef,
-    'source'  => undef,
+    'apt.conf.d'     => false,
   }
 
   $include_defaults = {
@@ -74,15 +75,15 @@ class apt::params {
     'src' => false,
   }
 
-  case $facts['os']['name']{
+  case $facts['os']['name'] {
     'Debian': {
           $backports = {
             'location' => 'http://deb.debian.org/debian',
-            'key'      => 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553',
             'repos'    => 'main contrib non-free',
           }
       $ppa_options = undef
       $ppa_package = undef
+      $auth_conf_owner = '_apt'
     }
     'Ubuntu': {
       $backports = {
@@ -90,16 +91,18 @@ class apt::params {
         'key'      => '630239CC130E1A7FD81A27B140976EAF437D05B5',
         'repos'    => 'main universe multiverse restricted',
       }
-      $ppa_options        = '-y'
+      $ppa_options        = ['-y']
       $ppa_package        = 'software-properties-common'
+      $auth_conf_owner = '_apt'
     }
     undef: {
-      fail(translate('Unable to determine value for fact os[\"name\"]'))
+      fail('Unable to determine value for fact os[\"name\"]')
     }
     default: {
       $ppa_options = undef
       $ppa_package = undef
       $backports   = undef
+      $auth_conf_owner = 'root'
     }
   }
 }