From 439b079d386744b27f2698769fcb45cac65c0737 Mon Sep 17 00:00:00 2001 From: Lilian Mallardeau Date: Sun, 4 Jan 2026 23:28:17 +0100 Subject: [PATCH 1/3] fix: transition from apt-key to modern apt keyring --- manifests/repo.pp | 22 ++++------------------ metadata.json | 2 +- 2 files changed, 5 insertions(+), 19 deletions(-) diff --git a/manifests/repo.pp b/manifests/repo.pp index 748afddbe..56394e553 100644 --- a/manifests/repo.pp +++ b/manifests/repo.pp @@ -123,19 +123,6 @@ default => "${repo_gpg_key_location}/zabbix-official-repo.key", } - apt::key { 'zabbix-FBABD5F': - id => 'FBABD5FB20255ECAB22EE194D13D58E479EA5ED4', - source => $_gpgkey_zabbix, - } - apt::key { 'zabbix-A1848F5': - id => 'A1848F5352D022B9471D83D0082AB56BA14FE591', - source => $_gpgkey_zabbix, - } - apt::key { 'zabbix-4C3D6F2': - id => '4C3D6F2CC75F5146754FC374D913219AB5333005', - source => $_gpgkey_zabbix, - } - # Debian 11 provides Zabbix 5.0 by default. This can cause problems for 4.0 versions $pinpriority = $facts['os']['release']['major'] ? { '11' => 1000, @@ -146,11 +133,10 @@ repos => 'main', release => $releasename, pin => $pinpriority, - require => [ - Apt_key['zabbix-FBABD5F'], - Apt_key['zabbix-A1848F5'], - Apt_key['zabbix-4C3D6F2'], - ], + key => { + name => 'zabbix.asc', + source => $_gpgkey_zabbix, + }, } Apt::Source['zabbix'] -> Package<|tag == 'zabbix'|> diff --git a/metadata.json b/metadata.json index 80380c069..662e6bff4 100644 --- a/metadata.json +++ b/metadata.json @@ -26,7 +26,7 @@ }, { "name": "puppetlabs/apt", - "version_requirement": ">= 2.1.0 < 11.0.0" + "version_requirement": ">= 2.1.0 < 12.0.0" }, { "name": "puppet/systemd", From 3b3a66c39205f40769277d4ed29335a406efa196 Mon Sep 17 00:00:00 2001 From: Lilian Mallardeau Date: Tue, 13 Jan 2026 14:14:37 +0100 Subject: [PATCH 2/3] fix(apt-keyring): remove old tests referring to apt_key in unit tests --- spec/classes/agent_spec.rb | 4 +--- spec/classes/javagateway_spec.rb | 3 --- spec/classes/repo_spec.rb | 3 --- spec/classes/sender_spec.rb | 2 -- spec/classes/server_spec.rb | 4 +--- spec/classes/web_spec.rb | 2 -- 6 files changed, 2 insertions(+), 16 deletions(-) diff --git a/spec/classes/agent_spec.rb b/spec/classes/agent_spec.rb index 1f23d224d..7d0592bc9 100644 --- a/spec/classes/agent_spec.rb +++ b/spec/classes/agent_spec.rb @@ -61,9 +61,7 @@ # service = facts[:os]['family'] == 'Gentoo' ? 'zabbix-agentd' : 'zabbix-agent' context 'with all defaults' do - it { is_expected.to contain_selinux__module('zabbix-agent') } if facts[:os]['family'] == 'RedHat' - it { is_expected.to contain_apt__key('zabbix-A1848F5') } if facts[:os]['family'] == 'Debian' - it { is_expected.to contain_apt__key('zabbix-FBABD5F') } if facts[:os]['family'] == 'Debian' + it { is_expected.to contain_selinux__module('zabbix-agent') } if facts[:os]['family'] == 'RedHat' it { is_expected.to contain_file(include_dir).with_ensure('directory') } # Make sure package will be installed, service running and ensure of directory. diff --git a/spec/classes/javagateway_spec.rb b/spec/classes/javagateway_spec.rb index c0a51cacf..641d679a1 100644 --- a/spec/classes/javagateway_spec.rb +++ b/spec/classes/javagateway_spec.rb @@ -26,9 +26,6 @@ it { is_expected.to contain_service('zabbix-java-gateway').with_ensure('running') } it { is_expected.to contain_service('zabbix-java-gateway').with_enable('true') } it { is_expected.to contain_service('zabbix-java-gateway').with_require(['Package[zabbix-java-gateway]', 'File[/etc/zabbix/zabbix_java_gateway.conf]']) } - - it { is_expected.to contain_apt__key('zabbix-A1848F5') } if facts[:os]['family'] == 'Debian' - it { is_expected.to contain_apt__key('zabbix-FBABD5F') } if facts[:os]['family'] == 'Debian' end context 'when declaring manage_repo is true' do diff --git a/spec/classes/repo_spec.rb b/spec/classes/repo_spec.rb index ff73b15d2..8d038739c 100644 --- a/spec/classes/repo_spec.rb +++ b/spec/classes/repo_spec.rb @@ -20,9 +20,6 @@ it { is_expected.to contain_class('zabbix::params') } it { is_expected.to contain_class('zabbix::repo') } - it { is_expected.to contain_apt__key('zabbix-A1848F5') } if facts[:os]['family'] == 'Debian' - it { is_expected.to contain_apt__key('zabbix-FBABD5F') } if facts[:os]['family'] == 'Debian' - context 'when repo_location is "https://example.com/foo"' do let :params do { diff --git a/spec/classes/sender_spec.rb b/spec/classes/sender_spec.rb index 4d0788186..82226d07f 100644 --- a/spec/classes/sender_spec.rb +++ b/spec/classes/sender_spec.rb @@ -46,8 +46,6 @@ it { is_expected.to contain_yumrepo('zabbix') } when 'Debian' it { is_expected.to contain_apt__source('zabbix') } - it { is_expected.to contain_apt__key('zabbix-A1848F5') } - it { is_expected.to contain_apt__key('zabbix-FBABD5F') } end end end diff --git a/spec/classes/server_spec.rb b/spec/classes/server_spec.rb index d2fc38baf..a713302cb 100644 --- a/spec/classes/server_spec.rb +++ b/spec/classes/server_spec.rb @@ -23,9 +23,7 @@ it { is_expected.to contain_service('zabbix-server').with_ensure('running') } it { is_expected.not_to contain_zabbix__startup('zabbix-server') } - it { is_expected.to contain_apt__source('zabbix') } if facts[:os]['family'] == 'Debian' - it { is_expected.to contain_apt__key('zabbix-A1848F5') } if facts[:os]['family'] == 'Debian' - it { is_expected.to contain_apt__key('zabbix-FBABD5F') } if facts[:os]['family'] == 'Debian' + it { is_expected.to contain_apt__source('zabbix') } if facts[:os]['family'] == 'Debian' end if facts[:os]['family'] == 'RedHat' diff --git a/spec/classes/web_spec.rb b/spec/classes/web_spec.rb index 37ad59958..a50fe487c 100644 --- a/spec/classes/web_spec.rb +++ b/spec/classes/web_spec.rb @@ -40,8 +40,6 @@ class { 'apache': it { is_expected.to contain_class('Zabbix::Repo') } it { is_expected.to contain_file('/etc/zabbix/web').with_ensure('directory') } - it { is_expected.to contain_apt__key('zabbix-A1848F5') } if facts[:os]['family'] == 'Debian' - it { is_expected.to contain_apt__key('zabbix-FBABD5F') } if facts[:os]['family'] == 'Debian' it { is_expected.to contain_apt__source('zabbix') } if facts[:os]['family'] == 'Debian' it { is_expected.to contain_yumrepo('zabbix') } if facts[:os]['family'] == 'RedHat' it { is_expected.to contain_yumrepo('zabbix-nonsupported') } if facts[:os]['family'] == 'RedHat' From 669e3d8b6af3a44815e87b096bf8cd6ba4c9526d Mon Sep 17 00:00:00 2001 From: Lilian Mallardeau Date: Tue, 13 Jan 2026 15:11:28 +0100 Subject: [PATCH 3/3] fix: linting --- manifests/database.pp | 2 +- manifests/javagateway.pp | 2 +- manifests/proxy.pp | 6 +++--- manifests/web.pp | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/manifests/database.pp b/manifests/database.pp index c78f266ee..c3072f278 100644 --- a/manifests/database.pp +++ b/manifests/database.pp @@ -197,7 +197,7 @@ require => [ Class['mysql::server'], Mysql::Db[$database_name], - Mysql_user["${database_user}@${zabbix_web}"] + Mysql_user["${database_user}@${zabbix_web}"], ], } } # END if $zabbix_web != $zabbix_server diff --git a/manifests/javagateway.pp b/manifests/javagateway.pp index 721af3520..5fe8912b6 100644 --- a/manifests/javagateway.pp +++ b/manifests/javagateway.pp @@ -64,7 +64,7 @@ hasrestart => true, require => [ Package['zabbix-java-gateway'], - File['/etc/zabbix/zabbix_java_gateway.conf'] + File['/etc/zabbix/zabbix_java_gateway.conf'], ], } diff --git a/manifests/proxy.pp b/manifests/proxy.pp index d9bdc7d52..d5eb4d977 100755 --- a/manifests/proxy.pp +++ b/manifests/proxy.pp @@ -436,13 +436,13 @@ enable => true, subscribe => [ File[$proxy_configfile_path], - Class['zabbix::database'] + Class['zabbix::database'], ], require => [ Package["zabbix-proxy-${db}"], File[$include_dir], File[$proxy_configfile_path], - Class['zabbix::database'] + Class['zabbix::database'], ], } } @@ -450,7 +450,7 @@ $before_database = $manage_service ? { true => [ Service[$proxy_service_name], - Class["zabbix::database::${database_type}"] + Class["zabbix::database::${database_type}"], ], false => Class["zabbix::database::${database_type}"], } diff --git a/manifests/web.pp b/manifests/web.pp index 4efd09c27..aca6df7b8 100644 --- a/manifests/web.pp +++ b/manifests/web.pp @@ -330,7 +330,7 @@ comment => 'redirect all to https', rewrite_cond => ['%{SERVER_PORT} !^443$'], rewrite_rule => ["^/(.*)$ https://${zabbix_url}/\$1 [L,R]"], - } + }, ], } } else { @@ -385,7 +385,7 @@ custom_fragment => $apache_vhost_custom_fragment, rewrites => [ { - rewrite_rule => ['^$ /index.php [L]'] } + rewrite_rule => ['^$ /index.php [L]'] }, ], ssl => $apache_use_ssl, ssl_cert => $apache_ssl_cert,