os/Fedora: add Fedora 44 support for the base role
ci/woodpecker/pr/ruby-validate Pipeline was successful
ci/woodpecker/pr/puppet-lint Pipeline was successful
ci/woodpecker/pr/bolt-validate Pipeline was successful
ci/woodpecker/pr/yamllint Pipeline was successful
ci/woodpecker/pr/erb-validate Pipeline was successful
ci/woodpecker/pr/epp-validate Pipeline was successful
ci/woodpecker/pr/ruby-check Pipeline was successful
ci/woodpecker/pr/puppet-validate Pipeline was successful

Fedora hosts can now run the base role by reusing the existing RedHat
osfamily code paths (dnf/yum, crypto-policies, firewalld, openvox) with
Fedora-specific data and repositories, all keyed off
facts.os.release.major so a later Fedora release only needs its
artifactapi local repos created.

- add hieradata/os/Fedora/all_releases.yaml: dnf repos (fedora + updates
  proxied via artifactapi, plus artifactapi rpm-internal-f<major> and
  rpm-vendor-f<major> locals), crypto-policies DEFAULT, openvox agent,
  and Fedora package fixups (7zip for p7zip, iotop-c for iotop, drop
  dstat)
- add profiles::fedora::base wired via hiera_include, ensuring
  NetworkManager is enabled; a minimal extension point for later
  workstation/laptop use
- make profiles::puppet::agent select the OpenVox distribution path
  (fedora/<major> on Fedora, el/<major> elsewhere)

Claude-Session: https://claude.ai/code/session_015ur3i7D2azsMAWTSVABApv
This commit is contained in:
2026-07-26 23:22:07 +10:00
parent 82a5b2ee1a
commit dc8842a4e4
3 changed files with 91 additions and 1 deletions
+14
View File
@@ -0,0 +1,14 @@
# base fedora settings
#
# Fedora hosts share the RedHat-family base profiles (yum/dnf, crypto-policies,
# firewalld); this class carries the handful of Fedora-specific bits. Kept
# deliberately small so it can grow into workstation/laptop (e.g. sway) support
# later without disturbing servers.
class profiles::fedora::base {
# Fedora manages interfaces through NetworkManager. Ensure it is enabled and
# running (some minimal and cloud images ship it disabled).
service { 'NetworkManager':
ensure => running,
enable => true,
}
}
+8 -1
View File
@@ -16,11 +16,18 @@ class profiles::puppet::agent (
$use_service = 'puppet'
}
# OpenVox publishes RedHat-family builds per distribution: enterprise-linux
# under el/<major>, Fedora under fedora/<major>.
$openvox_dist = $facts['os']['name'] ? {
'Fedora' => 'fedora',
default => 'el',
}
# manage the yumrepo for the given package
if $openvox_enable and $facts['os']['family'] == 'RedHat' {
yumrepo { 'openvox':
ensure => 'present',
baseurl => "https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/openvox/openvox7/el/${facts['os']['release']['major']}/${facts['os']['architecture']}/",
baseurl => "https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/openvox/openvox7/${openvox_dist}/${facts['os']['release']['major']}/${facts['os']['architecture']}/",
descr => 'openvox repository',
gpgkey => 'https://artifactapi.k8s.syd1.au.unkin.net/api/v1/remote/openvox/GPG-KEY-openvox.pub',
notify => Exec['dnf_makecache'],