summaryrefslogtreecommitdiff
path: root/puppet/modules/site_apt/manifests/init.pp
blob: 5d177e7f001a3bb5a58efa45c43c9a7ce4275dd5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# setup apt on all nodes
class site_apt {

  $sources            = hiera('sources')
  $apt_config         = $sources['apt']

  # debian repo urls
  $apt_url_basic      = $apt_config['basic']
  $apt_url_security   = $apt_config['security']
  $apt_url_backports  = $apt_config['backports']

  # leap repo url
  $apt_config_leap    = $apt_config['leap']
  $apt_url_leap_basic = $apt_config_leap['basic']

  # needed on jessie hosts for getting pnp4nagios from testing
  if ( $::operatingsystemmajrelease == '8' ) {
    $use_next_release = true
  } else {
    $use_next_release = false
  }

  class { 'apt':
    custom_key_dir   => 'puppet:///modules/site_apt/keys',
    debian_url       => $apt_url_basic,
    security_url     => $apt_url_security,
    backports_url    => $apt_url_backports,
    use_next_release => $use_next_release
  }

  # enable http://deb.leap.se debian package repository
  include site_apt::leap_repo

  apt::apt_conf { '90disable-pdiffs':
    content => 'Acquire::PDiffs "false";';
  }

  include ::site_apt::unattended_upgrades

  apt::sources_list { 'secondary.list.disabled':
    content => template('site_apt/secondary.list');
  }

  apt::preferences_snippet { 'facter':
    release  => "${::lsbdistcodename}-backports",
    priority => 999
  }

  apt::preferences_snippet { 'leap':
    priority => 999,
    package  => '*',
    pin      => 'origin "deb.leap.se"'
  }

  # All packages should be installed _after_ refresh_apt is called,
  # which does an apt-get update.
  # There is one exception:
  # The creation of sources.list depends on the lsb package

  File['/etc/apt/preferences'] ->
    Apt::Preferences_snippet <| |> ->
    Exec['refresh_apt'] ->
    Package <| ( title != 'lsb' ) |>
}