Compare commits

..

91 Commits

Author SHA1 Message Date
Imran Iqbal
ed4c1f0aaa
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:49:39 +01:00
Imran Iqbal
912e99ae55
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:10:49 +01:00
Imran Iqbal
021764d674
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:07:46 +01:00
semantic-release-bot
33db01233b chore(release): 0.48.8 [skip ci]
## [0.48.8](https://github.com/saltstack-formulas/users-formula/compare/v0.48.7...v0.48.8) (2022-06-09)

### Bug Fixes

* **googleauth:** ensure newline is preserved in `repl` of `file.replace` ([1dd5f32](1dd5f32a52))

### Continuous Integration

* update `pre-commit` configuration inc. for pre-commit.ci [skip ci] ([8dce714](8dce714dcd))
* **kitchen+gitlab:** update for new pre-salted images [skip ci] ([6ebb05a](6ebb05a002))

### Tests

* **system:** add `build_platform_codename` [skip ci] ([95cefb3](95cefb36ab))
* **system.rb:** add support for `mac_os_x` [skip ci] ([321fdcf](321fdcfd97))
2022-06-09 14:21:13 +00:00
Unilogic B.V
1dd5f32a52
fix(googleauth): ensure newline is preserved in repl of file.replace 2022-06-09 15:11:00 +01:00
Imran Iqbal
8dce714dcd
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:07:13 +01:00
Imran Iqbal
6326f112b1
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:32:31 +01:00
Imran Iqbal
4af9745101
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:30:36 +01:00
Imran Iqbal
2ba1f09cee
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:23:25 +01:00
Imran Iqbal
321fdcfd97
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:57 +01:00
Imran Iqbal
4c1df7de87
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:35:22 +01:00
Imran Iqbal
a4867ac88f
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:20:25 +01:00
Imran Iqbal
a1d46d78f3
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:13:16 +01:00
Imran Iqbal
6e051c85ab
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:39:27 +01:00
Imran Iqbal
d8e2b70510
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:25:15 +01:00
Imran Iqbal
fe5e8c5e5c
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:25:45 +01:00
Imran Iqbal
6ebb05a002
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:10:11 +01:00
Imran Iqbal
9d27e3810e
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:39:07 +01:00
Imran Iqbal
21706e1aea
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:04:06 +00:00
Imran Iqbal
059a9114ec
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:43:05 +00:00
Imran Iqbal
4e649d9b0b
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:08:13 +00:00
Imran Iqbal
98d8b652ca
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:35:17 +00:00
Imran Iqbal
9aeda1b447
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:13:15 +00:00
Imran Iqbal
814e7218c8
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:04:49 +00:00
Imran Iqbal
95cefb36ab
test(system): add build_platform_codename [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/415
2022-02-14 08:09:57 +00:00
semantic-release-bot
0f7cd67261 chore(release): 0.48.7 [skip ci]
## [0.48.7](https://github.com/saltstack-formulas/users-formula/compare/v0.48.6...v0.48.7) (2022-02-13)

### Code Refactoring

* **salt-lint:** fix violation ([696139a](696139a841))

### Continuous Integration

* update linters to latest versions [skip ci] ([a4fb2c6](a4fb2c6380))
* **3003.1:** update inc. AlmaLinux, Rocky & `rst-lint` [skip ci] ([ec9506d](ec9506da14))
* **commitlint:** ensure `upstream/master` uses main repo URL [skip ci] ([2f0db66](2f0db666e4))
* **gemfile:** allow rubygems proxy to be provided as an env var [skip ci] ([47cfe0e](47cfe0ecd7))
* **gemfile+lock:** use `ssf` customised `inspec` repo [skip ci] ([6ad3c6a](6ad3c6a148))
* **gemfile+lock:** use `ssf` customised `kitchen-docker` repo [skip ci] ([8698fa5](8698fa535f))
* **gitlab-ci:** add `rubocop` linter (with `allow_failure`) [skip ci] ([9b8b6e6](9b8b6e6a82))
* **gitlab-ci:** use GitLab CI as Travis CI replacement ([3c879df](3c879df953))
* **kitchen:** move `provisioner` block & update `run_command` [skip ci] ([72c64ad](72c64adbea))
* **kitchen+ci:** update with `3004` pre-salted images/boxes [skip ci] ([4a8452a](4a8452a266))
* **kitchen+ci:** update with latest `3003.2` pre-salted images [skip ci] ([6de2acb](6de2acbe93))
* **kitchen+ci:** update with latest CVE pre-salted images [skip ci] ([22c21e4](22c21e490e))
* **kitchen+ci:** use latest pre-salted images (after CVE) [skip ci] ([dabc4b7](dabc4b742a))
* **kitchen+gitlab:** adjust matrix to add `3003` [skip ci] ([34c757a](34c757a9bb))
* **kitchen+gitlab:** remove Ubuntu 16.04 & Fedora 32 (EOL) [skip ci] ([3935693](3935693b58))
* **kitchen+gitlab:** update for new pre-salted images [skip ci] ([0bff9fb](0bff9fba4c))
* add `arch-master` to matrix and update `.travis.yml` [skip ci] ([632dc3c](632dc3cc4b))
* add Debian 11 Bullseye & update `yamllint` configuration [skip ci] ([0c49302](0c493020ee))
* **kitchen+gitlab-ci:** use latest pre-salted images [skip ci] ([c260fe7](c260fe7126))
* **pre-commit:** add to formula [skip ci] ([d0e7c0a](d0e7c0a19e))
* **pre-commit:** enable/disable `rstcheck` as relevant [skip ci] ([013b2cd](013b2cd3b8))
* **pre-commit:** finalise `rstcheck` configuration [skip ci] ([89c3c8f](89c3c8f806))
* **pre-commit:** update hook for `rubocop` [skip ci] ([0e7c6a3](0e7c6a3896))

### Documentation

* **readme:** fix headings [skip ci] ([7d06cd5](7d06cd56dd))

### Tests

* standardise use of `share` suite & `_mapdata` state [skip ci] ([2a7c0de](2a7c0de4aa))
2022-02-13 00:00:53 +00:00
Imran Iqbal
696139a841
refactor(salt-lint): fix violation
```
[213] SaltStack recommends using cmd.run together with onchanges, rather than cmd.wait
users/init.sls:498
  cmd.wait:
```
2022-02-12 23:52:21 +00:00
Imran Iqbal
a4fb2c6380
ci: update linters to latest versions [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/414
2022-02-12 23:25:31 +00:00
Imran Iqbal
ff5b308f75
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:32:29 +00:00
Imran Iqbal
0bff9fba4c
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:07:50 +00:00
Imran Iqbal
2ee66247fc
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:43:51 +00:00
noelmcloughlin
47cfe0ecd7
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:45:10 +00:00
Imran Iqbal
45e56cc736
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:16:04 +00:00
Imran Iqbal
1f74e593e0
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:54 +00:00
Imran Iqbal
0c11951ef0
chore(semantic-release): replace broken m2r with m2r2 [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/404
2022-01-17 08:17:27 +00:00
Imran Iqbal
fd0859a64e
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:40:33 +00:00
Imran Iqbal
9dd7a93bfc
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:09:47 +00:00
Imran Iqbal
de7e9c8af0
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:08:09 +00:00
Imran Iqbal
73926e81e7
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 12:00:00 +00:00
Imran Iqbal
7428328a71
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:24:27 +00:00
Imran Iqbal
a50a6f58d1
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:24:10 +00:00
Imran Iqbal
433cbd8f11
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:45:16 +00:00
Imran Iqbal
4a8452a266
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:38:59 +00:00
Imran Iqbal
e2225cda80
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:17:32 +01:00
Imran Iqbal
824ad148f9
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:13:06 +01:00
Imran Iqbal
9206ee5b23
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:58 +01:00
Imran Iqbal
1f818bc497
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:07:00 +01:00
Imran Iqbal
22c21e490e
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:18:37 +01:00
Imran Iqbal
8fca30adc0
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:23:11 +01:00
Imran Iqbal
b6f5b0edcd
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:57 +01:00
Imran Iqbal
fbc6eaad9f
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:59:38 +01:00
Imran Iqbal
2378915cd8
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:36:24 +01:00
Imran Iqbal
d9e61dd736
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:12:37 +01:00
Imran Iqbal
6547704aad
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:50 +01:00
Imran Iqbal
6de2acbe93
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:16:07 +01:00
Imran Iqbal
f0826da123
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:26:36 +01:00
Imran Iqbal
42824d88b0
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:17:51 +01:00
Imran Iqbal
6ad3c6a148
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:48 +01:00
Imran Iqbal
88935f5397
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:40:27 +01:00
Imran Iqbal
7b93a372bf
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:32:53 +01:00
Imran Iqbal
2624f7b52e
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:35:26 +01:00
Imran Iqbal
0c493020ee
ci: add Debian 11 Bullseye & update yamllint configuration [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/345
2021-07-18 19:07:00 +01:00
Imran Iqbal
72c64adbea
ci(kitchen): move provisioner block & update run_command [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/344
2021-07-17 21:14:03 +01:00
Imran Iqbal
fced36a851
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:31:35 +01:00
Imran Iqbal
504494da4d
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:17:51 +01:00
Imran Iqbal
ec9506da14
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:09:37 +01:00
Imran Iqbal
3935693b58
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:50:02 +01:00
Imran Iqbal
a23cf8c4a7
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:12:10 +01:00
Imran Iqbal
632dc3cc4b
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:35:17 +01:00
Imran Iqbal
7d06cd56dd
docs(readme): fix headings [skip ci] 2021-05-05 15:37:43 +01:00
Imran Iqbal
34c757a9bb
ci(kitchen+gitlab): adjust matrix to add 3003 [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/318
2021-04-23 08:50:53 +01:00
Imran Iqbal
17197a9a4b
chore: update CODEOWNERS & .yamllint re: kitchen-vagrant [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/310
2021-04-05 18:23:11 +01:00
Imran Iqbal
2a7c0de4aa
test: standardise use of share suite & _mapdata state [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/302
2021-03-23 21:34:51 +00:00
Imran Iqbal
dabc4b742a
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:23:43 +00:00
Imran Iqbal
d6ab1bf87e
chore(yamllint): add .git/ to ignores [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/297
2021-03-05 18:36:39 +00:00
Daniel Dehennin
d0e9d285c8
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:52:56 +00:00
Dafydd Jones
3b24d9930b
chore(shellcheck): switch hook for shellcheck [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/295
2021-02-21 08:35:12 +00:00
Imran Iqbal
8698fa535f
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:55:09 +00:00
Imran Iqbal
c260fe7126
ci(kitchen+gitlab-ci): use latest pre-salted images [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/293
2021-02-14 09:07:46 +00:00
Imran Iqbal
d5feaec135
chore: standardise structure (.gitignore & _mapdata.rb) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/292
2021-02-11 11:55:15 +00:00
Imran Iqbal
0e7c6a3896
ci(pre-commit): update hook for rubocop [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/290
2021-02-02 00:24:47 +00:00
Imran Iqbal
2f0db666e4
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:51:22 +00:00
Imran Iqbal
9b8b6e6a82
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:36:59 +00:00
Imran Iqbal
3c879df953
ci(gitlab-ci): use GitLab CI as Travis CI replacement
* Automated using https://github.com/myii/ssf-formula/pull/275
2020-12-16 06:42:48 +00:00
Imran Iqbal
dca90cd8c9
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:55:37 +00:00
Imran Iqbal
7d993b2c24
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:23:30 +01:00
Imran Iqbal
89c3c8f806
ci(pre-commit): finalise rstcheck configuration [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/267
2020-10-10 06:53:30 +01:00
Dafydd Jones
9703a19990
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:11:31 +01:00
Imran Iqbal
6907560030
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:09:42 +01:00
Imran Iqbal
013b2cd3b8
ci(pre-commit): enable/disable rstcheck as relevant [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/262
2020-10-05 00:26:05 +01:00
Dafydd Jones
d0e7c0a19e
ci(pre-commit): add to formula [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/259
2020-10-03 10:55:13 +01:00
31 changed files with 1758 additions and 665 deletions

12
.gitignore vendored
View File

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

232
.gitlab-ci.yml Normal file
View File

@ -0,0 +1,232 @@
# -*- 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/users-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/users-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'}
vimrc-debian-11-master-py3: {extends: '.test_instance'}
# default-debian-10-master-py3: {extends: '.test_instance'}
vimrc-debian-10-master-py3: {extends: '.test_instance'}
# default-debian-9-master-py3: {extends: '.test_instance'}
vimrc-debian-9-master-py3: {extends: '.test_instance'}
# default-ubuntu-2204-master-py3: {extends: '.test_instance_failure_permitted'}
vimrc-ubuntu-2204-master-py3: {extends: '.test_instance_failure_permitted'}
# default-ubuntu-2004-master-py3: {extends: '.test_instance'}
vimrc-ubuntu-2004-master-py3: {extends: '.test_instance'}
# default-ubuntu-1804-master-py3: {extends: '.test_instance'}
vimrc-ubuntu-1804-master-py3: {extends: '.test_instance'}
# default-centos-stream8-master-py3: {extends: '.test_instance_failure_permitted'}
vimrc-centos-stream8-master-py3: {extends: '.test_instance_failure_permitted'}
# default-centos-7-master-py3: {extends: '.test_instance'}
vimrc-centos-7-master-py3: {extends: '.test_instance'}
# default-fedora-36-master-py3: {extends: '.test_instance_failure_permitted'}
vimrc-fedora-36-master-py3: {extends: '.test_instance_failure_permitted'}
# default-fedora-35-master-py3: {extends: '.test_instance'}
vimrc-fedora-35-master-py3: {extends: '.test_instance'}
# default-opensuse-leap-153-master-py3: {extends: '.test_instance'}
vimrc-opensuse-leap-153-master-py3: {extends: '.test_instance'}
# default-opensuse-tmbl-latest-master-py3: {extends: '.test_instance_failure_permitted'}
vimrc-opensuse-tmbl-latest-master-py3: {extends: '.test_instance_failure_permitted'}
# default-amazonlinux-2-master-py3: {extends: '.test_instance'}
vimrc-amazonlinux-2-master-py3: {extends: '.test_instance'}
# default-oraclelinux-8-master-py3: {extends: '.test_instance'}
vimrc-oraclelinux-8-master-py3: {extends: '.test_instance'}
# default-oraclelinux-7-master-py3: {extends: '.test_instance'}
vimrc-oraclelinux-7-master-py3: {extends: '.test_instance'}
# default-arch-base-latest-master-py3: {extends: '.test_instance'}
# vimrc-arch-base-latest-master-py3: {extends: '.test_instance'}
# default-gentoo-stage3-latest-master-py3: {extends: '.test_instance'}
# vimrc-gentoo-stage3-latest-master-py3: {extends: '.test_instance'}
# default-gentoo-stage3-systemd-master-py3: {extends: '.test_instance'}
# vimrc-gentoo-stage3-systemd-master-py3: {extends: '.test_instance'}
# default-almalinux-8-master-py3: {extends: '.test_instance'}
vimrc-almalinux-8-master-py3: {extends: '.test_instance'}
# default-rockylinux-8-master-py3: {extends: '.test_instance'}
vimrc-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\.$)

View File

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

View File

@ -1,6 +1,15 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
################################################################################
# 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'
@ -22,8 +31,10 @@ script:
## Stages and jobs matrix
stages:
- test
- name: 'release'
if: 'branch = master AND type != pull_request'
# # 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 test stage that runs the linters (and testing matrix, if applicable)
@ -55,39 +66,106 @@ jobs:
@commitlint/travis-cli
- commitlint-travis
# 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=vimrc-debian-11-master-py3
# - env: INSTANCE=default-debian-10-master-py3
- env: INSTANCE=vimrc-debian-10-master-py3
# - env: INSTANCE=default-debian-9-master-py3
- env: INSTANCE=vimrc-debian-9-master-py3
# - env: INSTANCE=default-ubuntu-2204-master-py3
- env: INSTANCE=vimrc-ubuntu-2204-master-py3
# - env: INSTANCE=default-ubuntu-2004-master-py3
- env: INSTANCE=vimrc-ubuntu-2004-master-py3
# - env: INSTANCE=default-ubuntu-1804-master-py3
# - env: INSTANCE=default-centos-8-master-py3
# - env: INSTANCE=default-fedora-31-master-py3
# - env: INSTANCE=default-opensuse-leap-151-master-py3
- env: INSTANCE=vimrc-ubuntu-1804-master-py3
# - env: INSTANCE=default-centos-stream8-master-py3
- env: INSTANCE=vimrc-centos-stream8-master-py3
# - env: INSTANCE=default-centos-7-master-py3
- env: INSTANCE=vimrc-centos-7-master-py3
# - env: INSTANCE=default-fedora-36-master-py3
- env: INSTANCE=vimrc-fedora-36-master-py3
# - env: INSTANCE=default-fedora-35-master-py3
- env: INSTANCE=vimrc-fedora-35-master-py3
# - env: INSTANCE=default-opensuse-leap-153-master-py3
- env: INSTANCE=vimrc-opensuse-leap-153-master-py3
# - env: INSTANCE=default-opensuse-tmbl-latest-master-py3
- env: INSTANCE=vimrc-opensuse-tmbl-latest-master-py3
# - env: INSTANCE=default-amazonlinux-2-master-py3
# - env: INSTANCE=default-debian-10-2019-2-py3
# - env: INSTANCE=default-debian-9-2019-2-py3
- env: INSTANCE=default-ubuntu-1804-2019-2-py3
# - env: INSTANCE=default-centos-8-2019-2-py3
# - env: INSTANCE=default-fedora-31-2019-2-py3
- env: INSTANCE=default-opensuse-leap-151-2019-2-py3
# - env: INSTANCE=default-centos-7-2019-2-py2
- env: INSTANCE=default-amazonlinux-2-2019-2-py3
# - env: INSTANCE=default-arch-base-latest-2019-2-py2
- env: INSTANCE=default-fedora-30-2018-3-py3
# - env: INSTANCE=default-debian-9-2018-3-py2
# - env: INSTANCE=default-ubuntu-1604-2018-3-py2
# - env: INSTANCE=default-centos-7-2018-3-py2
# - env: INSTANCE=default-opensuse-leap-151-2018-3-py2
# - env: INSTANCE=default-amazonlinux-1-2018-3-py2
# - env: INSTANCE=default-arch-base-latest-2018-3-py2
# - env: INSTANCE=default-debian-8-2017-7-py2
# - env: INSTANCE=default-ubuntu-1604-2017-7-py2
- env: INSTANCE=default-centos-6-2017-7-py2
# - env: INSTANCE=default-fedora-30-2017-7-py2
# - env: INSTANCE=default-opensuse-leap-151-2017-7-py2
# - env: INSTANCE=default-amazonlinux-1-2017-7-py2
# - env: INSTANCE=default-arch-base-latest-2017-7-py2
- env: INSTANCE=vimrc-amazonlinux-2-master-py3
# - env: INSTANCE=default-oraclelinux-8-master-py3
- env: INSTANCE=vimrc-oraclelinux-8-master-py3
# - env: INSTANCE=default-oraclelinux-7-master-py3
- env: INSTANCE=vimrc-oraclelinux-7-master-py3
# - env: INSTANCE=default-arch-base-latest-master-py3
# - env: INSTANCE=vimrc-arch-base-latest-master-py3
# - env: INSTANCE=default-gentoo-stage3-latest-master-py3
# - env: INSTANCE=vimrc-gentoo-stage3-latest-master-py3
# - env: INSTANCE=default-gentoo-stage3-systemd-master-py3
# - env: INSTANCE=vimrc-gentoo-stage3-systemd-master-py3
# - env: INSTANCE=default-almalinux-8-master-py3
- env: INSTANCE=vimrc-almalinux-8-master-py3
# - env: INSTANCE=default-rockylinux-8-master-py3
- env: INSTANCE=vimrc-rockylinux-8-master-py3
# - env: INSTANCE=default-debian-11-3004-1-py3
# - env: INSTANCE=default-debian-10-3004-1-py3
# - env: INSTANCE=default-debian-9-3004-1-py3
# - env: INSTANCE=default-ubuntu-2204-3004-1-py3
# - env: INSTANCE=default-ubuntu-2004-3004-1-py3
# - env: INSTANCE=default-ubuntu-1804-3004-1-py3
# - env: INSTANCE=default-centos-stream8-3004-1-py3
# - env: INSTANCE=default-centos-7-3004-1-py3
# - env: INSTANCE=default-fedora-36-3004-1-py3
# - env: INSTANCE=default-fedora-35-3004-1-py3
# - env: INSTANCE=default-amazonlinux-2-3004-1-py3
# - env: INSTANCE=default-oraclelinux-8-3004-1-py3
# - env: INSTANCE=default-oraclelinux-7-3004-1-py3
# - env: INSTANCE=default-arch-base-latest-3004-1-py3
# - env: INSTANCE=default-gentoo-stage3-latest-3004-1-py3
# - env: INSTANCE=default-gentoo-stage3-systemd-3004-1-py3
# - env: INSTANCE=default-almalinux-8-3004-1-py3
# - env: INSTANCE=default-rockylinux-8-3004-1-py3
# - env: INSTANCE=default-opensuse-leap-153-3004-0-py3
# - env: INSTANCE=default-opensuse-tmbl-latest-3004-0-py3
# - env: INSTANCE=default-debian-10-3003-4-py3
# - env: INSTANCE=default-debian-9-3003-4-py3
# - env: INSTANCE=default-ubuntu-2004-3003-4-py3
# - env: INSTANCE=default-ubuntu-1804-3003-4-py3
# - env: INSTANCE=default-centos-stream8-3003-4-py3
# - env: INSTANCE=default-centos-7-3003-4-py3
# - env: INSTANCE=default-amazonlinux-2-3003-4-py3
# - env: INSTANCE=default-oraclelinux-8-3003-4-py3
# - env: INSTANCE=default-oraclelinux-7-3003-4-py3
# - env: INSTANCE=default-almalinux-8-3003-4-py3
## Define the release stage that runs `semantic-release`
- stage: 'release'

View File

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

View File

@ -4,93 +4,92 @@ This list is sorted by the number of commits per contributor in _descending_ ord
Avatar|Contributor|Contributions
:-:|---|:-:
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/10231489?v=4' width='36' height='36' alt='@myii'>|[@myii](https://github.com/myii)|63
<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)|42
<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)|30
<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)|14
<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)|13
<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)|13
<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)|13
<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)|10
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/807283?v=4' width='36' height='36' alt='@hatifnatt'>|[@hatifnatt](https://github.com/hatifnatt)|10
<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)|9
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/219284?v=4' width='36' height='36' alt='@kossmac'>|[@kossmac](https://github.com/kossmac)|7
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/445200?v=4' width='36' height='36' alt='@arthurlogilab'>|[@arthurlogilab](https://github.com/arthurlogilab)|6
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/358074?v=4' width='36' height='36' alt='@pcdummy'>|[@pcdummy](https://github.com/pcdummy)|6
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/1920805?v=4' width='36' height='36' alt='@alxwr'>|[@alxwr](https://github.com/alxwr)|6
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/56635?v=4' width='36' height='36' alt='@pprkut'>|[@pprkut](https://github.com/pprkut)|5
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/1566437?v=4' width='36' height='36' alt='@bkmit'>|[@bkmit](https://github.com/bkmit)|4
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/3768412?v=4' width='36' height='36' alt='@stp-ip'>|[@stp-ip](https://github.com/stp-ip)|4
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/1179135?v=4' width='36' height='36' alt='@spoage'>|[@spoage](https://github.com/spoage)|4
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/1731256?v=4' width='36' height='36' alt='@madflojo'>|[@madflojo](https://github.com/madflojo)|4
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/398720?v=4' width='36' height='36' alt='@tiger-seo'>|[@tiger-seo](https://github.com/tiger-seo)|4
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/2094680?v=4' width='36' height='36' alt='@daschatten'>|[@daschatten](https://github.com/daschatten)|4
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/34150?v=4' width='36' height='36' alt='@ashb'>|[@ashb](https://github.com/ashb)|3
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/6368493?v=4' width='36' height='36' alt='@tardypad'>|[@tardypad](https://github.com/tardypad)|3
<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)|3
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/830800?v=4' width='36' height='36' alt='@johtso'>|[@johtso](https://github.com/johtso)|3
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/566830?v=4' width='36' height='36' alt='@TJuberg'>|[@TJuberg](https://github.com/TJuberg)|3
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/62993?v=4' width='36' height='36' alt='@outime'>|[@outime](https://github.com/outime)|3
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/1329679?v=4' width='36' height='36' alt='@ashokrajar'>|[@ashokrajar](https://github.com/ashokrajar)|3
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/6215293?v=4' width='36' height='36' alt='@0xf10e'>|[@0xf10e](https://github.com/0xf10e)|3
<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)|3
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/25098428?v=4' width='36' height='36' alt='@IMBArator'>|[@IMBArator](https://github.com/IMBArator)|3
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/529?v=4' width='36' height='36' alt='@auser'>|[@auser](https://github.com/auser)|3
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/8048380?v=4' width='36' height='36' alt='@7oku'>|[@7oku](https://github.com/7oku)|2
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/98422?v=4' width='36' height='36' alt='@hipikat'>|[@hipikat](https://github.com/hipikat)|2
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/941928?v=4' width='36' height='36' alt='@amontalban'>|[@amontalban](https://github.com/amontalban)|2
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/5629480?v=4' width='36' height='36' alt='@sacr0'>|[@sacr0](https://github.com/sacr0)|2
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/1497328?v=4' width='36' height='36' alt='@bsundsrud'>|[@bsundsrud](https://github.com/bsundsrud)|2
<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)|2
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/361167?v=4' width='36' height='36' alt='@eedgar'>|[@eedgar](https://github.com/eedgar)|2
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/3012076?v=4' width='36' height='36' alt='@fzipi'>|[@fzipi](https://github.com/fzipi)|2
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/611471?v=4' width='36' height='36' alt='@duk3luk3'>|[@duk3luk3](https://github.com/duk3luk3)|2
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/1396356?v=4' width='36' height='36' alt='@jerryjvl'>|[@jerryjvl](https://github.com/jerryjvl)|2
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/2995329?v=4' width='36' height='36' alt='@t0fik'>|[@t0fik](https://github.com/t0fik)|2
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/12301397?v=4' width='36' height='36' alt='@konstest'>|[@konstest](https://github.com/konstest)|2
<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)|2
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/1013915?v=4' width='36' height='36' alt='@rhertzog'>|[@rhertzog](https://github.com/rhertzog)|2
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/1014038?v=4' width='36' height='36' alt='@roedie'>|[@roedie](https://github.com/roedie)|2
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/48047858?v=4' width='36' height='36' alt='@sevrob'>|[@sevrob](https://github.com/sevrob)|2
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/92530?v=4' width='36' height='36' alt='@qno'>|[@qno](https://github.com/qno)|2
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/8886397?v=4' width='36' height='36' alt='@tomduijf'>|[@tomduijf](https://github.com/tomduijf)|2
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/1175567?v=4' width='36' height='36' alt='@xen0n'>|[@xen0n](https://github.com/xen0n)|2
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/2365261?v=4' width='36' height='36' alt='@jraby'>|[@jraby](https://github.com/jraby)|2
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/8862016?v=4' width='36' height='36' alt='@luitzifa'>|[@luitzifa](https://github.com/luitzifa)|2
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/4610462?v=4' width='36' height='36' alt='@gnuts'>|[@gnuts](https://github.com/gnuts)|2
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/22272?v=4' width='36' height='36' alt='@sroegner'>|[@sroegner](https://github.com/sroegner)|2
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/306633?v=4' width='36' height='36' alt='@c10b10'>|[@c10b10](https://github.com/c10b10)|1
<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)|1
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/320670?v=4' width='36' height='36' alt='@colekowalski'>|[@colekowalski](https://github.com/colekowalski)|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://avatars1.githubusercontent.com/u/234554?v=4' width='36' height='36' alt='@diegows'>|[@diegows](https://github.com/diegows)|1
<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)|1
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/63707175?v=4' width='36' height='36' alt='@mitt-fn'>|[@mitt-fn](https://github.com/mitt-fn)|1
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/129202?v=4' width='36' height='36' alt='@cornmander'>|[@cornmander](https://github.com/cornmander)|1
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/47106309?v=4' width='36' height='36' alt='@glecoquierre'>|[@glecoquierre](https://github.com/glecoquierre)|1
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/39297319?v=4' width='36' height='36' alt='@dulgheru'>|[@dulgheru](https://github.com/dulgheru)|1
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/1683995?v=4' width='36' height='36' alt='@inthecloud247'>|[@inthecloud247](https://github.com/inthecloud247)|1
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/26563851?v=4' width='36' height='36' alt='@chenmen'>|[@chenmen](https://github.com/chenmen)|1
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/387511?v=4' width='36' height='36' alt='@philpep'>|[@philpep](https://github.com/philpep)|1
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/347685?v=4' width='36' height='36' alt='@ChronoPositron'>|[@ChronoPositron](https://github.com/ChronoPositron)|1
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/327943?v=4' width='36' height='36' alt='@Cottser'>|[@Cottser](https://github.com/Cottser)|1
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/1484494?v=4' width='36' height='36' alt='@SMillerDev'>|[@SMillerDev](https://github.com/SMillerDev)|1
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/5349238?v=4' width='36' height='36' alt='@skandyla'>|[@skandyla](https://github.com/skandyla)|1
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/131665?v=4' width='36' height='36' alt='@iamseth'>|[@iamseth](https://github.com/iamseth)|1
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/530874?v=4' width='36' height='36' alt='@shawnbutts'>|[@shawnbutts](https://github.com/shawnbutts)|1
<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)|1
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/9932586?v=4' width='36' height='36' alt='@SkypLabs'>|[@SkypLabs](https://github.com/SkypLabs)|1
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/1132799?v=4' width='36' height='36' alt='@slawekp'>|[@slawekp](https://github.com/slawekp)|1
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/56102?v=4' width='36' height='36' alt='@soniah'>|[@soniah](https://github.com/soniah)|1
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/47721?v=4' width='36' height='36' alt='@titilambert'>|[@titilambert](https://github.com/titilambert)|1
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/444668?v=4' width='36' height='36' alt='@tobio'>|[@tobio](https://github.com/tobio)|1
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/642928?v=4' width='36' height='36' alt='@tomasfejfar'>|[@tomasfejfar](https://github.com/tomasfejfar)|1
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/16322427?v=4' width='36' height='36' alt='@adnanJP'>|[@adnanJP](https://github.com/adnanJP)|1
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/15616818?v=4' width='36' height='36' alt='@jasonious'>|[@jasonious](https://github.com/jasonious)|1
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/10122937?v=4' width='36' height='36' alt='@ketzacoatl'>|[@ketzacoatl](https://github.com/ketzacoatl)|1
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/11669303?v=4' width='36' height='36' alt='@maschinetheist'>|[@maschinetheist](https://github.com/maschinetheist)|1
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/8436451?v=4' width='36' height='36' alt='@nike38rus'>|[@nike38rus](https://github.com/nike38rus)|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)|143
<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)|42
<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)|30
<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)|14
<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)|14
<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)|13
<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)|13
<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)|10
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/807283?v=4' width='36' height='36' alt='@hatifnatt'>|[@hatifnatt](https://github.com/hatifnatt)|10
<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)|9
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/219284?v=4' width='36' height='36' alt='@kossmac'>|[@kossmac](https://github.com/kossmac)|7
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/445200?v=4' width='36' height='36' alt='@arthurzenika'>|[@arthurzenika](https://github.com/arthurzenika)|6
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1920805?v=4' width='36' height='36' alt='@alxwr'>|[@alxwr](https://github.com/alxwr)|6
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/56635?v=4' width='36' height='36' alt='@pprkut'>|[@pprkut](https://github.com/pprkut)|5
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1566437?v=4' width='36' height='36' alt='@bkmit'>|[@bkmit](https://github.com/bkmit)|4
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/3768412?v=4' width='36' height='36' alt='@stp-ip'>|[@stp-ip](https://github.com/stp-ip)|4
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1179135?v=4' width='36' height='36' alt='@spoage'>|[@spoage](https://github.com/spoage)|4
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1731256?v=4' width='36' height='36' alt='@madflojo'>|[@madflojo](https://github.com/madflojo)|4
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/398720?v=4' width='36' height='36' alt='@tiger-seo'>|[@tiger-seo](https://github.com/tiger-seo)|4
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2094680?v=4' width='36' height='36' alt='@daschatten'>|[@daschatten](https://github.com/daschatten)|4
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/34150?v=4' width='36' height='36' alt='@ashb'>|[@ashb](https://github.com/ashb)|3
<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/6368493?v=4' width='36' height='36' alt='@tardypad'>|[@tardypad](https://github.com/tardypad)|3
<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)|3
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/830800?v=4' width='36' height='36' alt='@johtso'>|[@johtso](https://github.com/johtso)|3
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/566830?v=4' width='36' height='36' alt='@TJuberg'>|[@TJuberg](https://github.com/TJuberg)|3
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/62993?v=4' width='36' height='36' alt='@outime'>|[@outime](https://github.com/outime)|3
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1329679?v=4' width='36' height='36' alt='@ashokrajar'>|[@ashokrajar](https://github.com/ashokrajar)|3
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/6215293?v=4' width='36' height='36' alt='@0xf10e'>|[@0xf10e](https://github.com/0xf10e)|3
<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)|3
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/25098428?v=4' width='36' height='36' alt='@IMBArator'>|[@IMBArator](https://github.com/IMBArator)|3
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/529?v=4' width='36' height='36' alt='@auser'>|[@auser](https://github.com/auser)|3
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/98422?v=4' width='36' height='36' alt='@hipikat'>|[@hipikat](https://github.com/hipikat)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/941928?v=4' width='36' height='36' alt='@amontalban'>|[@amontalban](https://github.com/amontalban)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/5629480?v=4' width='36' height='36' alt='@sacr0'>|[@sacr0](https://github.com/sacr0)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1497328?v=4' width='36' height='36' alt='@bsundsrud'>|[@bsundsrud](https://github.com/bsundsrud)|2
<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)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/361167?v=4' width='36' height='36' alt='@eedgar'>|[@eedgar](https://github.com/eedgar)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/611471?v=4' width='36' height='36' alt='@duk3luk3'>|[@duk3luk3](https://github.com/duk3luk3)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1396356?v=4' width='36' height='36' alt='@jerryjvl'>|[@jerryjvl](https://github.com/jerryjvl)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2995329?v=4' width='36' height='36' alt='@t0fik'>|[@t0fik](https://github.com/t0fik)|2
<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)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1013915?v=4' width='36' height='36' alt='@rhertzog'>|[@rhertzog](https://github.com/rhertzog)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1014038?v=4' width='36' height='36' alt='@roedie'>|[@roedie](https://github.com/roedie)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/48047858?v=4' width='36' height='36' alt='@sevrob'>|[@sevrob](https://github.com/sevrob)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/92530?v=4' width='36' height='36' alt='@qno'>|[@qno](https://github.com/qno)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/8886397?v=4' width='36' height='36' alt='@tomduijf'>|[@tomduijf](https://github.com/tomduijf)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1175567?v=4' width='36' height='36' alt='@xen0n'>|[@xen0n](https://github.com/xen0n)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2365261?v=4' width='36' height='36' alt='@jraby'>|[@jraby](https://github.com/jraby)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/8862016?v=4' width='36' height='36' alt='@luitzifa'>|[@luitzifa](https://github.com/luitzifa)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/4610462?v=4' width='36' height='36' alt='@gnuts'>|[@gnuts](https://github.com/gnuts)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/22272?v=4' width='36' height='36' alt='@sroegner'>|[@sroegner](https://github.com/sroegner)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/306633?v=4' width='36' height='36' alt='@c10b10'>|[@c10b10](https://github.com/c10b10)|1
<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)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/320670?v=4' width='36' height='36' alt='@colekowalski'>|[@colekowalski](https://github.com/colekowalski)|1
<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)|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/234554?v=4' width='36' height='36' alt='@diegows'>|[@diegows](https://github.com/diegows)|1
<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)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/63707175?v=4' width='36' height='36' alt='@mitt-fn'>|[@mitt-fn](https://github.com/mitt-fn)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/129202?v=4' width='36' height='36' alt='@cornmander'>|[@cornmander](https://github.com/cornmander)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/47106309?v=4' width='36' height='36' alt='@glecoquierre'>|[@glecoquierre](https://github.com/glecoquierre)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/39297319?v=4' width='36' height='36' alt='@dulgheru'>|[@dulgheru](https://github.com/dulgheru)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1683995?v=4' width='36' height='36' alt='@inthecloud247'>|[@inthecloud247](https://github.com/inthecloud247)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/26563851?v=4' width='36' height='36' alt='@chenmen'>|[@chenmen](https://github.com/chenmen)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/387511?v=4' width='36' height='36' alt='@philpep'>|[@philpep](https://github.com/philpep)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/347685?v=4' width='36' height='36' alt='@ChronoPositron'>|[@ChronoPositron](https://github.com/ChronoPositron)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/327943?v=4' width='36' height='36' alt='@Cottser'>|[@Cottser](https://github.com/Cottser)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1484494?v=4' width='36' height='36' alt='@SMillerDev'>|[@SMillerDev](https://github.com/SMillerDev)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/5349238?v=4' width='36' height='36' alt='@skandyla'>|[@skandyla](https://github.com/skandyla)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/131665?v=4' width='36' height='36' alt='@iamseth'>|[@iamseth](https://github.com/iamseth)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/530874?v=4' width='36' height='36' alt='@shawnbutts'>|[@shawnbutts](https://github.com/shawnbutts)|1
<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)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/9932586?v=4' width='36' height='36' alt='@SkypLabs'>|[@SkypLabs](https://github.com/SkypLabs)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1132799?v=4' width='36' height='36' alt='@slawekp'>|[@slawekp](https://github.com/slawekp)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/56102?v=4' width='36' height='36' alt='@soniah'>|[@soniah](https://github.com/soniah)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/47721?v=4' width='36' height='36' alt='@titilambert'>|[@titilambert](https://github.com/titilambert)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/113170?v=4' width='36' height='36' alt='@TimJones'>|[@TimJones](https://github.com/TimJones)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/444668?v=4' width='36' height='36' alt='@tobio'>|[@tobio](https://github.com/tobio)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/642928?v=4' width='36' height='36' alt='@tomasfejfar'>|[@tomasfejfar](https://github.com/tomasfejfar)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/31479898?v=4' width='36' height='36' alt='@unilogicbv'>|[@unilogicbv](https://github.com/unilogicbv)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/16322427?v=4' width='36' height='36' alt='@adnanJP'>|[@adnanJP](https://github.com/adnanJP)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/10122937?v=4' width='36' height='36' alt='@ketzacoatl'>|[@ketzacoatl](https://github.com/ketzacoatl)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/11669303?v=4' width='36' height='36' alt='@mikepietruszka'>|[@mikepietruszka](https://github.com/mikepietruszka)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/8436451?v=4' width='36' height='36' alt='@nike38rus'>|[@nike38rus](https://github.com/nike38rus)|1
---
Auto-generated by a [forked version](https://github.com/myii/maintainer) of [gaocegege/maintainer](https://github.com/gaocegege/maintainer) on 2020-10-02.
Auto-generated by a [forked version](https://github.com/myii/maintainer) of [gaocegege/maintainer](https://github.com/gaocegege/maintainer) on 2022-06-09.

View File

@ -1,5 +1,68 @@
# Changelog
## [0.48.8](https://github.com/saltstack-formulas/users-formula/compare/v0.48.7...v0.48.8) (2022-06-09)
### Bug Fixes
* **googleauth:** ensure newline is preserved in `repl` of `file.replace` ([1dd5f32](https://github.com/saltstack-formulas/users-formula/commit/1dd5f32a52b2e20b1fd58b23b260217b0144ad63))
### Continuous Integration
* update `pre-commit` configuration inc. for pre-commit.ci [skip ci] ([8dce714](https://github.com/saltstack-formulas/users-formula/commit/8dce714dcd6205bebf903be01acf2d99a892c9d8))
* **kitchen+gitlab:** update for new pre-salted images [skip ci] ([6ebb05a](https://github.com/saltstack-formulas/users-formula/commit/6ebb05a00289a3f27de3f24995610e7659f450f3))
### Tests
* **system:** add `build_platform_codename` [skip ci] ([95cefb3](https://github.com/saltstack-formulas/users-formula/commit/95cefb36ab62ea2bca792cf4080f69b4cef2697c))
* **system.rb:** add support for `mac_os_x` [skip ci] ([321fdcf](https://github.com/saltstack-formulas/users-formula/commit/321fdcfd975faae3ae08b3df3d5d0a6bd6d39e6b))
## [0.48.7](https://github.com/saltstack-formulas/users-formula/compare/v0.48.6...v0.48.7) (2022-02-13)
### Code Refactoring
* **salt-lint:** fix violation ([696139a](https://github.com/saltstack-formulas/users-formula/commit/696139a841b4984e0a20965c6156752d9de79941))
### Continuous Integration
* update linters to latest versions [skip ci] ([a4fb2c6](https://github.com/saltstack-formulas/users-formula/commit/a4fb2c638070a36d9cd7b48406a00e2bfd1611e7))
* **3003.1:** update inc. AlmaLinux, Rocky & `rst-lint` [skip ci] ([ec9506d](https://github.com/saltstack-formulas/users-formula/commit/ec9506da14f4bfb089b90b87fb3144d07fa6f2e7))
* **commitlint:** ensure `upstream/master` uses main repo URL [skip ci] ([2f0db66](https://github.com/saltstack-formulas/users-formula/commit/2f0db666e49838ab58dd644a0f76201f8a24b2e8))
* **gemfile:** allow rubygems proxy to be provided as an env var [skip ci] ([47cfe0e](https://github.com/saltstack-formulas/users-formula/commit/47cfe0ecd7ff697562da5a37e046ce1d18a105b6))
* **gemfile+lock:** use `ssf` customised `inspec` repo [skip ci] ([6ad3c6a](https://github.com/saltstack-formulas/users-formula/commit/6ad3c6a1482a24b24bef33aab14808003852e560))
* **gemfile+lock:** use `ssf` customised `kitchen-docker` repo [skip ci] ([8698fa5](https://github.com/saltstack-formulas/users-formula/commit/8698fa535f294d1165549fc41998e2a124e78cc8))
* **gitlab-ci:** add `rubocop` linter (with `allow_failure`) [skip ci] ([9b8b6e6](https://github.com/saltstack-formulas/users-formula/commit/9b8b6e6a82aa300933ea2d3e0c05fc265fa53195))
* **gitlab-ci:** use GitLab CI as Travis CI replacement ([3c879df](https://github.com/saltstack-formulas/users-formula/commit/3c879df9535578edbca4a6592571ccd16aff6148))
* **kitchen:** move `provisioner` block & update `run_command` [skip ci] ([72c64ad](https://github.com/saltstack-formulas/users-formula/commit/72c64adbea8f2e31c3b6d6bb54b5f6f9e6e9437d))
* **kitchen+ci:** update with `3004` pre-salted images/boxes [skip ci] ([4a8452a](https://github.com/saltstack-formulas/users-formula/commit/4a8452a266300d5c40429b7c1a4276c96afb1519))
* **kitchen+ci:** update with latest `3003.2` pre-salted images [skip ci] ([6de2acb](https://github.com/saltstack-formulas/users-formula/commit/6de2acbe93aba57bdfb5be6c45049796f1f0e3a9))
* **kitchen+ci:** update with latest CVE pre-salted images [skip ci] ([22c21e4](https://github.com/saltstack-formulas/users-formula/commit/22c21e490e7f693c9a12c4d2b996f263c9ebe5c0))
* **kitchen+ci:** use latest pre-salted images (after CVE) [skip ci] ([dabc4b7](https://github.com/saltstack-formulas/users-formula/commit/dabc4b742ada383a7e5f6c4f376381380106e6d2))
* **kitchen+gitlab:** adjust matrix to add `3003` [skip ci] ([34c757a](https://github.com/saltstack-formulas/users-formula/commit/34c757a9bb9967530168a3f4892c7c8c8d5b79ba))
* **kitchen+gitlab:** remove Ubuntu 16.04 & Fedora 32 (EOL) [skip ci] ([3935693](https://github.com/saltstack-formulas/users-formula/commit/3935693b589ead4b4a479a10c5a0216ab5b39f7f))
* **kitchen+gitlab:** update for new pre-salted images [skip ci] ([0bff9fb](https://github.com/saltstack-formulas/users-formula/commit/0bff9fba4cf56154e5e5247639da90870d837c0a))
* add `arch-master` to matrix and update `.travis.yml` [skip ci] ([632dc3c](https://github.com/saltstack-formulas/users-formula/commit/632dc3cc4b0d957bdb6bc51b942e37688163cb5e))
* add Debian 11 Bullseye & update `yamllint` configuration [skip ci] ([0c49302](https://github.com/saltstack-formulas/users-formula/commit/0c493020eef811bc95beea9674ecdbc229a1e7a8))
* **kitchen+gitlab-ci:** use latest pre-salted images [skip ci] ([c260fe7](https://github.com/saltstack-formulas/users-formula/commit/c260fe712669632c3f25c3cd1d778d70f9c7f88a))
* **pre-commit:** add to formula [skip ci] ([d0e7c0a](https://github.com/saltstack-formulas/users-formula/commit/d0e7c0a19e940fecefd0df5c2061cf50d733da73))
* **pre-commit:** enable/disable `rstcheck` as relevant [skip ci] ([013b2cd](https://github.com/saltstack-formulas/users-formula/commit/013b2cd3b84b80b32fae966d10b92f9da979ecf0))
* **pre-commit:** finalise `rstcheck` configuration [skip ci] ([89c3c8f](https://github.com/saltstack-formulas/users-formula/commit/89c3c8f80606fd9266267c35a34e907b214ebca3))
* **pre-commit:** update hook for `rubocop` [skip ci] ([0e7c6a3](https://github.com/saltstack-formulas/users-formula/commit/0e7c6a38969aea06d1b2c9e9c0135e71717dca5c))
### Documentation
* **readme:** fix headings [skip ci] ([7d06cd5](https://github.com/saltstack-formulas/users-formula/commit/7d06cd56dd2ed355f5117a88d91749a0639dca64))
### Tests
* standardise use of `share` suite & `_mapdata` state [skip ci] ([2a7c0de](https://github.com/saltstack-formulas/users-formula/commit/2a7c0de4aaf287a56ff96cabd900531740f097f5))
## [0.48.6](https://github.com/saltstack-formulas/users-formula/compare/v0.48.5...v0.48.6) (2020-10-02)

View File

@ -14,16 +14,24 @@
# 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
/users/libsaltcli.jinja @saltstack-formulas/ssf
/users/libtofs.jinja @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
@ -36,6 +44,8 @@
/Gemfile @saltstack-formulas/ssf
/Gemfile.lock @saltstack-formulas/ssf
/kitchen.yml @saltstack-formulas/ssf
/kitchen.vagrant.yml @saltstack-formulas/ssf
/kitchen.windows.yml @saltstack-formulas/ssf
/pre-commit_semantic-release.sh @saltstack-formulas/ssf
/release-rules.js @saltstack-formulas/ssf
/release.config.js @saltstack-formulas/ssf

View File

@ -1,7 +1,7 @@
name: users
os: Debian, Ubuntu, Raspbian, RedHat, Fedora, CentOS, Suse, openSUSE, Gentoo, Funtoo, Arch, Manjaro, Alpine, FreeBSD, OpenBSD, Solaris, SmartOS, Windows, MacOS
os_family: Debian, RedHat, Suse, Gentoo, Arch, Alpine, FreeBSD, OpenBSD, Solaris, Windows, MacOS
version: 0.48.6
version: 0.48.8
release: 1
minimum_version: 2017.7
summary: users formula

20
Gemfile
View File

@ -1,7 +1,19 @@
# frozen_string_literal: true
source 'https://rubygems.org'
source ENV.fetch('PROXY_RUBYGEMSORG', 'https://rubygems.org')
gem 'kitchen-docker', '>= 2.9'
gem 'kitchen-inspec', '>= 1.1'
gem 'kitchen-salt', '>= 0.6.0'
# Install the `inspec` gem using `git` because versions after `4.22.22`
# suppress diff output; this version fixes this for our uses.
# rubocop:disable Layout/LineLength
gem 'inspec', git: 'https://gitlab.com/saltstack-formulas/infrastructure/inspec', branch: 'ssf'
# rubocop:enable Layout/LineLength
# Install the `kitchen-docker` gem using `git` in order to gain a performance
# improvement: avoid package installations which are already covered by the
# `salt-image-builder` (i.e. the pre-salted images that we're using)
# rubocop:disable Layout/LineLength
gem 'kitchen-docker', git: 'https://gitlab.com/saltstack-formulas/infrastructure/kitchen-docker', branch: 'ssf'
# rubocop:enable Layout/LineLength
gem 'kitchen-inspec', '>= 2.5.0'
gem 'kitchen-salt', '>= 0.7.2'

View File

@ -1,315 +1,418 @@
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 (5.2.4.3)
activesupport (7.0.3.1)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2)
minitest (~> 5.1)
tzinfo (~> 1.1)
addressable (2.7.0)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0)
aws-eventstream (1.1.0)
aws-partitions (1.338.0)
aws-sdk-apigateway (1.48.0)
aws-sdk-core (~> 3, >= 3.99.0)
ast (2.4.2)
aws-eventstream (1.2.0)
aws-partitions (1.607.0)
aws-sdk-alexaforbusiness (1.56.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-apigatewayv2 (1.23.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-amplify (1.32.0)
aws-sdk-core (~> 3, >= 3.120.0)
aws-sigv4 (~> 1.1)
aws-sdk-athena (1.30.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-apigateway (1.78.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-autoscaling (1.22.0)
aws-sdk-core (~> 3, >= 3.52.1)
aws-sdk-apigatewayv2 (1.42.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-budgets (1.32.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-applicationautoscaling (1.51.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudformation (1.41.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-athena (1.55.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudfront (1.33.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-autoscaling (1.63.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudhsm (1.24.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-batch (1.47.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudhsmv2 (1.26.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-budgets (1.50.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudtrail (1.26.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-cloudformation (1.70.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudwatch (1.41.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-cloudfront (1.65.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudwatchlogs (1.34.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-cloudhsm (1.39.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-codecommit (1.37.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-cloudhsmv2 (1.42.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-codedeploy (1.34.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-cloudtrail (1.49.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-codepipeline (1.34.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-cloudwatch (1.64.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-configservice (1.48.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-cloudwatchevents (1.46.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-core (3.103.0)
aws-sdk-cloudwatchlogs (1.53.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-codecommit (1.51.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-codedeploy (1.49.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-codepipeline (1.53.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-cognitoidentity (1.31.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-cognitoidentityprovider (1.53.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-configservice (1.79.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-core (3.131.2)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.239.0)
aws-partitions (~> 1, >= 1.525.0)
aws-sigv4 (~> 1.1)
jmespath (~> 1.0)
aws-sdk-costandusagereportservice (1.24.0)
aws-sdk-core (~> 3, >= 3.99.0)
jmespath (~> 1, >= 1.6.1)
aws-sdk-costandusagereportservice (1.40.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-dynamodb (1.51.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-databasemigrationservice (1.53.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-ec2 (1.174.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-dynamodb (1.75.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-ecr (1.34.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-ec2 (1.322.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-ecs (1.67.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-ecr (1.56.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-efs (1.32.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-ecrpublic (1.12.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-eks (1.39.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-ecs (1.100.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-elasticache (1.40.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-efs (1.54.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-elasticbeanstalk (1.34.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-eks (1.75.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-elasticloadbalancing (1.25.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-elasticache (1.78.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-elasticloadbalancingv2 (1.47.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-elasticbeanstalk (1.51.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-elasticsearchservice (1.39.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-elasticloadbalancing (1.40.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-firehose (1.31.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-elasticloadbalancingv2 (1.78.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-iam (1.43.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-elasticsearchservice (1.65.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-kafka (1.23.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-emr (1.53.0)
aws-sdk-core (~> 3, >= 3.121.2)
aws-sigv4 (~> 1.1)
aws-sdk-kinesis (1.26.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-eventbridge (1.24.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-kms (1.36.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-firehose (1.48.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-lambda (1.46.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-glue (1.88.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-organizations (1.17.0)
aws-sdk-core (~> 3, >= 3.39.0)
aws-sigv4 (~> 1.0)
aws-sdk-rds (1.92.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-guardduty (1.58.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-redshift (1.46.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-iam (1.69.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-route53 (1.40.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-kafka (1.50.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-route53domains (1.25.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-kinesis (1.41.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-route53resolver (1.17.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-kms (1.57.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.73.0)
aws-sdk-core (~> 3, >= 3.102.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-securityhub (1.29.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-secretsmanager (1.46.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-ses (1.33.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-securityhub (1.67.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-sms (1.23.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-servicecatalog (1.60.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-sns (1.27.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-ses (1.41.0)
aws-sdk-core (~> 3, >= 3.120.0)
aws-sigv4 (~> 1.1)
aws-sdk-sqs (1.30.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-shield (1.48.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-ssm (1.84.0)
aws-sdk-core (~> 3, >= 3.99.0)
aws-sdk-signer (1.32.0)
aws-sdk-core (~> 3, >= 3.120.0)
aws-sigv4 (~> 1.1)
aws-sigv4 (1.2.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.6)
azure_mgmt_key_vault (0.17.7)
ms_rest_azure (~> 0.12.0)
azure_mgmt_resources (0.17.9)
azure_mgmt_resources (0.18.2)
ms_rest_azure (~> 0.12.0)
azure_mgmt_security (0.18.2)
azure_mgmt_security (0.19.0)
ms_rest_azure (~> 0.12.0)
azure_mgmt_storage (0.21.2)
azure_mgmt_storage (0.23.0)
ms_rest_azure (~> 0.12.0)
bcrypt_pbkdf (1.0.1)
bcrypt_pbkdf (1.1.0)
bson (4.15.0)
builder (3.2.4)
chef-config (16.2.73)
chef-config (17.10.0)
addressable
chef-utils (= 16.2.73)
chef-utils (= 17.10.0)
fuzzyurl
mixlib-config (>= 2.2.12, < 4.0)
mixlib-shellout (>= 2.0, < 4.0)
tomlrb (~> 1.2)
chef-telemetry (1.0.8)
chef-telemetry (1.1.1)
chef-config
concurrent-ruby (~> 1.0)
ffi-yajl (~> 2.2)
chef-utils (16.2.73)
chef-utils (17.10.0)
concurrent-ruby
coderay (1.1.3)
concurrent-ruby (1.1.6)
concurrent-ruby (1.1.10)
cookstyle (7.32.1)
rubocop (= 1.25.1)
declarative (0.0.20)
declarative-option (0.1.0)
diff-lcs (1.4.4)
docker-api (1.34.2)
diff-lcs (1.5.0)
docker-api (2.2.0)
excon (>= 0.47.0)
multi_json
domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0)
ecma-re-validator (0.2.1)
regexp_parser (~> 1.2)
ed25519 (1.2.4)
equatable (0.6.1)
erubi (1.9.0)
excon (0.75.0)
faraday (0.17.3)
ed25519 (1.3.0)
erubi (1.10.0)
excon (0.92.3)
faraday (1.4.3)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
faraday-net_http (~> 1.0)
faraday-net_http_persistent (~> 1.1)
multipart-post (>= 1.2, < 3)
faraday-cookie_jar (0.0.6)
faraday (>= 0.7.4)
ruby2_keywords (>= 0.0.4)
faraday-cookie_jar (0.0.7)
faraday (>= 0.8.0)
http-cookie (~> 1.0.0)
faraday_middleware (0.12.2)
faraday (>= 0.7.4, < 1.0)
ffi (1.13.1)
ffi-yajl (2.3.3)
libyajl2 (~> 1.2)
faraday-em_http (1.0.0)
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-net_http (1.0.1)
faraday-net_http_persistent (1.2.0)
faraday_middleware (1.0.0)
faraday (~> 1.0)
ffi (1.15.5)
fuzzyurl (0.9.0)
google-api-client (0.34.1)
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.10.0)
faraday (~> 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.12)
gssapi (1.3.0)
signet (~> 0.14)
gssapi (1.3.1)
ffi (>= 1.0.1)
gyoku (1.3.1)
gyoku (1.4.0)
builder (>= 2.1.2)
hana (1.3.6)
hashie (3.6.0)
htmlentities (4.3.4)
http-cookie (1.0.3)
rexml (~> 3.0)
hashie (4.1.0)
highline (2.0.3)
http-cookie (1.0.5)
domain_name (~> 0.5)
httpclient (2.8.3)
i18n (1.8.3)
i18n (1.12.0)
concurrent-ruby (~> 1.0)
inifile (3.0.0)
inspec (4.21.3)
faraday_middleware (~> 0.12.2)
inspec-core (= 4.21.3)
train (~> 3.0)
train-aws (~> 0.1)
train-habitat (~> 0.1)
train-winrm (~> 0.2)
inspec-core (4.21.3)
addressable (~> 2.4)
chef-telemetry (~> 1.0)
faraday (>= 0.9.0)
hashie (~> 3.4)
htmlentities (~> 4.3)
json_schemer (~> 0.2.1)
license-acceptance (>= 0.2.13, < 2.0)
method_source (>= 0.8, < 2.0)
mixlib-log (~> 3.0)
multipart-post (~> 2.0)
parallel (~> 1.9)
parslet (~> 1.5)
pry (~> 0.13)
rspec (~> 3.9)
rspec-its (~> 1.2)
rubyzip (~> 1.2, >= 1.2.2)
semverse (~> 3.0)
sslshake (~> 1.2)
term-ansicolor (~> 1.7)
thor (>= 0.20, < 2.0)
tomlrb (~> 1.2.0)
train-core (~> 3.0)
tty-prompt (~> 0.17)
tty-table (~> 0.10)
jmespath (1.4.0)
json (2.3.1)
json_schemer (0.2.11)
ecma-re-validator (~> 0.2)
hana (~> 1.3)
regexp_parser (~> 1.5)
uri_template (~> 0.7)
jwt (2.2.1)
kitchen-docker (2.10.0)
test-kitchen (>= 1.0.0)
kitchen-inspec (2.0.0)
hashie (~> 3.4)
inspec (>= 2.2.64, < 5.0)
test-kitchen (>= 1.6, < 3)
kitchen-salt (0.6.3)
jmespath (1.6.1)
json (2.6.2)
jwt (2.4.1)
kitchen-inspec (2.6.1)
hashie (>= 3.4, <= 5.0)
inspec (>= 2.2.64, < 7.0)
test-kitchen (>= 2.7, < 4)
kitchen-salt (0.7.2)
hashie (>= 3.5)
test-kitchen (>= 1.4)
libyajl2 (1.2.0)
license-acceptance (1.0.19)
license-acceptance (2.1.13)
pastel (~> 0.7)
tomlrb (~> 1.2)
tty-box (~> 0.3)
tty-prompt (~> 0.18)
tomlrb (>= 1.2, < 3.0)
tty-box (~> 0.6)
tty-prompt (~> 0.20)
little-plugger (1.1.4)
logging (2.3.0)
logging (2.3.1)
little-plugger (~> 1.1)
multi_json (~> 1.14)
memoist (0.16.2)
method_source (1.0.0)
mini_mime (1.0.2)
minitest (5.14.1)
mixlib-config (3.0.6)
mini_mime (1.1.2)
minitest (5.16.2)
mixlib-config (3.0.27)
tomlrb
mixlib-install (3.12.1)
mixlib-install (3.12.19)
mixlib-shellout
mixlib-versioning
thor
mixlib-log (3.0.8)
mixlib-shellout (3.0.9)
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)
@ -319,68 +422,86 @@ GEM
faraday (>= 0.9, < 2.0.0)
faraday-cookie_jar (~> 0.0.6)
ms_rest (~> 0.7.6)
multi_json (1.14.1)
multipart-post (2.1.1)
necromancer (0.5.1)
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)
os (1.1.0)
parallel (1.19.2)
options (2.3.2)
os (1.1.4)
parallel (1.22.1)
parser (3.1.2.0)
ast (~> 2.4.1)
parslet (1.8.2)
pastel (0.7.4)
equatable (~> 0.6)
pastel (0.8.0)
tty-color (~> 0.5)
pry (0.13.1)
progress_bar (1.3.3)
highline (>= 1.6, < 3)
options (~> 2.3.0)
pry (0.14.1)
coderay (~> 1.1)
method_source (~> 1.0)
public_suffix (4.0.5)
regexp_parser (1.7.1)
representable (3.0.4)
public_suffix (4.0.7)
rainbow (3.1.1)
rake (13.0.6)
regexp_parser (2.5.0)
representable (3.2.0)
declarative (< 0.1.0)
declarative-option (< 0.2.0)
trailblazer-option (>= 0.1.1, < 0.2.0)
uber (< 0.2.0)
retriable (3.1.2)
rspec (3.9.0)
rspec-core (~> 3.9.0)
rspec-expectations (~> 3.9.0)
rspec-mocks (~> 3.9.0)
rspec-core (3.9.2)
rspec-support (~> 3.9.3)
rspec-expectations (3.9.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.9.0)
rspec-support (~> 3.11.0)
rspec-its (1.3.0)
rspec-core (>= 3.0.0)
rspec-expectations (>= 3.0.0)
rspec-mocks (3.9.1)
rspec-mocks (3.11.1)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.9.0)
rspec-support (3.9.3)
rubyntlm (0.6.2)
rubyzip (1.3.0)
semverse (3.0.0)
signet (0.14.0)
addressable (~> 2.3)
faraday (>= 0.17.3, < 2.0)
rspec-support (~> 3.11.0)
rspec-support (3.11.0)
rubocop (1.25.1)
parallel (~> 1.10)
parser (>= 3.1.0.0)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml
rubocop-ast (>= 1.15.1, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 3.0)
rubocop-ast (1.19.1)
parser (>= 3.1.1.0)
ruby-progressbar (1.11.0)
ruby2_keywords (0.0.5)
rubyntlm (0.6.3)
rubyzip (2.3.2)
semverse (3.0.2)
signet (0.17.0)
addressable (~> 2.8)
faraday (>= 0.17.5, < 3.a)
jwt (>= 1.5, < 3.0)
multi_json (~> 1.10)
sslshake (1.3.1)
strings (0.1.8)
strings-ansi (~> 0.1)
unicode-display_width (~> 1.5)
strings (0.2.1)
strings-ansi (~> 0.2)
unicode-display_width (>= 1.5, < 3.0)
unicode_utils (~> 1.4)
strings-ansi (0.2.0)
sync (0.5.0)
term-ansicolor (1.7.1)
tins (~> 1.0)
test-kitchen (2.5.2)
test-kitchen (3.3.1)
bcrypt_pbkdf (~> 1.0)
chef-utils (>= 16.4.35)
ed25519 (~> 1.2)
license-acceptance (~> 1.0, >= 1.0.11)
license-acceptance (>= 1.0.11, < 3.0)
mixlib-install (~> 3.6)
mixlib-shellout (>= 1.2, < 4.0)
net-scp (>= 1.1, < 4.0)
@ -390,30 +511,32 @@ GEM
winrm (~> 2.0)
winrm-elevated (~> 1.0)
winrm-fs (~> 1.1)
thor (1.0.1)
thread_safe (0.3.6)
thor (1.2.1)
timeliness (0.3.10)
tins (1.25.0)
sync
tomlrb (1.2.9)
train (3.3.6)
activesupport (>= 5.2.4.3, < 6.0.0)
tomlrb (1.3.0)
trailblazer-option (0.1.2)
train (3.10.1)
activesupport (>= 6.0.3.1)
azure_graph_rbac (~> 0.16)
azure_mgmt_key_vault (~> 0.17)
azure_mgmt_resources (~> 0.15)
azure_mgmt_security (~> 0.18)
azure_mgmt_storage (~> 0.18)
docker-api (~> 1.26)
google-api-client (>= 0.23.9, < 0.35.0)
googleauth (>= 0.6.6, < 0.11.0)
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.3.6)
train-core (= 3.10.1)
train-winrm (~> 0.2)
train-aws (0.1.17)
train-aws (0.2.24)
aws-sdk-alexaforbusiness (~> 1.0)
aws-sdk-amplify (~> 1.32.0)
aws-sdk-apigateway (~> 1.0)
aws-sdk-apigatewayv2 (~> 1.0)
aws-sdk-applicationautoscaling (>= 1.46, < 1.52)
aws-sdk-athena (~> 1.0)
aws-sdk-autoscaling (~> 1.22.0)
aws-sdk-autoscaling (>= 1.22, < 1.64)
aws-sdk-batch (>= 1.36, < 1.48)
aws-sdk-budgets (~> 1.0)
aws-sdk-cloudformation (~> 1.0)
aws-sdk-cloudfront (~> 1.0)
@ -421,16 +544,21 @@ GEM
aws-sdk-cloudhsmv2 (~> 1.0)
aws-sdk-cloudtrail (~> 1.8)
aws-sdk-cloudwatch (~> 1.13)
aws-sdk-cloudwatchevents (>= 1.36, < 1.47)
aws-sdk-cloudwatchlogs (~> 1.13)
aws-sdk-codecommit (~> 1.0)
aws-sdk-codedeploy (~> 1.0)
aws-sdk-codepipeline (~> 1.0)
aws-sdk-cognitoidentity (>= 1.26, < 1.32)
aws-sdk-cognitoidentityprovider (>= 1.46, < 1.54)
aws-sdk-configservice (~> 1.21)
aws-sdk-core (~> 3.0)
aws-sdk-costandusagereportservice (~> 1.6)
aws-sdk-databasemigrationservice (>= 1.42, < 1.54)
aws-sdk-dynamodb (~> 1.31)
aws-sdk-ec2 (~> 1.70)
aws-sdk-ecr (~> 1.18)
aws-sdk-ecrpublic (~> 1.3)
aws-sdk-ecs (~> 1.30)
aws-sdk-efs (~> 1.0)
aws-sdk-eks (~> 1.9)
@ -439,67 +567,82 @@ GEM
aws-sdk-elasticloadbalancing (~> 1.8)
aws-sdk-elasticloadbalancingv2 (~> 1.0)
aws-sdk-elasticsearchservice (~> 1.0)
aws-sdk-emr (~> 1.53.0)
aws-sdk-eventbridge (~> 1.24.0)
aws-sdk-firehose (~> 1.0)
aws-sdk-glue (>= 1.71, < 1.89)
aws-sdk-guardduty (~> 1.31)
aws-sdk-iam (~> 1.13)
aws-sdk-kafka (~> 1.0)
aws-sdk-kinesis (~> 1.0)
aws-sdk-kms (~> 1.13)
aws-sdk-lambda (~> 1.0)
aws-sdk-organizations (~> 1.17.0)
aws-sdk-mq (~> 1.40.0)
aws-sdk-networkfirewall (>= 1.6.0)
aws-sdk-networkmanager (>= 1.13.0)
aws-sdk-organizations (>= 1.17, < 1.60)
aws-sdk-ram (>= 1.21, < 1.27)
aws-sdk-rds (~> 1.43)
aws-sdk-redshift (~> 1.0)
aws-sdk-route53 (~> 1.0)
aws-sdk-route53domains (~> 1.0)
aws-sdk-route53resolver (~> 1.0)
aws-sdk-s3 (~> 1.30)
aws-sdk-s3control (~> 1.43.0)
aws-sdk-secretsmanager (>= 1.42, < 1.47)
aws-sdk-securityhub (~> 1.0)
aws-sdk-ses (~> 1.0)
aws-sdk-servicecatalog (>= 1.48, < 1.61)
aws-sdk-ses (~> 1.41.0)
aws-sdk-shield (~> 1.30)
aws-sdk-signer (~> 1.32.0)
aws-sdk-simpledb (~> 1.29.0)
aws-sdk-sms (~> 1.0)
aws-sdk-sns (~> 1.9)
aws-sdk-sqs (~> 1.10)
aws-sdk-ssm (~> 1.0)
train-core (3.3.6)
aws-sdk-states (>= 1.35, < 1.40)
aws-sdk-synthetics (~> 1.19.0)
aws-sdk-transfer (>= 1.26, < 1.35)
aws-sdk-waf (~> 1.43.0)
train-core (3.10.1)
addressable (~> 2.5)
ffi (!= 1.13.0)
json (>= 1.8, < 3.0)
mixlib-shellout (>= 2.0, < 4.0)
net-scp (>= 1.2, < 4.0)
net-ssh (>= 2.9, < 7.0)
train-habitat (0.2.13)
train-winrm (0.2.6)
winrm (~> 2.0)
train-habitat (0.2.22)
train-winrm (0.2.13)
winrm (>= 2.3.6, < 3.0)
winrm-elevated (~> 1.2.2)
winrm-fs (~> 1.0)
tty-box (0.5.0)
pastel (~> 0.7.2)
strings (~> 0.1.6)
tty-box (0.7.0)
pastel (~> 0.8)
strings (~> 0.2.0)
tty-cursor (~> 0.7)
tty-color (0.5.1)
tty-color (0.6.0)
tty-cursor (0.7.1)
tty-prompt (0.21.0)
necromancer (~> 0.5.0)
pastel (~> 0.7.0)
tty-reader (~> 0.7.0)
tty-reader (0.7.0)
tty-prompt (0.23.1)
pastel (~> 0.8)
tty-reader (~> 0.8)
tty-reader (0.9.0)
tty-cursor (~> 0.7)
tty-screen (~> 0.7)
wisper (~> 2.0.0)
tty-screen (0.8.0)
tty-table (0.11.0)
equatable (~> 0.6)
necromancer (~> 0.5)
pastel (~> 0.7.2)
strings (~> 0.1.5)
tty-screen (~> 0.7)
tzinfo (1.2.7)
thread_safe (~> 0.1)
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.7.7)
unicode-display_width (1.7.0)
unf_ext (0.0.8.2)
unicode-display_width (2.2.0)
unicode_utils (1.4.0)
uri_template (0.7.0)
winrm (2.3.4)
winrm (2.3.6)
builder (>= 2.1.2)
erubi (~> 1.8)
gssapi (~> 1.2)
@ -507,15 +650,15 @@ GEM
httpclient (~> 2.2, >= 2.2.0.2)
logging (>= 1.6.1, < 3.0)
nori (~> 2.0)
rubyntlm (~> 0.6.0, >= 0.6.1)
winrm-elevated (1.2.1)
rubyntlm (~> 0.6.0, >= 0.6.3)
winrm-elevated (1.2.3)
erubi (~> 1.8)
winrm (~> 2.0)
winrm-fs (~> 1.0)
winrm-fs (1.3.3)
winrm-fs (1.3.5)
erubi (~> 1.8)
logging (>= 1.6.1, < 3.0)
rubyzip (~> 1.1)
rubyzip (~> 2.0)
winrm (~> 2.0)
wisper (2.0.1)
@ -523,9 +666,10 @@ PLATFORMS
ruby
DEPENDENCIES
kitchen-docker (>= 2.9)
kitchen-inspec (>= 1.1)
kitchen-salt (>= 0.6.0)
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

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

View File

@ -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,266 +13,263 @@ This list is sorted by the number of commits per contributor in *descending* ord
* - Avatar
- Contributor
- Contributions
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/10231489?v=4' width='36' height='36' alt='@myii'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/10231489?v=4' width='36' height='36' alt='@myii'>`
- `@myii <https://github.com/myii>`_
- 63
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/1800660?v=4' width='36' height='36' alt='@aboe76'>`
- 143
* - :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>`_
- 42
* - :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>`_
- 30
* - :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/528061?v=4' width='36' height='36' alt='@puneetk'>`
- `@puneetk <https://github.com/puneetk>`_
- 14
* - :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/13322818?v=4' width='36' height='36' alt='@noelmcloughlin'>`
- `@noelmcloughlin <https://github.com/noelmcloughlin>`_
- 14
* - :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>`_
- 13
* - :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>`_
- 13
* - :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>`_
- 13
* - :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/287147?v=4' width='36' height='36' alt='@techhat'>`
- `@techhat <https://github.com/techhat>`_
- 10
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/807283?v=4' width='36' height='36' alt='@hatifnatt'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/807283?v=4' width='36' height='36' alt='@hatifnatt'>`
- `@hatifnatt <https://github.com/hatifnatt>`_
- 10
* - :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/117961?v=4' width='36' height='36' alt='@babilen'>`
- `@babilen <https://github.com/babilen>`_
- 9
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/219284?v=4' width='36' height='36' alt='@kossmac'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/219284?v=4' width='36' height='36' alt='@kossmac'>`
- `@kossmac <https://github.com/kossmac>`_
- 7
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/445200?v=4' width='36' height='36' alt='@arthurlogilab'>`
- `@arthurlogilab <https://github.com/arthurlogilab>`_
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/445200?v=4' width='36' height='36' alt='@arthurzenika'>`
- `@arthurzenika <https://github.com/arthurzenika>`_
- 6
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/358074?v=4' width='36' height='36' alt='@pcdummy'>`
- `@pcdummy <https://github.com/pcdummy>`_
- 6
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/1920805?v=4' width='36' height='36' alt='@alxwr'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1920805?v=4' width='36' height='36' alt='@alxwr'>`
- `@alxwr <https://github.com/alxwr>`_
- 6
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/56635?v=4' width='36' height='36' alt='@pprkut'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/56635?v=4' width='36' height='36' alt='@pprkut'>`
- `@pprkut <https://github.com/pprkut>`_
- 5
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/1566437?v=4' width='36' height='36' alt='@bkmit'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1566437?v=4' width='36' height='36' alt='@bkmit'>`
- `@bkmit <https://github.com/bkmit>`_
- 4
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/3768412?v=4' width='36' height='36' alt='@stp-ip'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/3768412?v=4' width='36' height='36' alt='@stp-ip'>`
- `@stp-ip <https://github.com/stp-ip>`_
- 4
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/1179135?v=4' width='36' height='36' alt='@spoage'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1179135?v=4' width='36' height='36' alt='@spoage'>`
- `@spoage <https://github.com/spoage>`_
- 4
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/1731256?v=4' width='36' height='36' alt='@madflojo'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1731256?v=4' width='36' height='36' alt='@madflojo'>`
- `@madflojo <https://github.com/madflojo>`_
- 4
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/398720?v=4' width='36' height='36' alt='@tiger-seo'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/398720?v=4' width='36' height='36' alt='@tiger-seo'>`
- `@tiger-seo <https://github.com/tiger-seo>`_
- 4
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/2094680?v=4' width='36' height='36' alt='@daschatten'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2094680?v=4' width='36' height='36' alt='@daschatten'>`
- `@daschatten <https://github.com/daschatten>`_
- 4
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/34150?v=4' width='36' height='36' alt='@ashb'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/34150?v=4' width='36' height='36' alt='@ashb'>`
- `@ashb <https://github.com/ashb>`_
- 3
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/6368493?v=4' width='36' height='36' alt='@tardypad'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/4195158?v=4' width='36' height='36' alt='@dafyddj'>`
- `@dafyddj <https://github.com/dafyddj>`_
- 3
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/6368493?v=4' width='36' height='36' alt='@tardypad'>`
- `@tardypad <https://github.com/tardypad>`_
- 3
* - :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>`_
- 3
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/830800?v=4' width='36' height='36' alt='@johtso'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/830800?v=4' width='36' height='36' alt='@johtso'>`
- `@johtso <https://github.com/johtso>`_
- 3
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/566830?v=4' width='36' height='36' alt='@TJuberg'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/566830?v=4' width='36' height='36' alt='@TJuberg'>`
- `@TJuberg <https://github.com/TJuberg>`_
- 3
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/62993?v=4' width='36' height='36' alt='@outime'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/62993?v=4' width='36' height='36' alt='@outime'>`
- `@outime <https://github.com/outime>`_
- 3
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/1329679?v=4' width='36' height='36' alt='@ashokrajar'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1329679?v=4' width='36' height='36' alt='@ashokrajar'>`
- `@ashokrajar <https://github.com/ashokrajar>`_
- 3
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/6215293?v=4' width='36' height='36' alt='@0xf10e'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/6215293?v=4' width='36' height='36' alt='@0xf10e'>`
- `@0xf10e <https://github.com/0xf10e>`_
- 3
* - :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>`_
- 3
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/25098428?v=4' width='36' height='36' alt='@IMBArator'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/25098428?v=4' width='36' height='36' alt='@IMBArator'>`
- `@IMBArator <https://github.com/IMBArator>`_
- 3
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/529?v=4' width='36' height='36' alt='@auser'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/529?v=4' width='36' height='36' alt='@auser'>`
- `@auser <https://github.com/auser>`_
- 3
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/8048380?v=4' width='36' height='36' alt='@7oku'>`
- `@7oku <https://github.com/7oku>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/98422?v=4' width='36' height='36' alt='@hipikat'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/98422?v=4' width='36' height='36' alt='@hipikat'>`
- `@hipikat <https://github.com/hipikat>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/941928?v=4' width='36' height='36' alt='@amontalban'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/941928?v=4' width='36' height='36' alt='@amontalban'>`
- `@amontalban <https://github.com/amontalban>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/5629480?v=4' width='36' height='36' alt='@sacr0'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/5629480?v=4' width='36' height='36' alt='@sacr0'>`
- `@sacr0 <https://github.com/sacr0>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/1497328?v=4' width='36' height='36' alt='@bsundsrud'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1497328?v=4' width='36' height='36' alt='@bsundsrud'>`
- `@bsundsrud <https://github.com/bsundsrud>`_
- 2
* - :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>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/361167?v=4' width='36' height='36' alt='@eedgar'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/361167?v=4' width='36' height='36' alt='@eedgar'>`
- `@eedgar <https://github.com/eedgar>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/3012076?v=4' width='36' height='36' alt='@fzipi'>`
- `@fzipi <https://github.com/fzipi>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/611471?v=4' width='36' height='36' alt='@duk3luk3'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/611471?v=4' width='36' height='36' alt='@duk3luk3'>`
- `@duk3luk3 <https://github.com/duk3luk3>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/1396356?v=4' width='36' height='36' alt='@jerryjvl'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1396356?v=4' width='36' height='36' alt='@jerryjvl'>`
- `@jerryjvl <https://github.com/jerryjvl>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/2995329?v=4' width='36' height='36' alt='@t0fik'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2995329?v=4' width='36' height='36' alt='@t0fik'>`
- `@t0fik <https://github.com/t0fik>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/12301397?v=4' width='36' height='36' alt='@konstest'>`
- `@konstest <https://github.com/konstest>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/7139195?v=4' width='36' height='36' alt='@xenophonf'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/7139195?v=4' width='36' height='36' alt='@xenophonf'>`
- `@xenophonf <https://github.com/xenophonf>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/1013915?v=4' width='36' height='36' alt='@rhertzog'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1013915?v=4' width='36' height='36' alt='@rhertzog'>`
- `@rhertzog <https://github.com/rhertzog>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/1014038?v=4' width='36' height='36' alt='@roedie'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1014038?v=4' width='36' height='36' alt='@roedie'>`
- `@roedie <https://github.com/roedie>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/48047858?v=4' width='36' height='36' alt='@sevrob'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/48047858?v=4' width='36' height='36' alt='@sevrob'>`
- `@sevrob <https://github.com/sevrob>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/92530?v=4' width='36' height='36' alt='@qno'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/92530?v=4' width='36' height='36' alt='@qno'>`
- `@qno <https://github.com/qno>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/8886397?v=4' width='36' height='36' alt='@tomduijf'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/8886397?v=4' width='36' height='36' alt='@tomduijf'>`
- `@tomduijf <https://github.com/tomduijf>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/1175567?v=4' width='36' height='36' alt='@xen0n'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1175567?v=4' width='36' height='36' alt='@xen0n'>`
- `@xen0n <https://github.com/xen0n>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/2365261?v=4' width='36' height='36' alt='@jraby'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2365261?v=4' width='36' height='36' alt='@jraby'>`
- `@jraby <https://github.com/jraby>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/8862016?v=4' width='36' height='36' alt='@luitzifa'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/8862016?v=4' width='36' height='36' alt='@luitzifa'>`
- `@luitzifa <https://github.com/luitzifa>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/4610462?v=4' width='36' height='36' alt='@gnuts'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/4610462?v=4' width='36' height='36' alt='@gnuts'>`
- `@gnuts <https://github.com/gnuts>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/22272?v=4' width='36' height='36' alt='@sroegner'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/22272?v=4' width='36' height='36' alt='@sroegner'>`
- `@sroegner <https://github.com/sroegner>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/306633?v=4' width='36' height='36' alt='@c10b10'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/306633?v=4' width='36' height='36' alt='@c10b10'>`
- `@c10b10 <https://github.com/c10b10>`_
- 1
* - :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>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/320670?v=4' width='36' height='36' alt='@colekowalski'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/320670?v=4' width='36' height='36' alt='@colekowalski'>`
- `@colekowalski <https://github.com/colekowalski>`_
- 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/1233212?v=4' width='36' height='36' alt='@baby-gnu'>`
- `@baby-gnu <https://github.com/baby-gnu>`_
- 1
* - :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://avatars1.githubusercontent.com/u/234554?v=4' width='36' height='36' alt='@diegows'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/234554?v=4' width='36' height='36' alt='@diegows'>`
- `@diegows <https://github.com/diegows>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/52996?v=4' width='36' height='36' alt='@daks'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/52996?v=4' width='36' height='36' alt='@daks'>`
- `@daks <https://github.com/daks>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/63707175?v=4' width='36' height='36' alt='@mitt-fn'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/63707175?v=4' width='36' height='36' alt='@mitt-fn'>`
- `@mitt-fn <https://github.com/mitt-fn>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/129202?v=4' width='36' height='36' alt='@cornmander'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/129202?v=4' width='36' height='36' alt='@cornmander'>`
- `@cornmander <https://github.com/cornmander>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/47106309?v=4' width='36' height='36' alt='@glecoquierre'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/47106309?v=4' width='36' height='36' alt='@glecoquierre'>`
- `@glecoquierre <https://github.com/glecoquierre>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/39297319?v=4' width='36' height='36' alt='@dulgheru'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/39297319?v=4' width='36' height='36' alt='@dulgheru'>`
- `@dulgheru <https://github.com/dulgheru>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/1683995?v=4' width='36' height='36' alt='@inthecloud247'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1683995?v=4' width='36' height='36' alt='@inthecloud247'>`
- `@inthecloud247 <https://github.com/inthecloud247>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/26563851?v=4' width='36' height='36' alt='@chenmen'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/26563851?v=4' width='36' height='36' alt='@chenmen'>`
- `@chenmen <https://github.com/chenmen>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/387511?v=4' width='36' height='36' alt='@philpep'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/387511?v=4' width='36' height='36' alt='@philpep'>`
- `@philpep <https://github.com/philpep>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/347685?v=4' width='36' height='36' alt='@ChronoPositron'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/347685?v=4' width='36' height='36' alt='@ChronoPositron'>`
- `@ChronoPositron <https://github.com/ChronoPositron>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/327943?v=4' width='36' height='36' alt='@Cottser'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/327943?v=4' width='36' height='36' alt='@Cottser'>`
- `@Cottser <https://github.com/Cottser>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/1484494?v=4' width='36' height='36' alt='@SMillerDev'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1484494?v=4' width='36' height='36' alt='@SMillerDev'>`
- `@SMillerDev <https://github.com/SMillerDev>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/5349238?v=4' width='36' height='36' alt='@skandyla'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/5349238?v=4' width='36' height='36' alt='@skandyla'>`
- `@skandyla <https://github.com/skandyla>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/131665?v=4' width='36' height='36' alt='@iamseth'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/131665?v=4' width='36' height='36' alt='@iamseth'>`
- `@iamseth <https://github.com/iamseth>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/530874?v=4' width='36' height='36' alt='@shawnbutts'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/530874?v=4' width='36' height='36' alt='@shawnbutts'>`
- `@shawnbutts <https://github.com/shawnbutts>`_
- 1
* - :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>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/9932586?v=4' width='36' height='36' alt='@SkypLabs'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/9932586?v=4' width='36' height='36' alt='@SkypLabs'>`
- `@SkypLabs <https://github.com/SkypLabs>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/1132799?v=4' width='36' height='36' alt='@slawekp'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1132799?v=4' width='36' height='36' alt='@slawekp'>`
- `@slawekp <https://github.com/slawekp>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/56102?v=4' width='36' height='36' alt='@soniah'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/56102?v=4' width='36' height='36' alt='@soniah'>`
- `@soniah <https://github.com/soniah>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/47721?v=4' width='36' height='36' alt='@titilambert'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/47721?v=4' width='36' height='36' alt='@titilambert'>`
- `@titilambert <https://github.com/titilambert>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/444668?v=4' width='36' height='36' alt='@tobio'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/113170?v=4' width='36' height='36' alt='@TimJones'>`
- `@TimJones <https://github.com/TimJones>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/444668?v=4' width='36' height='36' alt='@tobio'>`
- `@tobio <https://github.com/tobio>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/642928?v=4' width='36' height='36' alt='@tomasfejfar'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/642928?v=4' width='36' height='36' alt='@tomasfejfar'>`
- `@tomasfejfar <https://github.com/tomasfejfar>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/16322427?v=4' width='36' height='36' alt='@adnanJP'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/31479898?v=4' width='36' height='36' alt='@unilogicbv'>`
- `@unilogicbv <https://github.com/unilogicbv>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/16322427?v=4' width='36' height='36' alt='@adnanJP'>`
- `@adnanJP <https://github.com/adnanJP>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/15616818?v=4' width='36' height='36' alt='@jasonious'>`
- `@jasonious <https://github.com/jasonious>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/10122937?v=4' width='36' height='36' alt='@ketzacoatl'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/10122937?v=4' width='36' height='36' alt='@ketzacoatl'>`
- `@ketzacoatl <https://github.com/ketzacoatl>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/11669303?v=4' width='36' height='36' alt='@maschinetheist'>`
- `@maschinetheist <https://github.com/maschinetheist>`_
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/11669303?v=4' width='36' height='36' alt='@mikepietruszka'>`
- `@mikepietruszka <https://github.com/mikepietruszka>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/8436451?v=4' width='36' height='36' alt='@nike38rus'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/8436451?v=4' width='36' height='36' alt='@nike38rus'>`
- `@nike38rus <https://github.com/nike38rus>`_
- 1
----
Auto-generated by a `forked version <https://github.com/myii/maintainer>`_ of `gaocegege/maintainer <https://github.com/gaocegege/maintainer>`_ on 2020-10-02.
Auto-generated by a `forked version <https://github.com/myii/maintainer>`_ of `gaocegege/maintainer <https://github.com/gaocegege/maintainer>`_ on 2022-06-09.

View File

@ -2,6 +2,78 @@
Changelog
=========
`0.48.8 <https://github.com/saltstack-formulas/users-formula/compare/v0.48.7...v0.48.8>`_ (2022-06-09)
----------------------------------------------------------------------------------------------------------
Bug Fixes
^^^^^^^^^
* **googleauth:** ensure newline is preserved in ``repl`` of ``file.replace`` (\ `1dd5f32 <https://github.com/saltstack-formulas/users-formula/commit/1dd5f32a52b2e20b1fd58b23b260217b0144ad63>`_\ )
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* update ``pre-commit`` configuration inc. for pre-commit.ci [skip ci] (\ `8dce714 <https://github.com/saltstack-formulas/users-formula/commit/8dce714dcd6205bebf903be01acf2d99a892c9d8>`_\ )
* **kitchen+gitlab:** update for new pre-salted images [skip ci] (\ `6ebb05a <https://github.com/saltstack-formulas/users-formula/commit/6ebb05a00289a3f27de3f24995610e7659f450f3>`_\ )
Tests
^^^^^
* **system:** add ``build_platform_codename`` [skip ci] (\ `95cefb3 <https://github.com/saltstack-formulas/users-formula/commit/95cefb36ab62ea2bca792cf4080f69b4cef2697c>`_\ )
* **system.rb:** add support for ``mac_os_x`` [skip ci] (\ `321fdcf <https://github.com/saltstack-formulas/users-formula/commit/321fdcfd975faae3ae08b3df3d5d0a6bd6d39e6b>`_\ )
`0.48.7 <https://github.com/saltstack-formulas/users-formula/compare/v0.48.6...v0.48.7>`_ (2022-02-13)
----------------------------------------------------------------------------------------------------------
Code Refactoring
^^^^^^^^^^^^^^^^
* **salt-lint:** fix violation (\ `696139a <https://github.com/saltstack-formulas/users-formula/commit/696139a841b4984e0a20965c6156752d9de79941>`_\ )
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* update linters to latest versions [skip ci] (\ `a4fb2c6 <https://github.com/saltstack-formulas/users-formula/commit/a4fb2c638070a36d9cd7b48406a00e2bfd1611e7>`_\ )
* **3003.1:** update inc. AlmaLinux, Rocky & ``rst-lint`` [skip ci] (\ `ec9506d <https://github.com/saltstack-formulas/users-formula/commit/ec9506da14f4bfb089b90b87fb3144d07fa6f2e7>`_\ )
* **commitlint:** ensure ``upstream/master`` uses main repo URL [skip ci] (\ `2f0db66 <https://github.com/saltstack-formulas/users-formula/commit/2f0db666e49838ab58dd644a0f76201f8a24b2e8>`_\ )
* **gemfile:** allow rubygems proxy to be provided as an env var [skip ci] (\ `47cfe0e <https://github.com/saltstack-formulas/users-formula/commit/47cfe0ecd7ff697562da5a37e046ce1d18a105b6>`_\ )
* **gemfile+lock:** use ``ssf`` customised ``inspec`` repo [skip ci] (\ `6ad3c6a <https://github.com/saltstack-formulas/users-formula/commit/6ad3c6a1482a24b24bef33aab14808003852e560>`_\ )
* **gemfile+lock:** use ``ssf`` customised ``kitchen-docker`` repo [skip ci] (\ `8698fa5 <https://github.com/saltstack-formulas/users-formula/commit/8698fa535f294d1165549fc41998e2a124e78cc8>`_\ )
* **gitlab-ci:** add ``rubocop`` linter (with ``allow_failure``\ ) [skip ci] (\ `9b8b6e6 <https://github.com/saltstack-formulas/users-formula/commit/9b8b6e6a82aa300933ea2d3e0c05fc265fa53195>`_\ )
* **gitlab-ci:** use GitLab CI as Travis CI replacement (\ `3c879df <https://github.com/saltstack-formulas/users-formula/commit/3c879df9535578edbca4a6592571ccd16aff6148>`_\ )
* **kitchen:** move ``provisioner`` block & update ``run_command`` [skip ci] (\ `72c64ad <https://github.com/saltstack-formulas/users-formula/commit/72c64adbea8f2e31c3b6d6bb54b5f6f9e6e9437d>`_\ )
* **kitchen+ci:** update with ``3004`` pre-salted images/boxes [skip ci] (\ `4a8452a <https://github.com/saltstack-formulas/users-formula/commit/4a8452a266300d5c40429b7c1a4276c96afb1519>`_\ )
* **kitchen+ci:** update with latest ``3003.2`` pre-salted images [skip ci] (\ `6de2acb <https://github.com/saltstack-formulas/users-formula/commit/6de2acbe93aba57bdfb5be6c45049796f1f0e3a9>`_\ )
* **kitchen+ci:** update with latest CVE pre-salted images [skip ci] (\ `22c21e4 <https://github.com/saltstack-formulas/users-formula/commit/22c21e490e7f693c9a12c4d2b996f263c9ebe5c0>`_\ )
* **kitchen+ci:** use latest pre-salted images (after CVE) [skip ci] (\ `dabc4b7 <https://github.com/saltstack-formulas/users-formula/commit/dabc4b742ada383a7e5f6c4f376381380106e6d2>`_\ )
* **kitchen+gitlab:** adjust matrix to add ``3003`` [skip ci] (\ `34c757a <https://github.com/saltstack-formulas/users-formula/commit/34c757a9bb9967530168a3f4892c7c8c8d5b79ba>`_\ )
* **kitchen+gitlab:** remove Ubuntu 16.04 & Fedora 32 (EOL) [skip ci] (\ `3935693 <https://github.com/saltstack-formulas/users-formula/commit/3935693b589ead4b4a479a10c5a0216ab5b39f7f>`_\ )
* **kitchen+gitlab:** update for new pre-salted images [skip ci] (\ `0bff9fb <https://github.com/saltstack-formulas/users-formula/commit/0bff9fba4cf56154e5e5247639da90870d837c0a>`_\ )
* add ``arch-master`` to matrix and update ``.travis.yml`` [skip ci] (\ `632dc3c <https://github.com/saltstack-formulas/users-formula/commit/632dc3cc4b0d957bdb6bc51b942e37688163cb5e>`_\ )
* add Debian 11 Bullseye & update ``yamllint`` configuration [skip ci] (\ `0c49302 <https://github.com/saltstack-formulas/users-formula/commit/0c493020eef811bc95beea9674ecdbc229a1e7a8>`_\ )
* **kitchen+gitlab-ci:** use latest pre-salted images [skip ci] (\ `c260fe7 <https://github.com/saltstack-formulas/users-formula/commit/c260fe712669632c3f25c3cd1d778d70f9c7f88a>`_\ )
* **pre-commit:** add to formula [skip ci] (\ `d0e7c0a <https://github.com/saltstack-formulas/users-formula/commit/d0e7c0a19e940fecefd0df5c2061cf50d733da73>`_\ )
* **pre-commit:** enable/disable ``rstcheck`` as relevant [skip ci] (\ `013b2cd <https://github.com/saltstack-formulas/users-formula/commit/013b2cd3b84b80b32fae966d10b92f9da979ecf0>`_\ )
* **pre-commit:** finalise ``rstcheck`` configuration [skip ci] (\ `89c3c8f <https://github.com/saltstack-formulas/users-formula/commit/89c3c8f80606fd9266267c35a34e907b214ebca3>`_\ )
* **pre-commit:** update hook for ``rubocop`` [skip ci] (\ `0e7c6a3 <https://github.com/saltstack-formulas/users-formula/commit/0e7c6a38969aea06d1b2c9e9c0135e71717dca5c>`_\ )
Documentation
^^^^^^^^^^^^^
* **readme:** fix headings [skip ci] (\ `7d06cd5 <https://github.com/saltstack-formulas/users-formula/commit/7d06cd56dd2ed355f5117a88d91749a0639dca64>`_\ )
Tests
^^^^^
* standardise use of ``share`` suite & ``_mapdata`` state [skip ci] (\ `2a7c0de <https://github.com/saltstack-formulas/users-formula/commit/2a7c0de4aaf287a56ff96cabd900531740f097f5>`_\ )
`0.48.6 <https://github.com/saltstack-formulas/users-formula/compare/v0.48.5...v0.48.6>`_ (2020-10-02)
----------------------------------------------------------------------------------------------------------

View File

@ -1,7 +1,5 @@
.. _readme:
users
=====
users-formula
=============
|img_travis| |img_sr|
@ -64,7 +62,7 @@ Ensures the bashrc file exists in the users home directory. Sets 'manage_bashrc:
True' in pillar per user. Defaults to False.
``users.profile``
^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^
Ensures the profile file exists in the users home directory. Sets 'manage_profile:
True' in pillar per user. Defaults to False.

View File

@ -6,131 +6,7 @@ driver:
name: docker
use_sudo: false
privileged: true
run_command: /lib/systemd/systemd
# Make sure the platforms listed below match up with
# the `env.matrix` instances defined in `.travis.yml`
platforms:
## SALT `master`
- name: debian-10-master-py3
driver:
image: saltimages/salt-master-py3:debian-10
- name: ubuntu-1804-master-py3
driver:
image: saltimages/salt-master-py3:ubuntu-18.04
- name: centos-8-master-py3
driver:
image: saltimages/salt-master-py3:centos-8
- name: fedora-31-master-py3
driver:
image: saltimages/salt-master-py3:fedora-31
- name: opensuse-leap-151-master-py3
driver:
image: netmanagers/salt-master-py3:opensuse-leap-15.1
run_command: /usr/lib/systemd/systemd
# Workaround to avoid intermittent failures on `opensuse-leap-15.1`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: amazonlinux-2-master-py3
driver:
image: saltimages/salt-master-py3:amazonlinux-2
## SALT `2019.2`
- name: debian-10-2019-2-py3
driver:
image: saltimages/salt-2019.2-py3:debian-10
- name: debian-9-2019-2-py3
driver:
image: saltimages/salt-2019.2-py3:debian-9
- name: ubuntu-1804-2019-2-py3
driver:
image: saltimages/salt-2019.2-py3:ubuntu-18.04
- name: centos-8-2019-2-py3
driver:
image: saltimages/salt-2019.2-py3:centos-8
- name: fedora-31-2019-2-py3
driver:
image: saltimages/salt-2019.2-py3:fedora-31
- name: opensuse-leap-151-2019-2-py3
driver:
image: netmanagers/salt-2019.2-py3:opensuse-leap-15.1
run_command: /usr/lib/systemd/systemd
# Workaround to avoid intermittent failures on `opensuse-leap-15.1`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: centos-7-2019-2-py2
driver:
image: netmanagers/salt-2019.2-py2:centos-7
- name: amazonlinux-2-2019-2-py3
driver:
image: saltimages/salt-2019.2-py3:amazonlinux-2
- name: arch-base-latest-2019-2-py2
driver:
image: saltimages/salt-2019.2-py2:arch-base-latest
run_command: /usr/lib/systemd/systemd
## SALT `2018.3`
- name: fedora-30-2018-3-py3
driver:
image: netmanagers/salt-2018.3-py3:fedora-30
- 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: opensuse-leap-151-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:opensuse-leap-15.1
run_command: /usr/lib/systemd/systemd
# Workaround to avoid intermittent failures on `opensuse-leap-15.1`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: amazonlinux-1-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:amazonlinux-1
run_command: /sbin/init
- name: arch-base-latest-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:arch-base-latest
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-30-2017-7-py2
driver:
image: netmanagers/salt-2017.7-py2:fedora-30
- name: opensuse-leap-151-2017-7-py2
driver:
image: netmanagers/salt-2017.7-py2:opensuse-leap-15.1
run_command: /usr/lib/systemd/systemd
# Workaround to avoid intermittent failures on `opensuse-leap-15.1`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: amazonlinux-1-2017-7-py2
driver:
image: netmanagers/salt-2017.7-py2:amazonlinux-1
run_command: /sbin/init
- name: arch-base-latest-2017-7-py2
driver:
image: netmanagers/salt-2017.7-py2:arch-base-latest
run_command: /usr/lib/systemd/systemd
run_command: /usr/lib/systemd/systemd
provisioner:
name: salt_solo
@ -142,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:
@ -156,6 +272,7 @@ suites:
state_top:
base:
'*':
- users._mapdata
- users
pillars:
top.sls:
@ -169,9 +286,14 @@ suites:
- path: test/integration/default
- name: vimrc
provisioner:
dependencies:
- name: vim
repo: git
source: https://github.com/saltstack-formulas/vim-formula.git
state_top:
base:
'*':
- users._mapdata
- users.vimrc
pillars:
top.sls:
@ -182,10 +304,6 @@ suites:
pillars_from_files:
users.sls: test/salt/pillar/default.sls
vimrc.sls: test/salt/pillar/vimrc.sls
dependencies:
- name: vim
repo: git
source: https://github.com/saltstack-formulas/vim-formula.git
verifier:
inspec_tests:
- path: test/integration/default

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/ || exit
m2r --overwrite ./*.md
m2r2 --overwrite ./*.md
# Change excess `H1` headings to `H2` in converted `CHANGELOG.rst`
sed -i -e '/^=.*$/s/=/-/g' CHANGELOG.rst

View File

@ -1,5 +1,6 @@
module.exports = {
branch: 'master',
repositoryUrl: 'https://github.com/saltstack-formulas/users-formula',
plugins: [
['@semantic-release/commit-analyzer', {
preset: 'angular',

View File

@ -6,6 +6,9 @@ title: users formula
maintainer: SaltStack Formulas
license: Apache-2.0
summary: Verify that the users formula is setup and configured correctly
depends:
- name: share
path: test/integration/share
supports:
- platform-name: debian
- platform-name: ubuntu
@ -14,5 +17,12 @@ supports:
- platform-name: opensuse
- platform-name: suse
- platform-name: freebsd
- platform-name: openbsd
- platform-name: amazon
- platform-name: oracle
- platform-name: arch
- platform-name: gentoo
- platform-name: almalinux
- platform-name: rocky
- platform-name: mac_os_x
- platform: windows

View File

@ -0,0 +1,22 @@
# InSpec Profile: `share`
This shows the implementation of the `share` InSpec [profile](https://github.com/inspec/inspec/blob/master/docs/profiles.md).
Its goal is to share the libraries between all profiles.
## Libraries
### `system`
The `system` library provides easy access to system dependent information:
- `system.platform`: based on `inspec.platform`, modify to values that are more consistent from a SaltStack perspective
- `system.platform[:family]` provide a family name for Arch and Gentoo
- `system.platform[:name]` append `linux` to both `amazon` and `oracle`; ensure Windows platforms are resolved as simply `windows`
- `system.platform[:release]` tweak Arch, Amazon Linux, Gentoo, openSUSE and Windows:
- `Arch` is always `base-latest`
- `Amazon Linux` release `2018` is resolved as `1`
- `Gentoo` release is trimmed to its major version number and then the init system is appended (i.e. `sysv` or `sysd`)
- `openSUSE` is resolved as `tumbleweed` if the `platform[:release]` is in date format
- `Windows` uses the widely-used release number (e.g. `8.1` or `2019-server`) in place of the actual system release version
- `system.platform[:finger]` is the concatenation of the name and the major release number (except for Ubuntu, which gives `ubuntu-20.04` for example)

View File

@ -0,0 +1,25 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
name: share
title: InSpec shared resources
maintainer: SaltStack Formulas
license: Apache-2.0
summary: shared resources
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,138 @@
# frozen_string_literal: true
# system.rb -- InSpec resources for system values
# Author: Daniel Dehennin <daniel.dehennin@ac-dijon.fr>
# Copyright (C) 2020 Daniel Dehennin <daniel.dehennin@ac-dijon.fr>
# rubocop:disable Metrics/ClassLength
class SystemResource < Inspec.resource(1)
name 'system'
attr_reader :platform
def initialize
super
@platform = build_platform
end
private
def build_platform
{
family: build_platform_family,
name: build_platform_name,
release: build_platform_release,
finger: build_platform_finger,
codename: build_platform_codename
}
end
def build_platform_family
case inspec.platform[:name]
when 'arch', 'gentoo'
inspec.platform[:name]
else
inspec.platform[:family]
end
end
def build_platform_name
case inspec.platform[:name]
when 'amazon', 'oracle', 'rocky'
"#{inspec.platform[:name]}linux"
when /^windows_/
inspec.platform[:family]
else
inspec.platform[:name]
end
end
# rubocop:disable Metrics/MethodLength,Metrics/AbcSize,Metrics/CyclomaticComplexity
def build_platform_release
case inspec.platform[:name]
when 'amazon'
# `2018` relase is named `1` in `kitchen.yml`
inspec.platform[:release].gsub(/2018.*/, '1')
when 'arch'
'base-latest'
when 'gentoo'
"#{inspec.platform[:release].split('.')[0]}-#{derive_gentoo_init_system}"
when 'mac_os_x'
inspec.command('sw_vers -productVersion').stdout.to_s
when 'opensuse'
# rubocop:disable Style/NumericLiterals,Layout/LineLength
inspec.platform[:release].to_i > 20210101 ? 'tumbleweed' : inspec.platform[:release]
# rubocop:enable Style/NumericLiterals,Layout/LineLength
when 'windows_8.1_pro'
'8.1'
when 'windows_server_2022_datacenter'
'2022-server'
when 'windows_server_2019_datacenter'
'2019-server'
when 'windows_server_2016_datacenter'
'2016-server'
else
inspec.platform[:release]
end
end
# rubocop:enable Metrics/MethodLength,Metrics/AbcSize,Metrics/CyclomaticComplexity
def derive_gentoo_init_system
inspec.command('systemctl').exist? ? 'sysd' : 'sysv'
end
def build_platform_finger
"#{build_platform_name}-#{build_finger_release}"
end
def build_finger_release
case inspec.platform[:name]
when 'ubuntu'
build_platform_release.split('.').slice(0, 2).join('.')
else
build_platform_release.split('.')[0]
end
end
# rubocop:disable Metrics/MethodLength,Metrics/CyclomaticComplexity
def build_platform_codename
case build_platform_finger
when 'ubuntu-22.04'
'jammy'
when 'ubuntu-20.04'
'focal'
when 'ubuntu-18.04'
'bionic'
when 'debian-11'
'bullseye'
when 'debian-10'
'buster'
when 'debian-9'
'stretch'
when 'almalinux-8'
"AlmaLinux #{build_platform_release} (Arctic Sphynx)"
when 'amazonlinux-2'
'Amazon Linux 2'
when 'arch-base-latest'
'Arch Linux'
when 'centos-7'
'CentOS Linux 7 (Core)'
when 'centos-8'
'CentOS Stream 8'
when 'opensuse-tumbleweed'
'openSUSE Tumbleweed'
when 'opensuse-15'
"openSUSE Leap #{build_platform_release}"
when 'oraclelinux-8', 'oraclelinux-7'
"Oracle Linux Server #{build_platform_release}"
when 'gentoo-2-sysd', 'gentoo-2-sysv'
'Gentoo/Linux'
when 'rockylinux-8'
"Rocky Linux #{build_platform_release} (Green Obsidian)"
else
''
end
end
# rubocop:enable Metrics/MethodLength,Metrics/CyclomaticComplexity
end
# rubocop:enable Metrics/ClassLength

View File

@ -6,6 +6,9 @@ title: users formula
maintainer: SaltStack Formulas
license: Apache-2.0
summary: Verify that the `.vimrc` file is configured correctly for specified users
depends:
- name: share
path: test/integration/share
supports:
- platform-name: debian
- platform-name: ubuntu
@ -14,5 +17,12 @@ supports:
- platform-name: opensuse
- platform-name: suse
- platform-name: freebsd
- platform-name: openbsd
- platform-name: amazon
- platform-name: oracle
- platform-name: arch
- platform-name: gentoo
- platform-name: almalinux
- platform-name: rocky
- platform-name: mac_os_x
- platform: windows

View File

@ -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
users/_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 users with context %}
{%- set _mapdata = {
"values": users,
} %}
{%- 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 }}

View File

@ -19,7 +19,7 @@ users_{{ users.googleauth_dir }}:
{%- if 'google_auth' in user %}
{%- for svc in user['google_auth'] %}
{%- if user.get('google_2fa', True) %}
{%- set repl = '{0} {1} {2} {3} {4}{5}/{6}_{7} {8}\n{9}'.format(
{%- set repl = '{0} {1} {2} {3} {4}{5}/{6}_{7} {8}\\n{9}'.format(
'auth',
'[success=done new_authtok_reqd=done default=die]',
'pam_google_authenticator.so',

View File

@ -495,9 +495,9 @@ users_{{ users.sudoers_dir }}/{{ name }}:
- require:
- file: users_sudoer-defaults
- file: users_sudoer-{{ name }}
cmd.wait:
cmd.run:
- name: visudo -cf {{ users.sudoers_dir }}/{{ sudoers_d_filename }} || ( rm -rvf {{ users.sudoers_dir }}/{{ sudoers_d_filename }}; exit 1 )
- watch:
- onchanges:
- file: {{ users.sudoers_dir }}/{{ sudoers_d_filename }}
{% endif %}
{% else %}