1
0
Fork 0

Compare commits

...

105 Commits

Author SHA1 Message Date
Imran Iqbal ee93b6928d
chore(gemfile.lock): update to latest gem versions (2022-W28) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/454
2022-07-17 19:48:40 +01:00
Imran Iqbal 8051893cb9
chore(gemfile.lock): update to latest gem versions (2022-W26) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/453
2022-06-30 23:09:49 +01:00
Imran Iqbal 1fb3a75bae
chore(gemfile.lock): update to latest gem versions (2022-W24) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/452
2022-06-15 23:06:55 +01:00
Imran Iqbal 47cf2411c2
ci: update `pre-commit` configuration inc. for pre-commit.ci [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/450
2022-06-09 00:06:09 +01:00
Imran Iqbal f4fecb7fe8
chore(gemfile.lock): update to latest gem versions (2022-W23) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/449
2022-06-07 23:31:43 +01:00
Imran Iqbal 6c2e46f398
chore(gemfile.lock): update to latest gem versions (2022-W22) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/447
2022-05-30 17:29:41 +01:00
Imran Iqbal 18ca7ca872
chore(gemfile.lock): update to latest gem versions (2022-W20) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/444
2022-05-17 13:22:33 +01:00
Imran Iqbal 5263127a6d
test(system.rb): add support for `mac_os_x` [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/442
2022-05-17 08:52:09 +01:00
Imran Iqbal e21b8ff6f1
test(_mapdata): add verification files for `ubuntu-22` [skip ci] 2022-05-10 10:46:05 +01:00
Imran Iqbal 27b9a0bbb6
chore(gemfile.lock): update to latest gem versions (2022-W19) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/439
2022-05-10 07:34:33 +01:00
Imran Iqbal b5d74e6dfa
chore(gemfile.lock): update to latest gem versions (2022-W18) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/437
2022-05-06 23:19:21 +01:00
Imran Iqbal d9666fcfd1
chore(gemfile.lock): update to latest gem versions (2022-W17) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/433
2022-04-25 09:12:25 +01:00
Imran Iqbal 9bf93003ef
chore(gemfile.lock): update to latest gem versions (2022-W16) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/431
2022-04-18 23:38:35 +01:00
Imran Iqbal b965b3cb60
chore(gemfile.lock): update to latest gem versions (2022-W15) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/428
2022-04-11 19:24:10 +01:00
Imran Iqbal 4eb8b3101e
test(_mapdata): add verification files for `fedora-36` [skip ci] 2022-04-11 16:18:02 +01:00
Imran Iqbal 048448307e
chore(gemfile.lock): update to latest gem versions (2022-W14) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/427
2022-04-04 09:24:52 +01:00
Imran Iqbal 41a3819974
ci(kitchen+gitlab): update for new pre-salted images [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/426
2022-04-03 15:09:11 +01:00
Imran Iqbal ee6113fe80
chore(gemfile.lock): update to latest gem versions (2022-W13) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/425
2022-04-01 15:37:58 +01:00
Imran Iqbal 00986861b2
test(_mapdata): add verification files for `fedora-35` [skip ci] 2022-03-30 09:20:08 +01:00
Imran Iqbal 48057c781f
chore(gemfile.lock): update to latest gem versions (2022-W12) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/424
2022-03-22 12:03:15 +00:00
Imran Iqbal 99d0a22ee5
chore(gemfile.lock): update to latest gem versions (2022-W11) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/423
2022-03-17 23:42:12 +00:00
Imran Iqbal f0a81b327b
chore(gemfile.lock): update to latest gem versions (2022-W10) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/422
2022-03-12 10:07:21 +00:00
Imran Iqbal 01c57e1372
chore(gemfile.lock): update to latest gem versions (2022-W09) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/421
2022-03-04 15:34:26 +00:00
Imran Iqbal 7f911c1317
chore(gemfile.lock): update to latest gem versions (2022-W08) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/419
2022-02-21 19:12:20 +00:00
Imran Iqbal e0e91ea685
chore(gemfile.lock): update to latest gem versions (2022-W07) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/416
2022-02-15 09:03:56 +00:00
Imran Iqbal e3cbbb174f
test(system): add `build_platform_codename` [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/415
2022-02-14 08:09:10 +00:00
Imran Iqbal ca1023cccb
ci: update linters to latest versions [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/414
2022-02-12 23:24:43 +00:00
Imran Iqbal d5cb0cb259
chore(gemfile.lock): update to latest gem versions (2022-W06) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/412
2022-02-07 17:31:35 +00:00
Imran Iqbal f63dc87b9e
ci(kitchen+gitlab): update for new pre-salted images [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/410
2022-02-02 23:06:42 +00:00
Imran Iqbal bb23643e90
chore(gemfile.lock): update to latest gem versions (2022-W05) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/409
2022-02-01 23:42:59 +00:00
noelmcloughlin 91950b1c86
ci(gemfile): allow rubygems proxy to be provided as an env var [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/408
2022-01-26 08:44:23 +00:00
Imran Iqbal 8059e869a6
chore(gemfile.lock): update to latest gem versions (2022-W04) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/407
2022-01-25 14:15:13 +00:00
Imran Iqbal e547943b50
chore(gemfile.lock): update to latest gem versions (2022-W03) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/405
2022-01-17 19:51:04 +00:00
Imran Iqbal 17cf047307
chore(semantic-release): replace broken `m2r` with `m2r2` [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/404
2022-01-17 08:16:42 +00:00
Imran Iqbal 50e3e0b1fb
chore(gemfile.lock): update to latest gem versions (2022-W02) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/398
2022-01-11 09:39:37 +00:00
Imran Iqbal 82f0828e30
chore(gemfile.lock): update to latest gem versions (2022-W01) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/397
2022-01-06 08:08:57 +00:00
Imran Iqbal ae7f0e14d6
chore(gemfile.lock): update to latest gem versions (2021-W52) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/396
2021-12-28 21:07:17 +00:00
Imran Iqbal 2e8a52a520
chore(gemfile.lock): update to latest gem versions (2021-W51) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/394
2021-12-22 11:59:05 +00:00
Imran Iqbal 955760d54d
chore(gemfile.lock): update to latest gem versions (2021-W50) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/391
2021-12-14 15:23:35 +00:00
Imran Iqbal 386fc0f563
chore(gemfile.lock): update to latest gem versions (2021-W49) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/388
2021-12-06 08:23:20 +00:00
Imran Iqbal aa93c70507
chore(gemfile.lock): update to latest gem versions (2021-W47) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/386
2021-11-23 11:44:30 +00:00
Imran Iqbal 1ae87ddb8a
ci(kitchen+ci): update with `3004` pre-salted images/boxes [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/385
2021-11-23 10:37:54 +00:00
Imran Iqbal 92958d3ac8
chore(gemfile.lock): update to latest gem versions (2021-W43) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/381
2021-10-26 11:16:43 +01:00
Imran Iqbal 2c700b37e5
chore(gemfile.lock): update to latest gem versions (2021-W42) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/380
2021-10-23 21:12:17 +01:00
Imran Iqbal 10029b4183
chore(gemfile.lock): update to latest gem versions (2021-W41) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/378
2021-10-15 19:12:09 +01:00
Imran Iqbal 350a0a362e
chore(gemfile.lock): update to latest gem versions (2021-W40) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/375
2021-10-06 17:06:11 +01:00
Imran Iqbal 1fb360ce5c
ci(kitchen+ci): update with latest CVE pre-salted images [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/374
2021-10-05 11:17:35 +01:00
Imran Iqbal c05321abae
chore(gemfile.lock): update to latest gem versions (2021-W39) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/370
2021-09-30 07:21:21 +01:00
Imran Iqbal 7912f2c8b3
chore(gemfile.lock): update to latest gem versions (2021-W38) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/369
2021-09-21 12:00:16 +01:00
Imran Iqbal eb617b7eea
chore(gemfile.lock): update to latest gem versions (2021-W37) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/368
2021-09-14 09:58:53 +01:00
Imran Iqbal 82b4fbabc2
chore(gemfile.lock): update to latest gem versions (2021-W36) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/367
2021-09-08 23:35:41 +01:00
Imran Iqbal 4570bb6bef
chore(gemfile.lock): update to latest gem versions (2021-W35) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/364
2021-08-30 18:11:51 +01:00
Imran Iqbal 9ea8e3ddce
ci: review #78, fix verification files & standardise structure [skip ci]
* Semi-automated using https://github.com/myii/ssf-formula/pull/363
2021-08-30 16:10:49 +01:00
semantic-release-bot cc83b76633 chore(release): 0.25.0 [skip ci]
# [0.25.0](https://github.com/saltstack-formulas/sudoers-formula/compare/v0.24.0...v0.25.0) (2021-08-29)

### Continuous Integration

* **appended:** add second test suite ([38126a3](38126a31a6))
* **kitchen+ci:** update with latest `3003.2` pre-salted images [skip ci] ([93ae700](93ae700eed))

### Features

* **ordering:** optionally append includefiles to main config ([751eff7](751eff7218))
2021-08-29 00:09:11 +00:00
N cd81da881c
Merge pull request #78 from noelmcloughlin/append
feat(ordering): optionally append includefiles to main config
2021-08-29 00:57:26 +01:00
Imran Iqbal 8adc38bee7
chore(gemfile.lock): update to latest gem versions (2021-W34) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/362
2021-08-23 09:26:06 +01:00
Imran Iqbal 93ae700eed
ci(kitchen+ci): update with latest `3003.2` pre-salted images [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/360
2021-08-19 10:15:14 +01:00
noelmcloughlin 38126a31a6 ci(appended): add second test suite 2021-08-19 01:24:17 +01:00
noelmcloughlin 751eff7218 feat(ordering): optionally append includefiles to main config 2021-08-19 00:36:59 +01:00
semantic-release-bot 25cd2cf0e3 chore(release): 0.24.0 [skip ci]
# [0.24.0](https://github.com/saltstack-formulas/sudoers-formula/compare/v0.23.4...v0.24.0) (2021-08-18)

### Continuous Integration

* **gemfile+lock:** use `ssf` customised `inspec` repo [skip ci] ([4b05f27](4b05f272ef))
* add `arch-master` to matrix and update `.travis.yml` [skip ci] ([e8e046f](e8e046fc45))
* add Debian 11 Bullseye & update `yamllint` configuration [skip ci] ([5dd9f21](5dd9f2117a))
* **3003.1:** update inc. AlmaLinux, Rocky & `rst-lint` [skip ci] ([9d3efc2](9d3efc20eb))
* **kitchen:** move `provisioner` block & update `run_command` [skip ci] ([05bfba0](05bfba0495))
* **kitchen+gitlab:** remove Ubuntu 16.04 & Fedora 32 (EOL) [skip ci] ([29df517](29df51794e))

### Documentation

* **readme:** fix heading [skip ci] ([f38e79a](f38e79a797))

### Features

* **macro:** to use in several state ([70e66c9](70e66c97be))

### Tests

* **_mapdata:** add verification file for `debian-11` [skip ci] ([72fa4c2](72fa4c2dbc))
* **alma+rocky:** add platforms (based on CentOS 8) [skip ci] ([5109ee0](5109ee0c5c))
2021-08-18 12:46:12 +00:00
N 933b3c9b51
Merge pull request #49 from alkivi-sas/master
feat(macro): to use in several state
2021-08-18 13:38:20 +01:00
Imran Iqbal dccfe9f03a
chore(gemfile.lock): update to latest gem versions (2021-W33) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/359
2021-08-16 18:25:53 +01:00
Imran Iqbal c5b7633b5d
chore(gemfile.lock): update to latest gem versions (2021-W32) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/358
2021-08-09 12:16:49 +01:00
Imran Iqbal 4b05f272ef
ci(gemfile+lock): use `ssf` customised `inspec` repo [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/357
2021-08-04 21:57:02 +01:00
Imran Iqbal 51541ce786
chore(gemfile.lock): update to latest gem versions (2021-W31) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/356
2021-08-04 21:39:43 +01:00
Imran Iqbal cfb618f660
chore(gemfile.lock): update to latest gem versions (2021-W30) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/353
2021-07-26 14:31:44 +01:00
Imran Iqbal 06d18efb4e
chore(gemfile.lock): update to latest gem versions (2021-W29) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/349
2021-07-21 18:34:22 +01:00
Imran Iqbal 5dd9f2117a
ci: add Debian 11 Bullseye & update `yamllint` configuration [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/345
2021-07-18 19:05:46 +01:00
Imran Iqbal 72fa4c2dbc
test(_mapdata): add verification file for `debian-11` [skip ci] 2021-07-18 15:02:07 +01:00
Imran Iqbal 05bfba0495
ci(kitchen): move `provisioner` block & update `run_command` [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/344
2021-07-17 21:13:02 +01:00
Imran Iqbal 2d05542285
chore(gemfile+lock): update to latest gem versions (2021-W28) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/343
2021-07-17 20:30:29 +01:00
Imran Iqbal 054f6bdf1f
chore(deps): bump `addressable` from `2.7.0` to `2.8.0` [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/340
2021-07-14 12:16:52 +01:00
Imran Iqbal 9d3efc20eb
ci(3003.1): update inc. AlmaLinux, Rocky & `rst-lint` [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/335
2021-07-02 00:08:06 +01:00
Imran Iqbal 5109ee0c5c
test(alma+rocky): add platforms (based on CentOS 8) [skip ci] 2021-07-01 08:35:15 +01:00
Imran Iqbal 29df51794e
ci(kitchen+gitlab): remove Ubuntu 16.04 & Fedora 32 (EOL) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/331
2021-06-21 20:48:50 +01:00
Imran Iqbal 9449386b33
chore(pre-commit): use `info` report level for `rstcheck` [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/325
2021-05-20 14:11:06 +01:00
Imran Iqbal e8e046fc45
ci: add `arch-master` to matrix and update `.travis.yml` [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/323
2021-05-09 22:34:11 +01:00
Imran Iqbal f38e79a797
docs(readme): fix heading [skip ci] 2021-05-05 15:32:26 +01:00
semantic-release-bot 9da1c8cb81 chore(release): 0.23.4 [skip ci]
## [0.23.4](https://github.com/saltstack-formulas/sudoers-formula/compare/v0.23.3...v0.23.4) (2021-04-30)

### Bug Fixes

* **sudoers/included:** fix idempotence with purge_includedir=True ([a64bf89](a64bf89777))

### Continuous Integration

* **gemfile+lock:** use `ssf` customised `kitchen-docker` repo [skip ci] ([73379d6](73379d6b23))
* **kitchen+ci:** use latest pre-salted images (after CVE) [skip ci] ([32e3825](32e3825e63))
* **kitchen+gitlab:** adjust matrix to add `3003` [skip ci] ([285cdaa](285cdaa778))
* **kitchen+gitlab-ci:** use latest pre-salted images [skip ci] ([cfb67f9](cfb67f9545))
* **pre-commit:** update hook for `rubocop` [skip ci] ([7c1b16f](7c1b16f963))

### Tests

* **_mapdata:** add verification file for `fedora-34` [skip ci] ([d90f31b](d90f31bbfa))
* standardise use of `share` suite & `_mapdata` state [skip ci] ([e58973f](e58973f6a7))
* **_mapdata:** add verification files for new platforms ([96a5724](96a5724ffc))
* **share:** standardise with latest changes [skip ci] ([67f85fa](67f85fa218))
2021-04-30 15:57:50 +00:00
Éric Veiras Galisson 4e8f515ef2
Merge pull request #74 from stasjok/fix-idempotence
fix(sudoers/included): fix idempotence with purge_includedir=True
2021-04-30 17:50:03 +02:00
Imran Iqbal 285cdaa778
ci(kitchen+gitlab): adjust matrix to add `3003` [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/318
2021-04-23 08:49:48 +01:00
Imran Iqbal d90f31bbfa
test(_mapdata): add verification file for `fedora-34` [skip ci] 2021-04-23 08:30:05 +01:00
Imran Iqbal 72c228b0bf
chore: update `CODEOWNERS` & `.yamllint` re: `kitchen-vagrant` [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/310
2021-04-05 18:22:15 +01:00
Imran Iqbal e58973f6a7
test: standardise use of `share` suite & `_mapdata` state [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/302
2021-03-23 21:33:36 +00:00
Imran Iqbal 32e3825e63
ci(kitchen+ci): use latest pre-salted images (after CVE) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/299
2021-03-07 22:22:38 +00:00
Imran Iqbal 3d1d7c1cca
chore(yamllint): add `.git/` to ignores [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/297
2021-03-05 18:35:39 +00:00
Daniel Dehennin a784992887
chore(rubocop): allow use of `YAML.load` for `_mapdata.rb` [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/296
2021-02-23 21:51:54 +00:00
Dafydd Jones 0ebf476362
chore(shellcheck): switch hook for `shellcheck` [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/295
2021-02-21 08:34:16 +00:00
Stanislav Asunkin a64bf89777 fix(sudoers/included): fix idempotence with purge_includedir=True 2021-02-20 21:14:26 +03:00
Imran Iqbal 73379d6b23
ci(gemfile+lock): use `ssf` customised `kitchen-docker` repo [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/294
2021-02-17 13:54:04 +00:00
Imran Iqbal cfb67f9545
ci(kitchen+gitlab-ci): use latest pre-salted images [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/293
2021-02-15 07:59:00 +00:00
Imran Iqbal 96a5724ffc
test(_mapdata): add verification files for new platforms
* `fedora-33`
* `gentoo-2-sysd`
* `gentoo-2-sysv`
* `opensuse-tumbleweed`
* `oraclelinux-7`
* `oraclelinux-8`
2021-02-15 07:53:25 +00:00
Imran Iqbal c93fa78805
chore: standardise structure (`.gitignore` & `_mapdata.rb`) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/292
2021-02-11 11:54:05 +00:00
Imran Iqbal 7c1b16f963
ci(pre-commit): update hook for `rubocop` [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/290
2021-02-02 00:23:35 +00:00
Imran Iqbal 67f85fa218
test(share): standardise with latest changes [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/288
2021-02-01 07:24:11 +00:00
semantic-release-bot 30f6e73393 chore(release): 0.23.3 [skip ci]
## [0.23.3](https://github.com/saltstack-formulas/sudoers-formula/compare/v0.23.2...v0.23.3) (2021-01-14)

### Bug Fixes

* **_mapdata:** ensure map data is directly under `values` ([e2c2a8f](e2c2a8f1a2))

### Tests

* **_mapdata:** update for `_mapdata/init.sls` change ([a018875](a018875c03))
2021-01-14 21:33:29 +00:00
Imran Iqbal 4df78f2112
Merge pull request #73 from myii/fix/ensure-map-data-directly-under-values
fix(_mapdata): ensure map data is directly under `values`
2021-01-14 21:28:04 +00:00
Imran Iqbal a018875c03
test(_mapdata): update for `_mapdata/init.sls` change 2021-01-14 21:18:16 +00:00
Daniel Dehennin e2c2a8f1a2
fix(_mapdata): ensure map data is directly under `values`
* Semi-automated using https://github.com/myii/ssf-formula/pull/287
2021-01-14 20:35:46 +00:00
semantic-release-bot 964f2ee66e chore(release): 0.23.2 [skip ci]
## [0.23.2](https://github.com/saltstack-formulas/sudoers-formula/compare/v0.23.1...v0.23.2) (2020-12-23)

### Code Refactoring

* **map:** use top-level `values:` key in `map.jinja` dumps ([a643385](a643385daf))
2020-12-23 18:54:52 +00:00
Imran Iqbal 6f21f9455b
Merge pull request #72 from myii/refactor/use-top-level-values-in-map-jinja-dumps
refactor(map): use top-level `values:` key in `map.jinja` dumps
2020-12-23 18:46:35 +00:00
Imran Iqbal a643385daf
refactor(map): use top-level `values:` key in `map.jinja` dumps
* Semi-automated using https://github.com/myii/ssf-formula/pull/284
2020-12-23 16:47:27 +00:00
Anthony Martinet d8a0e12abf fix(macros) 2019-04-24 17:29:58 +02:00
Anthony Martinet a1b88a9845 fix(macros) 2019-04-24 17:23:04 +02:00
Alkivi 70e66c97be feat(macro): to use in several state 2019-04-24 11:03:27 +02:00
93 changed files with 4262 additions and 1505 deletions

12
.gitignore vendored
View File

@ -91,6 +91,9 @@ celerybeat-schedule
venv/
ENV/
# visual studio
.vs/
# Spyder project settings
.spyderproject
.spyproject
@ -120,3 +123,12 @@ docs/*.md
Dockerfile.*_*
ignore/
tmp/
# `salt-formula` -- Vagrant Specific files
.vagrant
top.sls
!test/salt/pillar/top.sls
# `suricata-formula` -- Platform binaries
*.rpm
*.deb

View File

@ -46,7 +46,7 @@ variables:
DOCKER_DRIVER: 'overlay2'
###############################################################################
# `lint` stage: `commitlint` & `pre-commit`
# `lint` stage: `commitlint`, `pre-commit` & `rubocop` (latest, failure allowed)
###############################################################################
commitlint:
stage: *stage_lint
@ -102,7 +102,7 @@ rubocop:
###############################################################################
# Define `test` template
###############################################################################
.test_instance:
.test_instance: &test_instance
stage: *stage_test
image: *image_dindruby
services: *services_docker_dind
@ -117,43 +117,124 @@ rubocop:
# Alternative value to consider: `${CI_JOB_NAME}`
- 'bin/kitchen verify "${DOCKER_ENV_CI_JOB_NAME}"'
###############################################################################
# Define `test` template (`allow_failure: true`)
###############################################################################
.test_instance_failure_permitted:
<<: *test_instance
allow_failure: true
###############################################################################
# `test` stage: each instance below uses the `test` template above
###############################################################################
## 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`
default-debian-10-master-py3: {extends: '.test_instance'}
default-ubuntu-2004-master-py3: {extends: '.test_instance'}
# yamllint disable rule:line-length
# default-debian-11-tiamat-py3: {extends: '.test_instance'}
# default-debian-10-tiamat-py3: {extends: '.test_instance'}
# default-debian-9-tiamat-py3: {extends: '.test_instance'}
# default-ubuntu-2204-tiamat-py3: {extends: '.test_instance_failure_permitted'}
# default-ubuntu-2004-tiamat-py3: {extends: '.test_instance'}
# default-ubuntu-1804-tiamat-py3: {extends: '.test_instance'}
# default-centos-stream8-tiamat-py3: {extends: '.test_instance_failure_permitted'}
# default-centos-7-tiamat-py3: {extends: '.test_instance'}
# default-amazonlinux-2-tiamat-py3: {extends: '.test_instance'}
# default-oraclelinux-8-tiamat-py3: {extends: '.test_instance'}
# default-oraclelinux-7-tiamat-py3: {extends: '.test_instance'}
# default-almalinux-8-tiamat-py3: {extends: '.test_instance'}
# default-rockylinux-8-tiamat-py3: {extends: '.test_instance'}
# default-debian-11-master-py3: {extends: '.test_instance'}
# appended-debian-11-master-py3: {extends: '.test_instance'}
debian-11-master-py3: {extends: '.test_instance'}
# default-debian-10-master-py3: {extends: '.test_instance'}
# appended-debian-10-master-py3: {extends: '.test_instance'}
debian-10-master-py3: {extends: '.test_instance'}
# default-debian-9-master-py3: {extends: '.test_instance'}
# appended-debian-9-master-py3: {extends: '.test_instance'}
debian-9-master-py3: {extends: '.test_instance'}
# default-ubuntu-2204-master-py3: {extends: '.test_instance_failure_permitted'}
# appended-ubuntu-2204-master-py3: {extends: '.test_instance_failure_permitted'}
ubuntu-2204-master-py3: {extends: '.test_instance_failure_permitted'}
# default-ubuntu-2004-master-py3: {extends: '.test_instance'}
# appended-ubuntu-2004-master-py3: {extends: '.test_instance'}
ubuntu-2004-master-py3: {extends: '.test_instance'}
# default-ubuntu-1804-master-py3: {extends: '.test_instance'}
default-centos-8-master-py3: {extends: '.test_instance'}
default-fedora-32-master-py3: {extends: '.test_instance'}
# default-fedora-31-master-py3: {extends: '.test_instance'}
default-opensuse-leap-152-master-py3: {extends: '.test_instance'}
default-amazonlinux-2-master-py3: {extends: '.test_instance'}
# default-debian-10-3000-3-py3: {extends: '.test_instance'}
# default-debian-9-3000-3-py3: {extends: '.test_instance'}
# default-ubuntu-1804-3000-3-py3: {extends: '.test_instance'}
# default-centos-8-3000-3-py3: {extends: '.test_instance'}
# default-centos-7-3000-3-py3: {extends: '.test_instance'}
# default-fedora-31-3000-3-py3: {extends: '.test_instance'}
# default-opensuse-leap-152-3000-3-py3: {extends: '.test_instance'}
# default-amazonlinux-2-3000-3-py3: {extends: '.test_instance'}
# default-ubuntu-1804-3000-3-py2: {extends: '.test_instance'}
# default-ubuntu-1604-3000-3-py2: {extends: '.test_instance'}
# default-arch-base-latest-3000-3-py2: {extends: '.test_instance'}
# default-debian-10-2019-2-py3: {extends: '.test_instance'}
# default-debian-9-2019-2-py3: {extends: '.test_instance'}
# default-ubuntu-1804-2019-2-py3: {extends: '.test_instance'}
# default-ubuntu-1604-2019-2-py3: {extends: '.test_instance'}
# default-centos-8-2019-2-py3: {extends: '.test_instance'}
# default-centos-7-2019-2-py3: {extends: '.test_instance'}
# default-fedora-31-2019-2-py3: {extends: '.test_instance'}
# default-opensuse-leap-152-2019-2-py3: {extends: '.test_instance'}
# default-amazonlinux-2-2019-2-py3: {extends: '.test_instance'}
# default-centos-6-2019-2-py2: {extends: '.test_instance'}
# default-amazonlinux-1-2019-2-py2: {extends: '.test_instance'}
default-arch-base-latest-2019-2-py2: {extends: '.test_instance'}
# appended-ubuntu-1804-master-py3: {extends: '.test_instance'}
ubuntu-1804-master-py3: {extends: '.test_instance'}
# default-centos-stream8-master-py3: {extends: '.test_instance_failure_permitted'}
# appended-centos-stream8-master-py3: {extends: '.test_instance_failure_permitted'}
centos-stream8-master-py3: {extends: '.test_instance_failure_permitted'}
# default-centos-7-master-py3: {extends: '.test_instance'}
# appended-centos-7-master-py3: {extends: '.test_instance'}
centos-7-master-py3: {extends: '.test_instance'}
# default-fedora-36-master-py3: {extends: '.test_instance_failure_permitted'}
# appended-fedora-36-master-py3: {extends: '.test_instance_failure_permitted'}
fedora-36-master-py3: {extends: '.test_instance_failure_permitted'}
# default-fedora-35-master-py3: {extends: '.test_instance'}
# appended-fedora-35-master-py3: {extends: '.test_instance'}
fedora-35-master-py3: {extends: '.test_instance'}
# default-opensuse-leap-153-master-py3: {extends: '.test_instance'}
# appended-opensuse-leap-153-master-py3: {extends: '.test_instance'}
opensuse-leap-153-master-py3: {extends: '.test_instance'}
# default-opensuse-tmbl-latest-master-py3: {extends: '.test_instance_failure_permitted'}
# appended-opensuse-tmbl-latest-master-py3: {extends: '.test_instance_failure_permitted'}
opensuse-tmbl-latest-master-py3: {extends: '.test_instance_failure_permitted'}
# default-amazonlinux-2-master-py3: {extends: '.test_instance'}
# appended-amazonlinux-2-master-py3: {extends: '.test_instance'}
amazonlinux-2-master-py3: {extends: '.test_instance'}
# default-oraclelinux-8-master-py3: {extends: '.test_instance'}
# appended-oraclelinux-8-master-py3: {extends: '.test_instance'}
oraclelinux-8-master-py3: {extends: '.test_instance'}
# default-oraclelinux-7-master-py3: {extends: '.test_instance'}
# appended-oraclelinux-7-master-py3: {extends: '.test_instance'}
oraclelinux-7-master-py3: {extends: '.test_instance'}
# default-arch-base-latest-master-py3: {extends: '.test_instance'}
# appended-arch-base-latest-master-py3: {extends: '.test_instance'}
arch-base-latest-master-py3: {extends: '.test_instance'}
# default-gentoo-stage3-latest-master-py3: {extends: '.test_instance'}
# appended-gentoo-stage3-latest-master-py3: {extends: '.test_instance'}
gentoo-stage3-latest-master-py3: {extends: '.test_instance'}
# default-gentoo-stage3-systemd-master-py3: {extends: '.test_instance'}
# appended-gentoo-stage3-systemd-master-py3: {extends: '.test_instance'}
gentoo-stage3-systemd-master-py3: {extends: '.test_instance'}
# default-almalinux-8-master-py3: {extends: '.test_instance'}
# appended-almalinux-8-master-py3: {extends: '.test_instance'}
almalinux-8-master-py3: {extends: '.test_instance'}
# default-rockylinux-8-master-py3: {extends: '.test_instance'}
# appended-rockylinux-8-master-py3: {extends: '.test_instance'}
rockylinux-8-master-py3: {extends: '.test_instance'}
# default-debian-11-3004-1-py3: {extends: '.test_instance'}
# default-debian-10-3004-1-py3: {extends: '.test_instance'}
# default-debian-9-3004-1-py3: {extends: '.test_instance'}
# default-ubuntu-2204-3004-1-py3: {extends: '.test_instance_failure_permitted'}
# default-ubuntu-2004-3004-1-py3: {extends: '.test_instance'}
# default-ubuntu-1804-3004-1-py3: {extends: '.test_instance'}
# default-centos-stream8-3004-1-py3: {extends: '.test_instance_failure_permitted'}
# default-centos-7-3004-1-py3: {extends: '.test_instance'}
# default-fedora-36-3004-1-py3: {extends: '.test_instance_failure_permitted'}
# default-fedora-35-3004-1-py3: {extends: '.test_instance'}
# default-amazonlinux-2-3004-1-py3: {extends: '.test_instance'}
# default-oraclelinux-8-3004-1-py3: {extends: '.test_instance'}
# default-oraclelinux-7-3004-1-py3: {extends: '.test_instance'}
# default-arch-base-latest-3004-1-py3: {extends: '.test_instance'}
# default-gentoo-stage3-latest-3004-1-py3: {extends: '.test_instance'}
# default-gentoo-stage3-systemd-3004-1-py3: {extends: '.test_instance'}
# default-almalinux-8-3004-1-py3: {extends: '.test_instance'}
# default-rockylinux-8-3004-1-py3: {extends: '.test_instance'}
# default-opensuse-leap-153-3004-0-py3: {extends: '.test_instance'}
# default-opensuse-tmbl-latest-3004-0-py3: {extends: '.test_instance_failure_permitted'}
# default-debian-10-3003-4-py3: {extends: '.test_instance'}
# default-debian-9-3003-4-py3: {extends: '.test_instance'}
# default-ubuntu-2004-3003-4-py3: {extends: '.test_instance'}
# default-ubuntu-1804-3003-4-py3: {extends: '.test_instance'}
# default-centos-stream8-3003-4-py3: {extends: '.test_instance_failure_permitted'}
# default-centos-7-3003-4-py3: {extends: '.test_instance'}
# default-amazonlinux-2-3003-4-py3: {extends: '.test_instance'}
# default-oraclelinux-8-3003-4-py3: {extends: '.test_instance'}
# default-oraclelinux-7-3003-4-py3: {extends: '.test_instance'}
# default-almalinux-8-3003-4-py3: {extends: '.test_instance'}
# yamllint enable rule:line-length
###############################################################################
# `release` stage: `semantic-release`

View File

@ -3,6 +3,18 @@
---
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
ci:
autofix_commit_msg: |
ci(pre-commit.ci): apply auto fixes from pre-commit.com hooks
For more information, see https://pre-commit.ci
autofix_prs: true
autoupdate_branch: ''
autoupdate_commit_msg: |
ci(pre-commit.ci): perform `pre-commit` autoupdate
autoupdate_schedule: quarterly
skip: []
submodules: false
default_stages: [commit]
repos:
- repo: https://github.com/dafyddj/commitlint-pre-commit-hook
@ -17,24 +29,23 @@ repos:
stages: [manual]
additional_dependencies: ['@commitlint/config-conventional@8.3.4']
always_run: true
- repo: https://github.com/adithyabsk/mirrors-rubocop
rev: v0.91.0
- repo: https://github.com/rubocop-hq/rubocop
rev: v1.30.1
hooks:
- id: rubocop
name: Check Ruby files with rubocop
args: [--debug]
always_run: true
pass_filenames: false
- repo: https://github.com/jumanjihouse/pre-commit-hooks
rev: 2.1.3
- repo: https://github.com/shellcheck-py/shellcheck-py
rev: v0.8.0.4
hooks:
- id: shellcheck
name: Check shell scripts with shellcheck
files: ^.*\.(sh|bash|ksh)$
types: []
args: []
- repo: https://github.com/adrienverge/yamllint.git
rev: v1.23.0
- repo: https://github.com/adrienverge/yamllint
rev: v1.26.3
hooks:
- id: yamllint
name: Check YAML syntax with yamllint
@ -42,7 +53,7 @@ repos:
always_run: true
pass_filenames: false
- repo: https://github.com/warpnet/salt-lint
rev: v0.3.0
rev: v0.8.0
hooks:
- id: salt-lint
name: Check Salt files using salt-lint
@ -53,4 +64,14 @@ repos:
- id: rstcheck
name: Check reST files using rstcheck
exclude: 'docs/CHANGELOG.rst'
args: [--report=warning]
- repo: https://github.com/saltstack-formulas/mirrors-rst-lint
rev: v1.3.2
hooks:
- id: rst-lint
name: Check reST files using rst-lint
exclude: |
(?x)^(
docs/CHANGELOG.rst|
docs/TOFS_pattern.rst|
)$
additional_dependencies: [pygments==2.9.0]

View File

@ -1,3 +1,4 @@
[rstcheck]
report=error
report=info
ignore_language=rst
ignore_messages=(Duplicate (ex|im)plicit target.*|Hyperlink target ".*" is not referenced\.$)

View File

@ -7,10 +7,17 @@ Layout/LineLength:
# Based on https://github.com/PyCQA/flake8-bugbear#opinionated-warnings (`B950`)
Max: 88
Metrics/BlockLength:
ExcludedMethods:
IgnoredMethods:
- control
- describe
# Increase from default of `25`
Max: 30
Security/YAMLLoad:
Exclude:
- test/integration/**/_mapdata.rb
# General settings across all cops in this formula
AllCops:
NewCops: enable
# Any offenses that should be fixed, e.g. collected via. `rubocop --auto-gen-config`

View File

@ -83,37 +83,109 @@ 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=default-debian-10-master-py3
- env: INSTANCE=default-ubuntu-2004-master-py3
# - env: INSTANCE=default-debian-11-tiamat-py3
# - env: INSTANCE=default-debian-10-tiamat-py3
# - env: INSTANCE=default-debian-9-tiamat-py3
# - env: INSTANCE=default-ubuntu-2204-tiamat-py3
# - env: INSTANCE=default-ubuntu-2004-tiamat-py3
# - env: INSTANCE=default-ubuntu-1804-tiamat-py3
# - env: INSTANCE=default-centos-stream8-tiamat-py3
# - env: INSTANCE=default-centos-7-tiamat-py3
# - env: INSTANCE=default-amazonlinux-2-tiamat-py3
# - env: INSTANCE=default-oraclelinux-8-tiamat-py3
# - env: INSTANCE=default-oraclelinux-7-tiamat-py3
# - env: INSTANCE=default-almalinux-8-tiamat-py3
# - env: INSTANCE=default-rockylinux-8-tiamat-py3
# - env: INSTANCE=default-debian-11-master-py3
# - env: INSTANCE=appended-debian-11-master-py3
- env: INSTANCE=debian-11-master-py3
# - env: INSTANCE=default-debian-10-master-py3
# - env: INSTANCE=appended-debian-10-master-py3
- env: INSTANCE=debian-10-master-py3
# - env: INSTANCE=default-debian-9-master-py3
# - env: INSTANCE=appended-debian-9-master-py3
- env: INSTANCE=debian-9-master-py3
# - env: INSTANCE=default-ubuntu-2204-master-py3
# - env: INSTANCE=appended-ubuntu-2204-master-py3
- env: INSTANCE=ubuntu-2204-master-py3
# - env: INSTANCE=default-ubuntu-2004-master-py3
# - env: INSTANCE=appended-ubuntu-2004-master-py3
- env: INSTANCE=ubuntu-2004-master-py3
# - env: INSTANCE=default-ubuntu-1804-master-py3
- env: INSTANCE=default-centos-8-master-py3
- env: INSTANCE=default-fedora-32-master-py3
# - env: INSTANCE=default-fedora-31-master-py3
- env: INSTANCE=default-opensuse-leap-152-master-py3
- env: INSTANCE=default-amazonlinux-2-master-py3
# - env: INSTANCE=default-debian-10-3000-3-py3
# - env: INSTANCE=default-debian-9-3000-3-py3
# - env: INSTANCE=default-ubuntu-1804-3000-3-py3
# - env: INSTANCE=default-centos-8-3000-3-py3
# - env: INSTANCE=default-centos-7-3000-3-py3
# - env: INSTANCE=default-fedora-31-3000-3-py3
# - env: INSTANCE=default-opensuse-leap-152-3000-3-py3
# - env: INSTANCE=default-amazonlinux-2-3000-3-py3
# - env: INSTANCE=default-ubuntu-1804-3000-3-py2
# - env: INSTANCE=default-ubuntu-1604-3000-3-py2
# - env: INSTANCE=default-arch-base-latest-3000-3-py2
# - env: INSTANCE=default-debian-10-2019-2-py3
# - env: INSTANCE=default-debian-9-2019-2-py3
# - env: INSTANCE=default-ubuntu-1804-2019-2-py3
# - env: INSTANCE=default-ubuntu-1604-2019-2-py3
# - env: INSTANCE=default-centos-8-2019-2-py3
# - env: INSTANCE=default-centos-7-2019-2-py3
# - env: INSTANCE=default-fedora-31-2019-2-py3
# - env: INSTANCE=default-opensuse-leap-152-2019-2-py3
# - env: INSTANCE=default-amazonlinux-2-2019-2-py3
# - env: INSTANCE=default-centos-6-2019-2-py2
# - env: INSTANCE=default-amazonlinux-1-2019-2-py2
- env: INSTANCE=default-arch-base-latest-2019-2-py2
# - env: INSTANCE=appended-ubuntu-1804-master-py3
- env: INSTANCE=ubuntu-1804-master-py3
# - env: INSTANCE=default-centos-stream8-master-py3
# - env: INSTANCE=appended-centos-stream8-master-py3
- env: INSTANCE=centos-stream8-master-py3
# - env: INSTANCE=default-centos-7-master-py3
# - env: INSTANCE=appended-centos-7-master-py3
- env: INSTANCE=centos-7-master-py3
# - env: INSTANCE=default-fedora-36-master-py3
# - env: INSTANCE=appended-fedora-36-master-py3
- env: INSTANCE=fedora-36-master-py3
# - env: INSTANCE=default-fedora-35-master-py3
# - env: INSTANCE=appended-fedora-35-master-py3
- env: INSTANCE=fedora-35-master-py3
# - env: INSTANCE=default-opensuse-leap-153-master-py3
# - env: INSTANCE=appended-opensuse-leap-153-master-py3
- env: INSTANCE=opensuse-leap-153-master-py3
# - env: INSTANCE=default-opensuse-tmbl-latest-master-py3
# - env: INSTANCE=appended-opensuse-tmbl-latest-master-py3
- env: INSTANCE=opensuse-tmbl-latest-master-py3
# - env: INSTANCE=default-amazonlinux-2-master-py3
# - env: INSTANCE=appended-amazonlinux-2-master-py3
- env: INSTANCE=amazonlinux-2-master-py3
# - env: INSTANCE=default-oraclelinux-8-master-py3
# - env: INSTANCE=appended-oraclelinux-8-master-py3
- env: INSTANCE=oraclelinux-8-master-py3
# - env: INSTANCE=default-oraclelinux-7-master-py3
# - env: INSTANCE=appended-oraclelinux-7-master-py3
- env: INSTANCE=oraclelinux-7-master-py3
# - env: INSTANCE=default-arch-base-latest-master-py3
# - env: INSTANCE=appended-arch-base-latest-master-py3
- env: INSTANCE=arch-base-latest-master-py3
# - env: INSTANCE=default-gentoo-stage3-latest-master-py3
# - env: INSTANCE=appended-gentoo-stage3-latest-master-py3
- env: INSTANCE=gentoo-stage3-latest-master-py3
# - env: INSTANCE=default-gentoo-stage3-systemd-master-py3
# - env: INSTANCE=appended-gentoo-stage3-systemd-master-py3
- env: INSTANCE=gentoo-stage3-systemd-master-py3
# - env: INSTANCE=default-almalinux-8-master-py3
# - env: INSTANCE=appended-almalinux-8-master-py3
- env: INSTANCE=almalinux-8-master-py3
# - env: INSTANCE=default-rockylinux-8-master-py3
# - env: INSTANCE=appended-rockylinux-8-master-py3
- env: INSTANCE=rockylinux-8-master-py3
# - env: INSTANCE=default-debian-11-3004-1-py3
# - env: INSTANCE=default-debian-10-3004-1-py3
# - env: INSTANCE=default-debian-9-3004-1-py3
# - env: INSTANCE=default-ubuntu-2204-3004-1-py3
# - env: INSTANCE=default-ubuntu-2004-3004-1-py3
# - env: INSTANCE=default-ubuntu-1804-3004-1-py3
# - env: INSTANCE=default-centos-stream8-3004-1-py3
# - env: INSTANCE=default-centos-7-3004-1-py3
# - env: INSTANCE=default-fedora-36-3004-1-py3
# - env: INSTANCE=default-fedora-35-3004-1-py3
# - env: INSTANCE=default-amazonlinux-2-3004-1-py3
# - env: INSTANCE=default-oraclelinux-8-3004-1-py3
# - env: INSTANCE=default-oraclelinux-7-3004-1-py3
# - env: INSTANCE=default-arch-base-latest-3004-1-py3
# - env: INSTANCE=default-gentoo-stage3-latest-3004-1-py3
# - env: INSTANCE=default-gentoo-stage3-systemd-3004-1-py3
# - env: INSTANCE=default-almalinux-8-3004-1-py3
# - env: INSTANCE=default-rockylinux-8-3004-1-py3
# - env: INSTANCE=default-opensuse-leap-153-3004-0-py3
# - env: INSTANCE=default-opensuse-tmbl-latest-3004-0-py3
# - env: INSTANCE=default-debian-10-3003-4-py3
# - env: INSTANCE=default-debian-9-3003-4-py3
# - env: INSTANCE=default-ubuntu-2004-3003-4-py3
# - env: INSTANCE=default-ubuntu-1804-3003-4-py3
# - env: INSTANCE=default-centos-stream8-3003-4-py3
# - env: INSTANCE=default-centos-7-3003-4-py3
# - env: INSTANCE=default-amazonlinux-2-3003-4-py3
# - env: INSTANCE=default-oraclelinux-8-3003-4-py3
# - env: INSTANCE=default-oraclelinux-7-3003-4-py3
# - env: INSTANCE=default-almalinux-8-3003-4-py3
## Define the release stage that runs `semantic-release`
- stage: 'release'

View File

@ -2,17 +2,24 @@
# vim: ft=yaml
---
# Extend the `default` configuration provided by `yamllint`
extends: default
extends: 'default'
# Files to ignore completely
# 1. All YAML files under directory `node_modules/`, introduced during the Travis run
# 2. Any SLS files under directory `test/`, which are actually state files
# 3. Any YAML files under directory `.kitchen/`, introduced during local testing
# 1. All YAML files under directory `.bundle/`, introduced if gems are installed locally
# 2. All YAML files under directory `.cache/`, introduced during the CI run
# 3. All YAML files under directory `.git/`
# 4. All YAML files under directory `node_modules/`, introduced during the CI run
# 5. Any SLS files under directory `test/`, which are actually state files
# 6. Any YAML files under directory `.kitchen/`, introduced during local testing
# 7. `kitchen.vagrant.yml`, which contains Embedded Ruby (ERB) template syntax
ignore: |
.bundle/
.cache/
.git/
node_modules/
test/**/states/**/*.sls
.kitchen/
kitchen.vagrant.yml
yaml-files:
# Default settings

View File

@ -4,35 +4,38 @@ This list is sorted by the number of commits per contributor in _descending_ ord
Avatar|Contributor|Contributions
:-:|---|:-:
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/10231489?v=4' width='36' height='36' alt='@myii'>|[@myii](https://github.com/myii)|75
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/3374962?v=4' width='36' height='36' alt='@nmadhok'>|[@nmadhok](https://github.com/nmadhok)|14
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/1800660?v=4' width='36' height='36' alt='@aboe76'>|[@aboe76](https://github.com/aboe76)|14
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/52996?v=4' width='36' height='36' alt='@daks'>|[@daks](https://github.com/daks)|10
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/776662?v=4' width='36' height='36' alt='@carlosperello'>|[@carlosperello](https://github.com/carlosperello)|4
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/91293?v=4' width='36' height='36' alt='@whiteinge'>|[@whiteinge](https://github.com/whiteinge)|4
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/7460036?v=4' width='36' height='36' alt='@andrew-vant'>|[@andrew-vant](https://github.com/andrew-vant)|2
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/4195158?v=4' width='36' height='36' alt='@dafyddj'>|[@dafyddj](https://github.com/dafyddj)|2
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/287147?v=4' width='36' height='36' alt='@techhat'>|[@techhat](https://github.com/techhat)|2
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/90042?v=4' width='36' height='36' alt='@kev009'>|[@kev009](https://github.com/kev009)|2
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/8029478?v=4' width='36' height='36' alt='@rfairburn'>|[@rfairburn](https://github.com/rfairburn)|2
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/2377054?v=4' width='36' height='36' alt='@smlloyd'>|[@smlloyd](https://github.com/smlloyd)|2
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/228723?v=4' width='36' height='36' alt='@abednarik'>|[@abednarik](https://github.com/abednarik)|2
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/2762274?v=4' width='36' height='36' alt='@9numbernine9'>|[@9numbernine9](https://github.com/9numbernine9)|1
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/762280?v=4' width='36' height='36' alt='@asenci'>|[@asenci](https://github.com/asenci)|1
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/20441?v=4' width='36' height='36' alt='@iggy'>|[@iggy](https://github.com/iggy)|1
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/306240?v=4' width='36' height='36' alt='@UtahDave'>|[@UtahDave](https://github.com/UtahDave)|1
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/1396878?v=4' width='36' height='36' alt='@gravyboat'>|[@gravyboat](https://github.com/gravyboat)|1
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/242396?v=4' width='36' height='36' alt='@javierbertoli'>|[@javierbertoli](https://github.com/javierbertoli)|1
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/10224744?v=4' width='36' height='36' alt='@jasonvoor'>|[@jasonvoor](https://github.com/jasonvoor)|1
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/448087?v=4' width='36' height='36' alt='@jszakmeister'>|[@jszakmeister](https://github.com/jszakmeister)|1
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/834089?v=4' width='36' height='36' alt='@kmosher'>|[@kmosher](https://github.com/kmosher)|1
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/7139195?v=4' width='36' height='36' alt='@xenophonf'>|[@xenophonf](https://github.com/xenophonf)|1
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/13322818?v=4' width='36' height='36' alt='@noelmcloughlin'>|[@noelmcloughlin](https://github.com/noelmcloughlin)|1
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/4160493?v=4' width='36' height='36' alt='@derqurps'>|[@derqurps](https://github.com/derqurps)|1
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/3667731?v=4' width='36' height='36' alt='@netzvieh'>|[@netzvieh](https://github.com/netzvieh)|1
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/117961?v=4' width='36' height='36' alt='@babilen5'>|[@babilen5](https://github.com/babilen5)|1
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/528061?v=4' width='36' height='36' alt='@puneetk'>|[@puneetk](https://github.com/puneetk)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/10231489?v=4' width='36' height='36' alt='@myii'>|[@myii](https://github.com/myii)|110
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/3374962?v=4' width='36' height='36' alt='@nmadhok'>|[@nmadhok](https://github.com/nmadhok)|14
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1800660?v=4' width='36' height='36' alt='@aboe76'>|[@aboe76](https://github.com/aboe76)|14
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/52996?v=4' width='36' height='36' alt='@daks'>|[@daks](https://github.com/daks)|11
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/13322818?v=4' width='36' height='36' alt='@noelmcloughlin'>|[@noelmcloughlin](https://github.com/noelmcloughlin)|5
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/776662?v=4' width='36' height='36' alt='@carlosperello'>|[@carlosperello](https://github.com/carlosperello)|4
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/91293?v=4' width='36' height='36' alt='@whiteinge'>|[@whiteinge](https://github.com/whiteinge)|4
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/4195158?v=4' width='36' height='36' alt='@dafyddj'>|[@dafyddj](https://github.com/dafyddj)|3
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/7460036?v=4' width='36' height='36' alt='@andrew-vant'>|[@andrew-vant](https://github.com/andrew-vant)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/273177?v=4' width='36' height='36' alt='@martintamare'>|[@martintamare](https://github.com/martintamare)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1233212?v=4' width='36' height='36' alt='@baby-gnu'>|[@baby-gnu](https://github.com/baby-gnu)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/287147?v=4' width='36' height='36' alt='@techhat'>|[@techhat](https://github.com/techhat)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/90042?v=4' width='36' height='36' alt='@kev009'>|[@kev009](https://github.com/kev009)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/8029478?v=4' width='36' height='36' alt='@rfairburn'>|[@rfairburn](https://github.com/rfairburn)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2377054?v=4' width='36' height='36' alt='@smlloyd'>|[@smlloyd](https://github.com/smlloyd)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/228723?v=4' width='36' height='36' alt='@abednarik'>|[@abednarik](https://github.com/abednarik)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2762274?v=4' width='36' height='36' alt='@9numbernine9'>|[@9numbernine9](https://github.com/9numbernine9)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/762280?v=4' width='36' height='36' alt='@asenci'>|[@asenci](https://github.com/asenci)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/20441?v=4' width='36' height='36' alt='@iggy'>|[@iggy](https://github.com/iggy)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/306240?v=4' width='36' height='36' alt='@UtahDave'>|[@UtahDave](https://github.com/UtahDave)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1396878?v=4' width='36' height='36' alt='@gravyboat'>|[@gravyboat](https://github.com/gravyboat)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/242396?v=4' width='36' height='36' alt='@javierbertoli'>|[@javierbertoli](https://github.com/javierbertoli)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/10224744?v=4' width='36' height='36' alt='@jasonvoor'>|[@jasonvoor](https://github.com/jasonvoor)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/448087?v=4' width='36' height='36' alt='@jszakmeister'>|[@jszakmeister](https://github.com/jszakmeister)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/834089?v=4' width='36' height='36' alt='@kmosher'>|[@kmosher](https://github.com/kmosher)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/7139195?v=4' width='36' height='36' alt='@xenophonf'>|[@xenophonf](https://github.com/xenophonf)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/4160493?v=4' width='36' height='36' alt='@derqurps'>|[@derqurps](https://github.com/derqurps)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/3667731?v=4' width='36' height='36' alt='@netzvieh'>|[@netzvieh](https://github.com/netzvieh)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1353637?v=4' width='36' height='36' alt='@stasjok'>|[@stasjok](https://github.com/stasjok)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/117961?v=4' width='36' height='36' alt='@babilen'>|[@babilen](https://github.com/babilen)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/528061?v=4' width='36' height='36' alt='@puneetk'>|[@puneetk](https://github.com/puneetk)|1
---
Auto-generated by a [forked version](https://github.com/myii/maintainer) of [gaocegege/maintainer](https://github.com/gaocegege/maintainer) on 2020-12-22.
Auto-generated by a [forked version](https://github.com/myii/maintainer) of [gaocegege/maintainer](https://github.com/gaocegege/maintainer) on 2021-08-29.

View File

@ -1,5 +1,89 @@
# Changelog
# [0.25.0](https://github.com/saltstack-formulas/sudoers-formula/compare/v0.24.0...v0.25.0) (2021-08-29)
### Continuous Integration
* **appended:** add second test suite ([38126a3](https://github.com/saltstack-formulas/sudoers-formula/commit/38126a31a6c27266111e96a02252a6e845fcb8f1))
* **kitchen+ci:** update with latest `3003.2` pre-salted images [skip ci] ([93ae700](https://github.com/saltstack-formulas/sudoers-formula/commit/93ae700eede582e10e8f8d35a89b54a7de4afe1b))
### Features
* **ordering:** optionally append includefiles to main config ([751eff7](https://github.com/saltstack-formulas/sudoers-formula/commit/751eff7218883b18628306d1b9f9251ac4b3b361))
# [0.24.0](https://github.com/saltstack-formulas/sudoers-formula/compare/v0.23.4...v0.24.0) (2021-08-18)
### Continuous Integration
* **gemfile+lock:** use `ssf` customised `inspec` repo [skip ci] ([4b05f27](https://github.com/saltstack-formulas/sudoers-formula/commit/4b05f272ef18c0e02728ba55d02bf43186d537c9))
* add `arch-master` to matrix and update `.travis.yml` [skip ci] ([e8e046f](https://github.com/saltstack-formulas/sudoers-formula/commit/e8e046fc456be805e6beeac02252f993bf1c1633))
* add Debian 11 Bullseye & update `yamllint` configuration [skip ci] ([5dd9f21](https://github.com/saltstack-formulas/sudoers-formula/commit/5dd9f2117abbed6f2089967b1212accdda9b69d2))
* **3003.1:** update inc. AlmaLinux, Rocky & `rst-lint` [skip ci] ([9d3efc2](https://github.com/saltstack-formulas/sudoers-formula/commit/9d3efc20ebdd142d7a48b325282f4095a8a6ed7c))
* **kitchen:** move `provisioner` block & update `run_command` [skip ci] ([05bfba0](https://github.com/saltstack-formulas/sudoers-formula/commit/05bfba04958f0e00b5ad9e6dc796bed77febf238))
* **kitchen+gitlab:** remove Ubuntu 16.04 & Fedora 32 (EOL) [skip ci] ([29df517](https://github.com/saltstack-formulas/sudoers-formula/commit/29df51794e121a9e61dbfee3556350c9c786b884))
### Documentation
* **readme:** fix heading [skip ci] ([f38e79a](https://github.com/saltstack-formulas/sudoers-formula/commit/f38e79a7979cc3105dcada1f2fb2774035471f18))
### Features
* **macro:** to use in several state ([70e66c9](https://github.com/saltstack-formulas/sudoers-formula/commit/70e66c97be41f09b0be4b35fd4a86a09ea7df11d))
### Tests
* **_mapdata:** add verification file for `debian-11` [skip ci] ([72fa4c2](https://github.com/saltstack-formulas/sudoers-formula/commit/72fa4c2dbce7167e814da61564f833813bff7825))
* **alma+rocky:** add platforms (based on CentOS 8) [skip ci] ([5109ee0](https://github.com/saltstack-formulas/sudoers-formula/commit/5109ee0c5c6b76f25c0f546208e7cec2ac8c569a))
## [0.23.4](https://github.com/saltstack-formulas/sudoers-formula/compare/v0.23.3...v0.23.4) (2021-04-30)
### Bug Fixes
* **sudoers/included:** fix idempotence with purge_includedir=True ([a64bf89](https://github.com/saltstack-formulas/sudoers-formula/commit/a64bf8977744d9c8e063a937e8b6e40cc2a1058e))
### Continuous Integration
* **gemfile+lock:** use `ssf` customised `kitchen-docker` repo [skip ci] ([73379d6](https://github.com/saltstack-formulas/sudoers-formula/commit/73379d6b23dc9df4b999ef29ad4019826cc56230))
* **kitchen+ci:** use latest pre-salted images (after CVE) [skip ci] ([32e3825](https://github.com/saltstack-formulas/sudoers-formula/commit/32e3825e63b2a289d4c2d8e9b09e6e6f989ee320))
* **kitchen+gitlab:** adjust matrix to add `3003` [skip ci] ([285cdaa](https://github.com/saltstack-formulas/sudoers-formula/commit/285cdaa7786af36236d20b7630fbfba7b4afae75))
* **kitchen+gitlab-ci:** use latest pre-salted images [skip ci] ([cfb67f9](https://github.com/saltstack-formulas/sudoers-formula/commit/cfb67f9545c20d09bb54b0950fbc8a9e9b8d42da))
* **pre-commit:** update hook for `rubocop` [skip ci] ([7c1b16f](https://github.com/saltstack-formulas/sudoers-formula/commit/7c1b16f9636217d2fc0cc76dad89631393858ad5))
### Tests
* **_mapdata:** add verification file for `fedora-34` [skip ci] ([d90f31b](https://github.com/saltstack-formulas/sudoers-formula/commit/d90f31bbfaf6326ea99245cef7c9f5212b7ad236))
* standardise use of `share` suite & `_mapdata` state [skip ci] ([e58973f](https://github.com/saltstack-formulas/sudoers-formula/commit/e58973f6a7d991bc93800aa54d5ffae0e3792b33))
* **_mapdata:** add verification files for new platforms ([96a5724](https://github.com/saltstack-formulas/sudoers-formula/commit/96a5724ffc888f72f10ee3fddc7aeb74c0b503ec))
* **share:** standardise with latest changes [skip ci] ([67f85fa](https://github.com/saltstack-formulas/sudoers-formula/commit/67f85fa218a9de488534ad0f51719c16590b4b4f))
## [0.23.3](https://github.com/saltstack-formulas/sudoers-formula/compare/v0.23.2...v0.23.3) (2021-01-14)
### Bug Fixes
* **_mapdata:** ensure map data is directly under `values` ([e2c2a8f](https://github.com/saltstack-formulas/sudoers-formula/commit/e2c2a8f1a2d19f789034e2e1ecf36f48858ec0c4))
### Tests
* **_mapdata:** update for `_mapdata/init.sls` change ([a018875](https://github.com/saltstack-formulas/sudoers-formula/commit/a018875c037275b454594a2403f5a43be1982b81))
## [0.23.2](https://github.com/saltstack-formulas/sudoers-formula/compare/v0.23.1...v0.23.2) (2020-12-23)
### Code Refactoring
* **map:** use top-level `values:` key in `map.jinja` dumps ([a643385](https://github.com/saltstack-formulas/sudoers-formula/commit/a643385dafbe5c4e06fc452b6bc69114a3aeff63))
## [0.23.1](https://github.com/saltstack-formulas/sudoers-formula/compare/v0.23.0...v0.23.1) (2020-12-22)

View File

@ -22,10 +22,11 @@
/*/_mapdata/ @saltstack-formulas/ssf
/*/libsaltcli.jinja @saltstack-formulas/ssf
/*/libtofs.jinja @saltstack-formulas/ssf
/test/integration/**/_mapdata_spec.rb @saltstack-formulas/ssf
/test/integration/**/_mapdata.rb @saltstack-formulas/ssf
/test/integration/**/libraries/system.rb @saltstack-formulas/ssf
/test/integration/**/inspec.yml @saltstack-formulas/ssf
/test/integration/**/README.md @saltstack-formulas/ssf
/test/salt/pillar/top.sls @saltstack-formulas/ssf
/.gitignore @saltstack-formulas/ssf
/.cirrus.yml @saltstack-formulas/ssf
/.gitlab-ci.yml @saltstack-formulas/ssf
@ -43,6 +44,8 @@
/Gemfile @saltstack-formulas/ssf
/Gemfile.lock @saltstack-formulas/ssf
/kitchen.yml @saltstack-formulas/ssf
/kitchen.vagrant.yml @saltstack-formulas/ssf
/kitchen.windows.yml @saltstack-formulas/ssf
/pre-commit_semantic-release.sh @saltstack-formulas/ssf
/release-rules.js @saltstack-formulas/ssf
/release.config.js @saltstack-formulas/ssf

View File

@ -1,7 +1,7 @@
name: sudoers
os: Debian, Ubuntu, Raspbian, RedHat, Fedora, CentOS, Suse, openSUSE
os_family: Debian, RedHat, Suse
version: 0.23.1
version: 0.25.0
release: 1
minimum_version: 2016.11
summary: Sudoers formula

25
Gemfile
View File

@ -1,12 +1,19 @@
# frozen_string_literal: true
source 'https://rubygems.org'
source ENV.fetch('PROXY_RUBYGEMSORG', 'https://rubygems.org')
# Use the latest version of `inspec` prior to `4.23.4`, which introduces a
# regression where the diff isn't displayed when comparing using `eq`.
gem 'inspec', '~> 4.22.22'
# Install the `kitchen-docker` gem from GitHub because the latest version
# currently available (`2.10.0`) doesn't include a recent fix for Gentoo.
gem 'kitchen-docker', github: 'test-kitchen/kitchen-docker', ref: '41e80fe'
gem 'kitchen-inspec', '>= 2.2.1'
gem 'kitchen-salt', '>= 0.6.3'
# Install the `inspec` gem using `git` because versions after `4.22.22`
# suppress diff output; this version fixes this for our uses.
# rubocop:disable Layout/LineLength
gem 'inspec', git: 'https://gitlab.com/saltstack-formulas/infrastructure/inspec', branch: 'ssf'
# rubocop:enable Layout/LineLength
# Install the `kitchen-docker` gem using `git` in order to gain a performance
# improvement: avoid package installations which are already covered by the
# `salt-image-builder` (i.e. the pre-salted images that we're using)
# rubocop:disable Layout/LineLength
gem 'kitchen-docker', git: 'https://gitlab.com/saltstack-formulas/infrastructure/kitchen-docker', branch: 'ssf'
# rubocop:enable Layout/LineLength
gem 'kitchen-inspec', '>= 2.5.0'
gem 'kitchen-salt', '>= 0.7.2'

View File

@ -1,321 +1,418 @@
GIT
remote: https://github.com/test-kitchen/kitchen-docker.git
revision: 41e80fed3a7cc86323e19c16a5a340cebf7e5848
ref: 41e80fe
remote: https://gitlab.com/saltstack-formulas/infrastructure/inspec
revision: aaef842906a5666f0fc0b4f186b4dd3498f5b28c
branch: ssf
specs:
kitchen-docker (2.10.0)
inspec (5.18.15)
cookstyle
faraday_middleware (>= 0.12.2, < 1.1)
inspec-core (= 5.18.15)
mongo (= 2.13.2)
progress_bar (~> 1.3.3)
rake
train (~> 3.10)
train-aws (~> 0.2)
train-habitat (~> 0.1)
train-winrm (~> 0.2)
inspec-core (5.18.15)
addressable (~> 2.4)
chef-telemetry (~> 1.0, >= 1.0.8)
faraday (>= 0.9.0, < 1.5)
faraday_middleware (~> 1.0)
hashie (>= 3.4, < 5.0)
license-acceptance (>= 0.2.13, < 3.0)
method_source (>= 0.8, < 2.0)
mixlib-log (~> 3.0)
multipart-post (~> 2.0)
parallel (~> 1.9)
parslet (>= 1.5, < 2.0)
pry (~> 0.13)
rspec (>= 3.9, <= 3.11)
rspec-its (~> 1.2)
rubyzip (>= 1.2.2, < 3.0)
semverse (~> 3.0)
sslshake (~> 1.2)
thor (>= 0.20, < 2.0)
tomlrb (>= 1.2, < 2.1)
train-core (~> 3.10)
tty-prompt (~> 0.17)
tty-table (~> 0.10)
GIT
remote: https://gitlab.com/saltstack-formulas/infrastructure/kitchen-docker
revision: 9a09bc1e571e25f3ccabf4725ca2048d970fff82
branch: ssf
specs:
kitchen-docker (2.12.0)
test-kitchen (>= 1.0.0)
GEM
remote: https://rubygems.org/
specs:
activesupport (5.2.4.4)
activesupport (7.0.3.1)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2)
minitest (~> 5.1)
tzinfo (~> 1.1)
addressable (2.7.0)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0)
aws-eventstream (1.1.0)
aws-partitions (1.386.0)
aws-sdk-apigateway (1.55.0)
aws-sdk-core (~> 3, >= 3.109.0)
ast (2.4.2)
aws-eventstream (1.2.0)
aws-partitions (1.607.0)
aws-sdk-alexaforbusiness (1.56.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-apigatewayv2 (1.29.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-amplify (1.32.0)
aws-sdk-core (~> 3, >= 3.120.0)
aws-sigv4 (~> 1.1)
aws-sdk-athena (1.33.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-apigateway (1.78.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-autoscaling (1.22.0)
aws-sdk-core (~> 3, >= 3.52.1)
aws-sdk-apigatewayv2 (1.42.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-budgets (1.36.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-applicationautoscaling (1.51.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudformation (1.44.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-athena (1.55.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudfront (1.46.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-autoscaling (1.63.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudhsm (1.27.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-batch (1.47.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudhsmv2 (1.30.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-budgets (1.50.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudtrail (1.29.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-cloudformation (1.70.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudwatch (1.45.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-cloudfront (1.65.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudwatchlogs (1.38.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-cloudhsm (1.39.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-codecommit (1.40.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-cloudhsmv2 (1.42.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-codedeploy (1.37.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-cloudtrail (1.49.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-codepipeline (1.37.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-cloudwatch (1.64.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-configservice (1.53.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-cloudwatchevents (1.46.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-core (3.109.1)
aws-sdk-cloudwatchlogs (1.53.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-codecommit (1.51.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-codedeploy (1.49.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-codepipeline (1.53.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-cognitoidentity (1.31.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-cognitoidentityprovider (1.53.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-configservice (1.79.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-core (3.131.2)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.239.0)
aws-partitions (~> 1, >= 1.525.0)
aws-sigv4 (~> 1.1)
jmespath (~> 1.0)
aws-sdk-costandusagereportservice (1.28.0)
aws-sdk-core (~> 3, >= 3.109.0)
jmespath (~> 1, >= 1.6.1)
aws-sdk-costandusagereportservice (1.40.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-dynamodb (1.55.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-databasemigrationservice (1.53.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-ec2 (1.202.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-dynamodb (1.75.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-ecr (1.39.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-ec2 (1.322.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-ecs (1.70.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-ecr (1.56.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-efs (1.36.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-ecrpublic (1.12.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-eks (1.45.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-ecs (1.100.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-elasticache (1.44.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-efs (1.54.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-elasticbeanstalk (1.39.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-eks (1.75.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-elasticloadbalancing (1.29.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-elasticache (1.78.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-elasticloadbalancingv2 (1.53.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-elasticbeanstalk (1.51.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-elasticsearchservice (1.43.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-elasticloadbalancing (1.40.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-firehose (1.35.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-elasticloadbalancingv2 (1.78.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-guardduty (1.42.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-elasticsearchservice (1.65.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-iam (1.46.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-emr (1.53.0)
aws-sdk-core (~> 3, >= 3.121.2)
aws-sigv4 (~> 1.1)
aws-sdk-kafka (1.29.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-eventbridge (1.24.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-kinesis (1.30.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-firehose (1.48.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-kms (1.39.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-glue (1.88.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-lambda (1.51.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-guardduty (1.58.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-organizations (1.17.0)
aws-sdk-core (~> 3, >= 3.39.0)
aws-sigv4 (~> 1.0)
aws-sdk-rds (1.104.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-iam (1.69.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-redshift (1.50.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-kafka (1.50.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-route53 (1.44.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-kinesis (1.41.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-route53domains (1.28.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-kms (1.57.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-route53resolver (1.21.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-lambda (1.84.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.83.1)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-mq (1.40.0)
aws-sdk-core (~> 3, >= 3.120.0)
aws-sigv4 (~> 1.1)
aws-sdk-networkfirewall (1.17.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-networkmanager (1.24.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-organizations (1.59.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-ram (1.26.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-rds (1.148.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-redshift (1.84.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-route53 (1.63.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-route53domains (1.40.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-route53resolver (1.37.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.114.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.4)
aws-sdk-s3control (1.43.0)
aws-sdk-core (~> 3, >= 3.122.0)
aws-sigv4 (~> 1.1)
aws-sdk-securityhub (1.35.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-secretsmanager (1.46.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-ses (1.36.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-securityhub (1.67.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-sms (1.27.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-servicecatalog (1.60.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-sns (1.34.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-ses (1.41.0)
aws-sdk-core (~> 3, >= 3.120.0)
aws-sigv4 (~> 1.1)
aws-sdk-sqs (1.34.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-shield (1.48.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-ssm (1.95.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-signer (1.32.0)
aws-sdk-core (~> 3, >= 3.120.0)
aws-sigv4 (~> 1.1)
aws-sigv4 (1.2.2)
aws-sdk-simpledb (1.29.0)
aws-sdk-core (~> 3, >= 3.120.0)
aws-sigv2 (~> 1.0)
aws-sdk-sms (1.40.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-sns (1.53.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-sqs (1.51.1)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-ssm (1.137.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-states (1.39.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-synthetics (1.19.0)
aws-sdk-core (~> 3, >= 3.121.2)
aws-sigv4 (~> 1.1)
aws-sdk-transfer (1.34.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-waf (1.43.0)
aws-sdk-core (~> 3, >= 3.122.0)
aws-sigv4 (~> 1.1)
aws-sigv2 (1.1.0)
aws-sigv4 (1.5.0)
aws-eventstream (~> 1, >= 1.0.2)
azure_graph_rbac (0.17.2)
ms_rest_azure (~> 0.12.0)
azure_mgmt_key_vault (0.17.6)
azure_mgmt_key_vault (0.17.7)
ms_rest_azure (~> 0.12.0)
azure_mgmt_resources (0.18.0)
azure_mgmt_resources (0.18.2)
ms_rest_azure (~> 0.12.0)
azure_mgmt_security (0.18.2)
azure_mgmt_security (0.19.0)
ms_rest_azure (~> 0.12.0)
azure_mgmt_storage (0.22.0)
azure_mgmt_storage (0.23.0)
ms_rest_azure (~> 0.12.0)
bcrypt_pbkdf (1.0.1)
bcrypt_pbkdf (1.1.0)
bson (4.15.0)
builder (3.2.4)
chef-config (16.6.14)
chef-config (17.10.0)
addressable
chef-utils (= 16.6.14)
chef-utils (= 17.10.0)
fuzzyurl
mixlib-config (>= 2.2.12, < 4.0)
mixlib-shellout (>= 2.0, < 4.0)
tomlrb (~> 1.2)
chef-telemetry (1.0.14)
chef-telemetry (1.1.1)
chef-config
concurrent-ruby (~> 1.0)
ffi-yajl (~> 2.2)
chef-utils (16.6.14)
chef-utils (17.10.0)
concurrent-ruby
coderay (1.1.3)
concurrent-ruby (1.1.7)
concurrent-ruby (1.1.10)
cookstyle (7.32.1)
rubocop (= 1.25.1)
declarative (0.0.20)
declarative-option (0.1.0)
diff-lcs (1.4.4)
docker-api (2.0.0)
diff-lcs (1.5.0)
docker-api (2.2.0)
excon (>= 0.47.0)
multi_json
domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0)
ecma-re-validator (0.2.1)
regexp_parser (~> 1.2)
ed25519 (1.2.4)
erubi (1.9.0)
excon (0.78.0)
faraday (0.17.3)
ed25519 (1.3.0)
erubi (1.10.0)
excon (0.92.3)
faraday (1.4.3)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
faraday-net_http (~> 1.0)
faraday-net_http_persistent (~> 1.1)
multipart-post (>= 1.2, < 3)
ruby2_keywords (>= 0.0.4)
faraday-cookie_jar (0.0.7)
faraday (>= 0.8.0)
http-cookie (~> 1.0.0)
faraday_middleware (0.12.2)
faraday (>= 0.7.4, < 1.0)
ffi (1.13.1)
ffi-yajl (2.3.4)
libyajl2 (~> 1.2)
faraday-em_http (1.0.0)
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-net_http (1.0.1)
faraday-net_http_persistent (1.2.0)
faraday_middleware (1.0.0)
faraday (~> 1.0)
ffi (1.15.5)
fuzzyurl (0.9.0)
google-api-client (0.44.0)
google-api-client (0.52.0)
addressable (~> 2.5, >= 2.5.1)
googleauth (~> 0.9)
httpclient (>= 2.8.1, < 3.0)
mini_mime (~> 1.0)
representable (~> 3.0)
retriable (>= 2.0, < 4.0)
rexml
signet (~> 0.12)
googleauth (0.13.0)
googleauth (0.14.0)
faraday (>= 0.17.3, < 2.0)
jwt (>= 1.4, < 3.0)
memoist (~> 0.16)
multi_json (~> 1.11)
os (>= 0.9, < 2.0)
signet (~> 0.14)
gssapi (1.3.0)
gssapi (1.3.1)
ffi (>= 1.0.1)
gyoku (1.3.1)
gyoku (1.4.0)
builder (>= 2.1.2)
hana (1.3.6)
hashie (3.6.0)
http-cookie (1.0.3)
rexml (~> 3.0)
hashie (4.1.0)
highline (2.0.3)
http-cookie (1.0.5)
domain_name (~> 0.5)
httpclient (2.8.3)
i18n (1.8.5)
i18n (1.12.0)
concurrent-ruby (~> 1.0)
inifile (3.0.0)
inspec (4.22.22)
faraday_middleware (~> 0.12.2)
inspec-core (= 4.22.22)
train (~> 3.0)
train-aws (~> 0.1)
train-habitat (~> 0.1)
train-winrm (~> 0.2)
inspec-core (4.22.22)
addressable (~> 2.4)
chef-telemetry (~> 1.0)
faraday (>= 0.9.0)
hashie (~> 3.4)
json_schemer (>= 0.2.1, < 0.2.12)
license-acceptance (>= 0.2.13, < 2.0)
method_source (>= 0.8, < 2.0)
mixlib-log (~> 3.0)
multipart-post (~> 2.0)
parallel (~> 1.9)
parslet (~> 1.5)
pry (~> 0.13)
rspec (~> 3.9)
rspec-its (~> 1.2)
rubyzip (~> 1.2, >= 1.2.2)
semverse (~> 3.0)
sslshake (~> 1.2)
thor (>= 0.20, < 2.0)
tomlrb (~> 1.2.0)
train-core (~> 3.0)
tty-prompt (~> 0.17)
tty-table (~> 0.10)
jmespath (1.4.0)
json (2.3.1)
json_schemer (0.2.11)
ecma-re-validator (~> 0.2)
hana (~> 1.3)
regexp_parser (~> 1.5)
uri_template (~> 0.7)
jwt (2.2.2)
kitchen-inspec (2.2.1)
hashie (~> 3.4)
inspec (>= 2.2.64, < 5.0)
test-kitchen (>= 2.7, < 3)
kitchen-salt (0.6.3)
jmespath (1.6.1)
json (2.6.2)
jwt (2.4.1)
kitchen-inspec (2.6.1)
hashie (>= 3.4, <= 5.0)
inspec (>= 2.2.64, < 7.0)
test-kitchen (>= 2.7, < 4)
kitchen-salt (0.7.2)
hashie (>= 3.5)
test-kitchen (>= 1.4)
libyajl2 (1.2.0)
license-acceptance (1.0.19)
license-acceptance (2.1.13)
pastel (~> 0.7)
tomlrb (~> 1.2)
tty-box (~> 0.3)
tty-prompt (~> 0.18)
tomlrb (>= 1.2, < 3.0)
tty-box (~> 0.6)
tty-prompt (~> 0.20)
little-plugger (1.1.4)
logging (2.3.0)
logging (2.3.1)
little-plugger (~> 1.1)
multi_json (~> 1.14)
memoist (0.16.2)
method_source (1.0.0)
mini_mime (1.0.2)
minitest (5.14.2)
mixlib-config (3.0.9)
mini_mime (1.1.2)
minitest (5.16.2)
mixlib-config (3.0.27)
tomlrb
mixlib-install (3.12.3)
mixlib-install (3.12.19)
mixlib-shellout
mixlib-versioning
thor
mixlib-log (3.0.9)
mixlib-shellout (3.1.6)
mixlib-shellout (3.2.7)
chef-utils
mixlib-versioning (1.2.12)
mongo (2.13.2)
bson (>= 4.8.2, < 5.0.0)
ms_rest (0.7.6)
concurrent-ruby (~> 1.0)
faraday (>= 0.9, < 2.0.0)
@ -326,60 +423,83 @@ GEM
faraday-cookie_jar (~> 0.0.6)
ms_rest (~> 0.7.6)
multi_json (1.15.0)
multipart-post (2.1.1)
multipart-post (2.2.3)
net-scp (3.0.0)
net-ssh (>= 2.6.5, < 7.0.0)
net-ssh (6.1.0)
net-ssh-gateway (2.0.0)
net-ssh (>= 4.0.0)
nori (2.6.0)
os (1.1.1)
parallel (1.19.2)
options (2.3.2)
os (1.1.4)
parallel (1.22.1)
parser (3.1.2.0)
ast (~> 2.4.1)
parslet (1.8.2)
pastel (0.8.0)
tty-color (~> 0.5)
pry (0.13.1)
progress_bar (1.3.3)
highline (>= 1.6, < 3)
options (~> 2.3.0)
pry (0.14.1)
coderay (~> 1.1)
method_source (~> 1.0)
public_suffix (4.0.6)
regexp_parser (1.8.2)
representable (3.0.4)
public_suffix (4.0.7)
rainbow (3.1.1)
rake (13.0.6)
regexp_parser (2.5.0)
representable (3.2.0)
declarative (< 0.1.0)
declarative-option (< 0.2.0)
trailblazer-option (>= 0.1.1, < 0.2.0)
uber (< 0.2.0)
retriable (3.1.2)
rspec (3.9.0)
rspec-core (~> 3.9.0)
rspec-expectations (~> 3.9.0)
rspec-mocks (~> 3.9.0)
rspec-core (3.9.3)
rspec-support (~> 3.9.3)
rspec-expectations (3.9.3)
rexml (3.2.5)
rspec (3.11.0)
rspec-core (~> 3.11.0)
rspec-expectations (~> 3.11.0)
rspec-mocks (~> 3.11.0)
rspec-core (3.11.0)
rspec-support (~> 3.11.0)
rspec-expectations (3.11.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.9.0)
rspec-support (~> 3.11.0)
rspec-its (1.3.0)
rspec-core (>= 3.0.0)
rspec-expectations (>= 3.0.0)
rspec-mocks (3.9.1)
rspec-mocks (3.11.1)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.9.0)
rspec-support (3.9.4)
rubyntlm (0.6.2)
rubyzip (1.3.0)
semverse (3.0.0)
signet (0.14.0)
addressable (~> 2.3)
faraday (>= 0.17.3, < 2.0)
rspec-support (~> 3.11.0)
rspec-support (3.11.0)
rubocop (1.25.1)
parallel (~> 1.10)
parser (>= 3.1.0.0)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml
rubocop-ast (>= 1.15.1, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 3.0)
rubocop-ast (1.19.1)
parser (>= 3.1.1.0)
ruby-progressbar (1.11.0)
ruby2_keywords (0.0.5)
rubyntlm (0.6.3)
rubyzip (2.3.2)
semverse (3.0.2)
signet (0.17.0)
addressable (~> 2.8)
faraday (>= 0.17.5, < 3.a)
jwt (>= 1.5, < 3.0)
multi_json (~> 1.10)
sslshake (1.3.1)
strings (0.2.0)
strings (0.2.1)
strings-ansi (~> 0.2)
unicode-display_width (~> 1.5)
unicode-display_width (>= 1.5, < 3.0)
unicode_utils (~> 1.4)
strings-ansi (0.2.0)
test-kitchen (2.7.2)
test-kitchen (3.3.1)
bcrypt_pbkdf (~> 1.0)
chef-utils (>= 16.4.35)
ed25519 (~> 1.2)
license-acceptance (>= 1.0.11, < 3.0)
mixlib-install (~> 3.6)
@ -391,28 +511,32 @@ GEM
winrm (~> 2.0)
winrm-elevated (~> 1.0)
winrm-fs (~> 1.1)
thor (1.0.1)
thread_safe (0.3.6)
thor (1.2.1)
timeliness (0.3.10)
tomlrb (1.2.9)
train (3.3.27)
activesupport (>= 5.2.4.3, < 6.0.0)
tomlrb (1.3.0)
trailblazer-option (0.1.2)
train (3.10.1)
activesupport (>= 6.0.3.1)
azure_graph_rbac (~> 0.16)
azure_mgmt_key_vault (~> 0.17)
azure_mgmt_resources (~> 0.15)
azure_mgmt_security (~> 0.18)
azure_mgmt_storage (~> 0.18)
docker-api (>= 1.26, < 3.0)
google-api-client (>= 0.23.9, < 0.44.1)
googleauth (>= 0.6.6, < 0.13.1)
google-api-client (>= 0.23.9, <= 0.52.0)
googleauth (>= 0.6.6, <= 0.14.0)
inifile (~> 3.0)
train-core (= 3.3.27)
train-core (= 3.10.1)
train-winrm (~> 0.2)
train-aws (0.1.18)
train-aws (0.2.24)
aws-sdk-alexaforbusiness (~> 1.0)
aws-sdk-amplify (~> 1.32.0)
aws-sdk-apigateway (~> 1.0)
aws-sdk-apigatewayv2 (~> 1.0)
aws-sdk-applicationautoscaling (>= 1.46, < 1.52)
aws-sdk-athena (~> 1.0)
aws-sdk-autoscaling (~> 1.22.0)
aws-sdk-autoscaling (>= 1.22, < 1.64)
aws-sdk-batch (>= 1.36, < 1.48)
aws-sdk-budgets (~> 1.0)
aws-sdk-cloudformation (~> 1.0)
aws-sdk-cloudfront (~> 1.0)
@ -420,16 +544,21 @@ GEM
aws-sdk-cloudhsmv2 (~> 1.0)
aws-sdk-cloudtrail (~> 1.8)
aws-sdk-cloudwatch (~> 1.13)
aws-sdk-cloudwatchevents (>= 1.36, < 1.47)
aws-sdk-cloudwatchlogs (~> 1.13)
aws-sdk-codecommit (~> 1.0)
aws-sdk-codedeploy (~> 1.0)
aws-sdk-codepipeline (~> 1.0)
aws-sdk-cognitoidentity (>= 1.26, < 1.32)
aws-sdk-cognitoidentityprovider (>= 1.46, < 1.54)
aws-sdk-configservice (~> 1.21)
aws-sdk-core (~> 3.0)
aws-sdk-costandusagereportservice (~> 1.6)
aws-sdk-databasemigrationservice (>= 1.42, < 1.54)
aws-sdk-dynamodb (~> 1.31)
aws-sdk-ec2 (~> 1.70)
aws-sdk-ecr (~> 1.18)
aws-sdk-ecrpublic (~> 1.3)
aws-sdk-ecs (~> 1.30)
aws-sdk-efs (~> 1.0)
aws-sdk-eks (~> 1.9)
@ -438,48 +567,65 @@ GEM
aws-sdk-elasticloadbalancing (~> 1.8)
aws-sdk-elasticloadbalancingv2 (~> 1.0)
aws-sdk-elasticsearchservice (~> 1.0)
aws-sdk-emr (~> 1.53.0)
aws-sdk-eventbridge (~> 1.24.0)
aws-sdk-firehose (~> 1.0)
aws-sdk-glue (>= 1.71, < 1.89)
aws-sdk-guardduty (~> 1.31)
aws-sdk-iam (~> 1.13)
aws-sdk-kafka (~> 1.0)
aws-sdk-kinesis (~> 1.0)
aws-sdk-kms (~> 1.13)
aws-sdk-lambda (~> 1.0)
aws-sdk-organizations (~> 1.17.0)
aws-sdk-mq (~> 1.40.0)
aws-sdk-networkfirewall (>= 1.6.0)
aws-sdk-networkmanager (>= 1.13.0)
aws-sdk-organizations (>= 1.17, < 1.60)
aws-sdk-ram (>= 1.21, < 1.27)
aws-sdk-rds (~> 1.43)
aws-sdk-redshift (~> 1.0)
aws-sdk-route53 (~> 1.0)
aws-sdk-route53domains (~> 1.0)
aws-sdk-route53resolver (~> 1.0)
aws-sdk-s3 (~> 1.30)
aws-sdk-s3control (~> 1.43.0)
aws-sdk-secretsmanager (>= 1.42, < 1.47)
aws-sdk-securityhub (~> 1.0)
aws-sdk-ses (~> 1.0)
aws-sdk-servicecatalog (>= 1.48, < 1.61)
aws-sdk-ses (~> 1.41.0)
aws-sdk-shield (~> 1.30)
aws-sdk-signer (~> 1.32.0)
aws-sdk-simpledb (~> 1.29.0)
aws-sdk-sms (~> 1.0)
aws-sdk-sns (~> 1.9)
aws-sdk-sqs (~> 1.10)
aws-sdk-ssm (~> 1.0)
train-core (3.3.27)
aws-sdk-states (>= 1.35, < 1.40)
aws-sdk-synthetics (~> 1.19.0)
aws-sdk-transfer (>= 1.26, < 1.35)
aws-sdk-waf (~> 1.43.0)
train-core (3.10.1)
addressable (~> 2.5)
ffi (!= 1.13.0)
json (>= 1.8, < 3.0)
mixlib-shellout (>= 2.0, < 4.0)
net-scp (>= 1.2, < 4.0)
net-ssh (>= 2.9, < 7.0)
train-habitat (0.2.13)
train-winrm (0.2.11)
winrm (~> 2.0)
train-habitat (0.2.22)
train-winrm (0.2.13)
winrm (>= 2.3.6, < 3.0)
winrm-elevated (~> 1.2.2)
winrm-fs (~> 1.0)
tty-box (0.6.0)
tty-box (0.7.0)
pastel (~> 0.8)
strings (~> 0.2.0)
tty-cursor (~> 0.7)
tty-color (0.5.2)
tty-color (0.6.0)
tty-cursor (0.7.1)
tty-prompt (0.22.0)
tty-prompt (0.23.1)
pastel (~> 0.8)
tty-reader (~> 0.8)
tty-reader (0.8.0)
tty-reader (0.9.0)
tty-cursor (~> 0.7)
tty-screen (~> 0.8)
wisper (~> 2.0)
@ -488,16 +634,15 @@ GEM
pastel (~> 0.8)
strings (~> 0.2.0)
tty-screen (~> 0.8)
tzinfo (1.2.7)
thread_safe (~> 0.1)
tzinfo (2.0.4)
concurrent-ruby (~> 1.0)
uber (0.1.0)
unf (0.1.4)
unf_ext
unf_ext (0.0.7.7)
unicode-display_width (1.7.0)
unf_ext (0.0.8.2)
unicode-display_width (2.2.0)
unicode_utils (1.4.0)
uri_template (0.7.0)
winrm (2.3.5)
winrm (2.3.6)
builder (>= 2.1.2)
erubi (~> 1.8)
gssapi (~> 1.2)
@ -505,15 +650,15 @@ GEM
httpclient (~> 2.2, >= 2.2.0.2)
logging (>= 1.6.1, < 3.0)
nori (~> 2.0)
rubyntlm (~> 0.6.0, >= 0.6.1)
winrm-elevated (1.2.2)
rubyntlm (~> 0.6.0, >= 0.6.3)
winrm-elevated (1.2.3)
erubi (~> 1.8)
winrm (~> 2.0)
winrm-fs (~> 1.0)
winrm-fs (1.3.3)
winrm-fs (1.3.5)
erubi (~> 1.8)
logging (>= 1.6.1, < 3.0)
rubyzip (~> 1.1)
rubyzip (~> 2.0)
winrm (~> 2.0)
wisper (2.0.1)
@ -521,10 +666,10 @@ PLATFORMS
ruby
DEPENDENCIES
inspec (~> 4.22.22)
inspec!
kitchen-docker!
kitchen-inspec (>= 2.2.1)
kitchen-salt (>= 0.6.3)
kitchen-inspec (>= 2.5.0)
kitchen-salt (>= 0.7.2)
BUNDLED WITH
2.1.2

View File

@ -19,8 +19,8 @@ if File.file?(bundle_binstub)
load(bundle_binstub)
else
abort(
'Your `bin/bundle` was not generated by Bundler, '\
'so this binstub cannot run. Replace `bin/bundle` by running '\
'Your `bin/bundle` was not generated by Bundler, ' \
'so this binstub cannot run. Replace `bin/bundle` by running ' \
'`bundle binstubs bundler --force`, then run this command again.'
)
end

View File

@ -13,92 +13,101 @@ This list is sorted by the number of commits per contributor in *descending* ord
* - Avatar
- Contributor
- Contributions
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/10231489?v=4' width='36' height='36' alt='@myii'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/10231489?v=4' width='36' height='36' alt='@myii'>`
- `@myii <https://github.com/myii>`_
- 75
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/3374962?v=4' width='36' height='36' alt='@nmadhok'>`
- 110
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/3374962?v=4' width='36' height='36' alt='@nmadhok'>`
- `@nmadhok <https://github.com/nmadhok>`_
- 14
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/1800660?v=4' width='36' height='36' alt='@aboe76'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1800660?v=4' width='36' height='36' alt='@aboe76'>`
- `@aboe76 <https://github.com/aboe76>`_
- 14
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/52996?v=4' width='36' height='36' alt='@daks'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/52996?v=4' width='36' height='36' alt='@daks'>`
- `@daks <https://github.com/daks>`_
- 10
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/776662?v=4' width='36' height='36' alt='@carlosperello'>`
- 11
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/13322818?v=4' width='36' height='36' alt='@noelmcloughlin'>`
- `@noelmcloughlin <https://github.com/noelmcloughlin>`_
- 5
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/776662?v=4' width='36' height='36' alt='@carlosperello'>`
- `@carlosperello <https://github.com/carlosperello>`_
- 4
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/91293?v=4' width='36' height='36' alt='@whiteinge'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/91293?v=4' width='36' height='36' alt='@whiteinge'>`
- `@whiteinge <https://github.com/whiteinge>`_
- 4
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/7460036?v=4' width='36' height='36' alt='@andrew-vant'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/4195158?v=4' width='36' height='36' alt='@dafyddj'>`
- `@dafyddj <https://github.com/dafyddj>`_
- 3
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/7460036?v=4' width='36' height='36' alt='@andrew-vant'>`
- `@andrew-vant <https://github.com/andrew-vant>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/4195158?v=4' width='36' height='36' alt='@dafyddj'>`
- `@dafyddj <https://github.com/dafyddj>`_
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/273177?v=4' width='36' height='36' alt='@martintamare'>`
- `@martintamare <https://github.com/martintamare>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/287147?v=4' width='36' height='36' alt='@techhat'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1233212?v=4' width='36' height='36' alt='@baby-gnu'>`
- `@baby-gnu <https://github.com/baby-gnu>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/287147?v=4' width='36' height='36' alt='@techhat'>`
- `@techhat <https://github.com/techhat>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/90042?v=4' width='36' height='36' alt='@kev009'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/90042?v=4' width='36' height='36' alt='@kev009'>`
- `@kev009 <https://github.com/kev009>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/8029478?v=4' width='36' height='36' alt='@rfairburn'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/8029478?v=4' width='36' height='36' alt='@rfairburn'>`
- `@rfairburn <https://github.com/rfairburn>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/2377054?v=4' width='36' height='36' alt='@smlloyd'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2377054?v=4' width='36' height='36' alt='@smlloyd'>`
- `@smlloyd <https://github.com/smlloyd>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/228723?v=4' width='36' height='36' alt='@abednarik'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/228723?v=4' width='36' height='36' alt='@abednarik'>`
- `@abednarik <https://github.com/abednarik>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/2762274?v=4' width='36' height='36' alt='@9numbernine9'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2762274?v=4' width='36' height='36' alt='@9numbernine9'>`
- `@9numbernine9 <https://github.com/9numbernine9>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/762280?v=4' width='36' height='36' alt='@asenci'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/762280?v=4' width='36' height='36' alt='@asenci'>`
- `@asenci <https://github.com/asenci>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/20441?v=4' width='36' height='36' alt='@iggy'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/20441?v=4' width='36' height='36' alt='@iggy'>`
- `@iggy <https://github.com/iggy>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/306240?v=4' width='36' height='36' alt='@UtahDave'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/306240?v=4' width='36' height='36' alt='@UtahDave'>`
- `@UtahDave <https://github.com/UtahDave>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/1396878?v=4' width='36' height='36' alt='@gravyboat'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1396878?v=4' width='36' height='36' alt='@gravyboat'>`
- `@gravyboat <https://github.com/gravyboat>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/242396?v=4' width='36' height='36' alt='@javierbertoli'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/242396?v=4' width='36' height='36' alt='@javierbertoli'>`
- `@javierbertoli <https://github.com/javierbertoli>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/10224744?v=4' width='36' height='36' alt='@jasonvoor'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/10224744?v=4' width='36' height='36' alt='@jasonvoor'>`
- `@jasonvoor <https://github.com/jasonvoor>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/448087?v=4' width='36' height='36' alt='@jszakmeister'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/448087?v=4' width='36' height='36' alt='@jszakmeister'>`
- `@jszakmeister <https://github.com/jszakmeister>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/834089?v=4' width='36' height='36' alt='@kmosher'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/834089?v=4' width='36' height='36' alt='@kmosher'>`
- `@kmosher <https://github.com/kmosher>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/7139195?v=4' width='36' height='36' alt='@xenophonf'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/7139195?v=4' width='36' height='36' alt='@xenophonf'>`
- `@xenophonf <https://github.com/xenophonf>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/13322818?v=4' width='36' height='36' alt='@noelmcloughlin'>`
- `@noelmcloughlin <https://github.com/noelmcloughlin>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/4160493?v=4' width='36' height='36' alt='@derqurps'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/4160493?v=4' width='36' height='36' alt='@derqurps'>`
- `@derqurps <https://github.com/derqurps>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/3667731?v=4' width='36' height='36' alt='@netzvieh'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/3667731?v=4' width='36' height='36' alt='@netzvieh'>`
- `@netzvieh <https://github.com/netzvieh>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/117961?v=4' width='36' height='36' alt='@babilen5'>`
- `@babilen5 <https://github.com/babilen5>`_
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1353637?v=4' width='36' height='36' alt='@stasjok'>`
- `@stasjok <https://github.com/stasjok>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/528061?v=4' width='36' height='36' alt='@puneetk'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/117961?v=4' width='36' height='36' alt='@babilen'>`
- `@babilen <https://github.com/babilen>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/528061?v=4' width='36' height='36' alt='@puneetk'>`
- `@puneetk <https://github.com/puneetk>`_
- 1
----
Auto-generated by a `forked version <https://github.com/myii/maintainer>`_ of `gaocegege/maintainer <https://github.com/gaocegege/maintainer>`_ on 2020-12-22.
Auto-generated by a `forked version <https://github.com/myii/maintainer>`_ of `gaocegege/maintainer <https://github.com/gaocegege/maintainer>`_ on 2021-08-29.

View File

@ -2,6 +2,107 @@
Changelog
=========
`0.25.0 <https://github.com/saltstack-formulas/sudoers-formula/compare/v0.24.0...v0.25.0>`_ (2021-08-29)
------------------------------------------------------------------------------------------------------------
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* **appended:** add second test suite (\ `38126a3 <https://github.com/saltstack-formulas/sudoers-formula/commit/38126a31a6c27266111e96a02252a6e845fcb8f1>`_\ )
* **kitchen+ci:** update with latest ``3003.2`` pre-salted images [skip ci] (\ `93ae700 <https://github.com/saltstack-formulas/sudoers-formula/commit/93ae700eede582e10e8f8d35a89b54a7de4afe1b>`_\ )
Features
^^^^^^^^
* **ordering:** optionally append includefiles to main config (\ `751eff7 <https://github.com/saltstack-formulas/sudoers-formula/commit/751eff7218883b18628306d1b9f9251ac4b3b361>`_\ )
`0.24.0 <https://github.com/saltstack-formulas/sudoers-formula/compare/v0.23.4...v0.24.0>`_ (2021-08-18)
------------------------------------------------------------------------------------------------------------
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* **gemfile+lock:** use ``ssf`` customised ``inspec`` repo [skip ci] (\ `4b05f27 <https://github.com/saltstack-formulas/sudoers-formula/commit/4b05f272ef18c0e02728ba55d02bf43186d537c9>`_\ )
* add ``arch-master`` to matrix and update ``.travis.yml`` [skip ci] (\ `e8e046f <https://github.com/saltstack-formulas/sudoers-formula/commit/e8e046fc456be805e6beeac02252f993bf1c1633>`_\ )
* add Debian 11 Bullseye & update ``yamllint`` configuration [skip ci] (\ `5dd9f21 <https://github.com/saltstack-formulas/sudoers-formula/commit/5dd9f2117abbed6f2089967b1212accdda9b69d2>`_\ )
* **3003.1:** update inc. AlmaLinux, Rocky & ``rst-lint`` [skip ci] (\ `9d3efc2 <https://github.com/saltstack-formulas/sudoers-formula/commit/9d3efc20ebdd142d7a48b325282f4095a8a6ed7c>`_\ )
* **kitchen:** move ``provisioner`` block & update ``run_command`` [skip ci] (\ `05bfba0 <https://github.com/saltstack-formulas/sudoers-formula/commit/05bfba04958f0e00b5ad9e6dc796bed77febf238>`_\ )
* **kitchen+gitlab:** remove Ubuntu 16.04 & Fedora 32 (EOL) [skip ci] (\ `29df517 <https://github.com/saltstack-formulas/sudoers-formula/commit/29df51794e121a9e61dbfee3556350c9c786b884>`_\ )
Documentation
^^^^^^^^^^^^^
* **readme:** fix heading [skip ci] (\ `f38e79a <https://github.com/saltstack-formulas/sudoers-formula/commit/f38e79a7979cc3105dcada1f2fb2774035471f18>`_\ )
Features
^^^^^^^^
* **macro:** to use in several state (\ `70e66c9 <https://github.com/saltstack-formulas/sudoers-formula/commit/70e66c97be41f09b0be4b35fd4a86a09ea7df11d>`_\ )
Tests
^^^^^
* **_mapdata:** add verification file for ``debian-11`` [skip ci] (\ `72fa4c2 <https://github.com/saltstack-formulas/sudoers-formula/commit/72fa4c2dbce7167e814da61564f833813bff7825>`_\ )
* **alma+rocky:** add platforms (based on CentOS 8) [skip ci] (\ `5109ee0 <https://github.com/saltstack-formulas/sudoers-formula/commit/5109ee0c5c6b76f25c0f546208e7cec2ac8c569a>`_\ )
`0.23.4 <https://github.com/saltstack-formulas/sudoers-formula/compare/v0.23.3...v0.23.4>`_ (2021-04-30)
------------------------------------------------------------------------------------------------------------
Bug Fixes
^^^^^^^^^
* **sudoers/included:** fix idempotence with purge_includedir=True (\ `a64bf89 <https://github.com/saltstack-formulas/sudoers-formula/commit/a64bf8977744d9c8e063a937e8b6e40cc2a1058e>`_\ )
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* **gemfile+lock:** use ``ssf`` customised ``kitchen-docker`` repo [skip ci] (\ `73379d6 <https://github.com/saltstack-formulas/sudoers-formula/commit/73379d6b23dc9df4b999ef29ad4019826cc56230>`_\ )
* **kitchen+ci:** use latest pre-salted images (after CVE) [skip ci] (\ `32e3825 <https://github.com/saltstack-formulas/sudoers-formula/commit/32e3825e63b2a289d4c2d8e9b09e6e6f989ee320>`_\ )
* **kitchen+gitlab:** adjust matrix to add ``3003`` [skip ci] (\ `285cdaa <https://github.com/saltstack-formulas/sudoers-formula/commit/285cdaa7786af36236d20b7630fbfba7b4afae75>`_\ )
* **kitchen+gitlab-ci:** use latest pre-salted images [skip ci] (\ `cfb67f9 <https://github.com/saltstack-formulas/sudoers-formula/commit/cfb67f9545c20d09bb54b0950fbc8a9e9b8d42da>`_\ )
* **pre-commit:** update hook for ``rubocop`` [skip ci] (\ `7c1b16f <https://github.com/saltstack-formulas/sudoers-formula/commit/7c1b16f9636217d2fc0cc76dad89631393858ad5>`_\ )
Tests
^^^^^
* **_mapdata:** add verification file for ``fedora-34`` [skip ci] (\ `d90f31b <https://github.com/saltstack-formulas/sudoers-formula/commit/d90f31bbfaf6326ea99245cef7c9f5212b7ad236>`_\ )
* standardise use of ``share`` suite & ``_mapdata`` state [skip ci] (\ `e58973f <https://github.com/saltstack-formulas/sudoers-formula/commit/e58973f6a7d991bc93800aa54d5ffae0e3792b33>`_\ )
* **_mapdata:** add verification files for new platforms (\ `96a5724 <https://github.com/saltstack-formulas/sudoers-formula/commit/96a5724ffc888f72f10ee3fddc7aeb74c0b503ec>`_\ )
* **share:** standardise with latest changes [skip ci] (\ `67f85fa <https://github.com/saltstack-formulas/sudoers-formula/commit/67f85fa218a9de488534ad0f51719c16590b4b4f>`_\ )
`0.23.3 <https://github.com/saltstack-formulas/sudoers-formula/compare/v0.23.2...v0.23.3>`_ (2021-01-14)
------------------------------------------------------------------------------------------------------------
Bug Fixes
^^^^^^^^^
* **_mapdata:** ensure map data is directly under ``values`` (\ `e2c2a8f <https://github.com/saltstack-formulas/sudoers-formula/commit/e2c2a8f1a2d19f789034e2e1ecf36f48858ec0c4>`_\ )
Tests
^^^^^
* **_mapdata:** update for ``_mapdata/init.sls`` change (\ `a018875 <https://github.com/saltstack-formulas/sudoers-formula/commit/a018875c037275b454594a2403f5a43be1982b81>`_\ )
`0.23.2 <https://github.com/saltstack-formulas/sudoers-formula/compare/v0.23.1...v0.23.2>`_ (2020-12-23)
------------------------------------------------------------------------------------------------------------
Code Refactoring
^^^^^^^^^^^^^^^^
* **map:** use top-level ``values:`` key in ``map.jinja`` dumps (\ `a643385 <https://github.com/saltstack-formulas/sudoers-formula/commit/a643385dafbe5c4e06fc452b6bc69114a3aeff63>`_\ )
`0.23.1 <https://github.com/saltstack-formulas/sudoers-formula/compare/v0.23.0...v0.23.1>`_ (2020-12-22)
------------------------------------------------------------------------------------------------------------

View File

@ -1,5 +1,3 @@
.. _readme:
sudoers-formula
===============
@ -51,9 +49,9 @@ Available states
Set up the sudoers file
``sudoers.included``
^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^
Set up an additional sudoers included file
Set up an additional sudoers included file.
Testing

View File

@ -6,128 +6,7 @@ driver:
name: docker
use_sudo: false
privileged: true
run_command: /lib/systemd/systemd
# Make sure the platforms listed below match up with
# the `env.matrix` instances defined in `.travis.yml`
platforms:
## SALT `master`
- name: debian-10-master-py3
driver:
image: saltimages/salt-master-py3:debian-10
- name: ubuntu-2004-master-py3
driver:
image: saltimages/salt-master-py3:ubuntu-20.04
- name: ubuntu-1804-master-py3
driver:
image: saltimages/salt-master-py3:ubuntu-18.04
- name: centos-8-master-py3
driver:
image: saltimages/salt-master-py3:centos-8
- name: fedora-32-master-py3
driver:
image: saltimages/salt-master-py3:fedora-32
- name: fedora-31-master-py3
driver:
image: saltimages/salt-master-py3:fedora-31
- name: opensuse-leap-152-master-py3
driver:
image: saltimages/salt-master-py3:opensuse-leap-15.2
run_command: /usr/lib/systemd/systemd
# Workaround to avoid intermittent failures on `opensuse-leap-15.2`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: amazonlinux-2-master-py3
driver:
image: saltimages/salt-master-py3:amazonlinux-2
## SALT `3000.3`
- name: debian-10-3000-3-py3
driver:
image: saltimages/salt-3000.3-py3:debian-10
- name: debian-9-3000-3-py3
driver:
image: saltimages/salt-3000.3-py3:debian-9
- name: ubuntu-1804-3000-3-py3
driver:
image: saltimages/salt-3000.3-py3:ubuntu-18.04
- name: centos-8-3000-3-py3
driver:
image: saltimages/salt-3000.3-py3:centos-8
- name: centos-7-3000-3-py3
driver:
image: saltimages/salt-3000.3-py3:centos-7
- name: fedora-31-3000-3-py3
driver:
image: saltimages/salt-3000.3-py3:fedora-31
- name: opensuse-leap-152-3000-3-py3
driver:
image: saltimages/salt-3000.3-py3:opensuse-leap-15.2
run_command: /usr/lib/systemd/systemd
# Workaround to avoid intermittent failures on `opensuse-leap-15.2`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: amazonlinux-2-3000-3-py3
driver:
image: saltimages/salt-3000.3-py3:amazonlinux-2
- name: ubuntu-1804-3000-3-py2
driver:
image: saltimages/salt-3000.3-py2:ubuntu-18.04
- name: ubuntu-1604-3000-3-py2
driver:
image: saltimages/salt-3000.3-py2:ubuntu-16.04
- name: arch-base-latest-3000-3-py2
driver:
image: saltimages/salt-3000.3-py2:arch-base-latest
run_command: /usr/lib/systemd/systemd
## SALT `2019.2`
- name: debian-10-2019-2-py3
driver:
image: saltimages/salt-2019.2-py3:debian-10
- name: debian-9-2019-2-py3
driver:
image: saltimages/salt-2019.2-py3:debian-9
- name: ubuntu-1804-2019-2-py3
driver:
image: saltimages/salt-2019.2-py3:ubuntu-18.04
- name: ubuntu-1604-2019-2-py3
driver:
image: saltimages/salt-2019.2-py3:ubuntu-16.04
- name: centos-8-2019-2-py3
driver:
image: saltimages/salt-2019.2-py3:centos-8
- name: centos-7-2019-2-py3
driver:
image: saltimages/salt-2019.2-py3:centos-7
- name: fedora-31-2019-2-py3
driver:
image: saltimages/salt-2019.2-py3:fedora-31
- name: opensuse-leap-152-2019-2-py3
driver:
image: saltimages/salt-2019.2-py3:opensuse-leap-15.2
run_command: /usr/lib/systemd/systemd
# Workaround to avoid intermittent failures on `opensuse-leap-15.2`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: amazonlinux-2-2019-2-py3
driver:
image: saltimages/salt-2019.2-py3:amazonlinux-2
- name: centos-6-2019-2-py2
driver:
image: saltimages/salt-2019.2-py2:centos-6
run_command: /sbin/init
- name: amazonlinux-1-2019-2-py2
driver:
image: saltimages/salt-2019.2-py2:amazonlinux-1
run_command: /sbin/init
- name: arch-base-latest-2019-2-py2
driver:
image: saltimages/salt-2019.2-py2:arch-base-latest
run_command: /usr/lib/systemd/systemd
run_command: /usr/lib/systemd/systemd
provisioner:
name: salt_solo
@ -139,12 +18,252 @@ provisioner:
- .kitchen
- .git
platforms:
## SALT `tiamat`
- name: debian-11-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:debian-11
run_command: /lib/systemd/systemd
- name: debian-10-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:debian-10
run_command: /lib/systemd/systemd
- name: debian-9-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:debian-9
run_command: /lib/systemd/systemd
- name: ubuntu-2204-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:ubuntu-22.04
run_command: /lib/systemd/systemd
- name: ubuntu-2004-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:ubuntu-20.04
run_command: /lib/systemd/systemd
- name: ubuntu-1804-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:ubuntu-18.04
run_command: /lib/systemd/systemd
- name: centos-stream8-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:centos-stream8
- name: centos-7-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:centos-7
- name: amazonlinux-2-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:amazonlinux-2
- name: oraclelinux-8-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:oraclelinux-8
- name: oraclelinux-7-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:oraclelinux-7
- name: almalinux-8-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:almalinux-8
- name: rockylinux-8-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:rockylinux-8
## SALT `master`
- name: debian-11-master-py3
driver:
image: saltimages/salt-master-py3:debian-11
run_command: /lib/systemd/systemd
- name: debian-10-master-py3
driver:
image: saltimages/salt-master-py3:debian-10
run_command: /lib/systemd/systemd
- name: debian-9-master-py3
driver:
image: saltimages/salt-master-py3:debian-9
run_command: /lib/systemd/systemd
- name: ubuntu-2204-master-py3
driver:
image: saltimages/salt-master-py3:ubuntu-22.04
run_command: /lib/systemd/systemd
- name: ubuntu-2004-master-py3
driver:
image: saltimages/salt-master-py3:ubuntu-20.04
run_command: /lib/systemd/systemd
- name: ubuntu-1804-master-py3
driver:
image: saltimages/salt-master-py3:ubuntu-18.04
run_command: /lib/systemd/systemd
- name: centos-stream8-master-py3
driver:
image: saltimages/salt-master-py3:centos-stream8
- name: centos-7-master-py3
driver:
image: saltimages/salt-master-py3:centos-7
- name: fedora-36-master-py3
driver:
image: saltimages/salt-master-py3:fedora-36
- name: fedora-35-master-py3
driver:
image: saltimages/salt-master-py3:fedora-35
- name: opensuse-leap-153-master-py3
driver:
image: saltimages/salt-master-py3:opensuse-leap-15.3
# Workaround to avoid intermittent failures on `opensuse-leap-15.3`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: opensuse-tmbl-latest-master-py3
driver:
image: saltimages/salt-master-py3:opensuse-tumbleweed-latest
# Workaround to avoid intermittent failures on `opensuse-tumbleweed`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: amazonlinux-2-master-py3
driver:
image: saltimages/salt-master-py3:amazonlinux-2
- name: oraclelinux-8-master-py3
driver:
image: saltimages/salt-master-py3:oraclelinux-8
- name: oraclelinux-7-master-py3
driver:
image: saltimages/salt-master-py3:oraclelinux-7
- name: arch-base-latest-master-py3
driver:
image: saltimages/salt-master-py3:arch-base-latest
- name: gentoo-stage3-latest-master-py3
driver:
image: saltimages/salt-master-py3:gentoo-stage3-latest
run_command: /sbin/init
- name: gentoo-stage3-systemd-master-py3
driver:
image: saltimages/salt-master-py3:gentoo-stage3-systemd
- name: almalinux-8-master-py3
driver:
image: saltimages/salt-master-py3:almalinux-8
- name: rockylinux-8-master-py3
driver:
image: saltimages/salt-master-py3:rockylinux-8
## SALT `3004.1`
- name: debian-11-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:debian-11
run_command: /lib/systemd/systemd
- name: debian-10-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:debian-10
run_command: /lib/systemd/systemd
- name: debian-9-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:debian-9
run_command: /lib/systemd/systemd
- name: ubuntu-2204-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:ubuntu-22.04
run_command: /lib/systemd/systemd
- name: ubuntu-2004-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:ubuntu-20.04
run_command: /lib/systemd/systemd
- name: ubuntu-1804-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:ubuntu-18.04
run_command: /lib/systemd/systemd
- name: centos-stream8-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:centos-stream8
- name: centos-7-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:centos-7
- name: fedora-36-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:fedora-36
- name: fedora-35-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:fedora-35
- name: amazonlinux-2-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:amazonlinux-2
- name: oraclelinux-8-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:oraclelinux-8
- name: oraclelinux-7-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:oraclelinux-7
- name: arch-base-latest-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:arch-base-latest
- name: gentoo-stage3-latest-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:gentoo-stage3-latest
run_command: /sbin/init
- name: gentoo-stage3-systemd-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:gentoo-stage3-systemd
- name: almalinux-8-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:almalinux-8
- name: rockylinux-8-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:rockylinux-8
## SALT `3004.0`
- name: opensuse-leap-153-3004-0-py3
driver:
image: saltimages/salt-3004.0-py3:opensuse-leap-15.3
# Workaround to avoid intermittent failures on `opensuse-leap-15.3`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: opensuse-tmbl-latest-3004-0-py3
driver:
image: saltimages/salt-3004.0-py3:opensuse-tumbleweed-latest
# Workaround to avoid intermittent failures on `opensuse-tumbleweed`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
## SALT `3003.4`
- name: debian-10-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:debian-10
run_command: /lib/systemd/systemd
- name: debian-9-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:debian-9
run_command: /lib/systemd/systemd
- name: ubuntu-2004-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:ubuntu-20.04
run_command: /lib/systemd/systemd
- name: ubuntu-1804-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:ubuntu-18.04
run_command: /lib/systemd/systemd
- name: centos-stream8-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:centos-stream8
- name: centos-7-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:centos-7
- name: amazonlinux-2-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:amazonlinux-2
- name: oraclelinux-8-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:oraclelinux-8
- name: oraclelinux-7-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:oraclelinux-7
- name: almalinux-8-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:almalinux-8
verifier:
# https://www.inspec.io/
name: inspec
sudo: true
# cli, documentation, html, progress, json, json-min, json-rspec, junit
reporter:
# cli, documentation, html, progress, json, json-min, json-rspec, junit
- cli
suites:
@ -168,3 +287,23 @@ suites:
verifier:
inspec_tests:
- path: test/integration/default
- name: appended
provisioner:
state_top:
base:
'*':
- sudoers._mapdata
- sudoers
- sudoers.included
pillars:
top.sls:
base:
'*':
- kitchen
- sudoers
pillars_from_files:
kitchen.sls: test/salt/pillar/kitchen.sls
sudoers.sls: test/salt/pillar/appended.sls
verifier:
inspec_tests:
- path: test/integration/appended

View File

@ -63,3 +63,9 @@ sudoers:
netgroups:
other_netgroup:
- 'ALL=(ALL) ALL'
# ordering is important. The sudoers manpage says when multiple
# entries match, the last match is used. However, if we do not
# manage the main config, our included files may not match last.
# To guarantee included files match last, set 'true' below to append
# each '#include <includefile>' to sudoers file.
append_included_files_to_endof_main_config: true

View File

@ -7,16 +7,16 @@ sed -i -e "s_^\(version:\).*_\1 ${1}_" FORMULA
###############################################################################
# (B) Use `m2r` to convert automatically produced `.md` docs to `.rst`
# (B) Use `m2r2` to convert automatically produced `.md` docs to `.rst`
###############################################################################
# Install `m2r`
pip3 install m2r
# Install `m2r2`
pip3 install m2r2
# Copy and then convert the `.md` docs
cp ./*.md docs/
cd docs/ || exit
m2r --overwrite ./*.md
m2r2 --overwrite ./*.md
# Change excess `H1` headings to `H2` in converted `CHANGELOG.rst`
sed -i -e '/^=.*$/s/=/-/g' CHANGELOG.rst

View File

@ -1,9 +1,9 @@
# yamllint disable rule:indentation rule:line-length
# {{ grains.get('osfinger', grains.os) }}
# {{ grains.get("osfinger", grains.os) }}
---
{#- use salt.slsutil.serialize to avoid encoding errors on some platforms #}
{{ salt['slsutil.serialize'](
'yaml',
{{ salt["slsutil.serialize"](
"yaml",
map,
default_flow_style=False,
allow_unicode=True,

View File

@ -2,13 +2,16 @@
# vim: ft=sls
---
{#- Get the `tplroot` from `tpldir` #}
{%- set tplroot = tpldir.split('/')[0] %}
{%- from tplroot ~ "/map.jinja" import sudoers as mapdata with context %}
{%- set tplroot = tpldir.split("/")[0] %}
{%- from tplroot ~ "/map.jinja" import sudoers with context %}
{%- do salt['log.debug']('### MAP.JINJA DUMP ###\n' ~ mapdata | yaml(False)) %}
{%- set _mapdata = {
"values": sudoers,
} %}
{%- do salt["log.debug"]("### MAP.JINJA DUMP ###\n" ~ _mapdata | yaml(False)) %}
{%- set output_dir = '/temp' if grains.os_family == 'Windows' else '/tmp' %}
{%- set output_file = output_dir ~ '/salt_mapdata_dump.yaml' %}
{%- set output_dir = "/temp" if grains.os_family == "Windows" else "/tmp" %}
{%- set output_file = output_dir ~ "/salt_mapdata_dump.yaml" %}
{{ tplroot }}-mapdata-dump:
file.managed:
@ -16,4 +19,4 @@
- source: salt://{{ tplroot }}/_mapdata/_mapdata.jinja
- template: jinja
- context:
map: {{ mapdata | yaml }}
map: {{ _mapdata | yaml }}

View File

@ -10,3 +10,4 @@ sudoers:
execprefix: /usr/sbin
includedir: /etc/sudoers.d
included_files: {}
append_included_files_to_endof_main_config: false

View File

@ -0,0 +1,5 @@
# -*- coding: utf-8 -*-
# vim: ft=sls
include:
- .install

View File

@ -18,13 +18,13 @@ include:
{% set included_files = sudoers.included_files %}
{% for included_file, spec in included_files.items() -%}
{%- if '/' not in included_file %}
{%- set included_file = sudoers.includedir ~ '/' ~ included_file %}
{%- endif %}
sudoers include {{ included_file }}:
file.managed:
{% if '/' in included_file %}
- name: {{ included_file }}
{% else %}
- name: {{ sudoers.includedir }}/{{ included_file }}
{% endif %}
- user: root
- group: {{ sudoers.group }}
- mode: 440
@ -38,5 +38,17 @@ sudoers include {{ included_file }}:
{% if sudoers.manage_main_config %}
- require:
- file: {{ sudoers.configpath }}/sudoers
- require_in:
- file: {{ sudoers.includedir }}
{% elif sudoers.append_included_files_to_endof_main_config %}
sudoers append {{ included_file }}:
file.append:
- name: {{ sudoers.configpath }}/sudoers
- text: '#include {{ included_file }}'
- require:
- file: sudoers include {{ included_file }}
{% endif %}
{% endfor %}

22
sudoers/macros.sls Normal file
View File

@ -0,0 +1,22 @@
{%- macro sudoers(for_user, sudo, config, priority='20', state='present') -%}
{%- set filename = priority ~ '-' ~ for_user|replace('.','-') ~ '-' ~ sudo %}
{% if state == 'present' %}
/etc/sudoers.d/{{ filename }}:
file.managed:
- user: root
- group: root
- mode: 440
- template: jinja
- source: salt://sudoers/templates/sudoers.jinja
- context:
for_user: {{ for_user }}
sudo: {{ sudo }}
config: {{ config|tojson }}
{% elif state == 'absent' %}
/etc/sudoers.d/{{ filename }}:
file.absent
{% endif %}
{%- endmacro %}

View File

@ -0,0 +1,7 @@
{%- if config.command is iterable and config.command is not string -%}
{% for command in config.command -%}
{{ for_user }} {{ config.privileges }}: {{ command }}
{% endfor %}
{%- else -%}
{{ for_user }} {{ config.privileges }}: {{ config.command }}
{%- endif -%}

View File

@ -0,0 +1,50 @@
# InSpec Profile: `appended`
This shows the implementation of the `appended` 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 appended
Summary
-------
Location: appended
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 appended
..
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 appended --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).

View File

@ -0,0 +1,47 @@
# frozen_string_literal: true
require 'yaml'
control 'sudoers._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

View File

@ -0,0 +1,38 @@
# frozen_string_literal: true
control 'Sudoers configuration' do
title 'should match desired lines'
describe file('/etc/sudoers') do
it { should be_file }
it { should be_owned_by 'root' }
it { should be_grouped_into 'root' }
its('content') { should include '#include /etc/sudoers.d/extra-file1' }
its('content') { should include '#include /etc/sudoers.d/extra-file2' }
its('content') { should include '#include /etc/sudoers.d/extra-file3' }
end
describe file('/etc/sudoers.d/extra-file1') do
it { should be_file }
it { should be_owned_by 'root' }
it { should be_grouped_into 'root' }
its('mode') { should cmp '0440' }
its('content') { should include 'foo ALL=(ALL) ALL' }
end
describe file('/etc/sudoers.d/extra-file2') do
it { should be_file }
it { should be_owned_by 'root' }
it { should be_grouped_into 'root' }
its('mode') { should cmp '0440' }
its('content') { should include '%bargroup ALL=(ALL) NOPASSWD: ALL' }
end
describe file('/etc/sudoers.d/extra-file3') do
it { should be_file }
it { should be_owned_by 'root' }
it { should be_grouped_into 'root' }
its('mode') { should cmp '0440' }
its('content') { should include '+other_netgroup ALL=(ALL) ALL' }
end
end

View File

@ -0,0 +1,9 @@
# frozen_string_literal: true
control 'Sudo package' do
title 'should be installed'
describe package('sudo') do
it { should be_installed }
end
end

View File

@ -0,0 +1,29 @@
# yamllint disable rule:indentation rule:line-length
# AlmaLinux-8
---
values:
append_included_files_to_endof_main_config: true
arch: amd64
configpath: /etc
execprefix: /usr/sbin
group: root
included_files:
/etc/sudoers.d/extra-file1:
users:
foo:
- ALL=(ALL) ALL
/etc/sudoers.d/extra-file2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
/etc/sudoers.d/extra-file3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: false
pkg: sudo
purge_includedir: false
users:
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,29 @@
# yamllint disable rule:indentation rule:line-length
# AlmaLinux-8
---
values:
append_included_files_to_endof_main_config: true
arch: amd64
configpath: /etc
execprefix: /usr/sbin
group: root
included_files:
/etc/sudoers.d/extra-file1:
users:
foo:
- ALL=(ALL) ALL
/etc/sudoers.d/extra-file2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
/etc/sudoers.d/extra-file3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: false
pkg: sudo
purge_includedir: false
users:
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,29 @@
# yamllint disable rule:indentation rule:line-length
# AlmaLinux-8
---
values:
append_included_files_to_endof_main_config: true
arch: amd64
configpath: /etc
execprefix: /usr/sbin
group: root
included_files:
/etc/sudoers.d/extra-file1:
users:
foo:
- ALL=(ALL) ALL
/etc/sudoers.d/extra-file2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
/etc/sudoers.d/extra-file3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: false
pkg: sudo
purge_includedir: false
users:
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,29 @@
# yamllint disable rule:indentation rule:line-length
# AlmaLinux-8
---
values:
append_included_files_to_endof_main_config: true
arch: amd64
configpath: /etc
execprefix: /usr/sbin
group: root
included_files:
/etc/sudoers.d/extra-file1:
users:
foo:
- ALL=(ALL) ALL
/etc/sudoers.d/extra-file2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
/etc/sudoers.d/extra-file3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: false
pkg: sudo
purge_includedir: false
users:
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,29 @@
# yamllint disable rule:indentation rule:line-length
# AlmaLinux-8
---
values:
append_included_files_to_endof_main_config: true
arch: amd64
configpath: /etc
execprefix: /usr/sbin
group: root
included_files:
/etc/sudoers.d/extra-file1:
users:
foo:
- ALL=(ALL) ALL
/etc/sudoers.d/extra-file2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
/etc/sudoers.d/extra-file3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: false
pkg: sudo
purge_includedir: false
users:
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,29 @@
# yamllint disable rule:indentation rule:line-length
# AlmaLinux-8
---
values:
append_included_files_to_endof_main_config: true
arch: amd64
configpath: /etc
execprefix: /usr/sbin
group: root
included_files:
/etc/sudoers.d/extra-file1:
users:
foo:
- ALL=(ALL) ALL
/etc/sudoers.d/extra-file2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
/etc/sudoers.d/extra-file3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: false
pkg: sudo
purge_includedir: false
users:
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,29 @@
# yamllint disable rule:indentation rule:line-length
# AlmaLinux-8
---
values:
append_included_files_to_endof_main_config: true
arch: amd64
configpath: /etc
execprefix: /usr/sbin
group: root
included_files:
/etc/sudoers.d/extra-file1:
users:
foo:
- ALL=(ALL) ALL
/etc/sudoers.d/extra-file2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
/etc/sudoers.d/extra-file3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: false
pkg: sudo
purge_includedir: false
users:
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,29 @@
# yamllint disable rule:indentation rule:line-length
# AlmaLinux-8
---
values:
append_included_files_to_endof_main_config: true
arch: amd64
configpath: /etc
execprefix: /usr/sbin
group: root
included_files:
/etc/sudoers.d/extra-file1:
users:
foo:
- ALL=(ALL) ALL
/etc/sudoers.d/extra-file2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
/etc/sudoers.d/extra-file3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: false
pkg: sudo
purge_includedir: false
users:
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,29 @@
# yamllint disable rule:indentation rule:line-length
# AlmaLinux-8
---
values:
append_included_files_to_endof_main_config: true
arch: amd64
configpath: /etc
execprefix: /usr/sbin
group: root
included_files:
/etc/sudoers.d/extra-file1:
users:
foo:
- ALL=(ALL) ALL
/etc/sudoers.d/extra-file2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
/etc/sudoers.d/extra-file3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: false
pkg: sudo
purge_includedir: false
users:
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,29 @@
# yamllint disable rule:indentation rule:line-length
# AlmaLinux-8
---
values:
append_included_files_to_endof_main_config: true
arch: amd64
configpath: /etc
execprefix: /usr/sbin
group: root
included_files:
/etc/sudoers.d/extra-file1:
users:
foo:
- ALL=(ALL) ALL
/etc/sudoers.d/extra-file2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
/etc/sudoers.d/extra-file3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: false
pkg: sudo
purge_includedir: false
users:
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,29 @@
# yamllint disable rule:indentation rule:line-length
# AlmaLinux-8
---
values:
append_included_files_to_endof_main_config: true
arch: amd64
configpath: /etc
execprefix: /usr/sbin
group: root
included_files:
/etc/sudoers.d/extra-file1:
users:
foo:
- ALL=(ALL) ALL
/etc/sudoers.d/extra-file2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
/etc/sudoers.d/extra-file3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: false
pkg: sudo
purge_includedir: false
users:
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,29 @@
# yamllint disable rule:indentation rule:line-length
# AlmaLinux-8
---
values:
append_included_files_to_endof_main_config: true
arch: amd64
configpath: /etc
execprefix: /usr/sbin
group: root
included_files:
/etc/sudoers.d/extra-file1:
users:
foo:
- ALL=(ALL) ALL
/etc/sudoers.d/extra-file2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
/etc/sudoers.d/extra-file3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: false
pkg: sudo
purge_includedir: false
users:
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,29 @@
# yamllint disable rule:indentation rule:line-length
# AlmaLinux-8
---
values:
append_included_files_to_endof_main_config: true
arch: amd64
configpath: /etc
execprefix: /usr/sbin
group: root
included_files:
/etc/sudoers.d/extra-file1:
users:
foo:
- ALL=(ALL) ALL
/etc/sudoers.d/extra-file2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
/etc/sudoers.d/extra-file3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: false
pkg: sudo
purge_includedir: false
users:
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,29 @@
# yamllint disable rule:indentation rule:line-length
# AlmaLinux-8
---
values:
append_included_files_to_endof_main_config: true
arch: amd64
configpath: /etc
execprefix: /usr/sbin
group: root
included_files:
/etc/sudoers.d/extra-file1:
users:
foo:
- ALL=(ALL) ALL
/etc/sudoers.d/extra-file2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
/etc/sudoers.d/extra-file3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: false
pkg: sudo
purge_includedir: false
users:
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,29 @@
# yamllint disable rule:indentation rule:line-length
# AlmaLinux-8
---
values:
append_included_files_to_endof_main_config: true
arch: amd64
configpath: /etc
execprefix: /usr/sbin
group: root
included_files:
/etc/sudoers.d/extra-file1:
users:
foo:
- ALL=(ALL) ALL
/etc/sudoers.d/extra-file2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
/etc/sudoers.d/extra-file3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: false
pkg: sudo
purge_includedir: false
users:
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,29 @@
# yamllint disable rule:indentation rule:line-length
# AlmaLinux-8
---
values:
append_included_files_to_endof_main_config: true
arch: amd64
configpath: /etc
execprefix: /usr/sbin
group: root
included_files:
/etc/sudoers.d/extra-file1:
users:
foo:
- ALL=(ALL) ALL
/etc/sudoers.d/extra-file2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
/etc/sudoers.d/extra-file3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: false
pkg: sudo
purge_includedir: false
users:
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,29 @@
# yamllint disable rule:indentation rule:line-length
# AlmaLinux-8
---
values:
append_included_files_to_endof_main_config: true
arch: amd64
configpath: /etc
execprefix: /usr/sbin
group: root
included_files:
/etc/sudoers.d/extra-file1:
users:
foo:
- ALL=(ALL) ALL
/etc/sudoers.d/extra-file2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
/etc/sudoers.d/extra-file3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: false
pkg: app-admin/sudo
purge_includedir: false
users:
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,29 @@
# yamllint disable rule:indentation rule:line-length
# AlmaLinux-8
---
values:
append_included_files_to_endof_main_config: true
arch: amd64
configpath: /etc
execprefix: /usr/sbin
group: root
included_files:
/etc/sudoers.d/extra-file1:
users:
foo:
- ALL=(ALL) ALL
/etc/sudoers.d/extra-file2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
/etc/sudoers.d/extra-file3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: false
pkg: app-admin/sudo
purge_includedir: false
users:
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,29 @@
# yamllint disable rule:indentation rule:line-length
# AlmaLinux-8
---
values:
append_included_files_to_endof_main_config: true
arch: amd64
configpath: /etc
execprefix: /usr/sbin
group: root
included_files:
/etc/sudoers.d/extra-file1:
users:
foo:
- ALL=(ALL) ALL
/etc/sudoers.d/extra-file2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
/etc/sudoers.d/extra-file3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: false
pkg: sudo
purge_includedir: false
users:
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,29 @@
# yamllint disable rule:indentation rule:line-length
# AlmaLinux-8
---
values:
append_included_files_to_endof_main_config: true
arch: amd64
configpath: /etc
execprefix: /usr/sbin
group: root
included_files:
/etc/sudoers.d/extra-file1:
users:
foo:
- ALL=(ALL) ALL
/etc/sudoers.d/extra-file2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
/etc/sudoers.d/extra-file3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: false
pkg: sudo
purge_includedir: false
users:
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,29 @@
# yamllint disable rule:indentation rule:line-length
# AlmaLinux-8
---
values:
append_included_files_to_endof_main_config: true
arch: amd64
configpath: /etc
execprefix: /usr/sbin
group: root
included_files:
/etc/sudoers.d/extra-file1:
users:
foo:
- ALL=(ALL) ALL
/etc/sudoers.d/extra-file2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
/etc/sudoers.d/extra-file3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: false
pkg: sudo
purge_includedir: false
users:
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,29 @@
# yamllint disable rule:indentation rule:line-length
# AlmaLinux-8
---
values:
append_included_files_to_endof_main_config: true
arch: amd64
configpath: /etc
execprefix: /usr/sbin
group: root
included_files:
/etc/sudoers.d/extra-file1:
users:
foo:
- ALL=(ALL) ALL
/etc/sudoers.d/extra-file2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
/etc/sudoers.d/extra-file3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: false
pkg: sudo
purge_includedir: false
users:
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,29 @@
# yamllint disable rule:indentation rule:line-length
# AlmaLinux-8
---
values:
append_included_files_to_endof_main_config: true
arch: amd64
configpath: /etc
execprefix: /usr/sbin
group: root
included_files:
/etc/sudoers.d/extra-file1:
users:
foo:
- ALL=(ALL) ALL
/etc/sudoers.d/extra-file2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
/etc/sudoers.d/extra-file3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: false
pkg: sudo
purge_includedir: false
users:
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,29 @@
# yamllint disable rule:indentation rule:line-length
# AlmaLinux-8
---
values:
append_included_files_to_endof_main_config: true
arch: amd64
configpath: /etc
execprefix: /usr/sbin
group: root
included_files:
/etc/sudoers.d/extra-file1:
users:
foo:
- ALL=(ALL) ALL
/etc/sudoers.d/extra-file2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
/etc/sudoers.d/extra-file3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: false
pkg: sudo
purge_includedir: false
users:
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,29 @@
# yamllint disable rule:indentation rule:line-length
# AlmaLinux-8
---
values:
append_included_files_to_endof_main_config: true
arch: amd64
configpath: /etc
execprefix: /usr/sbin
group: root
included_files:
/etc/sudoers.d/extra-file1:
users:
foo:
- ALL=(ALL) ALL
/etc/sudoers.d/extra-file2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
/etc/sudoers.d/extra-file3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: false
pkg: sudo
purge_includedir: false
users:
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,29 @@
# yamllint disable rule:indentation rule:line-length
# AlmaLinux-8
---
values:
append_included_files_to_endof_main_config: true
arch: amd64
configpath: /etc
execprefix: /usr/sbin
group: root
included_files:
/etc/sudoers.d/extra-file1:
users:
foo:
- ALL=(ALL) ALL
/etc/sudoers.d/extra-file2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
/etc/sudoers.d/extra-file3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: false
pkg: sudo
purge_includedir: false
users:
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,29 @@
# yamllint disable rule:indentation rule:line-length
# AlmaLinux-8
---
values:
append_included_files_to_endof_main_config: true
arch: amd64
configpath: /etc
execprefix: /usr/sbin
group: root
included_files:
/etc/sudoers.d/extra-file1:
users:
foo:
- ALL=(ALL) ALL
/etc/sudoers.d/extra-file2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
/etc/sudoers.d/extra-file3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: false
pkg: sudo
purge_includedir: false
users:
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,29 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
name: appended
title: sudoers formula
maintainer: SaltStack Formulas
license: Apache-2.0
# yamllint disable-line rule:line-length
summary: Verify that the sudoers formula is setup and configured correctly (when appending to the main file)
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-name: mac_os_x
- platform: windows

View File

@ -0,0 +1,47 @@
# frozen_string_literal: true
require 'yaml'
control 'sudoers._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

View File

@ -1,23 +0,0 @@
# frozen_string_literal: true
require 'yaml'
control '`map.jinja` YAML dump' do
title 'should match the comparison file'
# Strip the `platform[:finger]` version number down to the "OS major release"
mapdata_file = "_mapdata/#{system.platform[:finger].split('.').first}.yaml"
# Load the mapdata from profile https://docs.chef.io/inspec/profiles/#profile-files
mapdata_dump = YAML.safe_load(inspec.profile.file(mapdata_file))
# Derive the location of the dumped mapdata
output_dir = platform[:family] == 'windows' ? '/temp' : '/tmp'
output_file = "#{output_dir}/salt_mapdata_dump.yaml"
describe 'File content' do
it 'should match profile map data exactly' do
expect(yaml(output_file).params).to eq(mapdata_dump)
end
end
end

View File

@ -0,0 +1,71 @@
# yamllint disable rule:indentation rule:line-length
# AlmaLinux-8
---
values:
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
ADMINS:
- millert
- dowdy
- mikef
append_included_files_to_endof_main_config: false
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -1,69 +1,71 @@
# yamllint disable rule:indentation rule:line-length
# Amazon Linux AMI-2018
---
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
ADMINS:
- millert
- dowdy
- mikef
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
values:
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'
ADMINS:
- millert
- dowdy
- mikef
append_included_files_to_endof_main_config: false
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -1,69 +1,71 @@
# yamllint disable rule:indentation rule:line-length
# Amazon Linux-2
---
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
ADMINS:
- millert
- dowdy
- mikef
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
values:
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'
ADMINS:
- millert
- dowdy
- mikef
append_included_files_to_endof_main_config: false
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -1,69 +1,71 @@
# yamllint disable rule:indentation rule:line-length
# Arch
---
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
ADMINS:
- millert
- dowdy
- mikef
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
values:
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'
ADMINS:
- millert
- dowdy
- mikef
append_included_files_to_endof_main_config: false
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -1,69 +1,71 @@
# yamllint disable rule:indentation rule:line-length
# CentOS-6
---
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
ADMINS:
- millert
- dowdy
- mikef
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
values:
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'
ADMINS:
- millert
- dowdy
- mikef
append_included_files_to_endof_main_config: false
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -1,69 +1,71 @@
# yamllint disable rule:indentation rule:line-length
# CentOS Linux-7
---
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
ADMINS:
- millert
- dowdy
- mikef
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
values:
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'
ADMINS:
- millert
- dowdy
- mikef
append_included_files_to_endof_main_config: false
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -1,69 +1,71 @@
# yamllint disable rule:indentation rule:line-length
# CentOS Linux-8
---
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
ADMINS:
- millert
- dowdy
- mikef
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
values:
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'
ADMINS:
- millert
- dowdy
- mikef
append_included_files_to_endof_main_config: false
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -1,69 +1,71 @@
# yamllint disable rule:indentation rule:line-length
# Debian-10
---
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
ADMINS:
- millert
- dowdy
- mikef
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
values:
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'
ADMINS:
- millert
- dowdy
- mikef
append_included_files_to_endof_main_config: false
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,71 @@
# yamllint disable rule:indentation rule:line-length
# Debian-11
---
values:
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
ADMINS:
- millert
- dowdy
- mikef
append_included_files_to_endof_main_config: false
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -1,69 +1,71 @@
# yamllint disable rule:indentation rule:line-length
# Debian-9
---
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
ADMINS:
- millert
- dowdy
- mikef
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
values:
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'
ADMINS:
- millert
- dowdy
- mikef
append_included_files_to_endof_main_config: false
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -1,69 +1,71 @@
# yamllint disable rule:indentation rule:line-length
# Fedora-31
---
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
ADMINS:
- millert
- dowdy
- mikef
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
values:
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'
ADMINS:
- millert
- dowdy
- mikef
append_included_files_to_endof_main_config: false
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -1,69 +1,71 @@
# yamllint disable rule:indentation rule:line-length
# Fedora-32
---
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
ADMINS:
- millert
- dowdy
- mikef
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
values:
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'
ADMINS:
- millert
- dowdy
- mikef
append_included_files_to_endof_main_config: false
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,71 @@
# yamllint disable rule:indentation rule:line-length
# Fedora-33
---
values:
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
ADMINS:
- millert
- dowdy
- mikef
append_included_files_to_endof_main_config: false
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,71 @@
# yamllint disable rule:indentation rule:line-length
# Fedora-34
---
values:
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
ADMINS:
- millert
- dowdy
- mikef
append_included_files_to_endof_main_config: false
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,71 @@
# yamllint disable rule:indentation rule:line-length
# Fedora-35
---
values:
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
ADMINS:
- millert
- dowdy
- mikef
append_included_files_to_endof_main_config: false
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,71 @@
# yamllint disable rule:indentation rule:line-length
# Fedora-36
---
values:
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
ADMINS:
- millert
- dowdy
- mikef
append_included_files_to_endof_main_config: false
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,71 @@
# yamllint disable rule:indentation rule:line-length
# Gentoo-2
---
values:
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
ADMINS:
- millert
- dowdy
- mikef
append_included_files_to_endof_main_config: false
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: app-admin/sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,71 @@
# yamllint disable rule:indentation rule:line-length
# Gentoo-2
---
values:
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
ADMINS:
- millert
- dowdy
- mikef
append_included_files_to_endof_main_config: false
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: app-admin/sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -1,69 +1,71 @@
# yamllint disable rule:indentation rule:line-length
# Leap-15
---
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
ADMINS:
- millert
- dowdy
- mikef
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
values:
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'
ADMINS:
- millert
- dowdy
- mikef
append_included_files_to_endof_main_config: false
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,71 @@
# yamllint disable rule:indentation rule:line-length
# openSUSE Tumbleweed-yyyymmdd
---
values:
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
ADMINS:
- millert
- dowdy
- mikef
append_included_files_to_endof_main_config: false
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,71 @@
# yamllint disable rule:indentation rule:line-length
# Oracle Linux Server-7
---
values:
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
ADMINS:
- millert
- dowdy
- mikef
append_included_files_to_endof_main_config: false
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,71 @@
# yamllint disable rule:indentation rule:line-length
# Oracle Linux Server-8
---
values:
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
ADMINS:
- millert
- dowdy
- mikef
append_included_files_to_endof_main_config: false
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,71 @@
# yamllint disable rule:indentation rule:line-length
# Rocky Linux-8
---
values:
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
ADMINS:
- millert
- dowdy
- mikef
append_included_files_to_endof_main_config: false
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -1,69 +1,71 @@
# yamllint disable rule:indentation rule:line-length
# Ubuntu-16.04
---
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
ADMINS:
- millert
- dowdy
- mikef
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
values:
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'
ADMINS:
- millert
- dowdy
- mikef
append_included_files_to_endof_main_config: false
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -1,69 +1,71 @@
# yamllint disable rule:indentation rule:line-length
# Ubuntu-18.04
---
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
ADMINS:
- millert
- dowdy
- mikef
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
values:
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'
ADMINS:
- millert
- dowdy
- mikef
append_included_files_to_endof_main_config: false
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -1,69 +1,71 @@
# yamllint disable rule:indentation rule:line-length
# Ubuntu-20.04
---
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
ADMINS:
- millert
- dowdy
- mikef
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
values:
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'
ADMINS:
- millert
- dowdy
- mikef
append_included_files_to_endof_main_config: false
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -0,0 +1,71 @@
# yamllint disable rule:indentation rule:line-length
# Ubuntu-22.04
---
values:
aliases:
commands:
PROCESSES:
- /usr/bin/nice
- /bin/kill
- /usr/bin/renice
- /usr/bin/pkill
- /usr/bin/top
hosts:
WEBSERVERS:
- www1
- www2
- www3
users:
ADMINS:
- millert
- dowdy
- mikef
append_included_files_to_endof_main_config: false
arch: amd64
configpath: /etc
defaults:
command_list:
PROCESSES: noexec
generic:
- env_reset
- mail_badpass
- secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
host_list:
www1: log_year, logfile=/var/log/sudo.log
runas_list:
root: '!set_logname'
user_list:
ADMINS: '!lecture'
johndoe: '!requiretty'
execprefix: /usr/sbin
group: root
groups:
sudo:
- ALL=(ALL) ALL
- 'ALL=(nodejs) NOPASSWD: ALL'
included_files:
/etc/sudoers.d/extra-file:
users:
foo:
- ALL=(ALL) ALL
extra-file-2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- ALL=(ALL) ALL
includedir: /etc/sudoers.d
manage_main_config: true
netgroups:
sysadmins:
- ALL=(ALL) ALL
pkg: sudo
purge_includedir: false
users:
johndoe:
- ALL=(ALL) ALL
- 'ALL=(root) NOPASSWD: /etc/init.d/httpd'
kitchen:
- 'ALL=(root) NOPASSWD: ALL'

View File

@ -17,5 +17,12 @@ supports:
- 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-name: mac_os_x
- platform: windows

View File

@ -13,9 +13,10 @@ 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 and 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)

View File

@ -14,8 +14,12 @@ supports:
- 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-name: mac_os_x
- platform: windows

View File

@ -4,6 +4,7 @@
# Author: Daniel Dehennin <daniel.dehennin@ac-dijon.fr>
# Copyright (C) 2020 Daniel Dehennin <daniel.dehennin@ac-dijon.fr>
# rubocop:disable Metrics/ClassLength
class SystemResource < Inspec.resource(1)
name 'system'
@ -21,7 +22,8 @@ class SystemResource < Inspec.resource(1)
family: build_platform_family,
name: build_platform_name,
release: build_platform_release,
finger: build_platform_finger
finger: build_platform_finger,
codename: build_platform_codename
}
end
@ -36,42 +38,47 @@ class SystemResource < Inspec.resource(1)
def build_platform_name
case inspec.platform[:name]
when 'amazon', 'oracle'
when 'amazon', 'oracle', 'rocky'
"#{inspec.platform[:name]}linux"
when 'windows_8.1_pro', 'windows_server_2019_datacenter'
'windows'
when /^windows_/
inspec.platform[:family]
else
inspec.platform[:name]
end
end
# rubocop:disable Metrics/MethodLength
# 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
# `2018` relase is named `1` in `kitchen.yml`
inspec.platform[:release].gsub(/2018.*/, '1')
when 'arch'
'base-latest'
when 'gentoo'
"#{inspec.platform[:release].split('.')[0]}-#{derive_gentoo_init_system}"
when 'mac_os_x'
inspec.command('sw_vers -productVersion').stdout.to_s
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_2022_datacenter'
'2022-server'
when 'windows_server_2019_datacenter'
'2019-server'
when 'windows_server_2016_datacenter'
'2016-server'
else
inspec.platform[:release]
end
end
# rubocop:enable Metrics/MethodLength
# rubocop:enable Metrics/MethodLength,Metrics/AbcSize,Metrics/CyclomaticComplexity
def derive_gentoo_init_system
case inspec.command('systemctl').exist?
when true
'sysd'
else
'sysv'
end
inspec.command('systemctl').exist? ? 'sysd' : 'sysv'
end
def build_platform_finger
@ -86,4 +93,46 @@ class SystemResource < Inspec.resource(1)
build_platform_release.split('.')[0]
end
end
# rubocop:disable Metrics/MethodLength,Metrics/CyclomaticComplexity
def build_platform_codename
case build_platform_finger
when 'ubuntu-22.04'
'jammy'
when 'ubuntu-20.04'
'focal'
when 'ubuntu-18.04'
'bionic'
when 'debian-11'
'bullseye'
when 'debian-10'
'buster'
when 'debian-9'
'stretch'
when 'almalinux-8'
"AlmaLinux #{build_platform_release} (Arctic Sphynx)"
when 'amazonlinux-2'
'Amazon Linux 2'
when 'arch-base-latest'
'Arch Linux'
when 'centos-7'
'CentOS Linux 7 (Core)'
when 'centos-8'
'CentOS Stream 8'
when 'opensuse-tumbleweed'
'openSUSE Tumbleweed'
when 'opensuse-15'
"openSUSE Leap #{build_platform_release}"
when 'oraclelinux-8', 'oraclelinux-7'
"Oracle Linux Server #{build_platform_release}"
when 'gentoo-2-sysd', 'gentoo-2-sysv'
'Gentoo/Linux'
when 'rockylinux-8'
"Rocky Linux #{build_platform_release} (Green Obsidian)"
else
''
end
end
# rubocop:enable Metrics/MethodLength,Metrics/CyclomaticComplexity
end
# rubocop:enable Metrics/ClassLength

View File

@ -0,0 +1,19 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
sudoers:
manage_main_config: false
included_files:
/etc/sudoers.d/extra-file1:
users:
foo:
- 'ALL=(ALL) ALL'
/etc/sudoers.d/extra-file2:
groups:
bargroup:
- 'ALL=(ALL) NOPASSWD: ALL'
/etc/sudoers.d/extra-file3:
netgroups:
other_netgroup:
- 'ALL=(ALL) ALL'
append_included_files_to_endof_main_config: true