-
Notifications
You must be signed in to change notification settings - Fork 47
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(centos-8): added RedHat,CentOS and Oracle linux 8 support
Add centos 8 to osfingermap add oracle linux 8 to osfingermap moved RedHat/CentOS to osmap and osfingermap to accomodate changes in package provider versionlock enable centos-centos-8-master-py3 remove hardcoded packages yum-plugin-versionlock was hardcoded for all redhat versions, which is removed with centos 8. the package alien has a depency on debhelper which is broken in Centos-8 add share folder testing Co-authored-by: Imran Iqbal <[email protected]>
- Loading branch information
Showing
14 changed files
with
261 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -21,10 +21,6 @@ Debian: | |
pkgs: | ||
- ruby | ||
RedHat: | ||
pkgs: | ||
required: | ||
pkgs: | ||
- yum-plugin-versionlock | ||
pips: | ||
required: | ||
pkgs: | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
# -*- coding: utf-8 -*- | ||
# vim: ft=yaml | ||
--- | ||
CentOS-6: | ||
pkgs: | ||
required: | ||
pkgs: | ||
- yum-plugin-versionlock | ||
|
||
CentOS Linux-7: | ||
pkgs: | ||
required: | ||
pkgs: | ||
- yum-plugin-versionlock | ||
|
||
CentOS Linux-8: | ||
pkgs: | ||
required: | ||
pkgs: | ||
- python3-dnf-plugin-versionlock | ||
snaps: | ||
collides: ['snap'] | ||
symlink: true | ||
|
||
Oracle Linux Server-8: | ||
pkgs: | ||
required: | ||
pkgs: | ||
- python3-dnf-plugin-versionlock | ||
snaps: | ||
collides: ['snap'] | ||
symlink: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
# InSpec Profile: `share` | ||
|
||
This shows the implementation of the `share` InSpec [profile](https://github.com/inspec/inspec/blob/master/docs/profiles.md). | ||
|
||
Its goal is to share the libraries between all profiles. | ||
|
||
## Libraries | ||
|
||
### `system` | ||
|
||
The `system` library provides easy access to system dependent information: | ||
|
||
- `system.platform`: based on `inspec.platform`, modify to values that are more consistent from a SaltStack perspective | ||
- `system.platform[:family]` provide a family name for Arch and Gentoo | ||
- `system.platform[:name]` append `linux` to both `amazon` and `oracle`; ensure Windows platforms are resolved as simply `windows` | ||
- `system.platform[:release]` tweak Arch, Amazon Linux, Gentoo, openSUSE and Windows: | ||
- `Arch` is always `base-latest` | ||
- `Amazon Linux` release `2018` is resolved as `1` | ||
- `Gentoo` release is trimmed to its major version number and then the init system is appended (i.e. `sysv` or `sysd`) | ||
- `openSUSE` is resolved as `tumbleweed` if the `platform[:release]` is in date format | ||
- `Windows` uses the widely-used release number (e.g. `8.1` or `2019-server`) in place of the actual system release version | ||
- `system.platform[:finger]` is the concatenation of the name and the major release number (except for Ubuntu, which gives `ubuntu-20.04` for example) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# -*- coding: utf-8 -*- | ||
# vim: ft=yaml | ||
--- | ||
name: share | ||
title: InSpec shared resources | ||
maintainer: SaltStack Formulas | ||
license: Apache-2.0 | ||
summary: shared resources | ||
supports: | ||
- platform-name: debian | ||
- platform-name: ubuntu | ||
- platform-name: centos | ||
- platform-name: fedora | ||
- platform-name: opensuse | ||
- platform-name: suse | ||
- platform-name: freebsd | ||
- platform-name: amazon | ||
- platform-name: oracle | ||
- platform-name: arch | ||
- platform-name: gentoo | ||
- platform: windows |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
# frozen_string_literal: true | ||
|
||
# system.rb -- InSpec resources for system values | ||
# Author: Daniel Dehennin <[email protected]> | ||
# Copyright (C) 2020 Daniel Dehennin <[email protected]> | ||
|
||
class SystemResource < Inspec.resource(1) | ||
name 'system' | ||
|
||
attr_reader :platform | ||
|
||
def initialize | ||
super | ||
@platform = build_platform | ||
end | ||
|
||
private | ||
|
||
def build_platform | ||
{ | ||
family: build_platform_family, | ||
name: build_platform_name, | ||
release: build_platform_release, | ||
finger: build_platform_finger | ||
} | ||
end | ||
|
||
def build_platform_family | ||
case inspec.platform[:name] | ||
when 'arch', 'gentoo' | ||
inspec.platform[:name] | ||
else | ||
inspec.platform[:family] | ||
end | ||
end | ||
|
||
def build_platform_name | ||
case inspec.platform[:name] | ||
when 'amazon', 'oracle' | ||
"#{inspec.platform[:name]}linux" | ||
when 'windows_8.1_pro', 'windows_server_2019_datacenter' | ||
'windows' | ||
else | ||
inspec.platform[:name] | ||
end | ||
end | ||
|
||
# rubocop:disable Metrics/MethodLength,Metrics/AbcSize,Metrics/CyclomaticComplexity | ||
def build_platform_release | ||
case inspec.platform[:name] | ||
when 'amazon' | ||
# `2018` relase is named `1` in kitchen.yaml | ||
inspec.platform[:release].gsub(/2018.*/, '1') | ||
when 'arch' | ||
'base-latest' | ||
when 'gentoo' | ||
"#{inspec.platform[:release].split('.')[0]}-#{derive_gentoo_init_system}" | ||
when 'opensuse' | ||
# rubocop:disable Style/NumericLiterals,Layout/LineLength | ||
inspec.platform[:release].to_i > 20210101 ? 'tumbleweed' : inspec.platform[:release] | ||
# rubocop:enable Style/NumericLiterals,Layout/LineLength | ||
when 'windows_8.1_pro' | ||
'8.1' | ||
when 'windows_server_2019_datacenter' | ||
'2019-server' | ||
else | ||
inspec.platform[:release] | ||
end | ||
end | ||
# rubocop:enable Metrics/MethodLength,Metrics/AbcSize,Metrics/CyclomaticComplexity | ||
|
||
def derive_gentoo_init_system | ||
inspec.command('systemctl').exist? ? 'sysd' : 'sysv' | ||
end | ||
|
||
def build_platform_finger | ||
"#{build_platform_name}-#{build_finger_release}" | ||
end | ||
|
||
def build_finger_release | ||
case inspec.platform[:name] | ||
when 'ubuntu' | ||
build_platform_release.split('.').slice(0, 2).join('.') | ||
else | ||
build_platform_release.split('.')[0] | ||
end | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,7 +4,7 @@ | |
packages: | ||
pkgs: | ||
held: | ||
- alien | ||
# - alien | ||
- iotop | ||
wanted: | ||
- git | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
# -*- coding: utf-8 -*- | ||
# vim: ft=yaml | ||
--- | ||
packages: | ||
pkgs: | ||
held: | ||
# - alien | ||
- iotop | ||
wanted: | ||
- git | ||
- less | ||
- bc | ||
- curl | ||
- fail2ban | ||
unwanted: | ||
- avahi-daemon | ||
required: | ||
pkgs: | ||
- git | ||
- python3-dnf-plugin-versionlock | ||
pips: | ||
wanted: | ||
- attrs | ||
unwanted: | ||
- campbel | ||
- reverse_geocode | ||
- indy-crypto | ||
gems: | ||
wanted: | ||
- progressbar | ||
# minitest requires Ruby version ~> 2.2. | ||
# ruby 2.0.0p648 (2015-12-16) [x86_64-linux] | ||
# https://stackoverflow.com/a/50931910 | ||
# $ sudo amazon-linux-extras install ruby2.6 | ||
# - minitest | ||
unwanted: | ||
- diff-lcs | ||
- kitchen-vagrant | ||
- kwalify | ||
remote_pkgs: | ||
zoom: 'https://zoom.us/client/latest/zoom_x86_64.rpm' | ||
|
||
# Override the default setting to prevent wasteful delays in Travis | ||
retry_options: | ||
attempts: 1 |