47 lines
1.4 KiB
Ruby
47 lines
1.4 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
case platform.family
|
|
when 'redhat'
|
|
repo_file = '/etc/yum.repos.d/passenger.repo'
|
|
repo_url = 'https://oss-binaries.phusionpassenger.com/yum/passenger/el/$releasever/$basearch'
|
|
when 'debian'
|
|
# Inspec does not provide a `codename` matcher, so we add ours
|
|
finger_codename = {
|
|
'ubuntu-18.04' => 'bionic',
|
|
'ubuntu-20.04' => 'focal',
|
|
'debian-9' => 'stretch',
|
|
'debian-10' => 'buster',
|
|
'debian-11' => 'bullseye'
|
|
}
|
|
codename = finger_codename[system.platform[:finger]]
|
|
|
|
repo_keyring = '/usr/share/keyrings/phusionpassenger-archive-keyring.gpg'
|
|
repo_file = "/etc/apt/sources.list.d/phusionpassenger-official-#{codename}.list"
|
|
# rubocop:disable Metrics/LineLength
|
|
repo_url = "deb [signed-by=#{repo_keyring}] https://oss-binaries.phusionpassenger.com/apt/passenger #{codename} main"
|
|
# rubocop:enable Metrics/LineLength
|
|
end
|
|
|
|
control 'Phusion-passenger repository keyring' do
|
|
title 'should be installed'
|
|
|
|
only_if('Requirement for Debian family') do
|
|
os.debian?
|
|
end
|
|
|
|
describe file(repo_keyring) do
|
|
it { should exist }
|
|
it { should be_owned_by 'root' }
|
|
it { should be_grouped_into 'root' }
|
|
its('mode') { should cmp '0644' }
|
|
end
|
|
end
|
|
|
|
control 'Phusion-passenger repository' do
|
|
impact 1
|
|
title 'should be configured'
|
|
describe file(repo_file) do
|
|
its('content') { should include repo_url }
|
|
end
|
|
end
|