1
0
Fork 0

Compare commits

...

189 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
semantic-release-bot 63e82c4c47 chore(release): 0.23.1 [skip ci]
## [0.23.1](https://github.com/saltstack-formulas/sudoers-formula/compare/v0.23.0...v0.23.1) (2020-12-22)

### Continuous Integration

* **commitlint:** ensure `upstream/master` uses main repo URL [skip ci] ([c2182ef](c2182efdfa))
* **gitlab-ci:** add `rubocop` linter (with `allow_failure`) [skip ci] ([3f34c0a](3f34c0a6b0))

### Tests

* **_mapdata:** fix existing verification files ([b7aa04d](b7aa04db28))
* **map:** standardise `map.jinja` verification ([ac8921f](ac8921f11a))
2020-12-22 12:46:03 +00:00
Imran Iqbal 4933e91cf7
Merge pull request #69 from myii/test/compare-mapdata-using-yaml
test(map): standardise `map.jinja` verification
2020-12-22 12:35:55 +00:00
Imran Iqbal b7aa04db28
test(_mapdata): fix existing verification files 2020-12-22 00:46:01 +00:00
Imran Iqbal ac8921f11a
test(map): standardise `map.jinja` verification
* Automated using https://github.com/myii/ssf-formula/pull/281
2020-12-22 00:43:11 +00:00
Imran Iqbal c2182efdfa
ci(commitlint): ensure `upstream/master` uses main repo URL [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/278
2020-12-20 18:50:14 +00:00
Imran Iqbal 3f34c0a6b0
ci(gitlab-ci): add `rubocop` linter (with `allow_failure`) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/277
2020-12-19 14:35:50 +00:00
semantic-release-bot 004e70f74f chore(release): 0.23.0 [skip ci]
# [0.23.0](https://github.com/saltstack-formulas/sudoers-formula/compare/v0.22.2...v0.23.0) (2020-12-16)

### Bug Fixes

* permissions on sudoers include dir were wrong ([c6a3a60](c6a3a6040f))

### Code Refactoring

* change pillar calls ([d5002c3](d5002c3c25))
* convert map.jinja to new standards ([ee173b0](ee173b0041))

### Continuous Integration

* **gitlab-ci:** use GitLab CI as Travis CI replacement ([cdf0d44](cdf0d44053))
* **pre-commit:** add to formula [skip ci] ([cfcece9](cfcece9e1f))
* **pre-commit:** enable/disable `rstcheck` as relevant [skip ci] ([df72fba](df72fbadf8))
* **pre-commit:** finalise `rstcheck` configuration [skip ci] ([0202050](02020503ea))

### Features

* implement option to purge included files directory ([c5acbc6](c5acbc696a))

### Styles

* fix rubocop ([d67a062](d67a06254a))

### Tests

* fix mapdata files ([7400528](7400528fd2))
2020-12-16 06:57:37 +00:00
Imran Iqbal cdf0d44053
ci(gitlab-ci): use GitLab CI as Travis CI replacement
* Automated using https://github.com/myii/ssf-formula/pull/275
2020-12-16 06:40:57 +00:00
Éric Veiras Galisson 9c7ef4068c
Merge pull request #70 from kmosher/master
fix: permissions on sudoers include dir were wrong
2020-11-26 14:37:48 +01:00
Keith Mosher c6a3a6040f fix: permissions on sudoers include dir were wrong 2020-11-24 21:35:09 -06:00
Imran Iqbal a56d54ee1d
Merge pull request #66 from daks/purge-included-dir
New feature to purge included dir
2020-11-24 21:19:40 +00:00
Eric Veiras Galisson 7400528fd2 test: fix mapdata files 2020-11-24 21:54:25 +01:00
Eric Veiras Galisson d67a06254a style: fix rubocop 2020-11-24 21:51:05 +01:00
Eric Veiras Galisson c5acbc696a feat: implement option to purge included files directory 2020-11-24 18:11:36 +01:00
Imran Iqbal 153ac6ea48
chore(gemfile+lock): update to latest gem versions (2020-W44) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/274
2020-10-26 22:54:25 +00:00
Imran Iqbal 9af3787e9f
chore(gemfile+lock): update to latest gem versions (2020-W43) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/273
2020-10-20 10:22:20 +01:00
Imran Iqbal 02020503ea
ci(pre-commit): finalise `rstcheck` configuration [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/267
2020-10-10 06:52:24 +01:00
Dafydd Jones f53639a487
chore(commitlint): add `{body,footer,header}-max(-line)-length` [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/265
2020-10-07 09:10:28 +01:00
Imran Iqbal 95e7e81182
chore(gemfile+lock): update to latest gem versions (2020-W41) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/263
2020-10-07 00:08:40 +01:00
Imran Iqbal df72fbadf8
ci(pre-commit): enable/disable `rstcheck` as relevant [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/262
2020-10-05 00:24:57 +01:00
Dafydd Jones cfcece9e1f
ci(pre-commit): add to formula [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/259
2020-10-03 10:53:53 +01:00
Imran Iqbal 6e0dc536f5
Merge pull request #65 from daks/map.jinja
Map.jinja refactoring
2020-08-26 19:22:57 +01:00
Eric Veiras Galisson d5002c3c25 refactor: change pillar calls 2020-08-26 17:47:30 +02:00
Eric Veiras Galisson ee173b0041 refactor: convert map.jinja to new standards 2020-08-26 16:58:42 +02:00
semantic-release-bot 0183aed04b chore(release): 0.22.2 [skip ci]
## [0.22.2](https://github.com/saltstack-formulas/sudoers-formula/compare/v0.22.1...v0.22.2) (2020-08-26)

### Bug Fixes

* **release.config.js:** use full commit hash in commit link [skip ci] ([551f300](551f300b4b))

### Continuous Integration

* **gemfile:** restrict `train` gem version until upstream fix [skip ci] ([b9dd8b1](b9dd8b1c0f))
* **gemfile.lock:** add to repo with updated `Gemfile` [skip ci] ([54e19fd](54e19fdd98))
* **kitchen:** avoid using bootstrap for `master` instances [skip ci] ([567ff29](567ff29b98))
* **kitchen:** use `debian-10-master-py3` instead of `develop` [skip ci] ([b8d5c0b](b8d5c0bfa1))
* **kitchen:** use `develop` image until `master` is ready (`amazonlinux`) [skip ci] ([9f217a2](9f217a2675))
* **kitchen:** use `saltimages` Docker Hub where available [skip ci] ([242f719](242f71956d))
* **kitchen+travis:** remove `master-py2-arch-base-latest` [skip ci] ([a2729d0](a2729d05eb))
* **kitchen+travis:** upgrade matrix after `2019.2.2` release [skip ci] ([e32be01](e32be015d6))
* **kitchen+travis:** use latest pre-salted images ([cd29502](cd2950289e))
* **travis:** add notifications => zulip [skip ci] ([7b5f0e9](7b5f0e95bf))
* **travis:** apply changes from build config validation [skip ci] ([08ca2a6](08ca2a6ebb))
* **travis:** merge `rubocop` linter into main `lint` job ([371bed2](371bed2d7a))
* **travis:** opt-in to `dpl v2` to complete build config validation [skip ci] ([43cf4c6](43cf4c6b45))
* **travis:** quote pathspecs used with `git ls-files` [skip ci] ([438ba3e](438ba3e5d4))
* **travis:** run `shellcheck` during lint job [skip ci] ([f87c4ba](f87c4baa30))
* **travis:** update `salt-lint` config for `v0.0.10` [skip ci] ([2fe682e](2fe682effc))
* **travis:** use `major.minor` for `semantic-release` version [skip ci] ([1fc0e95](1fc0e95f6a))
* **travis:** use build config validation (beta) [skip ci] ([5a6ed53](5a6ed537d6))
* **workflows/commitlint:** add to repo [skip ci] ([32ae435](32ae435463))

### Documentation

* **contributing:** remove to use org-level file instead [skip ci] ([67880a5](67880a513e))
* **readme:** update link to `CONTRIBUTING` [skip ci] ([9a36e1a](9a36e1a933))

### Performance Improvements

* **travis:** improve `salt-lint` invocation [skip ci] ([8314aa0](8314aa0df1))

### Tests

* **map:** verify `map.jinja` dump using `_mapdata` state ([63865a2](63865a286e))
2020-08-26 14:53:55 +00:00
Imran Iqbal 997a7324b7
Merge pull request #68 from myii/test/verify_map.jinja_dump
test(map): verify `map.jinja` dump using `_mapdata` state
2020-08-26 15:44:49 +01:00
Imran Iqbal 63865a286e
test(map): verify `map.jinja` dump using `_mapdata` state
* Semi-automated using https://github.com/myii/ssf-formula/pull/245
2020-08-25 16:06:48 +01:00
Imran Iqbal cd2950289e
ci(kitchen+travis): use latest pre-salted images
* Automated using https://github.com/myii/ssf-formula/pull/245
2020-08-25 16:06:47 +01:00
Imran Iqbal 1b951eb671 chore(gemfile.lock): update to latest gem versions (2020-W27) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/235
2020-07-06 14:31:38 +01:00
Imran Iqbal ebf60891d5 chore(gemfile.lock): update to latest gem versions (2020-W26) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/233
2020-06-26 12:47:47 +01:00
Imran Iqbal 6d1291c4b6 chore(gemfile.lock): update to latest gem versions (2020-W25) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/229
2020-06-21 13:00:12 +01:00
Imran Iqbal 242f71956d ci(kitchen): use `saltimages` Docker Hub where available [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/223
2020-06-15 17:00:53 +01:00
Imran Iqbal accd1c51b1 chore(gemfile.lock): update to latest gem versions [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/222
2020-06-15 15:11:26 +01:00
Imran Iqbal 9b3ee5944c chore(gemfile.lock): update to latest gem versions [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/221
2020-06-05 22:20:45 +01:00
Imran Iqbal 5182e985f6 chore(gemfile.lock): update to latest gem versions [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/202
2020-05-28 00:22:13 +01:00
Imran Iqbal 7b5f0e95bf ci(travis): add notifications => zulip [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/191
2020-05-21 20:10:44 +01:00
Imran Iqbal d2b50d9068 chore(codeowners): update `semantic-release` related files [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/174
2020-05-04 23:18:19 +01:00
Imran Iqbal 6470a2b1ed chore(codeowners): add to repo [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/173
2020-05-04 22:46:48 +01:00
Imran Iqbal 32ae435463 ci(workflows/commitlint): add to repo [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/172
2020-05-04 09:32:25 +01:00
Imran Iqbal a2729d05eb ci(kitchen+travis): remove `master-py2-arch-base-latest` [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/167
2020-05-02 04:30:46 +01:00
Imran Iqbal 54e19fdd98 ci(gemfile.lock): add to repo with updated `Gemfile` [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/163
2020-04-21 22:10:46 +01:00
Imran Iqbal f83ec0a639 chore(rubocop): use org-wide standard settings for `Metrics/BlockLength` [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/158
2020-04-18 13:46:48 +01:00
Imran Iqbal b8a8f6f45c chore(gitignore): update from the `template-formula` [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/132
2020-02-14 22:32:00 +00:00
Imran Iqbal e0c2356899 chore(rubocop): move `LineLength` cop from `Metrics` to `Layout` [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/129
2020-02-14 12:53:27 +00:00
Imran Iqbal 567ff29b98 ci(kitchen): avoid using bootstrap for `master` instances [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/124
2020-02-05 14:08:47 +00:00
Imran Iqbal 1fc0e95f6a ci(travis): use `major.minor` for `semantic-release` version [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/112
2019-12-22 01:02:40 +00:00
Imran Iqbal b9dd8b1c0f ci(gemfile): restrict `train` gem version until upstream fix [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/110
2019-12-16 13:45:42 +00:00
Imran Iqbal 438ba3e5d4 ci(travis): quote pathspecs used with `git ls-files` [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/107
2019-11-27 21:58:45 +00:00
Imran Iqbal f87c4baa30 ci(travis): run `shellcheck` during lint job [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/106
2019-11-27 20:59:12 +00:00
Imran Iqbal 43cf4c6b45 ci(travis): opt-in to `dpl v2` to complete build config validation [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/100
2019-11-20 16:34:42 +00:00
Imran Iqbal 08ca2a6ebb ci(travis): apply changes from build config validation [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/98
2019-11-16 20:07:46 +00:00
Imran Iqbal 5a6ed537d6 ci(travis): use build config validation (beta) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/97
2019-11-13 16:50:03 +00:00
Imran Iqbal 9f217a2675 ci(kitchen): use `develop` image until `master` is ready (`amazonlinux`) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/93
2019-11-03 11:38:32 +00:00
Imran Iqbal 8314aa0df1 perf(travis): improve `salt-lint` invocation [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/90
2019-11-02 08:40:35 +00:00
Imran Iqbal 551f300b4b fix(release.config.js): use full commit hash in commit link [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/89
2019-10-31 10:32:31 +00:00
Imran Iqbal e32be015d6 ci(kitchen+travis): upgrade matrix after `2019.2.2` release [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/86
2019-10-30 04:49:44 +00:00
Imran Iqbal b8d5c0bfa1 ci(kitchen): use `debian-10-master-py3` instead of `develop` [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/84
2019-10-24 18:12:43 +01:00
Imran Iqbal 2fe682effc ci(travis): update `salt-lint` config for `v0.0.10` [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/82
2019-10-23 17:35:46 +01:00
Imran Iqbal 67880a513e docs(contributing): remove to use org-level file instead [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/70
2019-10-14 12:30:39 +01:00
Imran Iqbal 9a36e1a933
docs(readme): update link to `CONTRIBUTING` [skip ci] 2019-10-14 11:38:42 +01:00
semantic-release-bot f94d7774db chore(release): 0.22.1 [skip ci]
## [0.22.1](https://github.com/saltstack-formulas/sudoers-formula/compare/v0.22.0...v0.22.1) (2019-10-11)

### Bug Fixes

* **rubocop:** add fixes using `rubocop --safe-auto-correct` ([](https://github.com/saltstack-formulas/sudoers-formula/commit/652c350))
* **rubocop:** fix remaining errors manually ([](https://github.com/saltstack-formulas/sudoers-formula/commit/a10ea35))

### Continuous Integration

* **kitchen:** change `log_level` to `debug` instead of `info` ([](https://github.com/saltstack-formulas/sudoers-formula/commit/2821526))
* **kitchen:** install required packages to bootstrapped `opensuse` [skip ci] ([](https://github.com/saltstack-formulas/sudoers-formula/commit/9719ac9))
* **kitchen:** use bootstrapped `opensuse` images until `2019.2.2` [skip ci] ([](https://github.com/saltstack-formulas/sudoers-formula/commit/e63f441))
* **kitchen+travis:** replace EOL pre-salted images ([](https://github.com/saltstack-formulas/sudoers-formula/commit/dea2da0))
* **platform:** add `arch-base-latest` ([](https://github.com/saltstack-formulas/sudoers-formula/commit/55ce214))
* merge travis matrix, add `salt-lint` & `rubocop` to `lint` job ([](https://github.com/saltstack-formulas/sudoers-formula/commit/f3a98c2))
* merge travis matrix, add `salt-lint` & `rubocop` to `lint` job ([](https://github.com/saltstack-formulas/sudoers-formula/commit/96dcd0f))
* use `dist: bionic` & apply `opensuse-leap-15` SCP error workaround ([](https://github.com/saltstack-formulas/sudoers-formula/commit/7b44df2))
* **travis:** merge `rubocop` linter into main `lint` job ([](https://github.com/saltstack-formulas/sudoers-formula/commit/9df9a48))
* **yamllint:** add rule `empty-values` & use new `yaml-files` setting ([](https://github.com/saltstack-formulas/sudoers-formula/commit/5e22568))
2019-10-11 21:36:48 +00:00
Imran Iqbal 7a8851ea47
Merge pull request #63 from myii/ci/merge-rubocop-linter
ci(travis): merge `rubocop` linter into main `lint` job
2019-10-11 22:11:49 +01:00
Imran Iqbal 9df9a48754
ci(travis): merge `rubocop` linter into main `lint` job
* Semi-automated using https://github.com/myii/ssf-formula/pull/65
2019-10-11 21:40:01 +01:00
Imran Iqbal 371bed2d7a ci(travis): merge `rubocop` linter into main `lint` job
* Semi-automated using https://github.com/myii/ssf-formula/pull/65
2019-10-11 21:38:29 +01:00
Imran Iqbal a10ea35efa
fix(rubocop): fix remaining errors manually 2019-10-11 21:33:11 +01:00
Imran Iqbal 652c350785
fix(rubocop): add fixes using `rubocop --safe-auto-correct` 2019-10-11 21:31:38 +01:00
Imran Iqbal 8c14b06140 chore(issues): remove issues templates to use org-level templates [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/61
2019-10-10 15:28:17 +01:00
Éric Veiras Galisson 2c5f1aba31
Merge pull request #62 from myii/ci/merge-matrix-and-add-salt-lint-and-rubocop
ci: merge travis matrix, add `salt-lint` & `rubocop` to `lint` job
2019-10-09 11:39:05 +02:00
Imran Iqbal f3a98c25e8 ci: merge travis matrix, add `salt-lint` & `rubocop` to `lint` job
* Automated using https://github.com/myii/ssf-formula/pull/60
2019-10-09 03:08:31 +01:00
Imran Iqbal 96dcd0f17b ci: merge travis matrix, add `salt-lint` & `rubocop` to `lint` job
* Automated using https://github.com/myii/ssf-formula/pull/60
2019-10-08 16:38:25 +01:00
Imran Iqbal 00709c7df7 chore(yamllint): update ignored paths and add `octal-values` [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/59
2019-10-07 19:34:09 +01:00
Imran Iqbal 73aee751a1 chore(issues): update `Bug report` & `Feature request` templates [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/58
2019-10-07 15:28:26 +01:00
Imran Iqbal 9719ac9e3c ci(kitchen): install required packages to bootstrapped `opensuse` [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/53
2019-10-02 00:09:27 +01:00
Imran Iqbal e63f441cdb ci(kitchen): use bootstrapped `opensuse` images until `2019.2.2` [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/52
2019-10-01 21:36:15 +01:00
Imran Iqbal 2bb8977195 chore(issues): provide `Bug report` & `Feature request` templates [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/48
2019-09-30 16:01:13 +01:00
Niels Abspoel a86d6d29c3
Merge pull request #61 from myii/chore/standardise-structure
ci(platform): add `arch-base-latest`
2019-09-25 19:57:31 +02:00
Imran Iqbal 28215266bc ci(kitchen): change `log_level` to `debug` instead of `info`
* Automated using https://github.com/myii/ssf-formula/pull/41
2019-09-23 17:02:11 +01:00
Imran Iqbal 55ce2146a0 ci(platform): add `arch-base-latest`
* Automated using https://github.com/myii/ssf-formula/pull/40
2019-09-22 22:40:35 +01:00
Niels Abspoel 07bd524b95
Merge pull request #60 from myii/chore/standardise-structure
ci(yamllint): add rule `empty-values` & use new `yaml-files` setting
2019-09-12 18:10:33 +02:00
Imran Iqbal 5e22568471 ci(yamllint): add rule `empty-values` & use new `yaml-files` setting
* Automated using https://github.com/myii/ssf-formula/pull/27
2019-09-10 05:56:12 +01:00
Niels Abspoel 04839673ad
Merge pull request #59 from myii/chore/standardise-structure
ci: use `dist: bionic` & apply `opensuse-leap-15` SCP error workaround
2019-09-08 21:43:25 +02:00
Imran Iqbal 7b44df2ef9 ci: use `dist: bionic` & apply `opensuse-leap-15` SCP error workaround
* Automated using https://github.com/myii/ssf-formula/pull/22
2019-09-07 03:40:09 +01:00
Niels Abspoel 00159bbf3f
Merge pull request #58 from myii/chore/standardise-structure
ci(kitchen+travis): replace EOL pre-salted images
2019-09-01 11:42:42 +02:00
Imran Iqbal dea2da0038 ci(kitchen+travis): replace EOL pre-salted images
* Automated using https://github.com/myii/ssf-formula/pull/16
2019-08-28 07:40:44 +01: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
107 changed files with 5659 additions and 462 deletions

16
.github/workflows/commitlint.yml vendored Normal file
View File

@ -0,0 +1,16 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
name: Commitlint
'on': [pull_request]
jobs:
lint:
runs-on: ubuntu-latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: wagoid/commitlint-github-action@v1

14
.gitignore vendored
View File

@ -91,6 +91,9 @@ celerybeat-schedule
venv/
ENV/
# visual studio
.vs/
# Spyder project settings
.spyderproject
.spyproject
@ -105,7 +108,7 @@ ENV/
.mypy_cache/
# Bundler
Gemfile.lock
.bundle/
# copied `.md` files used for conversion to `.rst` using `m2r`
docs/*.md
@ -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

252
.gitlab-ci.yml Normal file
View File

@ -0,0 +1,252 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
###############################################################################
# Define all YAML node anchors
###############################################################################
.node_anchors:
# `only` (also used for `except` where applicable)
only_branch_master_parent_repo: &only_branch_master_parent_repo
- 'master@saltstack-formulas/sudoers-formula'
# `stage`
stage_lint: &stage_lint 'lint'
stage_release: &stage_release 'release'
stage_test: &stage_test 'test'
# `image`
image_commitlint: &image_commitlint 'myii/ssf-commitlint:11'
image_dindruby: &image_dindruby 'myii/ssf-dind-ruby:2.7.1-r3'
image_precommit: &image_precommit
name: 'myii/ssf-pre-commit:2.9.2'
entrypoint: ['/bin/bash', '-c']
image_rubocop: &image_rubocop 'pipelinecomponents/rubocop:latest'
image_semantic-release: &image_semanticrelease 'myii/ssf-semantic-release:15.14'
# `services`
services_docker_dind: &services_docker_dind
- 'docker:dind'
# `variables`
# https://forum.gitlab.com/t/gitlab-com-ci-caching-rubygems/5627/3
# https://bundler.io/v1.16/bundle_config.html
variables_bundler: &variables_bundler
BUNDLE_CACHE_PATH: '${CI_PROJECT_DIR}/.cache/bundler'
BUNDLE_WITHOUT: 'production'
# `cache`
cache_bundler: &cache_bundler
key: '${CI_JOB_STAGE}'
paths:
- '${BUNDLE_CACHE_PATH}'
###############################################################################
# Define stages and global variables
###############################################################################
stages:
- *stage_lint
- *stage_test
- *stage_release
variables:
DOCKER_DRIVER: 'overlay2'
###############################################################################
# `lint` stage: `commitlint`, `pre-commit` & `rubocop` (latest, failure allowed)
###############################################################################
commitlint:
stage: *stage_lint
image: *image_commitlint
script:
# Add `upstream` remote to get access to `upstream/master`
- 'git remote add upstream
https://gitlab.com/saltstack-formulas/sudoers-formula.git'
- 'git fetch --all'
# Set default commit hashes for `--from` and `--to`
- 'export COMMITLINT_FROM="$(git merge-base upstream/master HEAD)"'
- 'export COMMITLINT_TO="${CI_COMMIT_SHA}"'
# `coqbot` adds a merge commit to test PRs on top of the latest commit in
# the repo; amend this merge commit message to avoid failure
- |
if [ "${GITLAB_USER_LOGIN}" = "coqbot" ] \
&& [ "${CI_COMMIT_BRANCH}" != "master" ]; then
git commit --amend -m \
'chore: reword coqbot merge commit message for commitlint'
export COMMITLINT_TO=HEAD
fi
# Run `commitlint`
- 'commitlint --from "${COMMITLINT_FROM}"
--to "${COMMITLINT_TO}"
--verbose'
pre-commit:
stage: *stage_lint
image: *image_precommit
# https://pre-commit.com/#gitlab-ci-example
variables:
PRE_COMMIT_HOME: '${CI_PROJECT_DIR}/.cache/pre-commit'
cache:
key: '${CI_JOB_NAME}'
paths:
- '${PRE_COMMIT_HOME}'
script:
- 'pre-commit run --all-files --color always --verbose'
# Use a separate job for `rubocop` other than the one potentially run by `pre-commit`
# - The `pre-commit` check will only be available for formulas that pass the default
# `rubocop` check -- and must continue to do so
# - This job is allowed to fail, so can be used for all formulas
# - Furthermore, this job uses all of the latest `rubocop` features & cops,
# which will help when upgrading the `rubocop` linter used in `pre-commit`
rubocop:
allow_failure: true
stage: *stage_lint
image: *image_rubocop
script:
- 'rubocop -d -P -S --enable-pending-cops'
###############################################################################
# Define `test` template
###############################################################################
.test_instance: &test_instance
stage: *stage_test
image: *image_dindruby
services: *services_docker_dind
variables: *variables_bundler
cache: *cache_bundler
before_script:
# TODO: This should work from the env vars above automatically
- 'bundle config set path "${BUNDLE_CACHE_PATH}"'
- 'bundle config set without "${BUNDLE_WITHOUT}"'
- 'bundle install'
script:
# 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`
# 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'}
# 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`
###############################################################################
semantic-release:
only: *only_branch_master_parent_repo
stage: *stage_release
image: *image_semanticrelease
variables:
MAINTAINER_TOKEN: '${GH_TOKEN}'
script:
# Update `AUTHORS.md`
- '${HOME}/go/bin/maintainer contributor'
# Run `semantic-release`
- 'semantic-release'

77
.pre-commit-config.yaml Normal file
View File

@ -0,0 +1,77 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
# 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
rev: v2.3.0
hooks:
- id: commitlint
name: Check commit message using commitlint
description: Lint commit message against @commitlint/config-conventional rules
stages: [commit-msg]
additional_dependencies: ['@commitlint/config-conventional@8.3.4']
- id: commitlint-travis
stages: [manual]
additional_dependencies: ['@commitlint/config-conventional@8.3.4']
always_run: true
- 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/shellcheck-py/shellcheck-py
rev: v0.8.0.4
hooks:
- id: shellcheck
name: Check shell scripts with shellcheck
files: ^.*\.(sh|bash|ksh)$
types: []
- repo: https://github.com/adrienverge/yamllint
rev: v1.26.3
hooks:
- id: yamllint
name: Check YAML syntax with yamllint
args: [--strict, '.']
always_run: true
pass_filenames: false
- repo: https://github.com/warpnet/salt-lint
rev: v0.8.0
hooks:
- id: salt-lint
name: Check Salt files using salt-lint
files: ^.*\.(sls|jinja|j2|tmpl|tst)$
- repo: https://github.com/myint/rstcheck
rev: 3f929574
hooks:
- id: rstcheck
name: Check reST files using rstcheck
exclude: 'docs/CHANGELOG.rst'
- 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]

4
.rstcheck.cfg Normal file
View File

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

23
.rubocop.yml Normal file
View File

@ -0,0 +1,23 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
# General overrides used across formulas in the org
Layout/LineLength:
# Increase from default of `80`
# Based on https://github.com/PyCQA/flake8-bugbear#opinionated-warnings (`B950`)
Max: 88
Metrics/BlockLength:
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`

14
.salt-lint Normal file
View File

@ -0,0 +1,14 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
exclude_paths: []
rules: {}
skip_list:
# Using `salt-lint` for linting other files as well, such as Jinja macros/templates
- 205 # Use ".sls" as a Salt State file extension
# Skipping `207` and `208` because `210` is sufficient, at least for the time-being
# I.e. Allows 3-digit unquoted codes to still be used, such as `644` and `755`
- 207 # File modes should always be encapsulated in quotation marks
- 208 # File modes should always contain a leading zero
tags: []
verbosity: 1

View File

@ -1,69 +1,199 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
stages:
- test
- lint
- name: release
if: branch = master AND type != pull_request
################################################################################
# NOTE: This file is UNMAINTAINED; it is provided for references purposes only.
# No guarantees are tendered that this structure will work after 2020.
################################################################################
# * https://en.wikipedia.org/wiki/Travis_CI:
# - "... free open-source plans were removed in [sic] the end of 2020"
# - https://blog.travis-ci.com/2020-11-02-travis-ci-new-billing
# - https://ropensci.org/technotes/2020/11/19/moving-away-travis/
################################################################################
## Machine config
os: 'linux'
arch: 'amd64'
dist: 'bionic'
version: '~> 1.0'
sudo: required
cache: bundler
language: ruby
dist: xenial
## Language and cache config
language: 'ruby'
cache: 'bundler'
## Services config
services:
- docker
# Make sure the instances listed below match up with
# the `platforms` defined in `kitchen.yml`
env:
matrix:
- INSTANCE: default-debian-9-develop-py3
# - INSTANCE: default-ubuntu-1804-develop-py3
# - INSTANCE: default-centos-7-develop-py3
# - INSTANCE: default-fedora-29-develop-py3
# - INSTANCE: default-opensuse-leap-15-develop-py3
# - INSTANCE: default-debian-9-2019-2-py3
- INSTANCE: default-ubuntu-1804-2019-2-py3
- INSTANCE: default-centos-7-2019-2-py3
# - INSTANCE: default-fedora-29-2019-2-py3
# - INSTANCE: default-opensuse-leap-15-2019-2-py3
# - INSTANCE: default-debian-9-2018-3-py2
# - INSTANCE: default-ubuntu-1604-2018-3-py2
# - INSTANCE: default-centos-7-2018-3-py2
- INSTANCE: default-fedora-29-2018-3-py2
- INSTANCE: default-opensuse-leap-42-2018-3-py2
# - INSTANCE: default-debian-8-2017-7-py2
# - INSTANCE: default-ubuntu-1604-2017-7-py2
- INSTANCE: default-centos-6-2017-7-py2
# - INSTANCE: default-fedora-28-2017-7-py2
# - INSTANCE: default-opensuse-leap-42-2017-7-py2
## Script to run for the test stage
script:
- bin/kitchen verify ${INSTANCE}
- bin/kitchen verify "${INSTANCE}"
## Stages and jobs matrix
stages:
- test
# # As part of the switch away from Travis CI, ensure that the `release` stage
# # is not run inadvertently
# - name: 'release'
# if: 'branch = master AND type != pull_request'
jobs:
include:
# Define the `lint` stage (runs `yamllint` and `commitlint`)
- stage: lint
language: node_js
node_js: lts/*
before_install: skip
## Define the test stage that runs the linters (and testing matrix, if applicable)
# Run all of the linters in a single job
- language: 'node_js'
node_js: 'lts/*'
env: 'Lint'
name: 'Lint: salt-lint, yamllint, rubocop, shellcheck & commitlint'
before_install: 'skip'
script:
# Install and run `salt-lint`
- pip install --user salt-lint
- git ls-files -- '*.sls' '*.jinja' '*.j2' '*.tmpl' '*.tst'
| xargs salt-lint
# Install and run `yamllint`
- pip install --user yamllint
# yamllint disable-line rule:line-length
- yamllint -s . .yamllint pillar.example test/salt/pillar/kitchen.sls test/salt/pillar/default.sls
# Need at least `v1.17.0` for the `yaml-files` setting
- pip install --user yamllint>=1.17.0
- yamllint -s .
# Install and run `rubocop`
- gem install rubocop
- rubocop -d
# Run `shellcheck` (already pre-installed in Travis)
- shellcheck --version
- git ls-files -- '*.sh' '*.bash' '*.ksh'
| xargs shellcheck
# Install and run `commitlint`
- npm install @commitlint/config-conventional -D
- npm install @commitlint/travis-cli -D
- npm i -D @commitlint/config-conventional
@commitlint/travis-cli
- commitlint-travis
# Define the release stage that runs `semantic-release`
- stage: release
language: node_js
node_js: lts/*
before_install: skip
# Run `pre-commit` linters in a single job
- language: 'python'
env: 'Lint_pre-commit'
name: 'Lint: pre-commit'
before_install: 'skip'
cache:
directories:
- $HOME/.cache/pre-commit
script:
# Install and run `pre-commit`
- pip install pre-commit==2.7.1
- pre-commit run --all-files --color always --verbose
- pre-commit run --color always --hook-stage manual --verbose commitlint-travis
## 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-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=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'
language: 'node_js'
node_js: 'lts/*'
env: 'Release'
name: 'Run semantic-release inc. file updates to AUTHORS, CHANGELOG & FORMULA'
before_install: 'skip'
script:
# Update `AUTHORS.md`
- export MAINTAINER_TOKEN=${GH_TOKEN}
@ -71,12 +201,26 @@ jobs:
- maintainer contributor
# Install all dependencies required for `semantic-release`
- npm install @semantic-release/changelog@3 -D
- npm install @semantic-release/exec@3 -D
- npm install @semantic-release/git@7 -D
- npm i -D @semantic-release/changelog@3
@semantic-release/exec@3
@semantic-release/git@7
deploy:
provider: script
skip_cleanup: true
script:
# Run `semantic-release`
- npx semantic-release@15
provider: 'script'
# Opt-in to `dpl v2` to complete the Travis build config validation (beta)
# * https://docs.travis-ci.com/user/build-config-validation
# Deprecated `skip_cleanup` can now be avoided, `cleanup: false` is by default
edge: true
# Run `semantic-release`
script: 'npx semantic-release@15.14'
# Notification options: `always`, `never` or `change`
notifications:
webhooks:
if: 'repo = saltstack-formulas/sudoers-formula'
urls:
- https://saltstack-formulas.zulipchat.com/api/v1/external/travis?api_key=HsIq3o5QmLxdnVCKF9is0FUIpkpAY79P&stream=CI&topic=saltstack-formulas%2Fsudoers-formula&ignore_pull_requests=true
on_success: always # default: always
on_failure: always # default: always
on_start: always # default: never
on_cancel: always # default: always
on_error: always # default: always

View File

@ -2,15 +2,43 @@
# 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
# 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
- '*.yaml'
- '*.yml'
- .salt-lint
- .yamllint
# SaltStack Formulas additional settings
- '*.example'
- test/**/*.sls
rules:
empty-values:
forbid-in-block-mappings: true
forbid-in-flow-mappings: true
line-length:
# Increase from default of `80`
# Based on https://github.com/PyCQA/flake8-bugbear#opinionated-warnings (`B950`)
max: 88
octal-values:
forbid-implicit-octal: true
forbid-explicit-octal: true

View File

@ -4,34 +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://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)|10
<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)|9
<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://avatars3.githubusercontent.com/u/52996?v=4' width='36' height='36' alt='@daks'>|[@daks](https://github.com/daks)|3
<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://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/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://avatars3.githubusercontent.com/u/862590?v=4' width='36' height='36' alt='@ravenac95'>|[@ravenac95](https://github.com/ravenac95)|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 2019-08-17.
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,207 @@
# 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)
### Continuous Integration
* **commitlint:** ensure `upstream/master` uses main repo URL [skip ci] ([c2182ef](https://github.com/saltstack-formulas/sudoers-formula/commit/c2182efdfac6a15dd8c9a9465cc35905b7a0421b))
* **gitlab-ci:** add `rubocop` linter (with `allow_failure`) [skip ci] ([3f34c0a](https://github.com/saltstack-formulas/sudoers-formula/commit/3f34c0a6b05dccebc44e71f6541574767fe1021b))
### Tests
* **_mapdata:** fix existing verification files ([b7aa04d](https://github.com/saltstack-formulas/sudoers-formula/commit/b7aa04db2828284013ea5ba85f388c67e11599ee))
* **map:** standardise `map.jinja` verification ([ac8921f](https://github.com/saltstack-formulas/sudoers-formula/commit/ac8921f11a75e0e3be558bb148e4348e21c26ed6))
# [0.23.0](https://github.com/saltstack-formulas/sudoers-formula/compare/v0.22.2...v0.23.0) (2020-12-16)
### Bug Fixes
* permissions on sudoers include dir were wrong ([c6a3a60](https://github.com/saltstack-formulas/sudoers-formula/commit/c6a3a6040f3994a45f2a5de7625e958da412603d))
### Code Refactoring
* change pillar calls ([d5002c3](https://github.com/saltstack-formulas/sudoers-formula/commit/d5002c3c250372acdb6295bd23e51053803f99ce))
* convert map.jinja to new standards ([ee173b0](https://github.com/saltstack-formulas/sudoers-formula/commit/ee173b0041d232bef04a2feafdb51b6f3af007d1))
### Continuous Integration
* **gitlab-ci:** use GitLab CI as Travis CI replacement ([cdf0d44](https://github.com/saltstack-formulas/sudoers-formula/commit/cdf0d44053985566bb9d06ee4925a2de70c022f1))
* **pre-commit:** add to formula [skip ci] ([cfcece9](https://github.com/saltstack-formulas/sudoers-formula/commit/cfcece9e1fc4e04c437b9130e0cbba2212e4d332))
* **pre-commit:** enable/disable `rstcheck` as relevant [skip ci] ([df72fba](https://github.com/saltstack-formulas/sudoers-formula/commit/df72fbadf85471b3620969c4b7ed935e25c32193))
* **pre-commit:** finalise `rstcheck` configuration [skip ci] ([0202050](https://github.com/saltstack-formulas/sudoers-formula/commit/02020503ea3199c83ceee54a142733438c17ce51))
### Features
* implement option to purge included files directory ([c5acbc6](https://github.com/saltstack-formulas/sudoers-formula/commit/c5acbc696ae230e673f64f57b815a08963e44a90))
### Styles
* fix rubocop ([d67a062](https://github.com/saltstack-formulas/sudoers-formula/commit/d67a06254a2966aae9c624bb05e122245cbbbe1f))
### Tests
* fix mapdata files ([7400528](https://github.com/saltstack-formulas/sudoers-formula/commit/7400528fd26c8b1b18fd3e910162b5060be955b0))
## [0.22.2](https://github.com/saltstack-formulas/sudoers-formula/compare/v0.22.1...v0.22.2) (2020-08-26)
### Bug Fixes
* **release.config.js:** use full commit hash in commit link [skip ci] ([551f300](https://github.com/saltstack-formulas/sudoers-formula/commit/551f300b4b340ef41ac1088164f05c15c6245a49))
### Continuous Integration
* **gemfile:** restrict `train` gem version until upstream fix [skip ci] ([b9dd8b1](https://github.com/saltstack-formulas/sudoers-formula/commit/b9dd8b1c0fb31a351bf7920a38d4b38ac6c7fd18))
* **gemfile.lock:** add to repo with updated `Gemfile` [skip ci] ([54e19fd](https://github.com/saltstack-formulas/sudoers-formula/commit/54e19fdd984879c129799cc496be7321fb52f7de))
* **kitchen:** avoid using bootstrap for `master` instances [skip ci] ([567ff29](https://github.com/saltstack-formulas/sudoers-formula/commit/567ff29b989cb94f07d061d6efbb9c352bc34a0b))
* **kitchen:** use `debian-10-master-py3` instead of `develop` [skip ci] ([b8d5c0b](https://github.com/saltstack-formulas/sudoers-formula/commit/b8d5c0bfa133213417273b64437ddcddf6d3491b))
* **kitchen:** use `develop` image until `master` is ready (`amazonlinux`) [skip ci] ([9f217a2](https://github.com/saltstack-formulas/sudoers-formula/commit/9f217a2675e459561666313c4a38f446accc2681))
* **kitchen:** use `saltimages` Docker Hub where available [skip ci] ([242f719](https://github.com/saltstack-formulas/sudoers-formula/commit/242f71956d2cad65900f3f76426e1698e2e0ac95))
* **kitchen+travis:** remove `master-py2-arch-base-latest` [skip ci] ([a2729d0](https://github.com/saltstack-formulas/sudoers-formula/commit/a2729d05eb1c4e016bf3e982bb2a90e1eac90601))
* **kitchen+travis:** upgrade matrix after `2019.2.2` release [skip ci] ([e32be01](https://github.com/saltstack-formulas/sudoers-formula/commit/e32be015d6b4f8df0a1862d56d25cde4af2597a0))
* **kitchen+travis:** use latest pre-salted images ([cd29502](https://github.com/saltstack-formulas/sudoers-formula/commit/cd2950289eda2eacde050b3edb52a9e917bf41a2))
* **travis:** add notifications => zulip [skip ci] ([7b5f0e9](https://github.com/saltstack-formulas/sudoers-formula/commit/7b5f0e95bf5eac49e4b97554731f7d226af24dcf))
* **travis:** apply changes from build config validation [skip ci] ([08ca2a6](https://github.com/saltstack-formulas/sudoers-formula/commit/08ca2a6ebb476a41fa2b0a25ecb2dcba2793303d))
* **travis:** merge `rubocop` linter into main `lint` job ([371bed2](https://github.com/saltstack-formulas/sudoers-formula/commit/371bed2d7a2a7174993e5eb6224f153fed56efcb))
* **travis:** opt-in to `dpl v2` to complete build config validation [skip ci] ([43cf4c6](https://github.com/saltstack-formulas/sudoers-formula/commit/43cf4c6b45fad30c9958e9e83ff708d822627ebb))
* **travis:** quote pathspecs used with `git ls-files` [skip ci] ([438ba3e](https://github.com/saltstack-formulas/sudoers-formula/commit/438ba3e5d4a1dce57ce5a94c9adb4a519187c83b))
* **travis:** run `shellcheck` during lint job [skip ci] ([f87c4ba](https://github.com/saltstack-formulas/sudoers-formula/commit/f87c4baa3041becb18ace7aa1e64595f51bb0f74))
* **travis:** update `salt-lint` config for `v0.0.10` [skip ci] ([2fe682e](https://github.com/saltstack-formulas/sudoers-formula/commit/2fe682effc8e129278da17a2bb3a9feb1f29fdd3))
* **travis:** use `major.minor` for `semantic-release` version [skip ci] ([1fc0e95](https://github.com/saltstack-formulas/sudoers-formula/commit/1fc0e95f6ac6674867777d99602d1120454f7887))
* **travis:** use build config validation (beta) [skip ci] ([5a6ed53](https://github.com/saltstack-formulas/sudoers-formula/commit/5a6ed537d6dc1c6d8c74f362375c36db7310b9cc))
* **workflows/commitlint:** add to repo [skip ci] ([32ae435](https://github.com/saltstack-formulas/sudoers-formula/commit/32ae43546395072a108e59b885d0db0bcecaf302))
### Documentation
* **contributing:** remove to use org-level file instead [skip ci] ([67880a5](https://github.com/saltstack-formulas/sudoers-formula/commit/67880a513e6da55c7beef8ce7b391c45953063f7))
* **readme:** update link to `CONTRIBUTING` [skip ci] ([9a36e1a](https://github.com/saltstack-formulas/sudoers-formula/commit/9a36e1a933d833ef16fc34eaceda8859866b2c8e))
### Performance Improvements
* **travis:** improve `salt-lint` invocation [skip ci] ([8314aa0](https://github.com/saltstack-formulas/sudoers-formula/commit/8314aa0df1bc510b3efbd1c8a07f361f3f94f1f3))
### Tests
* **map:** verify `map.jinja` dump using `_mapdata` state ([63865a2](https://github.com/saltstack-formulas/sudoers-formula/commit/63865a286ef37dec6cdc1b4e1b4ddaa36baca594))
## [0.22.1](https://github.com/saltstack-formulas/sudoers-formula/compare/v0.22.0...v0.22.1) (2019-10-11)
### Bug Fixes
* **rubocop:** add fixes using `rubocop --safe-auto-correct` ([](https://github.com/saltstack-formulas/sudoers-formula/commit/652c350))
* **rubocop:** fix remaining errors manually ([](https://github.com/saltstack-formulas/sudoers-formula/commit/a10ea35))
### Continuous Integration
* **kitchen:** change `log_level` to `debug` instead of `info` ([](https://github.com/saltstack-formulas/sudoers-formula/commit/2821526))
* **kitchen:** install required packages to bootstrapped `opensuse` [skip ci] ([](https://github.com/saltstack-formulas/sudoers-formula/commit/9719ac9))
* **kitchen:** use bootstrapped `opensuse` images until `2019.2.2` [skip ci] ([](https://github.com/saltstack-formulas/sudoers-formula/commit/e63f441))
* **kitchen+travis:** replace EOL pre-salted images ([](https://github.com/saltstack-formulas/sudoers-formula/commit/dea2da0))
* **platform:** add `arch-base-latest` ([](https://github.com/saltstack-formulas/sudoers-formula/commit/55ce214))
* merge travis matrix, add `salt-lint` & `rubocop` to `lint` job ([](https://github.com/saltstack-formulas/sudoers-formula/commit/f3a98c2))
* merge travis matrix, add `salt-lint` & `rubocop` to `lint` job ([](https://github.com/saltstack-formulas/sudoers-formula/commit/96dcd0f))
* use `dist: bionic` & apply `opensuse-leap-15` SCP error workaround ([](https://github.com/saltstack-formulas/sudoers-formula/commit/7b44df2))
* **travis:** merge `rubocop` linter into main `lint` job ([](https://github.com/saltstack-formulas/sudoers-formula/commit/9df9a48))
* **yamllint:** add rule `empty-values` & use new `yaml-files` setting ([](https://github.com/saltstack-formulas/sudoers-formula/commit/5e22568))
# [0.22.0](https://github.com/saltstack-formulas/sudoers-formula/compare/v0.21.1...v0.22.0) (2019-08-17)

54
CODEOWNERS Normal file
View File

@ -0,0 +1,54 @@
# https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners
# SECTION: Owner(s) for everything in the repo, unless a later match takes precedence
# **************************************************************************
# *** NO GLOBAL OWNER(S) SPECIFIED ***
# *** Ideally this will be defined for a healthy, well-maintained repo ***
# **************************************************************************
# FILE PATTERN OWNER(S)
* @NONE
# SECTION: Owner(s) for specific directories
# FILE PATTERN OWNER(S)
# SECTION: Owner(s) for files/directories related to `semantic-release`
# FILE PATTERN OWNER(S)
/.github/workflows/ @saltstack-formulas/ssf
/bin/install-hooks @saltstack-formulas/ssf
/bin/kitchen @saltstack-formulas/ssf
/docs/AUTHORS.rst @saltstack-formulas/ssf
/docs/CHANGELOG.rst @saltstack-formulas/ssf
/docs/TOFS_pattern.rst @saltstack-formulas/ssf
/*/_mapdata/ @saltstack-formulas/ssf
/*/libsaltcli.jinja @saltstack-formulas/ssf
/*/libtofs.jinja @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
/.pre-commit-config.yaml @saltstack-formulas/ssf
/.rstcheck.cfg @saltstack-formulas/ssf
/.rubocop.yml @saltstack-formulas/ssf
/.salt-lint @saltstack-formulas/ssf
/.travis.yml @saltstack-formulas/ssf
/.yamllint @saltstack-formulas/ssf
/AUTHORS.md @saltstack-formulas/ssf
/CHANGELOG.md @saltstack-formulas/ssf
/CODEOWNERS @saltstack-formulas/ssf
/commitlint.config.js @saltstack-formulas/ssf
/FORMULA @saltstack-formulas/ssf
/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
# SECTION: Owner(s) for specific files
# FILE PATTERN OWNER(S)

View File

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

21
Gemfile
View File

@ -1,6 +1,19 @@
source "https://rubygems.org"
# frozen_string_literal: true
gem 'kitchen-docker', '>= 2.9'
gem 'kitchen-salt', '>= 0.6.0'
gem 'kitchen-inspec', '>= 1.1'
source ENV.fetch('PROXY_RUBYGEMSORG', 'https://rubygems.org')
# 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'

675
Gemfile.lock Normal file
View File

@ -0,0 +1,675 @@
GIT
remote: https://gitlab.com/saltstack-formulas/infrastructure/inspec
revision: aaef842906a5666f0fc0b4f186b4dd3498f5b28c
branch: ssf
specs:
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 (7.0.3.1)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.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-amplify (1.32.0)
aws-sdk-core (~> 3, >= 3.120.0)
aws-sigv4 (~> 1.1)
aws-sdk-apigateway (1.78.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-apigatewayv2 (1.42.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-applicationautoscaling (1.51.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-athena (1.55.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-autoscaling (1.63.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-batch (1.47.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-budgets (1.50.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudformation (1.70.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudfront (1.65.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudhsm (1.39.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudhsmv2 (1.42.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudtrail (1.49.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudwatch (1.64.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudwatchevents (1.46.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.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.525.0)
aws-sigv4 (~> 1.1)
jmespath (~> 1, >= 1.6.1)
aws-sdk-costandusagereportservice (1.40.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-databasemigrationservice (1.53.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-dynamodb (1.75.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-ec2 (1.322.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-ecr (1.56.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-ecrpublic (1.12.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-ecs (1.100.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-efs (1.54.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-eks (1.75.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-elasticache (1.78.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-elasticbeanstalk (1.51.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-elasticloadbalancing (1.40.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-elasticloadbalancingv2 (1.78.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-elasticsearchservice (1.65.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-emr (1.53.0)
aws-sdk-core (~> 3, >= 3.121.2)
aws-sigv4 (~> 1.1)
aws-sdk-eventbridge (1.24.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-firehose (1.48.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-glue (1.88.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-guardduty (1.58.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-iam (1.69.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-kafka (1.50.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-kinesis (1.41.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-kms (1.57.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-lambda (1.84.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
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-secretsmanager (1.46.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-securityhub (1.67.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-servicecatalog (1.60.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-ses (1.41.0)
aws-sdk-core (~> 3, >= 3.120.0)
aws-sigv4 (~> 1.1)
aws-sdk-shield (1.48.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-signer (1.32.0)
aws-sdk-core (~> 3, >= 3.120.0)
aws-sigv4 (~> 1.1)
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.7)
ms_rest_azure (~> 0.12.0)
azure_mgmt_resources (0.18.2)
ms_rest_azure (~> 0.12.0)
azure_mgmt_security (0.19.0)
ms_rest_azure (~> 0.12.0)
azure_mgmt_storage (0.23.0)
ms_rest_azure (~> 0.12.0)
bcrypt_pbkdf (1.1.0)
bson (4.15.0)
builder (3.2.4)
chef-config (17.10.0)
addressable
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.1.1)
chef-config
concurrent-ruby (~> 1.0)
chef-utils (17.10.0)
concurrent-ruby
coderay (1.1.3)
concurrent-ruby (1.1.10)
cookstyle (7.32.1)
rubocop (= 1.25.1)
declarative (0.0.20)
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)
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-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.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.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.1)
ffi (>= 1.0.1)
gyoku (1.4.0)
builder (>= 2.1.2)
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.12.0)
concurrent-ruby (~> 1.0)
inifile (3.0.0)
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)
license-acceptance (2.1.13)
pastel (~> 0.7)
tomlrb (>= 1.2, < 3.0)
tty-box (~> 0.6)
tty-prompt (~> 0.20)
little-plugger (1.1.4)
logging (2.3.1)
little-plugger (~> 1.1)
multi_json (~> 1.14)
memoist (0.16.2)
method_source (1.0.0)
mini_mime (1.1.2)
minitest (5.16.2)
mixlib-config (3.0.27)
tomlrb
mixlib-install (3.12.19)
mixlib-shellout
mixlib-versioning
thor
mixlib-log (3.0.9)
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)
timeliness (~> 0.3.10)
ms_rest_azure (0.12.0)
concurrent-ruby (~> 1.0)
faraday (>= 0.9, < 2.0.0)
faraday-cookie_jar (~> 0.0.6)
ms_rest (~> 0.7.6)
multi_json (1.15.0)
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)
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)
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.7)
rainbow (3.1.1)
rake (13.0.6)
regexp_parser (2.5.0)
representable (3.2.0)
declarative (< 0.1.0)
trailblazer-option (>= 0.1.1, < 0.2.0)
uber (< 0.2.0)
retriable (3.1.2)
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.11.0)
rspec-its (1.3.0)
rspec-core (>= 3.0.0)
rspec-expectations (>= 3.0.0)
rspec-mocks (3.11.1)
diff-lcs (>= 1.2.0, < 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.1)
strings-ansi (~> 0.2)
unicode-display_width (>= 1.5, < 3.0)
unicode_utils (~> 1.4)
strings-ansi (0.2.0)
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)
mixlib-shellout (>= 1.2, < 4.0)
net-scp (>= 1.1, < 4.0)
net-ssh (>= 2.9, < 7.0)
net-ssh-gateway (>= 1.2, < 3.0)
thor (>= 0.19, < 2.0)
winrm (~> 2.0)
winrm-elevated (~> 1.0)
winrm-fs (~> 1.1)
thor (1.2.1)
timeliness (0.3.10)
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.52.0)
googleauth (>= 0.6.6, <= 0.14.0)
inifile (~> 3.0)
train-core (= 3.10.1)
train-winrm (~> 0.2)
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, < 1.64)
aws-sdk-batch (>= 1.36, < 1.48)
aws-sdk-budgets (~> 1.0)
aws-sdk-cloudformation (~> 1.0)
aws-sdk-cloudfront (~> 1.0)
aws-sdk-cloudhsm (~> 1.0)
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)
aws-sdk-elasticache (~> 1.0)
aws-sdk-elasticbeanstalk (~> 1.0)
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-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-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)
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.22)
train-winrm (0.2.13)
winrm (>= 2.3.6, < 3.0)
winrm-elevated (~> 1.2.2)
winrm-fs (~> 1.0)
tty-box (0.7.0)
pastel (~> 0.8)
strings (~> 0.2.0)
tty-cursor (~> 0.7)
tty-color (0.6.0)
tty-cursor (0.7.1)
tty-prompt (0.23.1)
pastel (~> 0.8)
tty-reader (~> 0.8)
tty-reader (0.9.0)
tty-cursor (~> 0.7)
tty-screen (~> 0.8)
wisper (~> 2.0)
tty-screen (0.8.1)
tty-table (0.12.0)
pastel (~> 0.8)
strings (~> 0.2.0)
tty-screen (~> 0.8)
tzinfo (2.0.4)
concurrent-ruby (~> 1.0)
uber (0.1.0)
unf (0.1.4)
unf_ext
unf_ext (0.0.8.2)
unicode-display_width (2.2.0)
unicode_utils (1.4.0)
winrm (2.3.6)
builder (>= 2.1.2)
erubi (~> 1.8)
gssapi (~> 1.2)
gyoku (~> 1.0)
httpclient (~> 2.2, >= 2.2.0.2)
logging (>= 1.6.1, < 3.0)
nori (~> 2.0)
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.5)
erubi (~> 1.8)
logging (>= 1.6.1, < 3.0)
rubyzip (~> 2.0)
winrm (~> 2.0)
wisper (2.0.1)
PLATFORMS
ruby
DEPENDENCIES
inspec!
kitchen-docker!
kitchen-inspec (>= 2.5.0)
kitchen-salt (>= 0.7.2)
BUNDLED WITH
2.1.2

16
bin/install-hooks Executable file
View File

@ -0,0 +1,16 @@
#!/usr/bin/env sh
set -o nounset # Treat unset variables as an error and immediately exit
set -o errexit # If a command fails exit the whole script
if [ "${DEBUG:-false}" = "true" ]; then
set -x # Run the entire script in debug mode
fi
if ! command -v pre-commit >/dev/null 2>&1; then
echo "pre-commit not found: please install or check your PATH" >&2
echo "See https://pre-commit.com/#installation" >&2
exit 1
fi
pre-commit install --install-hooks
pre-commit install --hook-type commit-msg --install-hooks

View File

@ -8,22 +8,25 @@
# this file is here to facilitate running it.
#
require "pathname"
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
Pathname.new(__FILE__).realpath)
require 'pathname'
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile',
Pathname.new(__FILE__).realpath)
bundle_binstub = File.expand_path("../bundle", __FILE__)
bundle_binstub = File.expand_path('bundle', __dir__)
if File.file?(bundle_binstub)
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
load(bundle_binstub)
else
abort("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.")
abort(
'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
end
require "rubygems"
require "bundler/setup"
require 'rubygems'
require 'bundler/setup'
load Gem.bin_path("test-kitchen", "kitchen")
load Gem.bin_path('test-kitchen', 'kitchen')

View File

@ -1,3 +1,8 @@
module.exports = {
extends: ['@commitlint/config-conventional'],
rules: {
'body-max-line-length': [2, 'always', 120],
'footer-max-line-length': [2, 'always', 120],
'header-max-length': [2, 'always', 72],
},
};

View File

@ -13,89 +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://avatars0.githubusercontent.com/u/3374962?v=4' width='36' height='36' alt='@nmadhok'>`
* - :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>`_
- 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>`_
- 10
* - :raw-html-m2r:`<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>`_
- 9
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/776662?v=4' width='36' height='36' alt='@carlosperello'>`
- 14
* - :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>`_
- 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://avatars3.githubusercontent.com/u/52996?v=4' width='36' height='36' alt='@daks'>`
- `@daks <https://github.com/daks>`_
* - :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://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/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://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/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://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/7139195?v=4' width='36' height='36' alt='@xenophonf'>`
* - :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://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://avatars3.githubusercontent.com/u/862590?v=4' width='36' height='36' alt='@ravenac95'>`
- `@ravenac95 <https://github.com/ravenac95>`_
- 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 2019-08-17.
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,244 @@
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)
------------------------------------------------------------------------------------------------------------
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* **commitlint:** ensure ``upstream/master`` uses main repo URL [skip ci] (\ `c2182ef <https://github.com/saltstack-formulas/sudoers-formula/commit/c2182efdfac6a15dd8c9a9465cc35905b7a0421b>`_\ )
* **gitlab-ci:** add ``rubocop`` linter (with ``allow_failure``\ ) [skip ci] (\ `3f34c0a <https://github.com/saltstack-formulas/sudoers-formula/commit/3f34c0a6b05dccebc44e71f6541574767fe1021b>`_\ )
Tests
^^^^^
* **_mapdata:** fix existing verification files (\ `b7aa04d <https://github.com/saltstack-formulas/sudoers-formula/commit/b7aa04db2828284013ea5ba85f388c67e11599ee>`_\ )
* **map:** standardise ``map.jinja`` verification (\ `ac8921f <https://github.com/saltstack-formulas/sudoers-formula/commit/ac8921f11a75e0e3be558bb148e4348e21c26ed6>`_\ )
`0.23.0 <https://github.com/saltstack-formulas/sudoers-formula/compare/v0.22.2...v0.23.0>`_ (2020-12-16)
------------------------------------------------------------------------------------------------------------
Bug Fixes
^^^^^^^^^
* permissions on sudoers include dir were wrong (\ `c6a3a60 <https://github.com/saltstack-formulas/sudoers-formula/commit/c6a3a6040f3994a45f2a5de7625e958da412603d>`_\ )
Code Refactoring
^^^^^^^^^^^^^^^^
* change pillar calls (\ `d5002c3 <https://github.com/saltstack-formulas/sudoers-formula/commit/d5002c3c250372acdb6295bd23e51053803f99ce>`_\ )
* convert map.jinja to new standards (\ `ee173b0 <https://github.com/saltstack-formulas/sudoers-formula/commit/ee173b0041d232bef04a2feafdb51b6f3af007d1>`_\ )
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* **gitlab-ci:** use GitLab CI as Travis CI replacement (\ `cdf0d44 <https://github.com/saltstack-formulas/sudoers-formula/commit/cdf0d44053985566bb9d06ee4925a2de70c022f1>`_\ )
* **pre-commit:** add to formula [skip ci] (\ `cfcece9 <https://github.com/saltstack-formulas/sudoers-formula/commit/cfcece9e1fc4e04c437b9130e0cbba2212e4d332>`_\ )
* **pre-commit:** enable/disable ``rstcheck`` as relevant [skip ci] (\ `df72fba <https://github.com/saltstack-formulas/sudoers-formula/commit/df72fbadf85471b3620969c4b7ed935e25c32193>`_\ )
* **pre-commit:** finalise ``rstcheck`` configuration [skip ci] (\ `0202050 <https://github.com/saltstack-formulas/sudoers-formula/commit/02020503ea3199c83ceee54a142733438c17ce51>`_\ )
Features
^^^^^^^^
* implement option to purge included files directory (\ `c5acbc6 <https://github.com/saltstack-formulas/sudoers-formula/commit/c5acbc696ae230e673f64f57b815a08963e44a90>`_\ )
Styles
^^^^^^
* fix rubocop (\ `d67a062 <https://github.com/saltstack-formulas/sudoers-formula/commit/d67a06254a2966aae9c624bb05e122245cbbbe1f>`_\ )
Tests
^^^^^
* fix mapdata files (\ `7400528 <https://github.com/saltstack-formulas/sudoers-formula/commit/7400528fd26c8b1b18fd3e910162b5060be955b0>`_\ )
`0.22.2 <https://github.com/saltstack-formulas/sudoers-formula/compare/v0.22.1...v0.22.2>`_ (2020-08-26)
------------------------------------------------------------------------------------------------------------
Bug Fixes
^^^^^^^^^
* **release.config.js:** use full commit hash in commit link [skip ci] (\ `551f300 <https://github.com/saltstack-formulas/sudoers-formula/commit/551f300b4b340ef41ac1088164f05c15c6245a49>`_\ )
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* **gemfile:** restrict ``train`` gem version until upstream fix [skip ci] (\ `b9dd8b1 <https://github.com/saltstack-formulas/sudoers-formula/commit/b9dd8b1c0fb31a351bf7920a38d4b38ac6c7fd18>`_\ )
* **gemfile.lock:** add to repo with updated ``Gemfile`` [skip ci] (\ `54e19fd <https://github.com/saltstack-formulas/sudoers-formula/commit/54e19fdd984879c129799cc496be7321fb52f7de>`_\ )
* **kitchen:** avoid using bootstrap for ``master`` instances [skip ci] (\ `567ff29 <https://github.com/saltstack-formulas/sudoers-formula/commit/567ff29b989cb94f07d061d6efbb9c352bc34a0b>`_\ )
* **kitchen:** use ``debian-10-master-py3`` instead of ``develop`` [skip ci] (\ `b8d5c0b <https://github.com/saltstack-formulas/sudoers-formula/commit/b8d5c0bfa133213417273b64437ddcddf6d3491b>`_\ )
* **kitchen:** use ``develop`` image until ``master`` is ready (\ ``amazonlinux``\ ) [skip ci] (\ `9f217a2 <https://github.com/saltstack-formulas/sudoers-formula/commit/9f217a2675e459561666313c4a38f446accc2681>`_\ )
* **kitchen:** use ``saltimages`` Docker Hub where available [skip ci] (\ `242f719 <https://github.com/saltstack-formulas/sudoers-formula/commit/242f71956d2cad65900f3f76426e1698e2e0ac95>`_\ )
* **kitchen+travis:** remove ``master-py2-arch-base-latest`` [skip ci] (\ `a2729d0 <https://github.com/saltstack-formulas/sudoers-formula/commit/a2729d05eb1c4e016bf3e982bb2a90e1eac90601>`_\ )
* **kitchen+travis:** upgrade matrix after ``2019.2.2`` release [skip ci] (\ `e32be01 <https://github.com/saltstack-formulas/sudoers-formula/commit/e32be015d6b4f8df0a1862d56d25cde4af2597a0>`_\ )
* **kitchen+travis:** use latest pre-salted images (\ `cd29502 <https://github.com/saltstack-formulas/sudoers-formula/commit/cd2950289eda2eacde050b3edb52a9e917bf41a2>`_\ )
* **travis:** add notifications => zulip [skip ci] (\ `7b5f0e9 <https://github.com/saltstack-formulas/sudoers-formula/commit/7b5f0e95bf5eac49e4b97554731f7d226af24dcf>`_\ )
* **travis:** apply changes from build config validation [skip ci] (\ `08ca2a6 <https://github.com/saltstack-formulas/sudoers-formula/commit/08ca2a6ebb476a41fa2b0a25ecb2dcba2793303d>`_\ )
* **travis:** merge ``rubocop`` linter into main ``lint`` job (\ `371bed2 <https://github.com/saltstack-formulas/sudoers-formula/commit/371bed2d7a2a7174993e5eb6224f153fed56efcb>`_\ )
* **travis:** opt-in to ``dpl v2`` to complete build config validation [skip ci] (\ `43cf4c6 <https://github.com/saltstack-formulas/sudoers-formula/commit/43cf4c6b45fad30c9958e9e83ff708d822627ebb>`_\ )
* **travis:** quote pathspecs used with ``git ls-files`` [skip ci] (\ `438ba3e <https://github.com/saltstack-formulas/sudoers-formula/commit/438ba3e5d4a1dce57ce5a94c9adb4a519187c83b>`_\ )
* **travis:** run ``shellcheck`` during lint job [skip ci] (\ `f87c4ba <https://github.com/saltstack-formulas/sudoers-formula/commit/f87c4baa3041becb18ace7aa1e64595f51bb0f74>`_\ )
* **travis:** update ``salt-lint`` config for ``v0.0.10`` [skip ci] (\ `2fe682e <https://github.com/saltstack-formulas/sudoers-formula/commit/2fe682effc8e129278da17a2bb3a9feb1f29fdd3>`_\ )
* **travis:** use ``major.minor`` for ``semantic-release`` version [skip ci] (\ `1fc0e95 <https://github.com/saltstack-formulas/sudoers-formula/commit/1fc0e95f6ac6674867777d99602d1120454f7887>`_\ )
* **travis:** use build config validation (beta) [skip ci] (\ `5a6ed53 <https://github.com/saltstack-formulas/sudoers-formula/commit/5a6ed537d6dc1c6d8c74f362375c36db7310b9cc>`_\ )
* **workflows/commitlint:** add to repo [skip ci] (\ `32ae435 <https://github.com/saltstack-formulas/sudoers-formula/commit/32ae43546395072a108e59b885d0db0bcecaf302>`_\ )
Documentation
^^^^^^^^^^^^^
* **contributing:** remove to use org-level file instead [skip ci] (\ `67880a5 <https://github.com/saltstack-formulas/sudoers-formula/commit/67880a513e6da55c7beef8ce7b391c45953063f7>`_\ )
* **readme:** update link to ``CONTRIBUTING`` [skip ci] (\ `9a36e1a <https://github.com/saltstack-formulas/sudoers-formula/commit/9a36e1a933d833ef16fc34eaceda8859866b2c8e>`_\ )
Performance Improvements
^^^^^^^^^^^^^^^^^^^^^^^^
* **travis:** improve ``salt-lint`` invocation [skip ci] (\ `8314aa0 <https://github.com/saltstack-formulas/sudoers-formula/commit/8314aa0df1bc510b3efbd1c8a07f361f3f94f1f3>`_\ )
Tests
^^^^^
* **map:** verify ``map.jinja`` dump using ``_mapdata`` state (\ `63865a2 <https://github.com/saltstack-formulas/sudoers-formula/commit/63865a286ef37dec6cdc1b4e1b4ddaa36baca594>`_\ )
`0.22.1 <https://github.com/saltstack-formulas/sudoers-formula/compare/v0.22.0...v0.22.1>`_ (2019-10-11)
------------------------------------------------------------------------------------------------------------
Bug Fixes
^^^^^^^^^
* **rubocop:** add fixes using ``rubocop --safe-auto-correct`` (\ ` <https://github.com/saltstack-formulas/sudoers-formula/commit/652c350>`_\ )
* **rubocop:** fix remaining errors manually (\ ` <https://github.com/saltstack-formulas/sudoers-formula/commit/a10ea35>`_\ )
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* **kitchen:** change ``log_level`` to ``debug`` instead of ``info`` (\ ` <https://github.com/saltstack-formulas/sudoers-formula/commit/2821526>`_\ )
* **kitchen:** install required packages to bootstrapped ``opensuse`` [skip ci] (\ ` <https://github.com/saltstack-formulas/sudoers-formula/commit/9719ac9>`_\ )
* **kitchen:** use bootstrapped ``opensuse`` images until ``2019.2.2`` [skip ci] (\ ` <https://github.com/saltstack-formulas/sudoers-formula/commit/e63f441>`_\ )
* **kitchen+travis:** replace EOL pre-salted images (\ ` <https://github.com/saltstack-formulas/sudoers-formula/commit/dea2da0>`_\ )
* **platform:** add ``arch-base-latest`` (\ ` <https://github.com/saltstack-formulas/sudoers-formula/commit/55ce214>`_\ )
* merge travis matrix, add ``salt-lint`` & ``rubocop`` to ``lint`` job (\ ` <https://github.com/saltstack-formulas/sudoers-formula/commit/f3a98c2>`_\ )
* merge travis matrix, add ``salt-lint`` & ``rubocop`` to ``lint`` job (\ ` <https://github.com/saltstack-formulas/sudoers-formula/commit/96dcd0f>`_\ )
* use ``dist: bionic`` & apply ``opensuse-leap-15`` SCP error workaround (\ ` <https://github.com/saltstack-formulas/sudoers-formula/commit/7b44df2>`_\ )
* **travis:** merge ``rubocop`` linter into main ``lint`` job (\ ` <https://github.com/saltstack-formulas/sudoers-formula/commit/9df9a48>`_\ )
* **yamllint:** add rule ``empty-values`` & use new ``yaml-files`` setting (\ ` <https://github.com/saltstack-formulas/sudoers-formula/commit/5e22568>`_\ )
`0.22.0 <https://github.com/saltstack-formulas/sudoers-formula/compare/v0.21.1...v0.22.0>`_ (2019-08-17)
------------------------------------------------------------------------------------------------------------

View File

@ -1,159 +0,0 @@
.. _contributing:
How to contribute
=================
This document will eventually outline all aspects of guidance to make your contributing experience a fruitful and enjoyable one.
What it already contains is information about *commit message formatting* and how that directly affects the numerous automated processes that are used for this repo.
It also covers how to contribute to this *formula's documentation*.
.. contents:: **Table of Contents**
Overview
--------
Submitting a pull request is more than just code!
To achieve a quality product, the *tests* and *documentation* need to be updated as well.
An excellent pull request will include these in the changes, wherever relevant.
Commit message formatting
-------------------------
Since every type of change requires making Git commits,
we will start by covering the importance of ensuring that all of your commit
messages are in the correct format.
Automation of multiple processes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This formula uses `semantic-release <https://github.com/semantic-release/semantic-release>`_ for automating numerous processes such as bumping the version number appropriately, creating new tags/releases and updating the changelog.
The entire process relies on the structure of commit messages to determine the version bump, which is then used for the rest of the automation.
Full details are available in the upstream docs regarding the `Angular Commit Message Conventions <https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#-git-commit-guidelines>`_.
The key factor is that the first line of the commit message must follow this format:
.. code-block::
type(scope): subject
* E.g. ``docs(contributing): add commit message formatting instructions``.
Besides the version bump, the changelog and release notes are formatted accordingly.
So based on the example above:
..
.. raw:: html
<h3>Documentation</h3>
* **contributing:** add commit message formatting instructions
* The ``type`` translates into a ``Documentation`` sub-heading.
* The ``(scope):`` will be shown in bold text without the brackets.
* The ``subject`` follows the ``scope`` as standard text.
Linting commit messages in Travis CI
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This formula uses `commitlint <https://github.com/conventional-changelog/commitlint>`_ for checking commit messages during CI testing.
This ensures that they are in accordance with the ``semantic-release`` settings.
For more details about the default settings, refer back to the ``commitlint`` `reference rules <https://conventional-changelog.github.io/commitlint/#/reference-rules>`_.
Relationship between commit type and version bump
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This formula applies some customisations to the defaults, as outlined in the table below,
based upon the `type <https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#type>`_ of the commit:
.. list-table::
:name: commit-type-vs-version-bump
:header-rows: 1
:stub-columns: 0
:widths: 1,2,3,1,1
* - Type
- Heading
- Description
- Bump (default)
- Bump (custom)
* - ``build``
- Build System
- Changes related to the build system
-
-
* - ``chore``
-
- Changes to the build process or auxiliary tools and libraries such as
documentation generation
-
-
* - ``ci``
- Continuous Integration
- Changes to the continuous integration configuration
-
-
* - ``docs``
- Documentation
- Documentation only changes
-
- 0.0.1
* - ``feat``
- Features
- A new feature
- 0.1.0
-
* - ``fix``
- Bug Fixes
- A bug fix
- 0.0.1
-
* - ``perf``
- Performance Improvements
- A code change that improves performance
- 0.0.1
-
* - ``refactor``
- Code Refactoring
- A code change that neither fixes a bug nor adds a feature
-
- 0.0.1
* - ``revert``
- Reverts
- A commit used to revert a previous commit
-
- 0.0.1
* - ``style``
- Styles
- Changes that do not affect the meaning of the code (white-space,
formatting, missing semi-colons, etc.)
-
- 0.0.1
* - ``test``
- Tests
- Adding missing or correcting existing tests
-
- 0.0.1
Use ``BREAKING CHANGE`` to trigger a ``major`` version change
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Adding ``BREAKING CHANGE`` to the footer of the extended description of the commit message will **always** trigger a ``major`` version change, no matter which type has been used.
This will be appended to the changelog and release notes as well.
To preserve good formatting of these notes, the following format is prescribed:
* ``BREAKING CHANGE: <explanation in paragraph format>.``
An example of that:
.. code-block:: git
...
BREAKING CHANGE: With the removal of all of the `.sls` files under
`template package`, this formula no longer supports the installation of
packages.

View File

@ -1,5 +1,3 @@
.. _readme:
sudoers-formula
===============
@ -37,7 +35,7 @@ Contributing to this repo
**Commit message formatting is significant!!**
Please see :ref:`How to contribute <CONTRIBUTING>` for more details.
Please see `How to contribute <https://github.com/saltstack-formulas/.github/blob/master/CONTRIBUTING.rst>`_ for more details.
Available states
----------------
@ -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,102 +6,11 @@ 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 `develop`
- name: debian-9-develop-py3
driver:
image: netmanagers/salt-develop-py3:debian-9
provision_command:
- curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com
- sh bootstrap-salt.sh -XdPbfrq -x python3 git develop
- name: ubuntu-1804-develop-py3
driver:
image: netmanagers/salt-develop-py3:ubuntu-18.04
provision_command:
- curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com
- sh bootstrap-salt.sh -XdPbfrq -x python3 git develop
- name: centos-7-develop-py3
driver:
image: netmanagers/salt-develop-py3:centos-7
provision_command:
- curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com
- sh bootstrap-salt.sh -XdPbfrq -x python3 git develop
- name: fedora-29-develop-py3
driver:
image: netmanagers/salt-develop-py3:fedora-29
provision_command:
- curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com
- sh bootstrap-salt.sh -XdPbfrq -x python3 git develop
- name: opensuse-leap-15-develop-py3
driver:
image: netmanagers/salt-develop-py3:opensuse-leap-15
provision_command:
- curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com
- sh bootstrap-salt.sh -XdPbfrq -x python3 git develop
run_command: /usr/lib/systemd/systemd
## SALT `2019.2`
- name: debian-9-2019-2-py3
driver:
image: netmanagers/salt-2019.2-py3:debian-9
- name: ubuntu-1804-2019-2-py3
driver:
image: netmanagers/salt-2019.2-py3:ubuntu-18.04
- name: centos-7-2019-2-py3
driver:
image: netmanagers/salt-2019.2-py3:centos-7
- name: fedora-29-2019-2-py3
driver:
image: netmanagers/salt-2019.2-py3:fedora-29
- name: opensuse-leap-15-2019-2-py3
driver:
image: netmanagers/salt-2019.2-py3:opensuse-leap-15
run_command: /usr/lib/systemd/systemd
## SALT `2018.3`
- name: debian-9-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:debian-9
- name: ubuntu-1604-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:ubuntu-16.04
- name: centos-7-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:centos-7
- name: fedora-29-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:fedora-29
- name: opensuse-leap-42-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:opensuse-leap-42
run_command: /usr/lib/systemd/systemd
## SALT `2017.7`
- name: debian-8-2017-7-py2
driver:
image: netmanagers/salt-2017.7-py2:debian-8
- name: ubuntu-1604-2017-7-py2
driver:
image: netmanagers/salt-2017.7-py2:ubuntu-16.04
- name: centos-6-2017-7-py2
driver:
image: netmanagers/salt-2017.7-py2:centos-6
run_command: /sbin/init
- name: fedora-28-2017-7-py2
driver:
image: netmanagers/salt-2017.7-py2:fedora-28
- name: opensuse-leap-42-2017-7-py2
driver:
image: netmanagers/salt-2017.7-py2:opensuse-leap-42
run_command: /usr/lib/systemd/systemd
run_command: /usr/lib/systemd/systemd
provisioner:
name: salt_solo
log_level: info
log_level: debug
salt_install: none
require_chef: false
formula: sudoers
@ -109,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:
@ -123,6 +272,7 @@ suites:
state_top:
base:
'*':
- sudoers._mapdata
- sudoers
- sudoers.included
pillars:
@ -137,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

@ -4,6 +4,8 @@
sudoers:
# By default the main sudoers file is managed by this formula (False to skip)
manage_main_config: true
# By default the included directory is not purged from unwanted files
purge_includedir: false
users:
johndoe:
- 'ALL=(ALL) ALL'
@ -61,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`
sudo -H pip install m2r
# Install `m2r2`
pip3 install m2r2
# Copy and then convert the `.md` docs
cp *.md docs/
cd docs/
m2r --overwrite *.md
cp ./*.md docs/
cd docs/ || exit
m2r2 --overwrite ./*.md
# Change excess `H1` headings to `H2` in converted `CHANGELOG.rst`
sed -i -e '/^=.*$/s/=/-/g' CHANGELOG.rst

View File

@ -1,5 +1,6 @@
module.exports = {
branch: 'master',
repositoryUrl: 'https://github.com/saltstack-formulas/sudoers-formula',
plugins: [
['@semantic-release/commit-analyzer', {
preset: 'angular',
@ -63,7 +64,7 @@ module.exports = {
}
if (typeof commit.hash === `string`) {
commit.hash = commit.hash.substring(0, 7)
commit.shortHash = commit.hash.substring(0, 7)
}
if (typeof commit.subject === `string`) {

View File

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

22
sudoers/_mapdata/init.sls Normal file
View File

@ -0,0 +1,22 @@
# -*- coding: utf-8 -*-
# vim: ft=sls
---
{#- Get the `tplroot` from `tpldir` #}
{%- set tplroot = tpldir.split("/")[0] %}
{%- from tplroot ~ "/map.jinja" import sudoers with context %}
{%- 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" %}
{{ tplroot }}-mapdata-dump:
file.managed:
- name: {{ output_file }}
- source: salt://{{ tplroot }}/_mapdata/_mapdata.jinja
- template: jinja
- context:
map: {{ _mapdata | yaml }}

13
sudoers/defaults.yaml Normal file
View File

@ -0,0 +1,13 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
sudoers:
pkg: sudo
manage_main_config: true
purge_includedir: false
configpath: /etc
group: root
execprefix: /usr/sbin
includedir: /etc/sudoers.d
included_files: {}
append_included_files_to_endof_main_config: false

View File

@ -1,31 +0,0 @@
{% from "sudoers/map.jinja" import sudoers with context %}
include:
- sudoers
{% do sudoers.update(pillar.get('sudoers', {})) %}
{% set includedir = sudoers.get('includedir', '/etc/sudoers.d') %}
{% set included_files = sudoers.get('included_files', {}) %}
{% for included_file,spec in included_files.items() -%}
sudoers include {{ included_file }}:
file.managed:
{% if '/' in included_file %}
- name: {{ included_file }}
{% else %}
- name: {{ includedir }}/{{ included_file }}
{% endif %}
- user: root
- group: {{ sudoers.get('group', 'root') }}
- mode: 440
- makedirs: True
- template: jinja
- source: salt://sudoers/files/sudoers
- check_cmd: {{ sudoers.get('execprefix', '/usr/sbin') }}/visudo -c -f
- context:
included: True
sudoers: {{ spec|json }}
{% if salt['pillar.get']('sudoers:manage_main_config', True) %}
- require:
- file: {{ sudoers.get('configpath', '/etc') }}/sudoers
{% endif %}
{% endfor %}

View File

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

View File

@ -0,0 +1,54 @@
# -*- coding: utf-8 -*-
# vim: ft=sls
{#- Get the `tplroot` from `tpldir` #}
{%- set tplroot = tpldir.split('/')[0] %}
{%- set sls_config_file = tplroot ~ '.config.file' %}
{%- from tplroot ~ "/map.jinja" import sudoers with context %}
include:
- sudoers
{{ sudoers.includedir }}:
file.directory:
- user: root
- group: {{ sudoers.group }}
- mode: 750
- clean: {{ sudoers.purge_includedir }}
{% 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:
- name: {{ included_file }}
- user: root
- group: {{ sudoers.group }}
- mode: 440
- makedirs: True
- template: jinja
- source: salt://sudoers/files/sudoers
- check_cmd: {{ sudoers.execprefix }}/visudo -c -f
- context:
included: True
sudoers: {{ spec|json }}
{% 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 %}

View File

@ -1,19 +1,25 @@
{% from "sudoers/map.jinja" import sudoers with context %}
# -*- coding: utf-8 -*-
# vim: ft=sls
{#- Get the `tplroot` from `tpldir` #}
{%- set tplroot = tpldir.split('/')[0] %}
{%- set sls_config_file = tplroot ~ '.config.file' %}
{%- from tplroot ~ "/map.jinja" import sudoers with context %}
sudo:
pkg.installed:
- name: {{ sudoers.pkg }}
{% if salt['pillar.get']('sudoers:manage_main_config', True) %}
{% if sudoers.manage_main_config %}
{{ sudoers.get('configpath', '/etc') }}/sudoers:
{{ sudoers.configpath }}/sudoers:
file.managed:
- user: root
- group: {{ sudoers.get('group', 'root') }}
- group: {{ sudoers.group }}
- mode: 440
- template: jinja
- source: salt://sudoers/files/sudoers
- check_cmd: {{ sudoers.get('execprefix', '/usr/sbin') }}/visudo -c -f
- check_cmd: {{ sudoers.execprefix }}/visudo -c -f
- context:
included: False
- require:
@ -21,7 +27,7 @@ sudo:
{% else %}
{{ sudoers.get('configpath', '/etc') }}/sudoers:
{{ sudoers.configpath }}/sudoers:
test.show_notification:
- name: Skipping management of main sudoers file
- text: Pillar manage_main_config is False

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

@ -1,17 +1,55 @@
{% set sudoers = salt['grains.filter_by']({
'Debian': {'pkg': 'sudo'},
'Ubuntu': {'pkg': 'sudo'},
'CentOS': {'pkg': 'sudo'},
'Fedora': {'pkg': 'sudo'},
'RedHat': {'pkg': 'sudo'},
'Amazon': {'pkg': 'sudo'},
'Gentoo': {'pkg': 'app-admin/sudo'},
'Mint': {'pkg': 'sudo'},
'Arch': {'pkg': 'sudo'},
'Suse': {'pkg': 'sudo'},
'FreeBSD': {'pkg': 'sudo',
'configpath': '/usr/local/etc',
'includedir': '/usr/local/etc/sudoers.d',
'execprefix': '/usr/local/sbin',
'group': 'wheel'},
}, merge=salt['pillar.get']('sudoers:lookup')) %}
# -*- coding: utf-8 -*-
# vim: ft=jinja
{#- Get the `tplroot` from `tpldir` #}
{%- set tplroot = tpldir.split('/')[0] %}
{#- Start imports as #}
{%- import_yaml tplroot ~ "/defaults.yaml" as default_settings %}
{%- import_yaml tplroot ~ "/osarchmap.yaml" as osarchmap %}
{%- import_yaml tplroot ~ "/osfamilymap.yaml" as osfamilymap %}
{%- import_yaml tplroot ~ "/osmap.yaml" as osmap %}
{%- import_yaml tplroot ~ "/osfingermap.yaml" as osfingermap %}
{#- Retrieve the config dict only once #}
{%- set _config = salt['config.get'](tplroot, default={}) %}
{%- set defaults = salt['grains.filter_by'](
default_settings,
default=tplroot,
merge=salt['grains.filter_by'](
osarchmap,
grain='osarch',
merge=salt['grains.filter_by'](
osfamilymap,
grain='os_family',
merge=salt['grains.filter_by'](
osmap,
grain='os',
merge=salt['grains.filter_by'](
osfingermap,
grain='osfinger',
merge=salt['grains.filter_by'](
_config,
default='lookup'
)
)
)
)
)
)
%}
{%- set config = salt['grains.filter_by'](
{'defaults': defaults},
default='defaults',
merge=_config
)
%}
{%- set sudoers = config %}
{#- Post-processing for specific non-YAML customisations #}
{%- if grains.os == 'MacOS' %}
{%- set macos_group = salt['cmd.run']("stat -f '%Sg' /dev/console") %}
{%- do sudoers.update({'rootgroup': macos_group}) %}
{%- endif %}

35
sudoers/osarchmap.yaml Normal file
View File

@ -0,0 +1,35 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
#
# Setup variables using grains['osarch'] based logic.
# You just need to add the key:values for an `osarch` that differ
# from `defaults.yaml`.
# Only add an `osarch` which is/will be supported by the formula.
#
# If you do not need to provide defaults via the `osarch` grain,
# you will need to provide at least an empty dict in this file, e.g.
# osarch: {}
---
amd64:
arch: amd64
x86_64:
arch: amd64
386:
arch: 386
arm64:
arch: arm64
armv6l:
arch: armv6l
armv7l:
arch: armv7l
ppc64le:
arch: ppc64le
s390x:
arch: s390x

38
sudoers/osfamilymap.yaml Normal file
View File

@ -0,0 +1,38 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
#
# Setup variables using grains['os_family'] based logic.
# You just need to add the key:values for an `os_family` that differ
# from `defaults.yaml` + `osarch.yaml`.
# Only add an `os_family` which is/will be supported by the formula.
#
# If you do not need to provide defaults via the `os_family` grain,
# you will need to provide at least an empty dict in this file, e.g.
# osfamilymap: {}
---
Debian: {}
RedHat: {}
Suse: {}
Gentoo:
pkg: app-admin/sudo
Arch: {}
Alpine: {}
FreeBSD:
configpath: /usr/local/etc
includedir: /usr/local/etc/sudoers.d
execprefix: /usr/local/sbin
group: wheel
OpenBSD: {}
Solaris: {}
Windows: {}
MacOS: {}

14
sudoers/osfingermap.yaml Normal file
View File

@ -0,0 +1,14 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
#
# Setup variables using grains['osfinger'] based logic.
# You just need to add the key:values for an `osfinger` that differ
# from `defaults.yaml` + `osarch.yaml` + `os_family.yaml` + `osmap.yaml`.
# Only add an `osfinger` which is/will be supported by the formula.
#
# If you do not need to provide defaults via the `os_finger` grain,
# you will need to provide at least an empty dict in this file, e.g.
# osfingermap: {}
---
# os: Debian
osfingermap: {}

13
sudoers/osmap.yaml Normal file
View File

@ -0,0 +1,13 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
#
# Setup variables using grains['os'] based logic.
# You just need to add the key:values for an `os` that differ
# from `defaults.yaml` + `osarch.yaml` + `os_family.yaml`.
# Only add an `os` which is/will be supported by the formula.
#
# If you do not need to provide defaults via the `os` grain,
# you will need to provide at least an empty dict in this file, e.g.
# osmap: {}
---
osmap: {}

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,3 +1,5 @@
# frozen_string_literal: true
control 'Sudoers configuration' do
title 'should match desired lines'
@ -8,7 +10,9 @@ control 'Sudoers configuration' do
its('mode') { should cmp '0440' }
its('content') { should include 'Defaults:ADMINS !lecture' }
its('content') { should include 'Defaults:johndoe !requiretty' }
its('content') { should include 'Defaults@www1 log_year, logfile=/var/log/sudo.log' }
its('content') do
should include 'Defaults@www1 log_year, logfile=/var/log/sudo.log'
end
its('content') { should include 'Host_Alias WEBSERVERS = www1,www2,www3' }
its('content') { should include 'User_Alias ADMINS = millert,dowdy,mikef' }
its('content') { should include 'johndoe ALL=(ALL) ALL' }
@ -17,7 +21,6 @@ control 'Sudoers configuration' do
its('content') { should include '%sudo ALL=(nodejs) NOPASSWD: ALL' }
its('content') { should include '+sysadmins ALL=(ALL) ALL' }
its('content') { should include '#includedir /etc/sudoers.d' }
end
describe file('/etc/sudoers.d/extra-file') do
@ -43,5 +46,4 @@ control 'Sudoers configuration' do
its('mode') { should cmp '0440' }
its('content') { should include '+other_netgroup ALL=(ALL) ALL' }
end
end

View File

@ -1,3 +1,4 @@
# frozen_string_literal: true
control 'Sudo package' do
title 'should be installed'

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

@ -0,0 +1,71 @@
# yamllint disable rule:indentation rule:line-length
# Amazon Linux AMI-2018
---
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
# Amazon Linux-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: 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
# Arch
---
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
# CentOS-6
---
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
# CentOS Linux-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
# CentOS 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

@ -0,0 +1,71 @@
# yamllint disable rule:indentation rule:line-length
# Debian-10
---
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
# 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

@ -0,0 +1,71 @@
# yamllint disable rule:indentation rule:line-length
# Debian-9
---
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-31
---
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-32
---
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-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

@ -0,0 +1,71 @@
# yamllint disable rule:indentation rule:line-length
# Leap-15
---
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
# 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

@ -0,0 +1,71 @@
# yamllint disable rule:indentation rule:line-length
# Ubuntu-16.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

@ -0,0 +1,71 @@
# yamllint disable rule:indentation rule:line-length
# Ubuntu-18.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'

Some files were not shown because too many files have changed in this diff Show More