feat: direct yumrepo config

- deep merge yumrepo resources
- convert repos to direct yumrepo in hieradata
- change from repos.main.unkin.net to edgecache.query.consul
- create all yumrepo resources from $profiles::yum::global::repos
This commit is contained in:
2024-05-19 17:59:27 +10:00
parent da2e98ed4d
commit 5f9480f186
5 changed files with 156 additions and 40 deletions
+4 -40
View File
@@ -4,8 +4,8 @@
# base and EPEL yum repository profiles based on the content of the
# $managed_repos parameter, which is an array of repository names.
class profiles::yum::global (
Array[String] $managed_repos,
Boolean $purge = true,
Hash $repos = {},
Boolean $purge = true,
){
class { 'yum':
keep_kernel_devel => true,
@@ -19,44 +19,8 @@ class profiles::yum::global (
purge => $purge,
}
# Generate the content for the .managed file
$managed_file_content = $managed_repos.map |$repo_name| { "${repo_name}.repo" }.join("\n")
# Create the .managed file
file { '/etc/yum.repos.d/.managed':
ensure => file,
content => $managed_file_content,
}
# Setup base repos
class { 'profiles::yum::base':
managed_repos => $managed_repos,
require => Class['profiles::pki::vaultca'],
}
# Setup epel if included in managed_repos
class { 'profiles::yum::epel':
managed_repos => $managed_repos,
require => Class['profiles::pki::vaultca'],
}
# Setup puppet7 if included in managed_repos
class { 'profiles::yum::puppet7':
managed_repos => $managed_repos,
require => Class['profiles::pki::vaultca'],
}
# Setup unkin repo if included in managed_repos
class { 'profiles::yum::unkin':
managed_repos => $managed_repos,
require => Class['profiles::pki::vaultca'],
}
# Setup ovirt repo if included in managed_repos
class { 'profiles::yum::ovirt':
managed_repos => $managed_repos,
require => Class['profiles::pki::vaultca'],
}
# create repos
create_resources('yumrepo', $repos)
# makecache if changes made to repos
exec {'dnf_makecache':