diff --git a/modules/enableit/common/manifests/repo.pp b/modules/enableit/common/manifests/repo.pp index 75aa12cc..daf6f902 100644 --- a/modules/enableit/common/manifests/repo.pp +++ b/modules/enableit/common/manifests/repo.pp @@ -62,6 +62,7 @@ Enum['http', 'https'] $source_protocol = 'https', Boolean $local = false, Optional[Stdlib::Fqdn] $domain = undef, + Optional[Array] $extra_arch = ['armhf'], Optional[Eit_types::Date] $snapshot = undef, ) { File { @@ -72,11 +73,17 @@ } # Get the architecture - $architecture = $facts['os']['architecture'] ? { + $fact_arch = $facts['os']['architecture'] ? { 'aarch64' => 'arm64', default => 'amd64', } + # Final architecture list + $architecture = $extra_arch.empty ? { + true => [$fact_arch], + false => unique([$fact_arch] + $extra_arch), + } + if $manage { class { 'eit_repos': purge => $purge, @@ -156,11 +163,15 @@ } } 'Debian': { + $arch = $facts['os']['architecture'] ? { + 'aarch64' => 'arm64', + default => 'amd64', + } $aptrepos.each |$key, $value| { apt::source { $key: ensure => present, noop => $noop_value, - architecture => $architecture, + architecture => $arch, release => $_os_codename, comment => "${key} repo server", location => $value['url'].inline_epp({ snapshot => $snapshot, }), @@ -281,7 +292,7 @@ apt::source { "local_apt_repo_${_os_codename}-${repo}": ensure => present, noop => $noop_value, - architecture => $architecture, + architecture => $architecture.join(','), release => "${_os_codename}-${repo}", comment => "local apt ${_os_codename}-${repo} server", location => "https://${domain}/${_snapshot_uri_fragment}apt/${apt_repo}", @@ -296,7 +307,7 @@ apt::source { "local_apt_repo_${_os_codename}": ensure => present, noop => $noop_value, - architecture => $architecture, + architecture => $architecture.join(','), release => $_os_codename, comment => 'local apt repo server', location => "https://${domain}/${_snapshot_uri_fragment}apt/${apt_repo}", diff --git a/modules/enableit/eit_repos/files/apt/ubuntu-archive-keyring.gpg b/modules/enableit/eit_repos/files/apt/ubuntu-archive-keyring.gpg new file mode 100644 index 00000000..bb223385 Binary files /dev/null and b/modules/enableit/eit_repos/files/apt/ubuntu-archive-keyring.gpg differ