mirror of
https://github.com/saltstack-formulas/sudoers-formula.git
synced 2026-09-22 20:35:09 +02:00
test(map): standardise map.jinja verification
* Automated using https://github.com/myii/ssf-formula/pull/281
This commit is contained in:
@@ -2,37 +2,20 @@
|
||||
|
||||
This shows the implementation of the `share` InSpec [profile](https://github.com/inspec/inspec/blob/master/docs/profiles.md).
|
||||
|
||||
It's goal is to share the libraries between all profiles.
|
||||
Its goal is to share the libraries between all profiles.
|
||||
|
||||
## Verify a profile
|
||||
## Libraries
|
||||
|
||||
InSpec ships with built-in features to verify a profile structure.
|
||||
### `system`
|
||||
|
||||
```bash
|
||||
$ inspec check share
|
||||
Summary
|
||||
-------
|
||||
Location: share
|
||||
Profile: profile
|
||||
Controls: 4
|
||||
Timestamp: 2019-06-24T23:09:01+00:00
|
||||
Valid: true
|
||||
The `system` library provides easy access to system dependent information:
|
||||
|
||||
Errors
|
||||
------
|
||||
|
||||
Warnings
|
||||
--------
|
||||
```
|
||||
|
||||
## Execute a profile
|
||||
|
||||
To run all **supported** controls on a local machine use `inspec exec /path/to/profile`.
|
||||
|
||||
```bash
|
||||
$ inspec exec share
|
||||
..
|
||||
|
||||
Finished in 0.0025 seconds (files took 0.12449 seconds to load)
|
||||
8 examples, 0 failures
|
||||
```
|
||||
- `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 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`)
|
||||
- `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)
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# vim: ft=yaml
|
||||
---
|
||||
name: share
|
||||
title: sudoers formula
|
||||
title: InSpec shared resources
|
||||
maintainer: SaltStack Formulas
|
||||
license: Apache-2.0
|
||||
summary: shared resources
|
||||
@@ -15,4 +15,7 @@ supports:
|
||||
- platform-name: suse
|
||||
- platform-name: freebsd
|
||||
- platform-name: amazon
|
||||
- platform-name: oracle
|
||||
- platform-name: arch
|
||||
- platform-name: gentoo
|
||||
- platform: windows
|
||||
|
||||
@@ -27,8 +27,8 @@ class SystemResource < Inspec.resource(1)
|
||||
|
||||
def build_platform_family
|
||||
case inspec.platform[:name]
|
||||
when 'arch'
|
||||
'arch'
|
||||
when 'arch', 'gentoo'
|
||||
inspec.platform[:name]
|
||||
else
|
||||
inspec.platform[:family]
|
||||
end
|
||||
@@ -36,13 +36,16 @@ class SystemResource < Inspec.resource(1)
|
||||
|
||||
def build_platform_name
|
||||
case inspec.platform[:name]
|
||||
when 'amazon'
|
||||
'amazonlinux'
|
||||
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
|
||||
def build_platform_release
|
||||
case inspec.platform[:name]
|
||||
when 'amazon'
|
||||
@@ -52,10 +55,15 @@ class SystemResource < Inspec.resource(1)
|
||||
'base-latest'
|
||||
when 'gentoo'
|
||||
"#{inspec.platform[:release].split('.')[0]}-#{derive_gentoo_init_system}"
|
||||
when 'windows_8.1_pro'
|
||||
'8.1'
|
||||
when 'windows_server_2019_datacenter'
|
||||
'2019-server'
|
||||
else
|
||||
inspec.platform[:release]
|
||||
end
|
||||
end
|
||||
# rubocop:enable Metrics/MethodLength
|
||||
|
||||
def derive_gentoo_init_system
|
||||
case inspec.command('systemctl').exist?
|
||||
|
||||
Reference in New Issue
Block a user