Daniel Dehennin 0eafbd945c test(inspec): verify map.jinja dump
We store validated `map.jinja` dump under the profile `files`
directory to access them with `inspec.profile.file('filename')` to
validate the content of the generated mapdata file.

The YAML files contain a value specific to each minion, its hostname,
so we use string format to expand `%{hostname}`.

The `default` inspec profile need to depends on `share` to access the
`system` and `salt_minion` libraries.
2020-07-30 22:00:18 +02:00
..
2020-07-30 22:00:18 +02:00

# InSpec Profile: `share`

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.

## Libraries

### `system`

The `system` library provides easy access to system dependents informations:

- `system.hostname`: return the result of `hostname -s` or `hostnamectl --static` based on the availability of each commans
- `system.platform`: take `inspec.platform` and mangle things a bit to be useful
  - `system.platform[:family]` provides a family name for Arch
  - `system.platform[:name]` modify `amazon` to `amazonlinux`
  - `system.platform[:release]` tweak for Arch and Amazon Linux:
    - `Arch` is always `base-later`
    - `Amazon Linux` release `2018` became `1`
  - `system.platform[:finger]` is just the concatenation of the name and the first release number (except for Ubuntu which gives `20.04` for example)