Unverified Commit 9f22f281 authored by Imran Iqbal's avatar Imran Iqbal Committed by GitHub
Browse files

Merge pull request #515 from myii/ci/add-CVE-3003.3-3002.7-3001.8

ci(kitchen+gitlab): adjust matrix to use 3003.3, 3002.7 & 3001.8
parents 72f7f48d 1a8512d7
......@@ -16,7 +16,6 @@ jobs:
instance:
- v3003-py3-freebsd-130-3003-1-py3
- v3003-py3-freebsd-122-3003-1-py3
- v3003-py3-freebsd-114-3003-1-py3
- v3002-py3-openbsd-69-3002-6-py3
- v3001-py3-openbsd-68-3001-1-py3
- v3003-py3-windows-10-latest-py3
......
......@@ -127,6 +127,7 @@ tmp/
# `salt-formula` -- Vagrant Specific files
.vagrant
top.sls
!test/salt/pillar/top.sls
# `suricata-formula` -- Platform binaries
*.rpm
......
......@@ -130,77 +130,46 @@ rubocop:
## Define the rest of the matrix based on Kitchen testing
# Make sure the instances listed below match up with
# the `platforms` defined in `kitchen.yml`
v3003-py3-debian-11-3003-2-py3: {extends: '.test_instance_failure_permitted'}
# v3003-py3-debian-10-3003-2-py3: {extends: '.test_instance'}
# v3003-py3-debian-9-3003-2-py3: {extends: '.test_instance'}
v3003-py3-ubuntu-2004-3003-2-py3: {extends: '.test_instance'}
# v3003-py3-ubuntu-1804-3003-2-py3: {extends: '.test_instance'}
v3003-py3-centos-8-3003-2-py3: {extends: '.test_instance'}
# v3003-py3-centos-7-3003-2-py3: {extends: '.test_instance'}
v3003-py3-fedora-34-3003-2-py3: {extends: '.test_instance'}
v3003-py3-fedora-33-3003-2-py3: {extends: '.test_instance'}
# v3003-py3-opensuse-leap-153-3003-2-py3: {extends: '.test_instance'}
# v3003-py3-opensuse-leap-152-3003-2-py3: {extends: '.test_instance'}
# v3003-py3-opensuse-tmbl-latest-3003-2-py3: {extends: '.test_instance'}
v3003-py3-amazonlinux-2-3003-2-py3: {extends: '.test_instance'}
v3003-py3-oraclelinux-8-3003-2-py3: {extends: '.test_instance'}
# v3003-py3-oraclelinux-7-3003-2-py3: {extends: '.test_instance'}
# v3003-py3-arch-base-latest-3003-2-py3: {extends: '.test_instance'}
# v3003-py3-gentoo-stage3-latest-3003-2-py3: {extends: '.test_instance'}
# v3003-py3-gentoo-stage3-systemd-3003-2-py3: {extends: '.test_instance'}
v3003-py3-almalinux-8-3003-2-py3: {extends: '.test_instance'}
v3003-py3-arch-base-latest-3003-1-py3: {extends: '.test_instance'}
v3003-py3-gentoo-stage3-latest-3003-1-py3: {extends: '.test_instance'}
v3003-py3-gentoo-stage3-systemd-3003-1-py3: {extends: '.test_instance'}
# v3002-py3-debian-11-3002-6-py3: {extends: '.test_instance'}
v3002-py3-debian-10-3002-6-py3: {extends: '.test_instance'}
# v3002-py3-debian-9-3002-6-py3: {extends: '.test_instance'}
v3002-py3-ubuntu-2004-3002-6-py3: {extends: '.test_instance'}
# v3002-py3-ubuntu-1804-3002-6-py3: {extends: '.test_instance'}
# v3002-py3-centos-8-3002-6-py3: {extends: '.test_instance'}
v3002-py3-centos-7-3002-6-py3: {extends: '.test_instance'}
# v3002-py3-fedora-34-3002-6-py3: {extends: '.test_instance'}
# v3002-py3-fedora-33-3002-6-py3: {extends: '.test_instance'}
v3002-py3-amazonlinux-2-3002-6-py3: {extends: '.test_instance'}
# v3002-py3-oraclelinux-8-3002-6-py3: {extends: '.test_instance'}
v3002-py3-oraclelinux-7-3002-6-py3: {extends: '.test_instance'}
# v3002-py3-arch-base-latest-3002-6-py3: {extends: '.test_instance'}
# v3002-py3-gentoo-stage3-latest-3002-6-py3: {extends: '.test_instance'}
# v3002-py3-gentoo-stage3-systemd-3002-6-py3: {extends: '.test_instance'}
# v3002-py3-opensuse-leap-153-3002-2-py3: {extends: '.test_instance'}
v3002-py3-opensuse-leap-152-3002-2-py3: {extends: '.test_instance'}
v3002-py3-opensuse-tmbl-latest-3002-2-py3: {extends: '.test_instance'}
v3001-py3-debian-10-3001-7-py3: {extends: '.test_instance'}
# v3001-py3-debian-9-3001-7-py3: {extends: '.test_instance'}
v3001-py3-ubuntu-2004-3001-7-py3: {extends: '.test_instance'}
# v3001-py3-ubuntu-1804-3001-7-py3: {extends: '.test_instance'}
v3001-py3-centos-8-3001-7-py3: {extends: '.test_instance'}
# v3001-py3-centos-7-3001-7-py3: {extends: '.test_instance'}
# v3001-py3-fedora-34-3001-7-py3: {extends: '.test_instance'}
# v3001-py3-fedora-33-3001-7-py3: {extends: '.test_instance'}
# v3001-py3-opensuse-leap-153-3001-7-py3: {extends: '.test_instance'}
# v3001-py3-opensuse-leap-152-3001-7-py3: {extends: '.test_instance'}
# v3001-py3-opensuse-tmbl-latest-3001-7-py3: {extends: '.test_instance'}
# v3001-py3-amazonlinux-2-3001-7-py3: {extends: '.test_instance'}
v3001-py3-oraclelinux-8-3001-7-py3: {extends: '.test_instance'}
# v3001-py3-oraclelinux-7-3001-7-py3: {extends: '.test_instance'}
# v3001-py3-arch-base-latest-3001-7-py3: {extends: '.test_instance'}
# v3001-py3-gentoo-stage3-latest-3001-7-py3: {extends: '.test_instance'}
# v3001-py3-gentoo-stage3-systemd-3001-7-py3: {extends: '.test_instance'}
# v3000-py3-debian-10-3000-9-py3: {extends: '.test_instance'}
v3000-py3-debian-9-3000-9-py3: {extends: '.test_instance'}
v3000-py3-ubuntu-1804-3000-9-py3: {extends: '.test_instance'}
# v3000-py3-centos-8-3000-9-py3: {extends: '.test_instance'}
v3000-py3-centos-7-3000-9-py3: {extends: '.test_instance'}
# v3000-py3-opensuse-leap-153-3000-9-py3: {extends: '.test_instance'}
# v3000-py3-opensuse-leap-152-3000-9-py3: {extends: '.test_instance'}
# v3000-py3-amazonlinux-2-3000-9-py3: {extends: '.test_instance'}
# v3000-py3-oraclelinux-8-3000-9-py3: {extends: '.test_instance'}
v3000-py3-oraclelinux-7-3000-9-py3: {extends: '.test_instance'}
# v3000-py3-gentoo-stage3-latest-3000-9-py3: {extends: '.test_instance'}
# v3000-py3-gentoo-stage3-systemd-3000-9-py3: {extends: '.test_instance'}
v3000-py2-ubuntu-1804-3000-9-py2: {extends: '.test_instance'}
# v3000-py2-arch-base-latest-3000-9-py2: {extends: '.test_instance'}
v3003-py3-debian-11-3003-3-py3: {extends: '.test_instance_failure_permitted'}
# v3003-py3-debian-10-3003-3-py3: {extends: '.test_instance'}
# v3003-py3-debian-9-3003-3-py3: {extends: '.test_instance'}
v3003-py3-ubuntu-2004-3003-3-py3: {extends: '.test_instance'}
# v3003-py3-ubuntu-1804-3003-3-py3: {extends: '.test_instance'}
v3003-py3-centos-8-3003-3-py3: {extends: '.test_instance'}
# v3003-py3-centos-7-3003-3-py3: {extends: '.test_instance'}
v3003-py3-fedora-34-3003-3-py3: {extends: '.test_instance'}
v3003-py3-fedora-33-3003-3-py3: {extends: '.test_instance'}
v3003-py3-opensuse-leap-153-3003-3-py3: {extends: '.test_instance'}
# v3003-py3-opensuse-leap-152-3003-3-py3: {extends: '.test_instance'}
# v3003-py3-opensuse-tmbl-latest-3003-3-py3: {extends: '.test_instance'}
v3003-py3-amazonlinux-2-3003-3-py3: {extends: '.test_instance'}
v3003-py3-oraclelinux-8-3003-3-py3: {extends: '.test_instance'}
# v3003-py3-oraclelinux-7-3003-3-py3: {extends: '.test_instance'}
v3003-py3-arch-base-latest-3003-3-py3: {extends: '.test_instance'}
v3003-py3-gentoo-stage3-latest-3003-3-py3: {extends: '.test_instance'}
v3003-py3-gentoo-stage3-systemd-3003-3-py3: {extends: '.test_instance'}
v3003-py3-almalinux-8-3003-3-py3: {extends: '.test_instance'}
# v3002-py3-debian-11-3002-7-py3: {extends: '.test_instance_failure_permitted'}
v3002-py3-debian-10-3002-7-py3: {extends: '.test_instance'}
# v3002-py3-debian-9-3002-7-py3: {extends: '.test_instance'}
v3002-py3-ubuntu-2004-3002-7-py3: {extends: '.test_instance'}
# v3002-py3-ubuntu-1804-3002-7-py3: {extends: '.test_instance'}
v3002-py3-centos-8-3002-7-py3: {extends: '.test_instance'}
# v3002-py3-centos-7-3002-7-py3: {extends: '.test_instance'}
# v3002-py3-amazonlinux-2-3002-7-py3: {extends: '.test_instance'}
v3002-py3-oraclelinux-8-3002-7-py3: {extends: '.test_instance'}
# v3002-py3-oraclelinux-7-3002-7-py3: {extends: '.test_instance'}
# v3002-py3-gentoo-stage3-latest-3002-7-py3: {extends: '.test_instance'}
# v3002-py3-gentoo-stage3-systemd-3002-7-py3: {extends: '.test_instance'}
# v3001-py3-debian-10-3001-8-py3: {extends: '.test_instance'}
v3001-py3-debian-9-3001-8-py3: {extends: '.test_instance'}
# v3001-py3-ubuntu-2004-3001-8-py3: {extends: '.test_instance'}
v3001-py3-ubuntu-1804-3001-8-py3: {extends: '.test_instance'}
# v3001-py3-centos-8-3001-8-py3: {extends: '.test_instance'}
v3001-py3-centos-7-3001-8-py3: {extends: '.test_instance'}
# v3001-py3-amazonlinux-2-3001-8-py3: {extends: '.test_instance'}
# v3001-py3-oraclelinux-8-3001-8-py3: {extends: '.test_instance'}
v3001-py3-oraclelinux-7-3001-8-py3: {extends: '.test_instance'}
###############################################################################
# `release` stage: `semantic-release`
......
......@@ -83,77 +83,46 @@ jobs:
## Define the rest of the matrix based on Kitchen testing
# Make sure the instances listed below match up with
# the `platforms` defined in `kitchen.yml`
- env: INSTANCE=v3003-py3-debian-11-3003-2-py3
# - env: INSTANCE=v3003-py3-debian-10-3003-2-py3
# - env: INSTANCE=v3003-py3-debian-9-3003-2-py3
- env: INSTANCE=v3003-py3-ubuntu-2004-3003-2-py3
# - env: INSTANCE=v3003-py3-ubuntu-1804-3003-2-py3
- env: INSTANCE=v3003-py3-centos-8-3003-2-py3
# - env: INSTANCE=v3003-py3-centos-7-3003-2-py3
- env: INSTANCE=v3003-py3-fedora-34-3003-2-py3
- env: INSTANCE=v3003-py3-fedora-33-3003-2-py3
# - env: INSTANCE=v3003-py3-opensuse-leap-153-3003-2-py3
# - env: INSTANCE=v3003-py3-opensuse-leap-152-3003-2-py3
# - env: INSTANCE=v3003-py3-opensuse-tmbl-latest-3003-2-py3
- env: INSTANCE=v3003-py3-amazonlinux-2-3003-2-py3
- env: INSTANCE=v3003-py3-oraclelinux-8-3003-2-py3
# - env: INSTANCE=v3003-py3-oraclelinux-7-3003-2-py3
# - env: INSTANCE=v3003-py3-arch-base-latest-3003-2-py3
# - env: INSTANCE=v3003-py3-gentoo-stage3-latest-3003-2-py3
# - env: INSTANCE=v3003-py3-gentoo-stage3-systemd-3003-2-py3
- env: INSTANCE=v3003-py3-almalinux-8-3003-2-py3
- env: INSTANCE=v3003-py3-arch-base-latest-3003-1-py3
- env: INSTANCE=v3003-py3-gentoo-stage3-latest-3003-1-py3
- env: INSTANCE=v3003-py3-gentoo-stage3-systemd-3003-1-py3
# - env: INSTANCE=v3002-py3-debian-11-3002-6-py3
- env: INSTANCE=v3002-py3-debian-10-3002-6-py3
# - env: INSTANCE=v3002-py3-debian-9-3002-6-py3
- env: INSTANCE=v3002-py3-ubuntu-2004-3002-6-py3
# - env: INSTANCE=v3002-py3-ubuntu-1804-3002-6-py3
# - env: INSTANCE=v3002-py3-centos-8-3002-6-py3
- env: INSTANCE=v3002-py3-centos-7-3002-6-py3
# - env: INSTANCE=v3002-py3-fedora-34-3002-6-py3
# - env: INSTANCE=v3002-py3-fedora-33-3002-6-py3
- env: INSTANCE=v3002-py3-amazonlinux-2-3002-6-py3
# - env: INSTANCE=v3002-py3-oraclelinux-8-3002-6-py3
- env: INSTANCE=v3002-py3-oraclelinux-7-3002-6-py3
# - env: INSTANCE=v3002-py3-arch-base-latest-3002-6-py3
# - env: INSTANCE=v3002-py3-gentoo-stage3-latest-3002-6-py3
# - env: INSTANCE=v3002-py3-gentoo-stage3-systemd-3002-6-py3
# - env: INSTANCE=v3002-py3-opensuse-leap-153-3002-2-py3
- env: INSTANCE=v3002-py3-opensuse-leap-152-3002-2-py3
- env: INSTANCE=v3002-py3-opensuse-tmbl-latest-3002-2-py3
- env: INSTANCE=v3001-py3-debian-10-3001-7-py3
# - env: INSTANCE=v3001-py3-debian-9-3001-7-py3
- env: INSTANCE=v3001-py3-ubuntu-2004-3001-7-py3
# - env: INSTANCE=v3001-py3-ubuntu-1804-3001-7-py3
- env: INSTANCE=v3001-py3-centos-8-3001-7-py3
# - env: INSTANCE=v3001-py3-centos-7-3001-7-py3
# - env: INSTANCE=v3001-py3-fedora-34-3001-7-py3
# - env: INSTANCE=v3001-py3-fedora-33-3001-7-py3
# - env: INSTANCE=v3001-py3-opensuse-leap-153-3001-7-py3
# - env: INSTANCE=v3001-py3-opensuse-leap-152-3001-7-py3
# - env: INSTANCE=v3001-py3-opensuse-tmbl-latest-3001-7-py3
# - env: INSTANCE=v3001-py3-amazonlinux-2-3001-7-py3
- env: INSTANCE=v3001-py3-oraclelinux-8-3001-7-py3
# - env: INSTANCE=v3001-py3-oraclelinux-7-3001-7-py3
# - env: INSTANCE=v3001-py3-arch-base-latest-3001-7-py3
# - env: INSTANCE=v3001-py3-gentoo-stage3-latest-3001-7-py3
# - env: INSTANCE=v3001-py3-gentoo-stage3-systemd-3001-7-py3
# - env: INSTANCE=v3000-py3-debian-10-3000-9-py3
- env: INSTANCE=v3000-py3-debian-9-3000-9-py3
- env: INSTANCE=v3000-py3-ubuntu-1804-3000-9-py3
# - env: INSTANCE=v3000-py3-centos-8-3000-9-py3
- env: INSTANCE=v3000-py3-centos-7-3000-9-py3
# - env: INSTANCE=v3000-py3-opensuse-leap-153-3000-9-py3
# - env: INSTANCE=v3000-py3-opensuse-leap-152-3000-9-py3
# - env: INSTANCE=v3000-py3-amazonlinux-2-3000-9-py3
# - env: INSTANCE=v3000-py3-oraclelinux-8-3000-9-py3
- env: INSTANCE=v3000-py3-oraclelinux-7-3000-9-py3
# - env: INSTANCE=v3000-py3-gentoo-stage3-latest-3000-9-py3
# - env: INSTANCE=v3000-py3-gentoo-stage3-systemd-3000-9-py3
- env: INSTANCE=v3000-py2-ubuntu-1804-3000-9-py2
# - env: INSTANCE=v3000-py2-arch-base-latest-3000-9-py2
- env: INSTANCE=v3003-py3-debian-11-3003-3-py3
# - env: INSTANCE=v3003-py3-debian-10-3003-3-py3
# - env: INSTANCE=v3003-py3-debian-9-3003-3-py3
- env: INSTANCE=v3003-py3-ubuntu-2004-3003-3-py3
# - env: INSTANCE=v3003-py3-ubuntu-1804-3003-3-py3
- env: INSTANCE=v3003-py3-centos-8-3003-3-py3
# - env: INSTANCE=v3003-py3-centos-7-3003-3-py3
- env: INSTANCE=v3003-py3-fedora-34-3003-3-py3
- env: INSTANCE=v3003-py3-fedora-33-3003-3-py3
- env: INSTANCE=v3003-py3-opensuse-leap-153-3003-3-py3
# - env: INSTANCE=v3003-py3-opensuse-leap-152-3003-3-py3
# - env: INSTANCE=v3003-py3-opensuse-tmbl-latest-3003-3-py3
- env: INSTANCE=v3003-py3-amazonlinux-2-3003-3-py3
- env: INSTANCE=v3003-py3-oraclelinux-8-3003-3-py3
# - env: INSTANCE=v3003-py3-oraclelinux-7-3003-3-py3
- env: INSTANCE=v3003-py3-arch-base-latest-3003-3-py3
- env: INSTANCE=v3003-py3-gentoo-stage3-latest-3003-3-py3
- env: INSTANCE=v3003-py3-gentoo-stage3-systemd-3003-3-py3
- env: INSTANCE=v3003-py3-almalinux-8-3003-3-py3
# - env: INSTANCE=v3002-py3-debian-11-3002-7-py3
- env: INSTANCE=v3002-py3-debian-10-3002-7-py3
# - env: INSTANCE=v3002-py3-debian-9-3002-7-py3
- env: INSTANCE=v3002-py3-ubuntu-2004-3002-7-py3
# - env: INSTANCE=v3002-py3-ubuntu-1804-3002-7-py3
- env: INSTANCE=v3002-py3-centos-8-3002-7-py3
# - env: INSTANCE=v3002-py3-centos-7-3002-7-py3
# - env: INSTANCE=v3002-py3-amazonlinux-2-3002-7-py3
- env: INSTANCE=v3002-py3-oraclelinux-8-3002-7-py3
# - env: INSTANCE=v3002-py3-oraclelinux-7-3002-7-py3
# - env: INSTANCE=v3002-py3-gentoo-stage3-latest-3002-7-py3
# - env: INSTANCE=v3002-py3-gentoo-stage3-systemd-3002-7-py3
# - env: INSTANCE=v3001-py3-debian-10-3001-8-py3
- env: INSTANCE=v3001-py3-debian-9-3001-8-py3
# - env: INSTANCE=v3001-py3-ubuntu-2004-3001-8-py3
- env: INSTANCE=v3001-py3-ubuntu-1804-3001-8-py3
# - env: INSTANCE=v3001-py3-centos-8-3001-8-py3
- env: INSTANCE=v3001-py3-centos-7-3001-8-py3
# - env: INSTANCE=v3001-py3-amazonlinux-2-3001-8-py3
# - env: INSTANCE=v3001-py3-oraclelinux-8-3001-8-py3
- env: INSTANCE=v3001-py3-oraclelinux-7-3001-8-py3
## Define the release stage that runs `semantic-release`
- stage: 'release'
......
......@@ -25,9 +25,6 @@ platforms:
- name: freebsd-122-master-py3
driver:
box: myii/freebsd-12.2-master-py3
- name: freebsd-114-master-py3
driver:
box: myii/freebsd-11.4-master-py3
- name: freebsd-130-3003-1-py3
driver:
box: myii/freebsd-13.0-3003.1-py3
......@@ -35,9 +32,6 @@ platforms:
- name: freebsd-122-3003-1-py3
driver:
box: myii/freebsd-12.2-3003.1-py3
- name: freebsd-114-3003-1-py3
driver:
box: myii/freebsd-11.4-3003.1-py3
- name: openbsd-69-3002-6-py3
driver:
box: myii/openbsd-6.9-3002.6-py3
......
......@@ -11,7 +11,7 @@ driver:
provisioner:
salt_install: bootstrap
salt_bootstrap_options: -pythonVersion 3 -version 3003.2
salt_bootstrap_options: -pythonVersion 3 -version 3003.3
# yamllint disable rule:line-length
init_environment: |
C:\salt\salt-call --local state.single file.managed `
......
This diff is collapsed.
# InSpec Profile: `v3000-py2`
This shows the implementation of the `v3000-py2` InSpec [profile](https://github.com/inspec/inspec/blob/master/docs/profiles.md).
## Verify a profile
InSpec ships with built-in features to verify a profile structure.
```bash
$ inspec check v3000-py2
Summary
-------
Location: v3000-py2
Profile: profile
Controls: 4
Timestamp: 2019-06-24T23:09:01+00:00
Valid: true
Errors
------
Warnings
--------
```
## Execute a profile
To run all **supported** controls on a local machine use `inspec exec /path/to/profile`.
```bash
$ inspec exec v3000-py2
..
Finished in 0.0025 seconds (files took 0.12449 seconds to load)
8 examples, 0 failures
```
## Execute a specific control from a profile
To run one control from the profile use `inspec exec /path/to/profile --controls name`.
```bash
$ inspec exec v3000-py2 --controls package
.
Finished in 0.0025 seconds (files took 0.12449 seconds to load)
1 examples, 0 failures
```
See an [example control here](https://github.com/inspec/inspec/blob/master/examples/profile/controls/example.rb).
# frozen_string_literal: true
require 'yaml'
control 'salt._mapdata' do
title '`map.jinja` should match the reference file'
### Method
# The steps below for each file appear convoluted but they are both required
# and similar in nature:
# 1. The earliest method was to simply compare the files textually but this often
# led to false positives due to inconsistencies (e.g. spacing, ordering)
# 2. The next method was to load the files back into YAML structures and then
# compare but InSpec provided block diffs this way, unusable by end users
# 3. The final step was to dump the YAML structures back into a string to use
# for the comparison; this both worked and provided human-friendly diffs
### Comparison file for the specific platform
### Static, adjusted as part of code contributions, as map data is changed
# Strip the `platform[:finger]` version number down to the "OS major release"
platform_finger = system.platform[:finger].split('.').first.to_s
# Use that to set the path to the file (relative to the InSpec suite directory)
mapdata_file_path = "_mapdata/#{platform_finger}.yaml"
# Load the mapdata from profile, into a YAML structure
# https://docs.chef.io/inspec/profiles/#profile-files
mapdata_file_yaml = YAML.load(inspec.profile.file(mapdata_file_path))
# Dump the YAML back into a string for comparison
mapdata_file_dump = YAML.dump(mapdata_file_yaml)
### Output file produced by running the `_mapdata` state
### Dynamic, generated during Kitchen's `converge` phase
# Derive the location of the dumped mapdata (differs for Windows)
output_dir = platform[:family] == 'windows' ? '/temp' : '/tmp'
# Use that to set the path to the file (absolute path, i.e. within the container)
output_file_path = "#{output_dir}/salt_mapdata_dump.yaml"
# Load the output into a YAML structure using InSpec's `yaml` resource
# https://github.com/inspec/inspec/blob/49b7d10/lib/inspec/resources/yaml.rb#L29
output_file_yaml = yaml(output_file_path).params
# Dump the YAML back into a string for comparison
output_file_dump = YAML.dump(output_file_yaml)
describe 'File content' do
it 'should match profile map data exactly' do
expect(output_file_dump).to eq(mapdata_file_dump)
end
end
end
# frozen_string_literal: true
pkgs =
case system.platform[:name]
when 'arch'
%w[salt]
when /bsd$/
%w[py38-salt-3002.6]
when 'windows'
['Salt Minion']
else
%w[salt-master salt-minion]
end
control 'salt packages' do
title 'should be installed'
version = '3000'
pkgs.each do |p|
describe package(p) do
it { should be_installed }
its('version') { should match(/^#{version}/) }
end
end
end
# frozen_string_literal: true
services =
case system.platform[:family]
when 'bsd'
%w[salt_master salt_minion]
when 'windows'
%w[salt-minion]
else
%w[salt-master salt-minion]
end
control 'salt services' do
title 'should be running'
services.each do |p|
describe service(p) do
it { should be_installed }
it { should be_enabled }
it { should be_running }
end
end
end
# yamllint disable rule:indentation rule:line-length
# Ubuntu-18.04
---
values:
formulas_settings:
checkout_orig_branch: false
git_opts:
default:
basedir: /srv/formulas
baseurl: https://github.com/saltstack-formulas
options:
output_loglevel: quiet
rev: master
update: false
list: {}
salt_settings:
api_service: salt-api
api_service_details:
enabled: true
state: running
clean_config_d_dir: true
cloud:
template_sources:
maps: salt://salt/files/cloud.maps.d
profiles: salt://salt/files/cloud.profiles.d
providers: salt://salt/files/cloud.providers.d
config_path: /etc/salt
gitfs:
dulwich:
install_from_source: true
gitpython:
install_from_source: false
pygit2:
git:
install_from_package: null
require_state: false
install_from_source: false
libgit2:
build_parent_dir: /usr/src/
download_hash: 683d1164e361e2a0a8d52652840e2340
install_from_source: false
version: 0.23.0
version: 0.22.1
install_packages: true
key_url: https://repo.saltproject.io/apt/ubuntu/18.04/amd64/3000/SALTSTACK-GPG-KEY.pub
libgit2: libgit2-22
master:
ext_pillar:
- cmd_yaml: cat /etc/salt/yaml
- stack:
- /path/to/stack1.cfg
- /path/to/stack2.cfg
- reclass:
inventory_base_uri: /etc/reclass
file_roots:
base:
- /srv/salt
fileserver_backend:
- rootfs
gitfs_provider: gitpython
pillar_roots:
base:
- /srv/pillar
master_config_use_TOFS: false
master_remove_config: false
master_service: salt-master
master_service_details:
enabled: true
state: running
minion:
file_roots:
base:
- /srv/salt
fileserver_backend:
- rootfs
master: localhost
master_type: str
pillar_roots:
base:
- /srv/pillar
minion_config_use_TOFS: false
minion_remove_config: false
minion_service: salt-minion
minion_service_details:
enabled: true
state: running
parallel: true
pin_version: false
pkgrepo: deb [signed-by=/usr/share/keyrings/salt-archive-keyring.gpg arch=amd64]
https://repo.saltproject.io/apt/ubuntu/18.04/amd64/3000 bionic main
pkgrepo_keyring: https://repo.saltproject.io/apt/ubuntu/18.04/amd64/3000/salt-archive-keyring.gpg
pkgrepo_keyring_hash: sha256=ea38e0cdbd8dc53e1af154a8d711a2a321a69f81188062dc5cde9d54df2b8c47
py_ver: ''
pygit2: python-pygit2
pyinotify: python-pyinotify
python_dulwich: python-dulwich
python_git: python-git
release: '3000'
restart_via_at: false
retry_options:
attempts: 2
interval: 10
splay: 10
until: true
rootgroup: root
rootuser: root
salt_api: salt-api
salt_cloud: salt-cloud
salt_master: salt-master
salt_master_macos_plist_hash: ''
salt_minion: salt-minion
salt_minion_macos_plist_hash: ''
salt_ssh: salt-ssh
salt_syndic: salt-syndic
ssh_roster: {}
syndic_service: salt-syndic
use_pip: false
version: ''
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
name: v3000-py2
title: salt formula
maintainer: SaltStack Formulas
license: Apache-2.0
summary: Verify that Salt `v3000-py2` is setup and configured
depends:
- name: share
path: test/integration/share
supports:
- platform-name: debian
- platform-name: ubuntu
- platform-name: centos
- platform-name: fedora
- platform-name: opensuse
- platform-name: suse
- platform-name: freebsd
- platform-name: openbsd
- platform-name: amazon
- platform-name: oracle
- platform-name: arch
- platform-name: gentoo
- platform-name: almalinux
- platform-name: rocky
- platform: windows
# InSpec Profile: `v3000-py3`
This shows the implementation of the `v3000-py3` InSpec [profile](https://github.com/inspec/inspec/blob/master/docs/profiles.md).
## Verify a profile
InSpec ships with built-in features to verify a profile structure.
```bash
$ inspec check v3000-py3
Summary
-------
Location: v3000-py3
Profile: profile
Controls: 4
Timestamp: 2019-06-24T23:09:01+00:00
Valid: true
Errors
------
Warnings
--------