# InSpec Profile: `v201707-py2` | |||||
This shows the implementation of the `v201707-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 v201707-py2 | |||||
Summary | |||||
------- | |||||
Location: v201707-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 v201707-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 v201707-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 | |||||
version = | |||||
case platform[:family] | |||||
when 'redhat' | |||||
case platform[:name] | |||||
when 'amazon' | |||||
'2017.7.8-1.el7' | |||||
when 'centos' | |||||
'2017.7.8-1.el6' | |||||
end | |||||
when 'debian' | |||||
'2017.7.8+ds-1' | |||||
end | |||||
control 'salt packages' do | |||||
title 'should be installed' | |||||
%w[ | |||||
salt-master | |||||
salt-minion | |||||
].each do |p| | |||||
describe package(p) do | |||||
it { should be_installed } | |||||
its('version') { should eq version } | |||||
end | |||||
end | |||||
end |
# frozen_string_literal: true | |||||
control 'salt services' do | |||||
title 'should be running' | |||||
%w[ | |||||
salt-master | |||||
salt-minion | |||||
].each do |p| | |||||
describe service(p) do | |||||
it { should be_enabled } | |||||
it { should be_running } | |||||
end | |||||
end | |||||
end |
# -*- coding: utf-8 -*- | |||||
# vim: ft=yaml | |||||
--- | |||||
name: v201707-py2 | |||||
title: salt formula | |||||
maintainer: SaltStack Formulas | |||||
license: Apache-2.0 | |||||
summary: Verify that Salt `v201707-py2` is setup and configured | |||||
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: arch |
# -*- coding: utf-8 -*- | |||||
# vim: ft=yaml | |||||
--- | |||||
salt: | |||||
release: '2017.7' |