3 # Stuff common to all debian.org servers
5 class debian_org::apt {
6 if versioncmp($::lsbmajdistrelease, '8') <= 0 {
7 $fallbackmirror = 'http://cdn-fastly.deb.debian.org/debian/'
9 $fallbackmirror = 'http://deb.debian.org/debian/'
12 if getfromhash($site::nodeinfo, 'hoster', 'mirror-debian') {
13 $mirror = [ getfromhash($site::nodeinfo, 'hoster', 'mirror-debian'), $fallbackmirror ]
15 $mirror = [ $fallbackmirror ]
18 if versioncmp($::lsbmajdistrelease, '9') <= 0 {
19 site::aptrepo { 'debian':
21 suite => [ $::lsbdistcodename, "${::lsbdistcodename}-backports", "${::lsbdistcodename}-updates" ],
22 components => ['main','contrib','non-free']
25 site::aptrepo { 'debian':
27 suite => [ $::lsbdistcodename, "${::lsbdistcodename}-updates" ],
28 components => ['main','contrib','non-free']
32 if versioncmp($::lsbmajdistrelease, '8') <= 0 {
33 site::aptrepo { 'security':
34 url => [ 'http://security-cdn.debian.org/', 'http://security.debian.org/' ],
35 suite => "${::lsbdistcodename}/updates",
36 components => ['main','contrib','non-free']
39 site::aptrepo { 'security':
40 url => [ 'http://security.debian.org/' ],
41 suite => "${::lsbdistcodename}/updates",
42 components => ['main','contrib','non-free']
46 # ca-certificates is installed by the ssl module
47 if versioncmp($::lsbmajdistrelease, '9') <= 0 {
48 package { 'apt-transport-https':
52 # transitional package in buster
53 package { 'apt-transport-https':
57 $dbdosuites = [ 'debian-all', $::lsbdistcodename ]
58 site::aptrepo { 'db.debian.org':
59 url => 'https://db.debian.org/debian-admin',
62 key => 'puppet:///modules/debian_org/db.debian.org.gpg',
65 if ($::hostname in []) {
66 site::aptrepo { 'proposed-updates':
68 suite => "${::lsbdistcodename}-proposed-updates",
69 components => ['main','contrib','non-free']
72 site::aptrepo { 'proposed-updates':
77 site::aptrepo { 'debian-cdn':
80 site::aptrepo { 'debian.org':
83 site::aptrepo { 'debian2':
86 site::aptrepo { 'backports2.debian.org':
89 site::aptrepo { 'backports.debian.org':
92 site::aptrepo { 'volatile':
95 site::aptrepo { 'db.debian.org-suite':
98 site::aptrepo { 'debian-lts':
105 file { '/etc/apt/trusted-keys.d':
110 file { '/etc/apt/trusted.gpg':
115 file { '/etc/apt/preferences':
116 source => 'puppet:///modules/debian_org/apt.preferences',
118 file { '/etc/apt/apt.conf.d/local-compression':
119 source => 'puppet:///modules/debian_org/apt.conf.d/local-compression',
121 file { '/etc/apt/apt.conf.d/local-recommends':
122 source => 'puppet:///modules/debian_org/apt.conf.d/local-recommends',
124 file { '/etc/apt/apt.conf.d/local-pdiffs':
125 source => 'puppet:///modules/debian_org/apt.conf.d/local-pdiffs',
127 file { '/etc/apt/apt.conf.d/local-langs':
128 source => 'puppet:///modules/debian_org/apt.conf.d/local-langs',
130 file { '/etc/apt/apt.conf.d/local-cainfo':
131 source => 'puppet:///modules/debian_org/apt.conf.d/local-cainfo',
134 exec { 'apt-get update':
135 path => '/usr/bin:/usr/sbin:/bin:/sbin',
136 onlyif => '/usr/local/bin/check_for_updates',
137 require => File['/usr/local/bin/check_for_updates']
139 Exec['apt-get update']->Package<| tag == extra_repo |>