72 Commits

Author SHA1 Message Date
semantic-release-bot
f9b6f36f2b chore(release): 0.41.9 [skip ci]
## [0.41.9](https://github.com/saltstack-formulas/postgres-formula/compare/v0.41.8...v0.41.9) (2021-07-06)

### Bug Fixes

* **osmap.yaml:** fix PGDG repo file creation for Amazon Linux ([2de775b](2de775be1e))

### Continuous Integration

* **3003.1:** update inc. AlmaLinux, Rocky & `rst-lint` [skip ci] ([d16e91c](d16e91ceb0))
* **kitchen+gitlab:** remove Ubuntu 16.04 & Fedora 32 (EOL) [skip ci] ([b690bab](b690bab978))
2021-07-06 14:04:32 +00:00
Imran Iqbal
097d4e4bcf Merge pull request #314 from Niyakiy/dev/fix-amazon-linux-install-from-upstream-repo
fix(osmap.yaml): fix PGDG repo file creation for Amazon Linux 2
2021-07-06 14:58:31 +01:00
Eugene Chepurniy
2de775be1e fix(osmap.yaml): fix PGDG repo file creation for Amazon Linux 2021-07-06 15:11:56 +03:00
Imran Iqbal
d16e91ceb0 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:06:32 +01:00
Imran Iqbal
b690bab978 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:47:30 +01:00
Imran Iqbal
288bea8fac Merge pull request #313 from noelmcloughlin/clena
chore(version): increase default version; remove pid dir on clean; update pillar.example
2021-06-14 13:23:05 +01:00
noelmcloughlin
92e0ad383c chore(version): bump to modern version 2021-06-09 21:43:13 +01:00
noelmcloughlin
9e145be0ed chore(clean): remove directory after pkg remove 2021-06-06 21:12:30 +01:00
semantic-release-bot
1d34f8c56f chore(release): 0.41.8 [skip ci]
## [0.41.8](https://github.com/saltstack-formulas/postgres-formula/compare/v0.41.7...v0.41.8) (2021-05-25)

### Bug Fixes

* **jinja:** use json filter ([eb63ec8](eb63ec85e0))

### Continuous Integration

* add `arch-master` to matrix and update `.travis.yml` [skip ci] ([79feefa](79feefa751))
* **kitchen+gitlab:** adjust matrix to add `3003` [skip ci] ([fd8f0e5](fd8f0e5db5))
* **vagrant:** add FreeBSD 13.0 [skip ci] ([93bb123](93bb123ea1))
* **vagrant:** use pre-salted boxes & conditional local settings [skip ci] ([69812c1](69812c1f62))

### Documentation

* **readme:** fix headings [skip ci] ([c97317c](c97317c39f))
2021-05-25 08:38:31 +00:00
N
45cc47d9f8 Merge pull request #312 from noelmcloughlin/centos
fix(jinja): use json filter
2021-05-25 09:32:37 +01:00
noelmcloughlin
eb63ec85e0 fix(jinja): use json filter 2021-05-20 16:56:08 +01:00
Imran Iqbal
809aaabdbc 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:09:47 +01:00
Imran Iqbal
79feefa751 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:32:58 +01:00
Imran Iqbal
c97317c39f docs(readme): fix headings [skip ci] 2021-05-05 15:16:30 +01:00
Imran Iqbal
fd8f0e5db5 ci(kitchen+gitlab): adjust matrix to add 3003 [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/318
2021-04-23 08:48:44 +01:00
Imran Iqbal
93bb123ea1 ci(vagrant): add FreeBSD 13.0 [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/316
2021-04-20 00:25:25 +01:00
Imran Iqbal
69812c1f62 ci(vagrant): use pre-salted boxes & conditional local settings [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/311
2021-04-05 18:54:52 +01:00
Imran Iqbal
42bb7f8cb8 chore: update CODEOWNERS & .yamllint re: kitchen-vagrant [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/310
2021-04-05 18:21:03 +01:00
semantic-release-bot
01141d1116 chore(release): 0.41.7 [skip ci]
## [0.41.7](https://github.com/saltstack-formulas/postgres-formula/compare/v0.41.6...v0.41.7) (2021-03-26)

### Continuous Integration

* enable Vagrant-based testing using GitHub Actions ([2ebc9c1](2ebc9c11da))
* **kitchen+ci:** use latest pre-salted images (after CVE) [skip ci] ([cc43d1c](cc43d1c90d))

### Documentation

* **readme:** add `Testing with Vagrant` section ([ed2d688](ed2d6884b1))

### Tests

* standardise use of `share` suite & `_mapdata` state [skip ci] ([fc53d97](fc53d977b3))
2021-03-26 16:44:28 +00:00
Imran Iqbal
0ee210c25f Merge pull request #310 from myii/ci/add-vagrant-testing-via-github-actions
ci: enable Vagrant-based testing using GitHub Actions
2021-03-26 16:35:51 +00:00
Imran Iqbal
ed2d6884b1 docs(readme): add Testing with Vagrant section 2021-03-26 14:59:24 +00:00
Imran Iqbal
2ebc9c11da ci: enable Vagrant-based testing using GitHub Actions
* Semi-automated using https://github.com/myii/ssf-formula/pull/304
2021-03-26 11:26:19 +00:00
Imran Iqbal
fc53d977b3 test: standardise use of share suite & _mapdata state [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/302
2021-03-23 21:31:59 +00:00
Imran Iqbal
cc43d1c90d 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:21:34 +00:00
Imran Iqbal
23b1f18dba chore(yamllint): add .git/ to ignores [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/297
2021-03-05 18:34:31 +00:00
semantic-release-bot
ce800b09cd chore(release): 0.41.6 [skip ci]
## [0.41.6](https://github.com/saltstack-formulas/postgres-formula/compare/v0.41.5...v0.41.6) (2021-02-26)

### Bug Fixes

* **repo:** check whether pkg_repo is set ([26b2233](26b223323f))
* **repo:** reorder dependencies to prevent errors ([750d8aa](750d8aab7a))

### Continuous Integration

* **gemfile+lock:** use `ssf` customised `kitchen-docker` repo [skip ci] ([476b15e](476b15e326))
* **kitchen+gitlab-ci:** use latest pre-salted images [skip ci] ([6f04b31](6f04b3191c))
* **pre-commit:** update hook for `rubocop` [skip ci] ([e964c26](e964c26a29))

### Tests

* **command_spec:** fix `rubocop` violation [skip ci] ([73c39af](73c39aff5e))
* **pillar:** update conditional to include Tumbleweed ([e976ee9](e976ee9c99))
2021-02-26 12:53:14 +00:00
sticky-note
ec5d66f94e Merge pull request #309 from netmanagers/master 2021-02-26 23:46:28 +11:00
Javier Bértoli
26b223323f fix(repo): check whether pkg_repo is set 2021-02-26 08:58:20 -03:00
Javier Bértoli
750d8aab7a fix(repo): reorder dependencies to prevent errors 2021-02-25 18:48:20 -03:00
Daniel Dehennin
7d46b273af 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:50:33 +00:00
Dafydd Jones
f3e29a4652 chore(shellcheck): switch hook for shellcheck [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/295
2021-02-21 08:32:59 +00:00
Imran Iqbal
476b15e326 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:52:40 +00:00
Imran Iqbal
6f04b3191c ci(kitchen+gitlab-ci): use latest pre-salted images [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/293
2021-02-14 12:03:07 +00:00
Imran Iqbal
e976ee9c99 test(pillar): update conditional to include Tumbleweed 2021-02-14 11:57:44 +00:00
Imran Iqbal
39be0b5dad chore: standardise structure (.gitignore & _mapdata.rb) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/292
2021-02-11 11:52:37 +00:00
Imran Iqbal
e964c26a29 ci(pre-commit): update hook for rubocop [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/290
2021-02-02 00:22:05 +00:00
Imran Iqbal
73c39aff5e test(command_spec): fix rubocop violation [skip ci]
* https://gitlab.com/myii/postgres-formula/-/pipelines/249943423
2021-02-01 23:06:00 +00:00
semantic-release-bot
53d1ac5994 chore(release): 0.41.5 [skip ci]
## [0.41.5](https://github.com/saltstack-formulas/postgres-formula/compare/v0.41.4...v0.41.5) (2021-01-07)

### Bug Fixes

* **cent7:** postgres11 needs libicu installed ([4c0f796](4c0f796f00))

### Continuous Integration

* **commitlint:** ensure `upstream/master` uses main repo URL [skip ci] ([e84389d](e84389dbb3))
* **gitlab-ci:** add `rubocop` linter (with `allow_failure`) [skip ci] ([2615411](2615411ec0))
2021-01-07 23:00:14 +00:00
N
61299186ff Merge pull request #308 from noelmcloughlin/cent7
fix(centOS): postgres11 needs libicu installed
2021-01-07 22:54:20 +00:00
noelmcloughlin
4c0f796f00 fix(cent7): postgres11 needs libicu installed 2021-01-07 11:47:08 +00:00
Imran Iqbal
e84389dbb3 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:48:48 +00:00
Imran Iqbal
2615411ec0 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:34:25 +00:00
semantic-release-bot
062399fc16 chore(release): 0.41.4 [skip ci]
## [0.41.4](https://github.com/saltstack-formulas/postgres-formula/compare/v0.41.3...v0.41.4) (2020-12-16)

### Bug Fixes

* **archlinux:** avoid nonetype error ([0a6cf8f](0a6cf8fefa))
* **archlinux:** use consistent jinja repo check ([3a955e0](3a955e0270))
* **jinja:** syntax correction ([8b44c06](8b44c068fc))
* **python:** use python3 postres on cent7/8 ([d6d1068](d6d1068395))
* **suse:** version 11+ repo support on suse ([b3f381e](b3f381e547))

### Continuous Integration

* **gitlab-ci:** use GitLab CI as Travis CI replacement ([a45673a](a45673a878))
* **pre-commit:** add to formula [skip ci] ([db1794b](db1794b6bb))
* **pre-commit:** enable/disable `rstcheck` as relevant [skip ci] ([f04d60a](f04d60a773))
* **pre-commit:** finalise `rstcheck` configuration [skip ci] ([7036f60](7036f60e8c))
2020-12-16 06:51:15 +00:00
Imran Iqbal
a45673a878 ci(gitlab-ci): use GitLab CI as Travis CI replacement
* Automated using https://github.com/myii/ssf-formula/pull/275
2020-12-16 06:38:36 +00:00
N
f589e96824 Merge pull request #303 from noelmcloughlin/suse
fix(suse): version 11+ repo support on suse
2020-12-08 10:53:53 +00:00
N
44ac9ff9d4 Merge pull request #306 from noelmcloughlin/pkg
fix(archlinux): avoid nonetype error when grain is missing
2020-12-07 10:24:36 +00:00
noelmcloughlin
0a6cf8fefa fix(archlinux): avoid nonetype error 2020-12-05 23:30:03 +00:00
N
150926401e Merge pull request #304 from noelmcloughlin/archlinux
feat(archlinux): add support
2020-12-05 13:45:46 +00:00
N
e4900b47a1 Merge pull request #305 from noelmcloughlin/pkg
fix(jinja): syntax correction
2020-12-04 14:44:55 +00:00
noelmcloughlin
8b44c068fc fix(jinja): syntax correction 2020-12-04 14:04:56 +00:00
N
d6a6444e0d Merge pull request #301 from noelmcloughlin/pkg
fix(python): use python3 postgres on cent7/8
2020-12-04 09:43:02 +00:00
noelmcloughlin
3a955e0270 fix(archlinux): use consistent jinja repo check 2020-12-03 18:43:42 +00:00
noelmcloughlin
d6d1068395 fix(python): use python3 postres on cent7/8 2020-12-03 11:58:31 +00:00
noelmcloughlin
b3f381e547 fix(suse): version 11+ repo support on suse 2020-12-02 23:33:09 +00:00
Imran Iqbal
5b9de35c59 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:52:52 +00:00
Imran Iqbal
8332a5de2e 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:20:51 +01:00
Imran Iqbal
7036f60e8c ci(pre-commit): finalise rstcheck configuration [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/267
2020-10-10 06:50:58 +01:00
Dafydd Jones
d3d86ba2b7 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:09:01 +01:00
Imran Iqbal
6f73123e18 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:07:20 +01:00
Imran Iqbal
f04d60a773 ci(pre-commit): enable/disable rstcheck as relevant [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/262
2020-10-05 00:23:30 +01:00
Dafydd Jones
db1794b6bb ci(pre-commit): add to formula [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/259
2020-10-03 10:52:11 +01:00
semantic-release-bot
07e15d83e5 chore(release): 0.41.3 [skip ci]
## [0.41.3](https://github.com/saltstack-formulas/postgres-formula/compare/v0.41.2...v0.41.3) (2020-09-29)

### Bug Fixes

* **upstream:** require_in/require use_upstream ([ab6b97e](ab6b97e8c3))
2020-09-29 01:20:32 +00:00
sticky-note
a53b921663 Merge pull request #300 from jle35/require/pkgrepo
fix(upstream): require_in/require use_upstream
2020-09-29 12:11:32 +11:00
Julien Levieil
ab6b97e8c3 fix(upstream): require_in/require use_upstream 2020-09-29 10:55:31 +11:00
semantic-release-bot
50808e8efe chore(release): 0.41.2 [skip ci]
## [0.41.2](https://github.com/saltstack-formulas/postgres-formula/compare/v0.41.1...v0.41.2) (2020-07-27)

### Bug Fixes

* **macros:** fix `format_kwargs` macro ([5e6511b](5e6511b783))

### Continuous Integration

* **kitchen:** ubuntu-2004-master-py3 added ([7978976](7978976543))
* **kitchen+travis:** use latest pre-salted images [skip ci] ([702323c](702323c24d))
* **travis:** ubuntu upgrade from 16 to 18 & 20 ([44568a6](44568a6806))

### Styles

* **libtofs.jinja:** use Black-inspired Jinja formatting [skip ci] ([8735cf8](8735cf8ad1))
2020-07-27 01:27:06 +00:00
Imran Iqbal
21baf28b2f Merge pull request #296 from sticky-note/fix/pwd
fix(macros): fix `format_kwargs` macro
2020-07-27 02:18:48 +01:00
sticky-note
5e6511b783 fix(macros): fix format_kwargs macro 2020-07-27 11:14:24 +11:00
Imran Iqbal
702323c24d ci(kitchen+travis): use latest pre-salted images [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/238
2020-07-20 05:31:49 +01:00
Imran Iqbal
8735cf8ad1 style(libtofs.jinja): use Black-inspired Jinja formatting [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/237
2020-07-19 23:28:10 +01:00
Imran Iqbal
3a3d24a735 Merge pull request #299 from litnialex/master
ci(travis): Ubuntu upgrade from 16 to 18 & 20
2020-07-15 20:38:54 +01:00
LitniAlex
7978976543 ci(kitchen): ubuntu-2004-master-py3 added 2020-07-15 05:39:30 +03:00
LitniAlex
44568a6806 ci(travis): ubuntu upgrade from 16 to 18 & 20 2020-07-15 05:14:02 +03:00
43 changed files with 1876 additions and 551 deletions

38
.github/workflows/kitchen.vagrant.yml vendored Normal file
View File

@@ -0,0 +1,38 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
name: 'Kitchen Vagrant (FreeBSD)'
'on': ['push', 'pull_request']
env:
KITCHEN_LOCAL_YAML: 'kitchen.vagrant.yml'
jobs:
test:
runs-on: 'macos-10.15'
strategy:
fail-fast: false
matrix:
instance:
- default-freebsd-130-master-py3
- default-freebsd-122-master-py3
- default-freebsd-114-master-py3
# - default-freebsd-130-3002-6-py3
# - default-freebsd-122-3002-6-py3
# - default-freebsd-114-3002-6-py3
steps:
- name: 'Check out code'
uses: 'actions/checkout@v2'
- name: 'Set up Bundler cache'
uses: 'actions/cache@v1'
with:
path: 'vendor/bundle'
key: "${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}"
restore-keys: "${{ runner.os }}-gems-"
- name: 'Run Bundler'
run: |
ruby --version
bundle config path vendor/bundle
bundle install --jobs 4 --retry 3
- name: 'Run Test Kitchen'
run: 'bundle exec kitchen verify ${{ matrix.instance }}'

11
.gitignore vendored
View File

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

235
.gitlab-ci.yml Normal file
View File

@@ -0,0 +1,235 @@
# -*- 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/postgres-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/postgres-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:
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}"'
###############################################################################
# `test` stage: each instance below uses the `test` template above
###############################################################################
## Define the rest of the matrix based on Kitchen testing
# Make sure the instances listed below match up with
# the `platforms` defined in `kitchen.yml`
# default-debian-10-tiamat-py3: {extends: '.test_instance'}
# default-debian-9-tiamat-py3: {extends: '.test_instance'}
# default-ubuntu-2004-tiamat-py3: {extends: '.test_instance'}
# default-ubuntu-1804-tiamat-py3: {extends: '.test_instance'}
# default-centos-8-tiamat-py3: {extends: '.test_instance'}
# 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-10-master-py3: {extends: '.test_instance'}
default-debian-9-master-py3: {extends: '.test_instance'}
default-ubuntu-2004-master-py3: {extends: '.test_instance'}
default-ubuntu-1804-master-py3: {extends: '.test_instance'}
default-centos-8-master-py3: {extends: '.test_instance'}
default-centos-7-master-py3: {extends: '.test_instance'}
default-fedora-34-master-py3: {extends: '.test_instance'}
default-fedora-33-master-py3: {extends: '.test_instance'}
default-opensuse-leap-153-master-py3: {extends: '.test_instance'}
default-opensuse-leap-152-master-py3: {extends: '.test_instance'}
default-opensuse-tmbl-latest-master-py3: {extends: '.test_instance'}
default-amazonlinux-2-master-py3: {extends: '.test_instance'}
default-oraclelinux-8-master-py3: {extends: '.test_instance'}
default-oraclelinux-7-master-py3: {extends: '.test_instance'}
default-arch-base-latest-master-py3: {extends: '.test_instance'}
# default-gentoo-stage3-latest-master-py3: {extends: '.test_instance'}
# default-gentoo-stage3-systemd-master-py3: {extends: '.test_instance'}
default-almalinux-8-master-py3: {extends: '.test_instance'}
default-rockylinux-8-master-py3: {extends: '.test_instance'}
# default-debian-10-3003-1-py3: {extends: '.test_instance'}
# default-debian-9-3003-1-py3: {extends: '.test_instance'}
# default-ubuntu-2004-3003-1-py3: {extends: '.test_instance'}
# default-ubuntu-1804-3003-1-py3: {extends: '.test_instance'}
# default-centos-8-3003-1-py3: {extends: '.test_instance'}
# default-centos-7-3003-1-py3: {extends: '.test_instance'}
# default-fedora-34-3003-1-py3: {extends: '.test_instance'}
# default-fedora-33-3003-1-py3: {extends: '.test_instance'}
# default-opensuse-leap-153-3003-1-py3: {extends: '.test_instance'}
# default-opensuse-leap-152-3003-1-py3: {extends: '.test_instance'}
# default-opensuse-tmbl-latest-3003-1-py3: {extends: '.test_instance'}
# default-amazonlinux-2-3003-1-py3: {extends: '.test_instance'}
# default-oraclelinux-8-3003-1-py3: {extends: '.test_instance'}
# default-oraclelinux-7-3003-1-py3: {extends: '.test_instance'}
# default-arch-base-latest-3003-1-py3: {extends: '.test_instance'}
# default-gentoo-stage3-latest-3003-1-py3: {extends: '.test_instance'}
# default-gentoo-stage3-systemd-3003-1-py3: {extends: '.test_instance'}
# default-debian-10-3002-6-py3: {extends: '.test_instance'}
# default-debian-9-3002-6-py3: {extends: '.test_instance'}
# default-ubuntu-2004-3002-6-py3: {extends: '.test_instance'}
# default-ubuntu-1804-3002-6-py3: {extends: '.test_instance'}
# default-centos-8-3002-6-py3: {extends: '.test_instance'}
# default-centos-7-3002-6-py3: {extends: '.test_instance'}
# default-fedora-34-3002-6-py3: {extends: '.test_instance'}
# default-fedora-33-3002-6-py3: {extends: '.test_instance'}
# default-amazonlinux-2-3002-6-py3: {extends: '.test_instance'}
# default-oraclelinux-8-3002-6-py3: {extends: '.test_instance'}
# default-oraclelinux-7-3002-6-py3: {extends: '.test_instance'}
# default-arch-base-latest-3002-6-py3: {extends: '.test_instance'}
# default-gentoo-stage3-latest-3002-6-py3: {extends: '.test_instance'}
# default-gentoo-stage3-systemd-3002-6-py3: {extends: '.test_instance'}
# default-opensuse-leap-153-3002-2-py3: {extends: '.test_instance'}
# default-opensuse-leap-152-3002-2-py3: {extends: '.test_instance'}
# default-opensuse-tmbl-latest-3002-2-py3: {extends: '.test_instance'}
# default-debian-10-3001-7-py3: {extends: '.test_instance'}
# default-debian-9-3001-7-py3: {extends: '.test_instance'}
# default-ubuntu-2004-3001-7-py3: {extends: '.test_instance'}
# default-ubuntu-1804-3001-7-py3: {extends: '.test_instance'}
# default-centos-8-3001-7-py3: {extends: '.test_instance'}
# default-centos-7-3001-7-py3: {extends: '.test_instance'}
# default-fedora-34-3001-7-py3: {extends: '.test_instance'}
# default-fedora-33-3001-7-py3: {extends: '.test_instance'}
# default-opensuse-leap-153-3001-7-py3: {extends: '.test_instance'}
# default-opensuse-leap-152-3001-7-py3: {extends: '.test_instance'}
# default-opensuse-tmbl-latest-3001-7-py3: {extends: '.test_instance'}
# default-amazonlinux-2-3001-7-py3: {extends: '.test_instance'}
# default-oraclelinux-8-3001-7-py3: {extends: '.test_instance'}
# default-oraclelinux-7-3001-7-py3: {extends: '.test_instance'}
# default-arch-base-latest-3001-7-py3: {extends: '.test_instance'}
# default-gentoo-stage3-latest-3001-7-py3: {extends: '.test_instance'}
# default-gentoo-stage3-systemd-3001-7-py3: {extends: '.test_instance'}
# default-debian-10-3000-9-py3: {extends: '.test_instance'}
# default-debian-9-3000-9-py3: {extends: '.test_instance'}
# default-ubuntu-1804-3000-9-py3: {extends: '.test_instance'}
# default-centos-8-3000-9-py3: {extends: '.test_instance'}
# default-centos-7-3000-9-py3: {extends: '.test_instance'}
# default-opensuse-leap-153-3000-9-py3: {extends: '.test_instance'}
# default-opensuse-leap-152-3000-9-py3: {extends: '.test_instance'}
# default-amazonlinux-2-3000-9-py3: {extends: '.test_instance'}
# default-oraclelinux-8-3000-9-py3: {extends: '.test_instance'}
# default-oraclelinux-7-3000-9-py3: {extends: '.test_instance'}
# default-gentoo-stage3-latest-3000-9-py3: {extends: '.test_instance'}
# default-gentoo-stage3-systemd-3000-9-py3: {extends: '.test_instance'}
# default-ubuntu-1804-3000-9-py2: {extends: '.test_instance'}
# default-arch-base-latest-3000-9-py2: {extends: '.test_instance'}
###############################################################################
# `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'

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

@@ -0,0 +1,65 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
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.9.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.7.1.1
hooks:
- id: shellcheck
name: Check shell scripts with shellcheck
files: ^.*\.(sh|bash|ksh)$
types: []
- repo: https://github.com/adrienverge/yamllint
rev: v1.23.0
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.3.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,13 @@ Layout/LineLength:
# Based on https://github.com/PyCQA/flake8-bugbear#opinionated-warnings (`B950`) # Based on https://github.com/PyCQA/flake8-bugbear#opinionated-warnings (`B950`)
Max: 88 Max: 88
Metrics/BlockLength: Metrics/BlockLength:
ExcludedMethods: IgnoredMethods:
- control - control
- describe - describe
# Increase from default of `25` # Increase from default of `25`
Max: 30 Max: 30
Security/YAMLLoad:
Exclude:
- test/integration/**/_mapdata.rb
# Any offenses that should be fixed, e.g. collected via. `rubocop --auto-gen-config` # Any offenses that should be fixed, e.g. collected via. `rubocop --auto-gen-config`

View File

@@ -1,6 +1,15 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# vim: ft=yaml # 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 ## Machine config
os: 'linux' os: 'linux'
arch: 'amd64' arch: 'amd64'
@@ -22,8 +31,10 @@ script:
## Stages and jobs matrix ## Stages and jobs matrix
stages: stages:
- test - test
- name: 'release' # # As part of the switch away from Travis CI, ensure that the `release` stage
if: 'branch = master AND type != pull_request' # # is not run inadvertently
# - name: 'release'
# if: 'branch = master AND type != pull_request'
jobs: jobs:
include: include:
## Define the test stage that runs the linters (and testing matrix, if applicable) ## Define the test stage that runs the linters (and testing matrix, if applicable)
@@ -55,38 +66,118 @@ jobs:
@commitlint/travis-cli @commitlint/travis-cli
- commitlint-travis - 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 ## Define the rest of the matrix based on Kitchen testing
# Make sure the instances listed below match up with # Make sure the instances listed below match up with
# the `platforms` defined in `kitchen.yml` # the `platforms` defined in `kitchen.yml`
# - env: INSTANCE=default-debian-10-tiamat-py3
# - env: INSTANCE=default-debian-9-tiamat-py3
# - env: INSTANCE=default-ubuntu-2004-tiamat-py3
# - env: INSTANCE=default-ubuntu-1804-tiamat-py3
# - env: INSTANCE=default-centos-8-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-10-master-py3 - env: INSTANCE=default-debian-10-master-py3
# - env: INSTANCE=default-ubuntu-1804-master-py3 - env: INSTANCE=default-debian-9-master-py3
# - env: INSTANCE=default-centos-8-master-py3 - env: INSTANCE=default-ubuntu-2004-master-py3
# - env: INSTANCE=default-fedora-31-master-py3 - env: INSTANCE=default-ubuntu-1804-master-py3
# - env: INSTANCE=default-opensuse-leap-151-master-py3 - env: INSTANCE=default-centos-8-master-py3
# - env: INSTANCE=default-amazonlinux-2-master-py3 - env: INSTANCE=default-centos-7-master-py3
# - env: INSTANCE=default-debian-10-2019-2-py3 - env: INSTANCE=default-fedora-34-master-py3
# - env: INSTANCE=default-debian-9-2019-2-py3 - env: INSTANCE=default-fedora-33-master-py3
# - env: INSTANCE=default-ubuntu-1804-2019-2-py3 - env: INSTANCE=default-opensuse-leap-153-master-py3
- env: INSTANCE=default-centos-8-2019-2-py3 - env: INSTANCE=default-opensuse-leap-152-master-py3
- env: INSTANCE=default-fedora-31-2019-2-py3 - env: INSTANCE=default-opensuse-tmbl-latest-master-py3
# - env: INSTANCE=default-opensuse-leap-151-2019-2-py3 - env: INSTANCE=default-amazonlinux-2-master-py3
# - env: INSTANCE=default-centos-7-2019-2-py2 - env: INSTANCE=default-oraclelinux-8-master-py3
# - env: INSTANCE=default-amazonlinux-2-2019-2-py3 - env: INSTANCE=default-oraclelinux-7-master-py3
# - env: INSTANCE=default-arch-base-latest-2019-2-py2 - env: INSTANCE=default-arch-base-latest-master-py3
# - env: INSTANCE=default-fedora-30-2018-3-py3 # - env: INSTANCE=default-gentoo-stage3-latest-master-py3
# - env: INSTANCE=default-debian-9-2018-3-py2 # - env: INSTANCE=default-gentoo-stage3-systemd-master-py3
- env: INSTANCE=default-ubuntu-1604-2018-3-py2 - env: INSTANCE=default-almalinux-8-master-py3
# - env: INSTANCE=default-centos-7-2018-3-py2 - env: INSTANCE=default-rockylinux-8-master-py3
- env: INSTANCE=default-opensuse-leap-151-2018-3-py2 # - env: INSTANCE=default-debian-10-3003-1-py3
# - env: INSTANCE=default-amazonlinux-1-2018-3-py2 # - env: INSTANCE=default-debian-9-3003-1-py3
# - env: INSTANCE=default-arch-base-latest-2018-3-py2 # - env: INSTANCE=default-ubuntu-2004-3003-1-py3
# - env: INSTANCE=default-debian-8-2017-7-py2 # - env: INSTANCE=default-ubuntu-1804-3003-1-py3
# - env: INSTANCE=default-ubuntu-1604-2017-7-py2 # - env: INSTANCE=default-centos-8-3003-1-py3
- env: INSTANCE=default-centos-6-2017-7-py2 # - env: INSTANCE=default-centos-7-3003-1-py3
# - env: INSTANCE=default-fedora-30-2017-7-py2 # - env: INSTANCE=default-fedora-34-3003-1-py3
# - env: INSTANCE=default-opensuse-leap-151-2017-7-py2 # - env: INSTANCE=default-fedora-33-3003-1-py3
# - env: INSTANCE=default-amazonlinux-1-2017-7-py2 # - env: INSTANCE=default-opensuse-leap-153-3003-1-py3
# - env: INSTANCE=default-arch-base-latest-2017-7-py2 # - env: INSTANCE=default-opensuse-leap-152-3003-1-py3
# - env: INSTANCE=default-opensuse-tmbl-latest-3003-1-py3
# - env: INSTANCE=default-amazonlinux-2-3003-1-py3
# - env: INSTANCE=default-oraclelinux-8-3003-1-py3
# - env: INSTANCE=default-oraclelinux-7-3003-1-py3
# - env: INSTANCE=default-arch-base-latest-3003-1-py3
# - env: INSTANCE=default-gentoo-stage3-latest-3003-1-py3
# - env: INSTANCE=default-gentoo-stage3-systemd-3003-1-py3
# - env: INSTANCE=default-debian-10-3002-6-py3
# - env: INSTANCE=default-debian-9-3002-6-py3
# - env: INSTANCE=default-ubuntu-2004-3002-6-py3
# - env: INSTANCE=default-ubuntu-1804-3002-6-py3
# - env: INSTANCE=default-centos-8-3002-6-py3
# - env: INSTANCE=default-centos-7-3002-6-py3
# - env: INSTANCE=default-fedora-34-3002-6-py3
# - env: INSTANCE=default-fedora-33-3002-6-py3
# - env: INSTANCE=default-amazonlinux-2-3002-6-py3
# - env: INSTANCE=default-oraclelinux-8-3002-6-py3
# - env: INSTANCE=default-oraclelinux-7-3002-6-py3
# - env: INSTANCE=default-arch-base-latest-3002-6-py3
# - env: INSTANCE=default-gentoo-stage3-latest-3002-6-py3
# - env: INSTANCE=default-gentoo-stage3-systemd-3002-6-py3
# - env: INSTANCE=default-opensuse-leap-153-3002-2-py3
# - env: INSTANCE=default-opensuse-leap-152-3002-2-py3
# - env: INSTANCE=default-opensuse-tmbl-latest-3002-2-py3
# - env: INSTANCE=default-debian-10-3001-7-py3
# - env: INSTANCE=default-debian-9-3001-7-py3
# - env: INSTANCE=default-ubuntu-2004-3001-7-py3
# - env: INSTANCE=default-ubuntu-1804-3001-7-py3
# - env: INSTANCE=default-centos-8-3001-7-py3
# - env: INSTANCE=default-centos-7-3001-7-py3
# - env: INSTANCE=default-fedora-34-3001-7-py3
# - env: INSTANCE=default-fedora-33-3001-7-py3
# - env: INSTANCE=default-opensuse-leap-153-3001-7-py3
# - env: INSTANCE=default-opensuse-leap-152-3001-7-py3
# - env: INSTANCE=default-opensuse-tmbl-latest-3001-7-py3
# - env: INSTANCE=default-amazonlinux-2-3001-7-py3
# - env: INSTANCE=default-oraclelinux-8-3001-7-py3
# - env: INSTANCE=default-oraclelinux-7-3001-7-py3
# - env: INSTANCE=default-arch-base-latest-3001-7-py3
# - env: INSTANCE=default-gentoo-stage3-latest-3001-7-py3
# - env: INSTANCE=default-gentoo-stage3-systemd-3001-7-py3
# - env: INSTANCE=default-debian-10-3000-9-py3
# - env: INSTANCE=default-debian-9-3000-9-py3
# - env: INSTANCE=default-ubuntu-1804-3000-9-py3
# - env: INSTANCE=default-centos-8-3000-9-py3
# - env: INSTANCE=default-centos-7-3000-9-py3
# - env: INSTANCE=default-opensuse-leap-153-3000-9-py3
# - env: INSTANCE=default-opensuse-leap-152-3000-9-py3
# - env: INSTANCE=default-amazonlinux-2-3000-9-py3
# - env: INSTANCE=default-oraclelinux-8-3000-9-py3
# - env: INSTANCE=default-oraclelinux-7-3000-9-py3
# - env: INSTANCE=default-gentoo-stage3-latest-3000-9-py3
# - env: INSTANCE=default-gentoo-stage3-systemd-3000-9-py3
# - env: INSTANCE=default-ubuntu-1804-3000-9-py2
# - env: INSTANCE=default-arch-base-latest-3000-9-py2
## Define the release stage that runs `semantic-release` ## Define the release stage that runs `semantic-release`
- stage: 'release' - stage: 'release'

View File

@@ -2,17 +2,23 @@
# vim: ft=yaml # vim: ft=yaml
--- ---
# Extend the `default` configuration provided by `yamllint` # Extend the `default` configuration provided by `yamllint`
extends: default extends: 'default'
# Files to ignore completely # Files to ignore completely
# 1. All YAML files under directory `node_modules/`, introduced during the Travis run # 1. All YAML files under directory `.cache/`, introduced during the GitLab CI run
# 2. Any SLS files under directory `test/`, which are actually state files # 2. All YAML files under directory `.git/`
# 3. Any YAML files under directory `.kitchen/`, introduced during local testing # 3. All YAML files under directory `node_modules/`, introduced during the Travis run
# 4. All YAML files heavily reliant on Jinja; these can be tackled in a subsequent PR # 4. Any SLS files under directory `test/`, which are actually state files
# 5. Any YAML files under directory `.kitchen/`, introduced during local testing
# 6. `kitchen.vagrant.yml`, which contains Embedded Ruby (ERB) template syntax
# 7. All YAML files heavily reliant on Jinja; these can be tackled in a subsequent PR
ignore: | ignore: |
.cache/
.git/
node_modules/ node_modules/
test/**/states/**/*.sls test/**/states/**/*.sls
.kitchen/ .kitchen/
kitchen.vagrant.yml
pillar.example pillar.example
postgres/codenamemap.yaml postgres/codenamemap.yaml
postgres/osfamilymap.yaml postgres/osfamilymap.yaml

View File

@@ -4,69 +4,72 @@ This list is sorted by the number of commits per contributor in _descending_ ord
Avatar|Contributor|Contributions 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)|119 <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)|154
<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)|62 <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)|78
<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)|54 <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)|54
<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)|41 <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)|41
<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)|19 <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)|21
<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)|19 <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)|19
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/16338056?v=4' width='36' height='36' alt='@vutny'>|[@vutny](https://github.com/vutny)|18 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/16338056?v=4' width='36' height='36' alt='@vutny'>|[@vutny](https://github.com/vutny)|18
<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)|11 <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)|11
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/745513?v=4' width='36' height='36' alt='@EvaSDK'>|[@EvaSDK](https://github.com/EvaSDK)|9 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/745513?v=4' width='36' height='36' alt='@EvaSDK'>|[@EvaSDK](https://github.com/EvaSDK)|9
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/1713422?v=4' width='36' height='36' alt='@dferrantelli'>|[@dferrantelli](https://github.com/dferrantelli)|8 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1713422?v=4' width='36' height='36' alt='@dferramosi'>|[@dferramosi](https://github.com/dferramosi)|8
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/5306980?v=4' width='36' height='36' alt='@johnkeates'>|[@johnkeates](https://github.com/johnkeates)|8 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/5306980?v=4' width='36' height='36' alt='@johnkeates'>|[@johnkeates](https://github.com/johnkeates)|8
<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)|8 <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)|8
<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)|8 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/117961?v=4' width='36' height='36' alt='@babilen5'>|[@babilen5](https://github.com/babilen5)|8
<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)|7 <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)|7
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/13106485?v=4' width='36' height='36' alt='@dynjnelson'>|[@dynjnelson](https://github.com/dynjnelson)|7 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/13106485?v=4' width='36' height='36' alt='@dynjnelson'>|[@dynjnelson](https://github.com/dynjnelson)|7
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/3449635?v=4' width='36' height='36' alt='@rominf'>|[@rominf](https://github.com/rominf)|7 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/3449635?v=4' width='36' height='36' alt='@rominf'>|[@rominf](https://github.com/rominf)|7
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/223763?v=4' width='36' height='36' alt='@alfredopalhares'>|[@alfredopalhares](https://github.com/alfredopalhares)|6 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/223763?v=4' width='36' height='36' alt='@alfredopalhares'>|[@alfredopalhares](https://github.com/alfredopalhares)|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)|5 <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)|5
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/74739?v=4' width='36' height='36' alt='@audreyr'>|[@audreyr](https://github.com/audreyr)|5 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/74739?v=4' width='36' height='36' alt='@audreyfeldroy'>|[@audreyfeldroy](https://github.com/audreyfeldroy)|5
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/278900?v=4' width='36' height='36' alt='@blast-hardcheese'>|[@blast-hardcheese](https://github.com/blast-hardcheese)|5 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/278900?v=4' width='36' height='36' alt='@blast-hardcheese'>|[@blast-hardcheese](https://github.com/blast-hardcheese)|5
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/2179770?v=4' width='36' height='36' alt='@gilou'>|[@gilou](https://github.com/gilou)|5 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2179770?v=4' width='36' height='36' alt='@gilou'>|[@gilou](https://github.com/gilou)|5
<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)|5 <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)|5
<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)|5 <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)|5
<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://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://avatars1.githubusercontent.com/u/1435085?v=4' width='36' height='36' alt='@blbradley'>|[@blbradley](https://github.com/blbradley)|3 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1435085?v=4' width='36' height='36' alt='@blbradley'>|[@blbradley](https://github.com/blbradley)|3
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/2192630?v=4' width='36' height='36' alt='@abrefort'>|[@abrefort](https://github.com/abrefort)|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://avatars3.githubusercontent.com/u/296940?v=4' width='36' height='36' alt='@renoirb'>|[@renoirb](https://github.com/renoirb)|3 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2192630?v=4' width='36' height='36' alt='@abrefort'>|[@abrefort](https://github.com/abrefort)|3
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/1078927?v=4' width='36' height='36' alt='@Ken-2scientists'>|[@Ken-2scientists](https://github.com/Ken-2scientists)|2 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/296940?v=4' width='36' height='36' alt='@renoirb'>|[@renoirb](https://github.com/renoirb)|3
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/22311?v=4' width='36' height='36' alt='@madssj'>|[@madssj](https://github.com/madssj)|2 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1078927?v=4' width='36' height='36' alt='@Ken-2scientists'>|[@Ken-2scientists](https://github.com/Ken-2scientists)|2
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/102919?v=4' width='36' height='36' alt='@h3'>|[@h3](https://github.com/h3)|2 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/22311?v=4' width='36' height='36' alt='@madssj'>|[@madssj](https://github.com/madssj)|2
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/6415605?v=4' width='36' height='36' alt='@tgoodaire'>|[@tgoodaire](https://github.com/tgoodaire)|2 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/102919?v=4' width='36' height='36' alt='@h3'>|[@h3](https://github.com/h3)|2
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/26276?v=4' width='36' height='36' alt='@durana'>|[@durana](https://github.com/durana)|1 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/6415605?v=4' width='36' height='36' alt='@tgoodaire'>|[@tgoodaire](https://github.com/tgoodaire)|2
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/1922124?v=4' width='36' height='36' alt='@bebosudo'>|[@bebosudo](https://github.com/bebosudo)|1 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/46799934?v=4' width='36' height='36' alt='@sticky-note'>|[@sticky-note](https://github.com/sticky-note)|2
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/7353491?v=4' width='36' height='36' alt='@sarcastic-coder'>|[@sarcastic-coder](https://github.com/sarcastic-coder)|1 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/26276?v=4' width='36' height='36' alt='@durana'>|[@durana](https://github.com/durana)|1
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/458548?v=4' width='36' height='36' alt='@SuperTux88'>|[@SuperTux88](https://github.com/SuperTux88)|1 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1922124?v=4' width='36' height='36' alt='@bebosudo'>|[@bebosudo](https://github.com/bebosudo)|1
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/36720?v=4' width='36' height='36' alt='@brot'>|[@brot](https://github.com/brot)|1 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/7353491?v=4' width='36' height='36' alt='@sarcastic-coder'>|[@sarcastic-coder](https://github.com/sarcastic-coder)|1
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/1020898?v=4' width='36' height='36' alt='@xbglowx'>|[@xbglowx](https://github.com/xbglowx)|1 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/458548?v=4' width='36' height='36' alt='@SuperTux88'>|[@SuperTux88](https://github.com/SuperTux88)|1
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/83323?v=4' width='36' height='36' alt='@cro'>|[@cro](https://github.com/cro)|1 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/36720?v=4' width='36' height='36' alt='@brot'>|[@brot](https://github.com/brot)|1
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/8599847?v=4' width='36' height='36' alt='@campbellmc'>|[@campbellmc](https://github.com/campbellmc)|1 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1020898?v=4' width='36' height='36' alt='@xbglowx'>|[@xbglowx](https://github.com/xbglowx)|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://avatars.githubusercontent.com/u/83323?v=4' width='36' height='36' alt='@cro'>|[@cro](https://github.com/cro)|1
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/215487?v=4' width='36' height='36' alt='@fcrozat'>|[@fcrozat](https://github.com/fcrozat)|1 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/8599847?v=4' width='36' height='36' alt='@campbellmc'>|[@campbellmc](https://github.com/campbellmc)|1
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/1468874?v=4' width='36' height='36' alt='@Laogeodritt'>|[@Laogeodritt](https://github.com/Laogeodritt)|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://avatars1.githubusercontent.com/u/650691?v=4' width='36' height='36' alt='@itbabu'>|[@itbabu](https://github.com/itbabu)|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://avatars2.githubusercontent.com/u/296523?v=4' width='36' height='36' alt='@mkotsbak'>|[@mkotsbak](https://github.com/mkotsbak)|1 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/215487?v=4' width='36' height='36' alt='@fcrozat'>|[@fcrozat](https://github.com/fcrozat)|1
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/1331128?v=4' width='36' height='36' alt='@mattysads'>|[@mattysads](https://github.com/mattysads)|1 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1468874?v=4' width='36' height='36' alt='@Laogeodritt'>|[@Laogeodritt](https://github.com/Laogeodritt)|1
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/3705387?v=4' width='36' height='36' alt='@mbrannigan'>|[@mbrannigan](https://github.com/mbrannigan)|1 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/650691?v=4' width='36' height='36' alt='@itbabu'>|[@itbabu](https://github.com/itbabu)|1
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/3433835?v=4' width='36' height='36' alt='@n-rodriguez'>|[@n-rodriguez](https://github.com/n-rodriguez)|1 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/296523?v=4' width='36' height='36' alt='@mkotsbak'>|[@mkotsbak](https://github.com/mkotsbak)|1
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/8399114?v=4' width='36' height='36' alt='@fortunejuggle'>|[@fortunejuggle](https://github.com/fortunejuggle)|1 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1331128?v=4' width='36' height='36' alt='@mattysads'>|[@mattysads](https://github.com/mattysads)|1
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/219695?v=4' width='36' height='36' alt='@rmoorman'>|[@rmoorman](https://github.com/rmoorman)|1 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/3705387?v=4' width='36' height='36' alt='@mbrannigan'>|[@mbrannigan](https://github.com/mbrannigan)|1
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/154676?v=4' width='36' height='36' alt='@skurfer'>|[@skurfer](https://github.com/skurfer)|1 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/3433835?v=4' width='36' height='36' alt='@n-rodriguez'>|[@n-rodriguez](https://github.com/n-rodriguez)|1
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/2592431?v=4' width='36' height='36' alt='@RobRuana'>|[@RobRuana](https://github.com/RobRuana)|1 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/8399114?v=4' width='36' height='36' alt='@fortunejuggle'>|[@fortunejuggle](https://github.com/fortunejuggle)|1
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/10464711?v=4' width='36' height='36' alt='@sbrefort'>|[@sbrefort](https://github.com/sbrefort)|1 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/219695?v=4' width='36' height='36' alt='@rmoorman'>|[@rmoorman](https://github.com/rmoorman)|1
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/125458?v=4' width='36' height='36' alt='@sbellem'>|[@sbellem](https://github.com/sbellem)|1 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/154676?v=4' width='36' height='36' alt='@skurfer'>|[@skurfer](https://github.com/skurfer)|1
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/500703?v=4' width='36' height='36' alt='@retrry'>|[@retrry](https://github.com/retrry)|1 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2592431?v=4' width='36' height='36' alt='@RobRuana'>|[@RobRuana](https://github.com/RobRuana)|1
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/2814878?v=4' width='36' height='36' alt='@thomasrossetto'>|[@thomasrossetto](https://github.com/thomasrossetto)|1 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/10464711?v=4' width='36' height='36' alt='@sbrefort'>|[@sbrefort](https://github.com/sbrefort)|1
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/507599?v=4' width='36' height='36' alt='@thatch45'>|[@thatch45](https://github.com/thatch45)|1 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/125458?v=4' width='36' height='36' alt='@sbellem'>|[@sbellem](https://github.com/sbellem)|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://avatars.githubusercontent.com/u/500703?v=4' width='36' height='36' alt='@retrry'>|[@retrry](https://github.com/retrry)|1
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/2097647?v=4' width='36' height='36' alt='@XRasher'>|[@XRasher](https://github.com/XRasher)|1 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2814878?v=4' width='36' height='36' alt='@thomasrossetto'>|[@thomasrossetto](https://github.com/thomasrossetto)|1
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/8005290?v=4' width='36' height='36' alt='@YetAnotherMinion'>|[@YetAnotherMinion](https://github.com/YetAnotherMinion)|1 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/507599?v=4' width='36' height='36' alt='@thatch45'>|[@thatch45](https://github.com/thatch45)|1
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/17393048?v=4' width='36' height='36' alt='@ek9'>|[@ek9](https://github.com/ek9)|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://avatars1.githubusercontent.com/u/11394644?v=4' width='36' height='36' alt='@Strade288'>|[@Strade288](https://github.com/Strade288)|1 <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2097647?v=4' width='36' height='36' alt='@XRasher'>|[@XRasher](https://github.com/XRasher)|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://avatars.githubusercontent.com/u/8005290?v=4' width='36' height='36' alt='@YetAnotherMinion'>|[@YetAnotherMinion](https://github.com/YetAnotherMinion)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/17393048?v=4' width='36' height='36' alt='@ek9'>|[@ek9](https://github.com/ek9)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/11394644?v=4' width='36' height='36' alt='@Strade288'>|[@Strade288](https://github.com/Strade288)|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
--- ---
Auto-generated by a [forked version](https://github.com/myii/maintainer) of [gaocegege/maintainer](https://github.com/gaocegege/maintainer) on 2020-07-10. Auto-generated by a [forked version](https://github.com/myii/maintainer) of [gaocegege/maintainer](https://github.com/gaocegege/maintainer) on 2021-07-06.

View File

@@ -1,5 +1,135 @@
# Changelog # Changelog
## [0.41.9](https://github.com/saltstack-formulas/postgres-formula/compare/v0.41.8...v0.41.9) (2021-07-06)
### Bug Fixes
* **osmap.yaml:** fix PGDG repo file creation for Amazon Linux ([2de775b](https://github.com/saltstack-formulas/postgres-formula/commit/2de775be1e3e77b2bd71cb0a0a6fa587498c10e7))
### Continuous Integration
* **3003.1:** update inc. AlmaLinux, Rocky & `rst-lint` [skip ci] ([d16e91c](https://github.com/saltstack-formulas/postgres-formula/commit/d16e91ceb03411f58c98cbb919f65b3f3eb4abbb))
* **kitchen+gitlab:** remove Ubuntu 16.04 & Fedora 32 (EOL) [skip ci] ([b690bab](https://github.com/saltstack-formulas/postgres-formula/commit/b690bab978901f9bea7c9b043ebce5a8f520f4b9))
## [0.41.8](https://github.com/saltstack-formulas/postgres-formula/compare/v0.41.7...v0.41.8) (2021-05-25)
### Bug Fixes
* **jinja:** use json filter ([eb63ec8](https://github.com/saltstack-formulas/postgres-formula/commit/eb63ec85e0f2d15f929ffbf1d483211b7bf4e595))
### Continuous Integration
* add `arch-master` to matrix and update `.travis.yml` [skip ci] ([79feefa](https://github.com/saltstack-formulas/postgres-formula/commit/79feefa7519a5674496b8abfdc68e7baad75f950))
* **kitchen+gitlab:** adjust matrix to add `3003` [skip ci] ([fd8f0e5](https://github.com/saltstack-formulas/postgres-formula/commit/fd8f0e5db5c67f21c16910ab3ed696d59a7eeee2))
* **vagrant:** add FreeBSD 13.0 [skip ci] ([93bb123](https://github.com/saltstack-formulas/postgres-formula/commit/93bb123ea1a8e5037c8898777ba90338979e802f))
* **vagrant:** use pre-salted boxes & conditional local settings [skip ci] ([69812c1](https://github.com/saltstack-formulas/postgres-formula/commit/69812c1f62b90ba9094c873930ac334edac9a0aa))
### Documentation
* **readme:** fix headings [skip ci] ([c97317c](https://github.com/saltstack-formulas/postgres-formula/commit/c97317c39fe46375a78b478c08210d25461548ff))
## [0.41.7](https://github.com/saltstack-formulas/postgres-formula/compare/v0.41.6...v0.41.7) (2021-03-26)
### Continuous Integration
* enable Vagrant-based testing using GitHub Actions ([2ebc9c1](https://github.com/saltstack-formulas/postgres-formula/commit/2ebc9c11da512c8bc2089e8ecb28f5d3e13261f1))
* **kitchen+ci:** use latest pre-salted images (after CVE) [skip ci] ([cc43d1c](https://github.com/saltstack-formulas/postgres-formula/commit/cc43d1c90db36c232012bc80b66baa248ece3c42))
### Documentation
* **readme:** add `Testing with Vagrant` section ([ed2d688](https://github.com/saltstack-formulas/postgres-formula/commit/ed2d6884b10725fad55b83de4972e59710f1970f))
### Tests
* standardise use of `share` suite & `_mapdata` state [skip ci] ([fc53d97](https://github.com/saltstack-formulas/postgres-formula/commit/fc53d977b32290834dc5aa17fe461154b269d38c))
## [0.41.6](https://github.com/saltstack-formulas/postgres-formula/compare/v0.41.5...v0.41.6) (2021-02-26)
### Bug Fixes
* **repo:** check whether pkg_repo is set ([26b2233](https://github.com/saltstack-formulas/postgres-formula/commit/26b223323fa65abee731af04ee9631062a78b308))
* **repo:** reorder dependencies to prevent errors ([750d8aa](https://github.com/saltstack-formulas/postgres-formula/commit/750d8aab7a7e386e5ca0a3d546bb5cf12aa4506c))
### Continuous Integration
* **gemfile+lock:** use `ssf` customised `kitchen-docker` repo [skip ci] ([476b15e](https://github.com/saltstack-formulas/postgres-formula/commit/476b15e326b72a6bbdb9635d612f30b7a51ce7fa))
* **kitchen+gitlab-ci:** use latest pre-salted images [skip ci] ([6f04b31](https://github.com/saltstack-formulas/postgres-formula/commit/6f04b3191c6d1354d376473ff6e3ba213d614a4d))
* **pre-commit:** update hook for `rubocop` [skip ci] ([e964c26](https://github.com/saltstack-formulas/postgres-formula/commit/e964c26a29e61c5455b880e00195d5a0f55de641))
### Tests
* **command_spec:** fix `rubocop` violation [skip ci] ([73c39af](https://github.com/saltstack-formulas/postgres-formula/commit/73c39aff5ef9bf5808a251f70504e3b019087f01))
* **pillar:** update conditional to include Tumbleweed ([e976ee9](https://github.com/saltstack-formulas/postgres-formula/commit/e976ee9c9924363db400b23cbde914112b6b4349))
## [0.41.5](https://github.com/saltstack-formulas/postgres-formula/compare/v0.41.4...v0.41.5) (2021-01-07)
### Bug Fixes
* **cent7:** postgres11 needs libicu installed ([4c0f796](https://github.com/saltstack-formulas/postgres-formula/commit/4c0f796f00901b88e0ee9d778a5acb2115bf17cb))
### Continuous Integration
* **commitlint:** ensure `upstream/master` uses main repo URL [skip ci] ([e84389d](https://github.com/saltstack-formulas/postgres-formula/commit/e84389dbb31f04f3eeabfd3935ef193e09e5b562))
* **gitlab-ci:** add `rubocop` linter (with `allow_failure`) [skip ci] ([2615411](https://github.com/saltstack-formulas/postgres-formula/commit/2615411ec019600328c330cb4e72de89472f8fc9))
## [0.41.4](https://github.com/saltstack-formulas/postgres-formula/compare/v0.41.3...v0.41.4) (2020-12-16)
### Bug Fixes
* **archlinux:** avoid nonetype error ([0a6cf8f](https://github.com/saltstack-formulas/postgres-formula/commit/0a6cf8fefae1bbd5668a447ced911088ac965475))
* **archlinux:** use consistent jinja repo check ([3a955e0](https://github.com/saltstack-formulas/postgres-formula/commit/3a955e02708b23929c93f879bcba0e3fe5ae5666))
* **jinja:** syntax correction ([8b44c06](https://github.com/saltstack-formulas/postgres-formula/commit/8b44c068fcfd4199336596bdba095fc0e6c8fb2e))
* **python:** use python3 postres on cent7/8 ([d6d1068](https://github.com/saltstack-formulas/postgres-formula/commit/d6d1068395131de08534e387d377389bd078d3ee))
* **suse:** version 11+ repo support on suse ([b3f381e](https://github.com/saltstack-formulas/postgres-formula/commit/b3f381e54750a00bb19a4aa50c6273c627dca16c))
### Continuous Integration
* **gitlab-ci:** use GitLab CI as Travis CI replacement ([a45673a](https://github.com/saltstack-formulas/postgres-formula/commit/a45673a87892deb973afee3689aea4bebd7a5739))
* **pre-commit:** add to formula [skip ci] ([db1794b](https://github.com/saltstack-formulas/postgres-formula/commit/db1794b6bbb6ce183e5231cb4b7e7193dcb80143))
* **pre-commit:** enable/disable `rstcheck` as relevant [skip ci] ([f04d60a](https://github.com/saltstack-formulas/postgres-formula/commit/f04d60a773461dce98b4f2a7c8abbbab268513a0))
* **pre-commit:** finalise `rstcheck` configuration [skip ci] ([7036f60](https://github.com/saltstack-formulas/postgres-formula/commit/7036f60e8ca3857beeca18abe70a3c59b6a021ec))
## [0.41.3](https://github.com/saltstack-formulas/postgres-formula/compare/v0.41.2...v0.41.3) (2020-09-29)
### Bug Fixes
* **upstream:** require_in/require use_upstream ([ab6b97e](https://github.com/saltstack-formulas/postgres-formula/commit/ab6b97e8c3ff40f9cb2e629c3c0faf09ca59ede9))
## [0.41.2](https://github.com/saltstack-formulas/postgres-formula/compare/v0.41.1...v0.41.2) (2020-07-27)
### Bug Fixes
* **macros:** fix `format_kwargs` macro ([5e6511b](https://github.com/saltstack-formulas/postgres-formula/commit/5e6511b783388930010e6c0795b197728fb10b39))
### Continuous Integration
* **kitchen:** ubuntu-2004-master-py3 added ([7978976](https://github.com/saltstack-formulas/postgres-formula/commit/79789765439bb0727521dc817fe9eaebba000a67))
* **kitchen+travis:** use latest pre-salted images [skip ci] ([702323c](https://github.com/saltstack-formulas/postgres-formula/commit/702323c24df1df6b11defd663b55cf38586bd3f3))
* **travis:** ubuntu upgrade from 16 to 18 & 20 ([44568a6](https://github.com/saltstack-formulas/postgres-formula/commit/44568a680602fb61f157b74dc05f9af9b153e8e6))
### Styles
* **libtofs.jinja:** use Black-inspired Jinja formatting [skip ci] ([8735cf8](https://github.com/saltstack-formulas/postgres-formula/commit/8735cf8ad1b9fc1eb816aecf3d363d4fc81fbe66))
## [0.41.1](https://github.com/saltstack-formulas/postgres-formula/compare/v0.41.0...v0.41.1) (2020-07-10) ## [0.41.1](https://github.com/saltstack-formulas/postgres-formula/compare/v0.41.0...v0.41.1) (2020-07-10)

View File

@@ -10,16 +10,23 @@
# SECTION: Owner(s) for files/directories related to `semantic-release` # SECTION: Owner(s) for files/directories related to `semantic-release`
# FILE PATTERN OWNER(S) # FILE PATTERN OWNER(S)
/.github/workflows/ @saltstack-formulas/ssf /.github/workflows/ @saltstack-formulas/ssf
/bin/install-hooks @saltstack-formulas/ssf
/bin/kitchen @saltstack-formulas/ssf /bin/kitchen @saltstack-formulas/ssf
/docs/AUTHORS.rst @saltstack-formulas/ssf /docs/AUTHORS.rst @saltstack-formulas/ssf
/docs/CHANGELOG.rst @saltstack-formulas/ssf /docs/CHANGELOG.rst @saltstack-formulas/ssf
/docs/TOFS_pattern.rst @saltstack-formulas/ssf /docs/TOFS_pattern.rst @saltstack-formulas/ssf
/postgres/libsaltcli.jinja @saltstack-formulas/ssf /*/_mapdata/ @saltstack-formulas/ssf
/postgres/libtofs.jinja @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/**/inspec.yml @saltstack-formulas/ssf
/test/integration/**/README.md @saltstack-formulas/ssf /test/integration/**/README.md @saltstack-formulas/ssf
/.gitignore @saltstack-formulas/ssf /.gitignore @saltstack-formulas/ssf
/.cirrus.yml @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 /.rubocop.yml @saltstack-formulas/ssf
/.salt-lint @saltstack-formulas/ssf /.salt-lint @saltstack-formulas/ssf
/.travis.yml @saltstack-formulas/ssf /.travis.yml @saltstack-formulas/ssf
@@ -32,6 +39,8 @@
/Gemfile @saltstack-formulas/ssf /Gemfile @saltstack-formulas/ssf
/Gemfile.lock @saltstack-formulas/ssf /Gemfile.lock @saltstack-formulas/ssf
/kitchen.yml @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 /pre-commit_semantic-release.sh @saltstack-formulas/ssf
/release-rules.js @saltstack-formulas/ssf /release-rules.js @saltstack-formulas/ssf
/release.config.js @saltstack-formulas/ssf /release.config.js @saltstack-formulas/ssf

View File

@@ -1,7 +1,7 @@
name: postgres name: postgres
os: Debian, Ubuntu, Raspbian, RedHat, Fedora, CentOS, Suse, openSUSE, Gentoo, Funtoo, Arch, Manjaro, Alpine, FreeBSD, OpenBSD, Solaris, SmartOS, Windows, MacOS 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 os_family: Debian, RedHat, Suse, Gentoo, Arch, Alpine, FreeBSD, OpenBSD, Solaris, Windows, MacOS
version: 0.41.1 version: 0.41.9
release: 1 release: 1
minimum_version: 2016.11 minimum_version: 2016.11
summary: Postgres formula summary: Postgres formula

13
Gemfile
View File

@@ -2,9 +2,16 @@
source 'https://rubygems.org' source 'https://rubygems.org'
gem 'kitchen-docker', '>= 2.9' # Use the latest version of `inspec` prior to `4.23.4`, which introduces a
gem 'kitchen-inspec', '>= 1.1' # regression where the diff isn't displayed when comparing using `eq`.
gem 'kitchen-salt', '>= 0.6.0' gem 'inspec', '~> 4.22.22'
# Install the `kitchen-docker` gem using `git` because the latest version
# currently available (`2.10.0`) doesn't include a recent fix for Gentoo.
# 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.2.1'
gem 'kitchen-salt', '>= 0.6.3'
group :vagrant do group :vagrant do
gem 'kitchen-vagrant' gem 'kitchen-vagrant'

View File

@@ -1,7 +1,15 @@
GIT
remote: https://gitlab.com/saltstack-formulas/infrastructure/kitchen-docker
revision: 1f543f654da5c1774cb8737f6f07a01745520bb5
branch: ssf
specs:
kitchen-docker (2.10.0)
test-kitchen (>= 1.0.0)
GEM GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
activesupport (5.2.4.3) activesupport (5.2.4.4)
concurrent-ruby (~> 1.0, >= 1.0.2) concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2) i18n (>= 0.7, < 2)
minitest (~> 5.1) minitest (~> 5.1)
@@ -9,186 +17,189 @@ GEM
addressable (2.7.0) addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0) public_suffix (>= 2.0.2, < 5.0)
aws-eventstream (1.1.0) aws-eventstream (1.1.0)
aws-partitions (1.338.0) aws-partitions (1.386.0)
aws-sdk-apigateway (1.48.0) aws-sdk-apigateway (1.55.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-apigatewayv2 (1.23.0) aws-sdk-apigatewayv2 (1.29.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-athena (1.30.0) aws-sdk-athena (1.33.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-autoscaling (1.22.0) aws-sdk-autoscaling (1.22.0)
aws-sdk-core (~> 3, >= 3.52.1) aws-sdk-core (~> 3, >= 3.52.1)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-budgets (1.32.0) aws-sdk-budgets (1.36.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-cloudformation (1.41.0) aws-sdk-cloudformation (1.44.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-cloudfront (1.33.0) aws-sdk-cloudfront (1.46.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-cloudhsm (1.24.0) aws-sdk-cloudhsm (1.27.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-cloudhsmv2 (1.26.0) aws-sdk-cloudhsmv2 (1.30.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-cloudtrail (1.26.0) aws-sdk-cloudtrail (1.29.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-cloudwatch (1.41.0) aws-sdk-cloudwatch (1.45.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-cloudwatchlogs (1.34.0) aws-sdk-cloudwatchlogs (1.38.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-codecommit (1.37.0) aws-sdk-codecommit (1.40.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-codedeploy (1.34.0) aws-sdk-codedeploy (1.37.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-codepipeline (1.34.0) aws-sdk-codepipeline (1.37.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-configservice (1.48.0) aws-sdk-configservice (1.53.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-core (3.103.0) aws-sdk-core (3.109.1)
aws-eventstream (~> 1, >= 1.0.2) aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.239.0) aws-partitions (~> 1, >= 1.239.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
jmespath (~> 1.0) jmespath (~> 1.0)
aws-sdk-costandusagereportservice (1.24.0) aws-sdk-costandusagereportservice (1.28.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-dynamodb (1.51.0) aws-sdk-dynamodb (1.55.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-ec2 (1.174.0) aws-sdk-ec2 (1.202.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-ecr (1.34.0) aws-sdk-ecr (1.39.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-ecs (1.67.0) aws-sdk-ecs (1.70.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-efs (1.32.0) aws-sdk-efs (1.36.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-eks (1.39.0) aws-sdk-eks (1.45.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-elasticache (1.40.0) aws-sdk-elasticache (1.44.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-elasticbeanstalk (1.34.0) aws-sdk-elasticbeanstalk (1.39.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-elasticloadbalancing (1.25.0) aws-sdk-elasticloadbalancing (1.29.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-elasticloadbalancingv2 (1.47.0) aws-sdk-elasticloadbalancingv2 (1.53.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-elasticsearchservice (1.39.0) aws-sdk-elasticsearchservice (1.43.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-firehose (1.31.0) aws-sdk-firehose (1.35.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-iam (1.43.0) aws-sdk-guardduty (1.42.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-kafka (1.23.0) aws-sdk-iam (1.46.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-kinesis (1.26.0) aws-sdk-kafka (1.29.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-kms (1.36.0) aws-sdk-kinesis (1.30.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-lambda (1.46.0) aws-sdk-kms (1.39.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1)
aws-sdk-lambda (1.51.0)
aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-organizations (1.17.0) aws-sdk-organizations (1.17.0)
aws-sdk-core (~> 3, >= 3.39.0) aws-sdk-core (~> 3, >= 3.39.0)
aws-sigv4 (~> 1.0) aws-sigv4 (~> 1.0)
aws-sdk-rds (1.92.0) aws-sdk-rds (1.104.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-redshift (1.46.0) aws-sdk-redshift (1.50.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-route53 (1.40.0) aws-sdk-route53 (1.44.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-route53domains (1.25.0) aws-sdk-route53domains (1.28.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-route53resolver (1.17.0) aws-sdk-route53resolver (1.21.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.73.0) aws-sdk-s3 (1.83.1)
aws-sdk-core (~> 3, >= 3.102.1) aws-sdk-core (~> 3, >= 3.109.0)
aws-sdk-kms (~> 1) aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-securityhub (1.29.0) aws-sdk-securityhub (1.35.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-ses (1.33.0) aws-sdk-ses (1.36.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-sms (1.23.0) aws-sdk-sms (1.27.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-sns (1.27.0) aws-sdk-sns (1.34.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-sqs (1.30.0) aws-sdk-sqs (1.34.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-ssm (1.84.0) aws-sdk-ssm (1.95.0)
aws-sdk-core (~> 3, >= 3.99.0) aws-sdk-core (~> 3, >= 3.109.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sigv4 (1.2.1) aws-sigv4 (1.2.2)
aws-eventstream (~> 1, >= 1.0.2) aws-eventstream (~> 1, >= 1.0.2)
azure_graph_rbac (0.17.2) azure_graph_rbac (0.17.2)
ms_rest_azure (~> 0.12.0) ms_rest_azure (~> 0.12.0)
azure_mgmt_key_vault (0.17.6) azure_mgmt_key_vault (0.17.6)
ms_rest_azure (~> 0.12.0) ms_rest_azure (~> 0.12.0)
azure_mgmt_resources (0.17.9) azure_mgmt_resources (0.18.0)
ms_rest_azure (~> 0.12.0) ms_rest_azure (~> 0.12.0)
azure_mgmt_security (0.18.2) azure_mgmt_security (0.18.2)
ms_rest_azure (~> 0.12.0) ms_rest_azure (~> 0.12.0)
azure_mgmt_storage (0.21.2) azure_mgmt_storage (0.22.0)
ms_rest_azure (~> 0.12.0) ms_rest_azure (~> 0.12.0)
bcrypt_pbkdf (1.0.1) bcrypt_pbkdf (1.0.1)
builder (3.2.4) builder (3.2.4)
chef-config (16.2.73) chef-config (16.6.14)
addressable addressable
chef-utils (= 16.2.73) chef-utils (= 16.6.14)
fuzzyurl fuzzyurl
mixlib-config (>= 2.2.12, < 4.0) mixlib-config (>= 2.2.12, < 4.0)
mixlib-shellout (>= 2.0, < 4.0) mixlib-shellout (>= 2.0, < 4.0)
tomlrb (~> 1.2) tomlrb (~> 1.2)
chef-telemetry (1.0.8) chef-telemetry (1.0.14)
chef-config chef-config
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
ffi-yajl (~> 2.2) ffi-yajl (~> 2.2)
chef-utils (16.2.73) chef-utils (16.6.14)
coderay (1.1.3) coderay (1.1.3)
concurrent-ruby (1.1.6) concurrent-ruby (1.1.7)
declarative (0.0.20) declarative (0.0.20)
declarative-option (0.1.0) declarative-option (0.1.0)
diff-lcs (1.4.4) diff-lcs (1.4.4)
docker-api (1.34.2) docker-api (2.0.0)
excon (>= 0.47.0) excon (>= 0.47.0)
multi_json multi_json
domain_name (0.5.20190701) domain_name (0.5.20190701)
@@ -196,21 +207,20 @@ GEM
ecma-re-validator (0.2.1) ecma-re-validator (0.2.1)
regexp_parser (~> 1.2) regexp_parser (~> 1.2)
ed25519 (1.2.4) ed25519 (1.2.4)
equatable (0.6.1)
erubi (1.9.0) erubi (1.9.0)
excon (0.75.0) excon (0.78.0)
faraday (0.17.3) faraday (0.17.3)
multipart-post (>= 1.2, < 3) multipart-post (>= 1.2, < 3)
faraday-cookie_jar (0.0.6) faraday-cookie_jar (0.0.7)
faraday (>= 0.7.4) faraday (>= 0.8.0)
http-cookie (~> 1.0.0) http-cookie (~> 1.0.0)
faraday_middleware (0.12.2) faraday_middleware (0.12.2)
faraday (>= 0.7.4, < 1.0) faraday (>= 0.7.4, < 1.0)
ffi (1.13.1) ffi (1.13.1)
ffi-yajl (2.3.3) ffi-yajl (2.3.4)
libyajl2 (~> 1.2) libyajl2 (~> 1.2)
fuzzyurl (0.9.0) fuzzyurl (0.9.0)
google-api-client (0.34.1) google-api-client (0.44.0)
addressable (~> 2.5, >= 2.5.1) addressable (~> 2.5, >= 2.5.1)
googleauth (~> 0.9) googleauth (~> 0.9)
httpclient (>= 2.8.1, < 3.0) httpclient (>= 2.8.1, < 3.0)
@@ -218,40 +228,38 @@ GEM
representable (~> 3.0) representable (~> 3.0)
retriable (>= 2.0, < 4.0) retriable (>= 2.0, < 4.0)
signet (~> 0.12) signet (~> 0.12)
googleauth (0.10.0) googleauth (0.13.0)
faraday (~> 0.12) faraday (>= 0.17.3, < 2.0)
jwt (>= 1.4, < 3.0) jwt (>= 1.4, < 3.0)
memoist (~> 0.16) memoist (~> 0.16)
multi_json (~> 1.11) multi_json (~> 1.11)
os (>= 0.9, < 2.0) os (>= 0.9, < 2.0)
signet (~> 0.12) signet (~> 0.14)
gssapi (1.3.0) gssapi (1.3.0)
ffi (>= 1.0.1) ffi (>= 1.0.1)
gyoku (1.3.1) gyoku (1.3.1)
builder (>= 2.1.2) builder (>= 2.1.2)
hana (1.3.6) hana (1.3.6)
hashie (3.6.0) hashie (3.6.0)
htmlentities (4.3.4)
http-cookie (1.0.3) http-cookie (1.0.3)
domain_name (~> 0.5) domain_name (~> 0.5)
httpclient (2.8.3) httpclient (2.8.3)
i18n (1.8.3) i18n (1.8.5)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
inifile (3.0.0) inifile (3.0.0)
inspec (4.21.3) inspec (4.22.22)
faraday_middleware (~> 0.12.2) faraday_middleware (~> 0.12.2)
inspec-core (= 4.21.3) inspec-core (= 4.22.22)
train (~> 3.0) train (~> 3.0)
train-aws (~> 0.1) train-aws (~> 0.1)
train-habitat (~> 0.1) train-habitat (~> 0.1)
train-winrm (~> 0.2) train-winrm (~> 0.2)
inspec-core (4.21.3) inspec-core (4.22.22)
addressable (~> 2.4) addressable (~> 2.4)
chef-telemetry (~> 1.0) chef-telemetry (~> 1.0)
faraday (>= 0.9.0) faraday (>= 0.9.0)
hashie (~> 3.4) hashie (~> 3.4)
htmlentities (~> 4.3) json_schemer (>= 0.2.1, < 0.2.12)
json_schemer (~> 0.2.1)
license-acceptance (>= 0.2.13, < 2.0) license-acceptance (>= 0.2.13, < 2.0)
method_source (>= 0.8, < 2.0) method_source (>= 0.8, < 2.0)
mixlib-log (~> 3.0) mixlib-log (~> 3.0)
@@ -264,7 +272,6 @@ GEM
rubyzip (~> 1.2, >= 1.2.2) rubyzip (~> 1.2, >= 1.2.2)
semverse (~> 3.0) semverse (~> 3.0)
sslshake (~> 1.2) sslshake (~> 1.2)
term-ansicolor (~> 1.7)
thor (>= 0.20, < 2.0) thor (>= 0.20, < 2.0)
tomlrb (~> 1.2.0) tomlrb (~> 1.2.0)
train-core (~> 3.0) train-core (~> 3.0)
@@ -277,17 +284,15 @@ GEM
hana (~> 1.3) hana (~> 1.3)
regexp_parser (~> 1.5) regexp_parser (~> 1.5)
uri_template (~> 0.7) uri_template (~> 0.7)
jwt (2.2.1) jwt (2.2.2)
kitchen-docker (2.10.0) kitchen-inspec (2.2.1)
test-kitchen (>= 1.0.0)
kitchen-inspec (2.0.0)
hashie (~> 3.4) hashie (~> 3.4)
inspec (>= 2.2.64, < 5.0) inspec (>= 2.2.64, < 5.0)
test-kitchen (>= 1.6, < 3) test-kitchen (>= 2.7, < 3)
kitchen-salt (0.6.3) kitchen-salt (0.6.3)
hashie (>= 3.5) hashie (>= 3.5)
test-kitchen (>= 1.4) test-kitchen (>= 1.4)
kitchen-vagrant (1.6.1) kitchen-vagrant (1.7.0)
test-kitchen (>= 1.4, < 3) test-kitchen (>= 1.4, < 3)
libyajl2 (1.2.0) libyajl2 (1.2.0)
license-acceptance (1.0.19) license-acceptance (1.0.19)
@@ -302,15 +307,16 @@ GEM
memoist (0.16.2) memoist (0.16.2)
method_source (1.0.0) method_source (1.0.0)
mini_mime (1.0.2) mini_mime (1.0.2)
minitest (5.14.1) minitest (5.14.2)
mixlib-config (3.0.6) mixlib-config (3.0.9)
tomlrb tomlrb
mixlib-install (3.12.1) mixlib-install (3.12.3)
mixlib-shellout mixlib-shellout
mixlib-versioning mixlib-versioning
thor thor
mixlib-log (3.0.8) mixlib-log (3.0.9)
mixlib-shellout (3.0.9) mixlib-shellout (3.1.6)
chef-utils
mixlib-versioning (1.2.12) mixlib-versioning (1.2.12)
ms_rest (0.7.6) ms_rest (0.7.6)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
@@ -321,26 +327,24 @@ GEM
faraday (>= 0.9, < 2.0.0) faraday (>= 0.9, < 2.0.0)
faraday-cookie_jar (~> 0.0.6) faraday-cookie_jar (~> 0.0.6)
ms_rest (~> 0.7.6) ms_rest (~> 0.7.6)
multi_json (1.14.1) multi_json (1.15.0)
multipart-post (2.1.1) multipart-post (2.1.1)
necromancer (0.5.1)
net-scp (3.0.0) net-scp (3.0.0)
net-ssh (>= 2.6.5, < 7.0.0) net-ssh (>= 2.6.5, < 7.0.0)
net-ssh (6.1.0) net-ssh (6.1.0)
net-ssh-gateway (2.0.0) net-ssh-gateway (2.0.0)
net-ssh (>= 4.0.0) net-ssh (>= 4.0.0)
nori (2.6.0) nori (2.6.0)
os (1.1.0) os (1.1.1)
parallel (1.19.2) parallel (1.19.2)
parslet (1.8.2) parslet (1.8.2)
pastel (0.7.4) pastel (0.8.0)
equatable (~> 0.6)
tty-color (~> 0.5) tty-color (~> 0.5)
pry (0.13.1) pry (0.13.1)
coderay (~> 1.1) coderay (~> 1.1)
method_source (~> 1.0) method_source (~> 1.0)
public_suffix (4.0.5) public_suffix (4.0.6)
regexp_parser (1.7.1) regexp_parser (1.8.2)
representable (3.0.4) representable (3.0.4)
declarative (< 0.1.0) declarative (< 0.1.0)
declarative-option (< 0.2.0) declarative-option (< 0.2.0)
@@ -350,9 +354,9 @@ GEM
rspec-core (~> 3.9.0) rspec-core (~> 3.9.0)
rspec-expectations (~> 3.9.0) rspec-expectations (~> 3.9.0)
rspec-mocks (~> 3.9.0) rspec-mocks (~> 3.9.0)
rspec-core (3.9.2) rspec-core (3.9.3)
rspec-support (~> 3.9.3) rspec-support (~> 3.9.3)
rspec-expectations (3.9.2) rspec-expectations (3.9.3)
diff-lcs (>= 1.2.0, < 2.0) diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.9.0) rspec-support (~> 3.9.0)
rspec-its (1.3.0) rspec-its (1.3.0)
@@ -361,7 +365,7 @@ GEM
rspec-mocks (3.9.1) rspec-mocks (3.9.1)
diff-lcs (>= 1.2.0, < 2.0) diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.9.0) rspec-support (~> 3.9.0)
rspec-support (3.9.3) rspec-support (3.9.4)
rubyntlm (0.6.2) rubyntlm (0.6.2)
rubyzip (1.3.0) rubyzip (1.3.0)
semverse (3.0.0) semverse (3.0.0)
@@ -371,18 +375,15 @@ GEM
jwt (>= 1.5, < 3.0) jwt (>= 1.5, < 3.0)
multi_json (~> 1.10) multi_json (~> 1.10)
sslshake (1.3.1) sslshake (1.3.1)
strings (0.1.8) strings (0.2.0)
strings-ansi (~> 0.1) strings-ansi (~> 0.2)
unicode-display_width (~> 1.5) unicode-display_width (~> 1.5)
unicode_utils (~> 1.4) unicode_utils (~> 1.4)
strings-ansi (0.2.0) strings-ansi (0.2.0)
sync (0.5.0) test-kitchen (2.7.2)
term-ansicolor (1.7.1)
tins (~> 1.0)
test-kitchen (2.5.2)
bcrypt_pbkdf (~> 1.0) bcrypt_pbkdf (~> 1.0)
ed25519 (~> 1.2) ed25519 (~> 1.2)
license-acceptance (~> 1.0, >= 1.0.11) license-acceptance (>= 1.0.11, < 3.0)
mixlib-install (~> 3.6) mixlib-install (~> 3.6)
mixlib-shellout (>= 1.2, < 4.0) mixlib-shellout (>= 1.2, < 4.0)
net-scp (>= 1.1, < 4.0) net-scp (>= 1.1, < 4.0)
@@ -395,23 +396,21 @@ GEM
thor (1.0.1) thor (1.0.1)
thread_safe (0.3.6) thread_safe (0.3.6)
timeliness (0.3.10) timeliness (0.3.10)
tins (1.25.0)
sync
tomlrb (1.2.9) tomlrb (1.2.9)
train (3.3.6) train (3.3.27)
activesupport (>= 5.2.4.3, < 6.0.0) activesupport (>= 5.2.4.3, < 6.0.0)
azure_graph_rbac (~> 0.16) azure_graph_rbac (~> 0.16)
azure_mgmt_key_vault (~> 0.17) azure_mgmt_key_vault (~> 0.17)
azure_mgmt_resources (~> 0.15) azure_mgmt_resources (~> 0.15)
azure_mgmt_security (~> 0.18) azure_mgmt_security (~> 0.18)
azure_mgmt_storage (~> 0.18) azure_mgmt_storage (~> 0.18)
docker-api (~> 1.26) docker-api (>= 1.26, < 3.0)
google-api-client (>= 0.23.9, < 0.35.0) google-api-client (>= 0.23.9, < 0.44.1)
googleauth (>= 0.6.6, < 0.11.0) googleauth (>= 0.6.6, < 0.13.1)
inifile (~> 3.0) inifile (~> 3.0)
train-core (= 3.3.6) train-core (= 3.3.27)
train-winrm (~> 0.2) train-winrm (~> 0.2)
train-aws (0.1.17) train-aws (0.1.18)
aws-sdk-apigateway (~> 1.0) aws-sdk-apigateway (~> 1.0)
aws-sdk-apigatewayv2 (~> 1.0) aws-sdk-apigatewayv2 (~> 1.0)
aws-sdk-athena (~> 1.0) aws-sdk-athena (~> 1.0)
@@ -442,6 +441,7 @@ GEM
aws-sdk-elasticloadbalancingv2 (~> 1.0) aws-sdk-elasticloadbalancingv2 (~> 1.0)
aws-sdk-elasticsearchservice (~> 1.0) aws-sdk-elasticsearchservice (~> 1.0)
aws-sdk-firehose (~> 1.0) aws-sdk-firehose (~> 1.0)
aws-sdk-guardduty (~> 1.31)
aws-sdk-iam (~> 1.13) aws-sdk-iam (~> 1.13)
aws-sdk-kafka (~> 1.0) aws-sdk-kafka (~> 1.0)
aws-sdk-kinesis (~> 1.0) aws-sdk-kinesis (~> 1.0)
@@ -460,7 +460,7 @@ GEM
aws-sdk-sns (~> 1.9) aws-sdk-sns (~> 1.9)
aws-sdk-sqs (~> 1.10) aws-sdk-sqs (~> 1.10)
aws-sdk-ssm (~> 1.0) aws-sdk-ssm (~> 1.0)
train-core (3.3.6) train-core (3.3.27)
addressable (~> 2.5) addressable (~> 2.5)
ffi (!= 1.13.0) ffi (!= 1.13.0)
json (>= 1.8, < 3.0) json (>= 1.8, < 3.0)
@@ -468,30 +468,28 @@ GEM
net-scp (>= 1.2, < 4.0) net-scp (>= 1.2, < 4.0)
net-ssh (>= 2.9, < 7.0) net-ssh (>= 2.9, < 7.0)
train-habitat (0.2.13) train-habitat (0.2.13)
train-winrm (0.2.6) train-winrm (0.2.11)
winrm (~> 2.0) winrm (~> 2.0)
winrm-elevated (~> 1.2.2)
winrm-fs (~> 1.0) winrm-fs (~> 1.0)
tty-box (0.5.0) tty-box (0.6.0)
pastel (~> 0.7.2) pastel (~> 0.8)
strings (~> 0.1.6) strings (~> 0.2.0)
tty-cursor (~> 0.7) tty-cursor (~> 0.7)
tty-color (0.5.1) tty-color (0.5.2)
tty-cursor (0.7.1) tty-cursor (0.7.1)
tty-prompt (0.21.0) tty-prompt (0.22.0)
necromancer (~> 0.5.0) pastel (~> 0.8)
pastel (~> 0.7.0) tty-reader (~> 0.8)
tty-reader (~> 0.7.0) tty-reader (0.8.0)
tty-reader (0.7.0)
tty-cursor (~> 0.7) tty-cursor (~> 0.7)
tty-screen (~> 0.7) tty-screen (~> 0.8)
wisper (~> 2.0.0) wisper (~> 2.0)
tty-screen (0.8.0) tty-screen (0.8.1)
tty-table (0.11.0) tty-table (0.12.0)
equatable (~> 0.6) pastel (~> 0.8)
necromancer (~> 0.5) strings (~> 0.2.0)
pastel (~> 0.7.2) tty-screen (~> 0.8)
strings (~> 0.1.5)
tty-screen (~> 0.7)
tzinfo (1.2.7) tzinfo (1.2.7)
thread_safe (~> 0.1) thread_safe (~> 0.1)
uber (0.1.0) uber (0.1.0)
@@ -501,7 +499,7 @@ GEM
unicode-display_width (1.7.0) unicode-display_width (1.7.0)
unicode_utils (1.4.0) unicode_utils (1.4.0)
uri_template (0.7.0) uri_template (0.7.0)
winrm (2.3.4) winrm (2.3.5)
builder (>= 2.1.2) builder (>= 2.1.2)
erubi (~> 1.8) erubi (~> 1.8)
gssapi (~> 1.2) gssapi (~> 1.2)
@@ -510,7 +508,7 @@ GEM
logging (>= 1.6.1, < 3.0) logging (>= 1.6.1, < 3.0)
nori (~> 2.0) nori (~> 2.0)
rubyntlm (~> 0.6.0, >= 0.6.1) rubyntlm (~> 0.6.0, >= 0.6.1)
winrm-elevated (1.2.1) winrm-elevated (1.2.2)
erubi (~> 1.8) erubi (~> 1.8)
winrm (~> 2.0) winrm (~> 2.0)
winrm-fs (~> 1.0) winrm-fs (~> 1.0)
@@ -525,9 +523,10 @@ PLATFORMS
ruby ruby
DEPENDENCIES DEPENDENCIES
kitchen-docker (>= 2.9) inspec (~> 4.22.22)
kitchen-inspec (>= 1.1) kitchen-docker!
kitchen-salt (>= 0.6.0) kitchen-inspec (>= 2.2.1)
kitchen-salt (>= 0.6.3)
kitchen-vagrant kitchen-vagrant
BUNDLED WITH BUNDLED WITH

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

@@ -1,3 +1,8 @@
module.exports = { module.exports = {
extends: ['@commitlint/config-conventional'], 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,194 +13,203 @@ This list is sorted by the number of commits per contributor in *descending* ord
* - Avatar * - Avatar
- Contributor - Contributor
- Contributions - 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>`_ - `@myii <https://github.com/myii>`_
- 119 - 154
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/13322818?v=4' width='36' height='36' alt='@noelmcloughlin'>` * - :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>`_ - `@noelmcloughlin <https://github.com/noelmcloughlin>`_
- 62 - 78
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/1800660?v=4' width='36' height='36' alt='@aboe76'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1800660?v=4' width='36' height='36' alt='@aboe76'>`
- `@aboe76 <https://github.com/aboe76>`_ - `@aboe76 <https://github.com/aboe76>`_
- 54 - 54
* - :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>`_ - `@gravyboat <https://github.com/gravyboat>`_
- 41 - 41
* - :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>`_ - `@javierbertoli <https://github.com/javierbertoli>`_
- 19 - 21
* - :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/3374962?v=4' width='36' height='36' alt='@nmadhok'>`
- `@nmadhok <https://github.com/nmadhok>`_ - `@nmadhok <https://github.com/nmadhok>`_
- 19 - 19
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/16338056?v=4' width='36' height='36' alt='@vutny'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/16338056?v=4' width='36' height='36' alt='@vutny'>`
- `@vutny <https://github.com/vutny>`_ - `@vutny <https://github.com/vutny>`_
- 18 - 18
* - :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>`_ - `@puneetk <https://github.com/puneetk>`_
- 11 - 11
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/745513?v=4' width='36' height='36' alt='@EvaSDK'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/745513?v=4' width='36' height='36' alt='@EvaSDK'>`
- `@EvaSDK <https://github.com/EvaSDK>`_ - `@EvaSDK <https://github.com/EvaSDK>`_
- 9 - 9
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/1713422?v=4' width='36' height='36' alt='@dferrantelli'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1713422?v=4' width='36' height='36' alt='@dferramosi'>`
- `@dferrantelli <https://github.com/dferrantelli>`_ - `@dferramosi <https://github.com/dferramosi>`_
- 8 - 8
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/5306980?v=4' width='36' height='36' alt='@johnkeates'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/5306980?v=4' width='36' height='36' alt='@johnkeates'>`
- `@johnkeates <https://github.com/johnkeates>`_ - `@johnkeates <https://github.com/johnkeates>`_
- 8 - 8
* - :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>`_ - `@whiteinge <https://github.com/whiteinge>`_
- 8 - 8
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/117961?v=4' width='36' height='36' alt='@babilen5'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/117961?v=4' width='36' height='36' alt='@babilen5'>`
- `@babilen5 <https://github.com/babilen5>`_ - `@babilen5 <https://github.com/babilen5>`_
- 8 - 8
* - :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>`_ - `@iggy <https://github.com/iggy>`_
- 7 - 7
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/13106485?v=4' width='36' height='36' alt='@dynjnelson'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/13106485?v=4' width='36' height='36' alt='@dynjnelson'>`
- `@dynjnelson <https://github.com/dynjnelson>`_ - `@dynjnelson <https://github.com/dynjnelson>`_
- 7 - 7
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/3449635?v=4' width='36' height='36' alt='@rominf'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/3449635?v=4' width='36' height='36' alt='@rominf'>`
- `@rominf <https://github.com/rominf>`_ - `@rominf <https://github.com/rominf>`_
- 7 - 7
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/223763?v=4' width='36' height='36' alt='@alfredopalhares'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/223763?v=4' width='36' height='36' alt='@alfredopalhares'>`
- `@alfredopalhares <https://github.com/alfredopalhares>`_ - `@alfredopalhares <https://github.com/alfredopalhares>`_
- 6 - 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>`_ - `@alxwr <https://github.com/alxwr>`_
- 5 - 5
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/74739?v=4' width='36' height='36' alt='@audreyr'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/74739?v=4' width='36' height='36' alt='@audreyfeldroy'>`
- `@audreyr <https://github.com/audreyr>`_ - `@audreyfeldroy <https://github.com/audreyfeldroy>`_
- 5 - 5
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/278900?v=4' width='36' height='36' alt='@blast-hardcheese'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/278900?v=4' width='36' height='36' alt='@blast-hardcheese'>`
- `@blast-hardcheese <https://github.com/blast-hardcheese>`_ - `@blast-hardcheese <https://github.com/blast-hardcheese>`_
- 5 - 5
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/2179770?v=4' width='36' height='36' alt='@gilou'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2179770?v=4' width='36' height='36' alt='@gilou'>`
- `@gilou <https://github.com/gilou>`_ - `@gilou <https://github.com/gilou>`_
- 5 - 5
* - :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>`_ - `@techhat <https://github.com/techhat>`_
- 5 - 5
* - :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>`_ - `@t0fik <https://github.com/t0fik>`_
- 5 - 5
* - :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>`_ - `@stp-ip <https://github.com/stp-ip>`_
- 4 - 4
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/1435085?v=4' width='36' height='36' alt='@blbradley'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1435085?v=4' width='36' height='36' alt='@blbradley'>`
- `@blbradley <https://github.com/blbradley>`_ - `@blbradley <https://github.com/blbradley>`_
- 3 - 3
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/2192630?v=4' width='36' height='36' alt='@abrefort'>` * - :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/2192630?v=4' width='36' height='36' alt='@abrefort'>`
- `@abrefort <https://github.com/abrefort>`_ - `@abrefort <https://github.com/abrefort>`_
- 3 - 3
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/296940?v=4' width='36' height='36' alt='@renoirb'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/296940?v=4' width='36' height='36' alt='@renoirb'>`
- `@renoirb <https://github.com/renoirb>`_ - `@renoirb <https://github.com/renoirb>`_
- 3 - 3
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/1078927?v=4' width='36' height='36' alt='@Ken-2scientists'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1078927?v=4' width='36' height='36' alt='@Ken-2scientists'>`
- `@Ken-2scientists <https://github.com/Ken-2scientists>`_ - `@Ken-2scientists <https://github.com/Ken-2scientists>`_
- 2 - 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/22311?v=4' width='36' height='36' alt='@madssj'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/22311?v=4' width='36' height='36' alt='@madssj'>`
- `@madssj <https://github.com/madssj>`_ - `@madssj <https://github.com/madssj>`_
- 2 - 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/102919?v=4' width='36' height='36' alt='@h3'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/102919?v=4' width='36' height='36' alt='@h3'>`
- `@h3 <https://github.com/h3>`_ - `@h3 <https://github.com/h3>`_
- 2 - 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/6415605?v=4' width='36' height='36' alt='@tgoodaire'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/6415605?v=4' width='36' height='36' alt='@tgoodaire'>`
- `@tgoodaire <https://github.com/tgoodaire>`_ - `@tgoodaire <https://github.com/tgoodaire>`_
- 2 - 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/26276?v=4' width='36' height='36' alt='@durana'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/46799934?v=4' width='36' height='36' alt='@sticky-note'>`
- `@sticky-note <https://github.com/sticky-note>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/26276?v=4' width='36' height='36' alt='@durana'>`
- `@durana <https://github.com/durana>`_ - `@durana <https://github.com/durana>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/1922124?v=4' width='36' height='36' alt='@bebosudo'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1922124?v=4' width='36' height='36' alt='@bebosudo'>`
- `@bebosudo <https://github.com/bebosudo>`_ - `@bebosudo <https://github.com/bebosudo>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/7353491?v=4' width='36' height='36' alt='@sarcastic-coder'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/7353491?v=4' width='36' height='36' alt='@sarcastic-coder'>`
- `@sarcastic-coder <https://github.com/sarcastic-coder>`_ - `@sarcastic-coder <https://github.com/sarcastic-coder>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/458548?v=4' width='36' height='36' alt='@SuperTux88'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/458548?v=4' width='36' height='36' alt='@SuperTux88'>`
- `@SuperTux88 <https://github.com/SuperTux88>`_ - `@SuperTux88 <https://github.com/SuperTux88>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/36720?v=4' width='36' height='36' alt='@brot'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/36720?v=4' width='36' height='36' alt='@brot'>`
- `@brot <https://github.com/brot>`_ - `@brot <https://github.com/brot>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/1020898?v=4' width='36' height='36' alt='@xbglowx'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1020898?v=4' width='36' height='36' alt='@xbglowx'>`
- `@xbglowx <https://github.com/xbglowx>`_ - `@xbglowx <https://github.com/xbglowx>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/83323?v=4' width='36' height='36' alt='@cro'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/83323?v=4' width='36' height='36' alt='@cro'>`
- `@cro <https://github.com/cro>`_ - `@cro <https://github.com/cro>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/8599847?v=4' width='36' height='36' alt='@campbellmc'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/8599847?v=4' width='36' height='36' alt='@campbellmc'>`
- `@campbellmc <https://github.com/campbellmc>`_ - `@campbellmc <https://github.com/campbellmc>`_
- 1 - 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>`_ - `@UtahDave <https://github.com/UtahDave>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/215487?v=4' width='36' height='36' alt='@fcrozat'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/215487?v=4' width='36' height='36' alt='@fcrozat'>`
- `@fcrozat <https://github.com/fcrozat>`_ - `@fcrozat <https://github.com/fcrozat>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/1468874?v=4' width='36' height='36' alt='@Laogeodritt'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1468874?v=4' width='36' height='36' alt='@Laogeodritt'>`
- `@Laogeodritt <https://github.com/Laogeodritt>`_ - `@Laogeodritt <https://github.com/Laogeodritt>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/650691?v=4' width='36' height='36' alt='@itbabu'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/650691?v=4' width='36' height='36' alt='@itbabu'>`
- `@itbabu <https://github.com/itbabu>`_ - `@itbabu <https://github.com/itbabu>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/296523?v=4' width='36' height='36' alt='@mkotsbak'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/296523?v=4' width='36' height='36' alt='@mkotsbak'>`
- `@mkotsbak <https://github.com/mkotsbak>`_ - `@mkotsbak <https://github.com/mkotsbak>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/1331128?v=4' width='36' height='36' alt='@mattysads'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1331128?v=4' width='36' height='36' alt='@mattysads'>`
- `@mattysads <https://github.com/mattysads>`_ - `@mattysads <https://github.com/mattysads>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/3705387?v=4' width='36' height='36' alt='@mbrannigan'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/3705387?v=4' width='36' height='36' alt='@mbrannigan'>`
- `@mbrannigan <https://github.com/mbrannigan>`_ - `@mbrannigan <https://github.com/mbrannigan>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/3433835?v=4' width='36' height='36' alt='@n-rodriguez'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/3433835?v=4' width='36' height='36' alt='@n-rodriguez'>`
- `@n-rodriguez <https://github.com/n-rodriguez>`_ - `@n-rodriguez <https://github.com/n-rodriguez>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/8399114?v=4' width='36' height='36' alt='@fortunejuggle'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/8399114?v=4' width='36' height='36' alt='@fortunejuggle'>`
- `@fortunejuggle <https://github.com/fortunejuggle>`_ - `@fortunejuggle <https://github.com/fortunejuggle>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/219695?v=4' width='36' height='36' alt='@rmoorman'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/219695?v=4' width='36' height='36' alt='@rmoorman'>`
- `@rmoorman <https://github.com/rmoorman>`_ - `@rmoorman <https://github.com/rmoorman>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/154676?v=4' width='36' height='36' alt='@skurfer'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/154676?v=4' width='36' height='36' alt='@skurfer'>`
- `@skurfer <https://github.com/skurfer>`_ - `@skurfer <https://github.com/skurfer>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/2592431?v=4' width='36' height='36' alt='@RobRuana'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2592431?v=4' width='36' height='36' alt='@RobRuana'>`
- `@RobRuana <https://github.com/RobRuana>`_ - `@RobRuana <https://github.com/RobRuana>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/10464711?v=4' width='36' height='36' alt='@sbrefort'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/10464711?v=4' width='36' height='36' alt='@sbrefort'>`
- `@sbrefort <https://github.com/sbrefort>`_ - `@sbrefort <https://github.com/sbrefort>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/125458?v=4' width='36' height='36' alt='@sbellem'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/125458?v=4' width='36' height='36' alt='@sbellem'>`
- `@sbellem <https://github.com/sbellem>`_ - `@sbellem <https://github.com/sbellem>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/500703?v=4' width='36' height='36' alt='@retrry'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/500703?v=4' width='36' height='36' alt='@retrry'>`
- `@retrry <https://github.com/retrry>`_ - `@retrry <https://github.com/retrry>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/2814878?v=4' width='36' height='36' alt='@thomasrossetto'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2814878?v=4' width='36' height='36' alt='@thomasrossetto'>`
- `@thomasrossetto <https://github.com/thomasrossetto>`_ - `@thomasrossetto <https://github.com/thomasrossetto>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/507599?v=4' width='36' height='36' alt='@thatch45'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/507599?v=4' width='36' height='36' alt='@thatch45'>`
- `@thatch45 <https://github.com/thatch45>`_ - `@thatch45 <https://github.com/thatch45>`_
- 1 - 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/444668?v=4' width='36' height='36' alt='@tobio'>`
- `@tobio <https://github.com/tobio>`_ - `@tobio <https://github.com/tobio>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/2097647?v=4' width='36' height='36' alt='@XRasher'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2097647?v=4' width='36' height='36' alt='@XRasher'>`
- `@XRasher <https://github.com/XRasher>`_ - `@XRasher <https://github.com/XRasher>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/8005290?v=4' width='36' height='36' alt='@YetAnotherMinion'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/8005290?v=4' width='36' height='36' alt='@YetAnotherMinion'>`
- `@YetAnotherMinion <https://github.com/YetAnotherMinion>`_ - `@YetAnotherMinion <https://github.com/YetAnotherMinion>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/17393048?v=4' width='36' height='36' alt='@ek9'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/17393048?v=4' width='36' height='36' alt='@ek9'>`
- `@ek9 <https://github.com/ek9>`_ - `@ek9 <https://github.com/ek9>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/11394644?v=4' width='36' height='36' alt='@Strade288'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/11394644?v=4' width='36' height='36' alt='@Strade288'>`
- `@Strade288 <https://github.com/Strade288>`_ - `@Strade288 <https://github.com/Strade288>`_
- 1 - 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>`_ - `@daks <https://github.com/daks>`_
- 1 - 1
---- ----
Auto-generated by a `forked version <https://github.com/myii/maintainer>`_ of `gaocegege/maintainer <https://github.com/gaocegege/maintainer>`_ on 2020-07-10. Auto-generated by a `forked version <https://github.com/myii/maintainer>`_ of `gaocegege/maintainer <https://github.com/gaocegege/maintainer>`_ on 2021-07-06.

View File

@@ -2,6 +2,163 @@
Changelog Changelog
========= =========
`0.41.9 <https://github.com/saltstack-formulas/postgres-formula/compare/v0.41.8...v0.41.9>`_ (2021-07-06)
-------------------------------------------------------------------------------------------------------------
Bug Fixes
^^^^^^^^^
* **osmap.yaml:** fix PGDG repo file creation for Amazon Linux (\ `2de775b <https://github.com/saltstack-formulas/postgres-formula/commit/2de775be1e3e77b2bd71cb0a0a6fa587498c10e7>`_\ )
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* **3003.1:** update inc. AlmaLinux, Rocky & ``rst-lint`` [skip ci] (\ `d16e91c <https://github.com/saltstack-formulas/postgres-formula/commit/d16e91ceb03411f58c98cbb919f65b3f3eb4abbb>`_\ )
* **kitchen+gitlab:** remove Ubuntu 16.04 & Fedora 32 (EOL) [skip ci] (\ `b690bab <https://github.com/saltstack-formulas/postgres-formula/commit/b690bab978901f9bea7c9b043ebce5a8f520f4b9>`_\ )
`0.41.8 <https://github.com/saltstack-formulas/postgres-formula/compare/v0.41.7...v0.41.8>`_ (2021-05-25)
-------------------------------------------------------------------------------------------------------------
Bug Fixes
^^^^^^^^^
* **jinja:** use json filter (\ `eb63ec8 <https://github.com/saltstack-formulas/postgres-formula/commit/eb63ec85e0f2d15f929ffbf1d483211b7bf4e595>`_\ )
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* add ``arch-master`` to matrix and update ``.travis.yml`` [skip ci] (\ `79feefa <https://github.com/saltstack-formulas/postgres-formula/commit/79feefa7519a5674496b8abfdc68e7baad75f950>`_\ )
* **kitchen+gitlab:** adjust matrix to add ``3003`` [skip ci] (\ `fd8f0e5 <https://github.com/saltstack-formulas/postgres-formula/commit/fd8f0e5db5c67f21c16910ab3ed696d59a7eeee2>`_\ )
* **vagrant:** add FreeBSD 13.0 [skip ci] (\ `93bb123 <https://github.com/saltstack-formulas/postgres-formula/commit/93bb123ea1a8e5037c8898777ba90338979e802f>`_\ )
* **vagrant:** use pre-salted boxes & conditional local settings [skip ci] (\ `69812c1 <https://github.com/saltstack-formulas/postgres-formula/commit/69812c1f62b90ba9094c873930ac334edac9a0aa>`_\ )
Documentation
^^^^^^^^^^^^^
* **readme:** fix headings [skip ci] (\ `c97317c <https://github.com/saltstack-formulas/postgres-formula/commit/c97317c39fe46375a78b478c08210d25461548ff>`_\ )
`0.41.7 <https://github.com/saltstack-formulas/postgres-formula/compare/v0.41.6...v0.41.7>`_ (2021-03-26)
-------------------------------------------------------------------------------------------------------------
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* enable Vagrant-based testing using GitHub Actions (\ `2ebc9c1 <https://github.com/saltstack-formulas/postgres-formula/commit/2ebc9c11da512c8bc2089e8ecb28f5d3e13261f1>`_\ )
* **kitchen+ci:** use latest pre-salted images (after CVE) [skip ci] (\ `cc43d1c <https://github.com/saltstack-formulas/postgres-formula/commit/cc43d1c90db36c232012bc80b66baa248ece3c42>`_\ )
Documentation
^^^^^^^^^^^^^
* **readme:** add ``Testing with Vagrant`` section (\ `ed2d688 <https://github.com/saltstack-formulas/postgres-formula/commit/ed2d6884b10725fad55b83de4972e59710f1970f>`_\ )
Tests
^^^^^
* standardise use of ``share`` suite & ``_mapdata`` state [skip ci] (\ `fc53d97 <https://github.com/saltstack-formulas/postgres-formula/commit/fc53d977b32290834dc5aa17fe461154b269d38c>`_\ )
`0.41.6 <https://github.com/saltstack-formulas/postgres-formula/compare/v0.41.5...v0.41.6>`_ (2021-02-26)
-------------------------------------------------------------------------------------------------------------
Bug Fixes
^^^^^^^^^
* **repo:** check whether pkg_repo is set (\ `26b2233 <https://github.com/saltstack-formulas/postgres-formula/commit/26b223323fa65abee731af04ee9631062a78b308>`_\ )
* **repo:** reorder dependencies to prevent errors (\ `750d8aa <https://github.com/saltstack-formulas/postgres-formula/commit/750d8aab7a7e386e5ca0a3d546bb5cf12aa4506c>`_\ )
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* **gemfile+lock:** use ``ssf`` customised ``kitchen-docker`` repo [skip ci] (\ `476b15e <https://github.com/saltstack-formulas/postgres-formula/commit/476b15e326b72a6bbdb9635d612f30b7a51ce7fa>`_\ )
* **kitchen+gitlab-ci:** use latest pre-salted images [skip ci] (\ `6f04b31 <https://github.com/saltstack-formulas/postgres-formula/commit/6f04b3191c6d1354d376473ff6e3ba213d614a4d>`_\ )
* **pre-commit:** update hook for ``rubocop`` [skip ci] (\ `e964c26 <https://github.com/saltstack-formulas/postgres-formula/commit/e964c26a29e61c5455b880e00195d5a0f55de641>`_\ )
Tests
^^^^^
* **command_spec:** fix ``rubocop`` violation [skip ci] (\ `73c39af <https://github.com/saltstack-formulas/postgres-formula/commit/73c39aff5ef9bf5808a251f70504e3b019087f01>`_\ )
* **pillar:** update conditional to include Tumbleweed (\ `e976ee9 <https://github.com/saltstack-formulas/postgres-formula/commit/e976ee9c9924363db400b23cbde914112b6b4349>`_\ )
`0.41.5 <https://github.com/saltstack-formulas/postgres-formula/compare/v0.41.4...v0.41.5>`_ (2021-01-07)
-------------------------------------------------------------------------------------------------------------
Bug Fixes
^^^^^^^^^
* **cent7:** postgres11 needs libicu installed (\ `4c0f796 <https://github.com/saltstack-formulas/postgres-formula/commit/4c0f796f00901b88e0ee9d778a5acb2115bf17cb>`_\ )
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* **commitlint:** ensure ``upstream/master`` uses main repo URL [skip ci] (\ `e84389d <https://github.com/saltstack-formulas/postgres-formula/commit/e84389dbb31f04f3eeabfd3935ef193e09e5b562>`_\ )
* **gitlab-ci:** add ``rubocop`` linter (with ``allow_failure``\ ) [skip ci] (\ `2615411 <https://github.com/saltstack-formulas/postgres-formula/commit/2615411ec019600328c330cb4e72de89472f8fc9>`_\ )
`0.41.4 <https://github.com/saltstack-formulas/postgres-formula/compare/v0.41.3...v0.41.4>`_ (2020-12-16)
-------------------------------------------------------------------------------------------------------------
Bug Fixes
^^^^^^^^^
* **archlinux:** avoid nonetype error (\ `0a6cf8f <https://github.com/saltstack-formulas/postgres-formula/commit/0a6cf8fefae1bbd5668a447ced911088ac965475>`_\ )
* **archlinux:** use consistent jinja repo check (\ `3a955e0 <https://github.com/saltstack-formulas/postgres-formula/commit/3a955e02708b23929c93f879bcba0e3fe5ae5666>`_\ )
* **jinja:** syntax correction (\ `8b44c06 <https://github.com/saltstack-formulas/postgres-formula/commit/8b44c068fcfd4199336596bdba095fc0e6c8fb2e>`_\ )
* **python:** use python3 postres on cent7/8 (\ `d6d1068 <https://github.com/saltstack-formulas/postgres-formula/commit/d6d1068395131de08534e387d377389bd078d3ee>`_\ )
* **suse:** version 11+ repo support on suse (\ `b3f381e <https://github.com/saltstack-formulas/postgres-formula/commit/b3f381e54750a00bb19a4aa50c6273c627dca16c>`_\ )
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* **gitlab-ci:** use GitLab CI as Travis CI replacement (\ `a45673a <https://github.com/saltstack-formulas/postgres-formula/commit/a45673a87892deb973afee3689aea4bebd7a5739>`_\ )
* **pre-commit:** add to formula [skip ci] (\ `db1794b <https://github.com/saltstack-formulas/postgres-formula/commit/db1794b6bbb6ce183e5231cb4b7e7193dcb80143>`_\ )
* **pre-commit:** enable/disable ``rstcheck`` as relevant [skip ci] (\ `f04d60a <https://github.com/saltstack-formulas/postgres-formula/commit/f04d60a773461dce98b4f2a7c8abbbab268513a0>`_\ )
* **pre-commit:** finalise ``rstcheck`` configuration [skip ci] (\ `7036f60 <https://github.com/saltstack-formulas/postgres-formula/commit/7036f60e8ca3857beeca18abe70a3c59b6a021ec>`_\ )
`0.41.3 <https://github.com/saltstack-formulas/postgres-formula/compare/v0.41.2...v0.41.3>`_ (2020-09-29)
-------------------------------------------------------------------------------------------------------------
Bug Fixes
^^^^^^^^^
* **upstream:** require_in/require use_upstream (\ `ab6b97e <https://github.com/saltstack-formulas/postgres-formula/commit/ab6b97e8c3ff40f9cb2e629c3c0faf09ca59ede9>`_\ )
`0.41.2 <https://github.com/saltstack-formulas/postgres-formula/compare/v0.41.1...v0.41.2>`_ (2020-07-27)
-------------------------------------------------------------------------------------------------------------
Bug Fixes
^^^^^^^^^
* **macros:** fix ``format_kwargs`` macro (\ `5e6511b <https://github.com/saltstack-formulas/postgres-formula/commit/5e6511b783388930010e6c0795b197728fb10b39>`_\ )
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* **kitchen:** ubuntu-2004-master-py3 added (\ `7978976 <https://github.com/saltstack-formulas/postgres-formula/commit/79789765439bb0727521dc817fe9eaebba000a67>`_\ )
* **kitchen+travis:** use latest pre-salted images [skip ci] (\ `702323c <https://github.com/saltstack-formulas/postgres-formula/commit/702323c24df1df6b11defd663b55cf38586bd3f3>`_\ )
* **travis:** ubuntu upgrade from 16 to 18 & 20 (\ `44568a6 <https://github.com/saltstack-formulas/postgres-formula/commit/44568a680602fb61f157b74dc05f9af9b153e8e6>`_\ )
Styles
^^^^^^
* **libtofs.jinja:** use Black-inspired Jinja formatting [skip ci] (\ `8735cf8 <https://github.com/saltstack-formulas/postgres-formula/commit/8735cf8ad1b9fc1eb816aecf3d363d4fc81fbe66>`_\ )
`0.41.1 <https://github.com/saltstack-formulas/postgres-formula/compare/v0.41.0...v0.41.1>`_ (2020-07-10) `0.41.1 <https://github.com/saltstack-formulas/postgres-formula/compare/v0.41.0...v0.41.1>`_ (2020-07-10)
------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------

View File

@@ -1,5 +1,3 @@
.. _readme:
postgres-formula postgres-formula
================ ================
@@ -63,7 +61,7 @@ Creates such DB objects as: users, tablespaces, databases, schemas and extension
See ``pillar.example`` file for details. See ``pillar.example`` file for details.
``postgres.python`` ``postgres.python``
^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^
Installs the PostgreSQL adapter for Python on Linux. Installs the PostgreSQL adapter for Python on Linux.
@@ -119,17 +117,17 @@ Removal states
Meta state to remove Postgres software. By default the release installed by formula is targeted only. To target multiple releases, set pillar ``postgres.remove.multiple_releases: True``. Meta state to remove Postgres software. By default the release installed by formula is targeted only. To target multiple releases, set pillar ``postgres.remove.multiple_releases: True``.
``postgres.server.remove`` ``postgres.server.remove``
^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^
Remove server, lib, and contrib packages. The ``postgres.server.remove`` will retain data by default (no data loss) - set pillar ``postgres.remove.data: True`` to remove data and configuration directories also. Remove server, lib, and contrib packages. The ``postgres.server.remove`` will retain data by default (no data loss) - set pillar ``postgres.remove.data: True`` to remove data and configuration directories also.
``postgres.client.remove`` ``postgres.client.remove``
^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^
Remove client package. Remove client package.
``postgres.dev.remove`` ``postgres.dev.remove``
^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^
Remove development and python packages. Remove development and python packages.
@@ -150,7 +148,7 @@ Creates the docker instance and runs the ``postgres`` main state, ready for test
Runs the ``inspec`` tests on the actual instance. Runs the ``inspec`` tests on the actual instance.
``kitchen destroy`` ``kitchen destroy``
^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^
Removes the docker instance. Removes the docker instance.
@@ -164,4 +162,66 @@ Runs all of the stages above in one go: i.e. ``destroy`` + ``converge`` + ``veri
Gives you SSH access to the instance for manual testing. Gives you SSH access to the instance for manual testing.
Testing with Vagrant
--------------------
Windows/FreeBSD/OpenBSD testing is done with ``kitchen-salt``.
Requirements
^^^^^^^^^^^^
* Ruby
* Virtualbox
* Vagrant
Setup
^^^^^
.. code-block:: bash
$ gem install bundler
$ bundle install --with=vagrant
$ bin/kitchen test [platform]
Where ``[platform]`` is the platform name defined in ``kitchen.vagrant.yml``,
e.g. ``windows-81-latest-py3``.
Note
^^^^
When testing using Vagrant you must set the environment variable ``KITCHEN_LOCAL_YAML`` to ``kitchen.vagrant.yml``. For example:
.. code-block:: bash
$ KITCHEN_LOCAL_YAML=kitchen.vagrant.yml bin/kitchen test # Alternatively,
$ export KITCHEN_LOCAL_YAML=kitchen.vagrant.yml
$ bin/kitchen test
Then run the following commands as needed.
``bin/kitchen converge``
^^^^^^^^^^^^^^^^^^^^^^^^
Creates the Vagrant instance and runs the ``postgres`` main state, ready for testing.
``bin/kitchen verify``
^^^^^^^^^^^^^^^^^^^^^^
Runs the ``inspec`` tests on the actual instance.
``bin/kitchen destroy``
^^^^^^^^^^^^^^^^^^^^^^^
Removes the Vagrant instance.
``bin/kitchen test``
^^^^^^^^^^^^^^^^^^^^
Runs all of the stages above in one go: i.e. ``destroy`` + ``converge`` + ``verify`` + ``destroy``.
``bin/kitchen login``
^^^^^^^^^^^^^^^^^^^^^
Gives you RDP/SSH access to the instance for manual testing.
.. vim: fenc=utf-8 spell spl=en cc=100 tw=99 fo=want sts=2 sw=2 et .. vim: fenc=utf-8 spell spl=en cc=100 tw=99 fo=want sts=2 sw=2 et

View File

@@ -64,7 +64,7 @@ Example: NTP before applying TOFS
Let's work with the NTP example. A basic formula that follows the `design guidelines <http://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html>`_ has the following files and directories tree: Let's work with the NTP example. A basic formula that follows the `design guidelines <http://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html>`_ has the following files and directories tree:
.. code-block:: .. code-block:: console
/srv/saltstack/salt-formulas/ntp-saltstack-formula/ /srv/saltstack/salt-formulas/ntp-saltstack-formula/
ntp/ ntp/
@@ -226,7 +226,7 @@ We can make different templates coexist for different minions, classified by any
If we decide that we want ``os_family`` as switch, then we could provide the formula template variants for both the ``RedHat`` and ``Debian`` families. If we decide that we want ``os_family`` as switch, then we could provide the formula template variants for both the ``RedHat`` and ``Debian`` families.
.. code-block:: .. code-block:: console
/srv/saltstack/salt-formulas/ntp-saltstack-formula/ntp/files/ /srv/saltstack/salt-formulas/ntp-saltstack-formula/ntp/files/
default/ default/
@@ -449,7 +449,7 @@ Using sub-directories for ``components``
If your formula is composed of several components, you may prefer to provides files under sub-directories, like in the `systemd-formula <https://github.com/saltstack-formulas/systemd-formula>`_. If your formula is composed of several components, you may prefer to provides files under sub-directories, like in the `systemd-formula <https://github.com/saltstack-formulas/systemd-formula>`_.
.. code-block:: .. code-block:: console
/srv/saltstack/systemd-formula/ /srv/saltstack/systemd-formula/
systemd/ systemd/

View File

@@ -3,15 +3,38 @@
--- ---
driver: driver:
name: vagrant name: vagrant
platforms:
- name: freebsd-120-2019-2-py3
driver:
box_url: https://freebsd.z.vstack.com/FreeBSD-12.0.box
cache_directory: false cache_directory: false
customize: customize:
usbxhci: 'off' usbxhci: 'off'
gui: false gui: false
linked_clone: true
ssh: ssh:
shell: '/bin/sh' shell: /bin/sh
<% unless ENV['CI'] %>
linked_clone: true
synced_folders:
- - '.kitchen/kitchen-vagrant/%{instance_name}/vagrant'
- '/vagrant'
- 'create: true, disabled: false'
<% end %>
platforms:
- name: freebsd-130-master-py3
driver:
box: myii/freebsd-13.0-master-py3
synced_folders: [] # https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=255208
- name: freebsd-122-master-py3
driver:
box: myii/freebsd-12.2-master-py3
- name: freebsd-114-master-py3
driver:
box: myii/freebsd-11.4-master-py3
- name: freebsd-130-3002-6-py3
driver:
box: myii/freebsd-13.0-3002.6-py3
synced_folders: [] # https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=255208
- name: freebsd-122-3002-6-py3
driver:
box: myii/freebsd-12.2-3002.6-py3
- name: freebsd-114-3002-6-py3
driver:
box: myii/freebsd-11.4-3002.6-py3

View File

@@ -8,128 +8,384 @@ driver:
privileged: true privileged: true
run_command: /lib/systemd/systemd run_command: /lib/systemd/systemd
# Make sure the platforms listed below match up with
# the `env.matrix` instances defined in `.travis.yml`
platforms: platforms:
## SALT `tiamat`
- name: debian-10-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:debian-10
- name: debian-9-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:debian-9
- name: ubuntu-2004-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:ubuntu-20.04
- name: ubuntu-1804-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:ubuntu-18.04
- name: centos-8-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:centos-8
- 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` ## SALT `master`
- name: debian-10-master-py3 - name: debian-10-master-py3
driver: driver:
image: saltimages/salt-master-py3:debian-10 image: saltimages/salt-master-py3:debian-10
- name: debian-9-master-py3
driver:
image: saltimages/salt-master-py3:debian-9
- name: ubuntu-2004-master-py3
driver:
image: saltimages/salt-master-py3:ubuntu-20.04
- name: ubuntu-1804-master-py3 - name: ubuntu-1804-master-py3
driver: driver:
image: saltimages/salt-master-py3:ubuntu-18.04 image: saltimages/salt-master-py3:ubuntu-18.04
- name: centos-8-master-py3 - name: centos-8-master-py3
driver: driver:
image: saltimages/salt-master-py3:centos-8 image: saltimages/salt-master-py3:centos-8
- name: fedora-31-master-py3 - name: centos-7-master-py3
driver: driver:
image: saltimages/salt-master-py3:fedora-31 image: saltimages/salt-master-py3:centos-7
- name: opensuse-leap-151-master-py3 - name: fedora-34-master-py3
driver: driver:
image: netmanagers/salt-master-py3:opensuse-leap-15.1 image: saltimages/salt-master-py3:fedora-34
- name: fedora-33-master-py3
driver:
image: saltimages/salt-master-py3:fedora-33
- name: opensuse-leap-153-master-py3
driver:
image: saltimages/salt-master-py3:opensuse-leap-15.3
run_command: /usr/lib/systemd/systemd run_command: /usr/lib/systemd/systemd
# Workaround to avoid intermittent failures on `opensuse-leap-15.1`: # 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-leap-152-master-py3
driver:
image: saltimages/salt-master-py3:opensuse-leap-15.2
run_command: /usr/lib/systemd/systemd
# Workaround to avoid intermittent failures on `opensuse-leap-15.2`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: opensuse-tmbl-latest-master-py3
driver:
image: saltimages/salt-master-py3:opensuse-tumbleweed-latest
run_command: /usr/lib/systemd/systemd
# Workaround to avoid intermittent failures on `opensuse-tumbleweed`:
# => SCP did not finish successfully (255): (Net::SCP::Error) # => SCP did not finish successfully (255): (Net::SCP::Error)
transport: transport:
max_ssh_sessions: 1 max_ssh_sessions: 1
- name: amazonlinux-2-master-py3 - name: amazonlinux-2-master-py3
driver: driver:
image: saltimages/salt-master-py3:amazonlinux-2 image: saltimages/salt-master-py3:amazonlinux-2
- name: oraclelinux-8-master-py3
## SALT `2019.2`
- name: debian-10-2019-2-py3
driver: driver:
image: saltimages/salt-2019.2-py3:debian-10 image: saltimages/salt-master-py3:oraclelinux-8
- name: debian-9-2019-2-py3 - name: oraclelinux-7-master-py3
driver: driver:
image: saltimages/salt-2019.2-py3:debian-9 image: saltimages/salt-master-py3:oraclelinux-7
- name: ubuntu-1804-2019-2-py3 - name: arch-base-latest-master-py3
driver: driver:
image: saltimages/salt-2019.2-py3:ubuntu-18.04 image: saltimages/salt-master-py3:arch-base-latest
- 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 run_command: /usr/lib/systemd/systemd
# Workaround to avoid intermittent failures on `opensuse-leap-15.1`: - 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 `3003.1`
- name: debian-10-3003-1-py3
driver:
image: saltimages/salt-3003.1-py3:debian-10
- name: debian-9-3003-1-py3
driver:
image: saltimages/salt-3003.1-py3:debian-9
- name: ubuntu-2004-3003-1-py3
driver:
image: saltimages/salt-3003.1-py3:ubuntu-20.04
- name: ubuntu-1804-3003-1-py3
driver:
image: saltimages/salt-3003.1-py3:ubuntu-18.04
- name: centos-8-3003-1-py3
driver:
image: saltimages/salt-3003.1-py3:centos-8
- name: centos-7-3003-1-py3
driver:
image: saltimages/salt-3003.1-py3:centos-7
- name: fedora-34-3003-1-py3
driver:
image: saltimages/salt-3003.1-py3:fedora-34
- name: fedora-33-3003-1-py3
driver:
image: saltimages/salt-3003.1-py3:fedora-33
- name: opensuse-leap-153-3003-1-py3
driver:
image: saltimages/salt-3003.1-py3:opensuse-leap-15.3
run_command: /usr/lib/systemd/systemd
# Workaround to avoid intermittent failures on `opensuse-leap-15.3`:
# => SCP did not finish successfully (255): (Net::SCP::Error) # => SCP did not finish successfully (255): (Net::SCP::Error)
transport: transport:
max_ssh_sessions: 1 max_ssh_sessions: 1
- name: centos-7-2019-2-py2 - name: opensuse-leap-152-3003-1-py3
driver: driver:
image: netmanagers/salt-2019.2-py2:centos-7 image: saltimages/salt-3003.1-py3:opensuse-leap-15.2
- 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 run_command: /usr/lib/systemd/systemd
# Workaround to avoid intermittent failures on `opensuse-leap-15.2`:
## 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) # => SCP did not finish successfully (255): (Net::SCP::Error)
transport: transport:
max_ssh_sessions: 1 max_ssh_sessions: 1
- name: amazonlinux-1-2018-3-py2 - name: opensuse-tmbl-latest-3003-1-py3
driver: driver:
image: netmanagers/salt-2018.3-py2:amazonlinux-1 image: saltimages/salt-3003.1-py3:opensuse-tumbleweed-latest
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 run_command: /usr/lib/systemd/systemd
# Workaround to avoid intermittent failures on `opensuse-tumbleweed`:
## 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) # => SCP did not finish successfully (255): (Net::SCP::Error)
transport: transport:
max_ssh_sessions: 1 max_ssh_sessions: 1
- name: amazonlinux-1-2017-7-py2 - name: amazonlinux-2-3003-1-py3
driver: driver:
image: netmanagers/salt-2017.7-py2:amazonlinux-1 image: saltimages/salt-3003.1-py3:amazonlinux-2
- name: oraclelinux-8-3003-1-py3
driver:
image: saltimages/salt-3003.1-py3:oraclelinux-8
- name: oraclelinux-7-3003-1-py3
driver:
image: saltimages/salt-3003.1-py3:oraclelinux-7
- name: arch-base-latest-3003-1-py3
driver:
image: saltimages/salt-3003.1-py3:arch-base-latest
run_command: /usr/lib/systemd/systemd
- name: gentoo-stage3-latest-3003-1-py3
driver:
image: saltimages/salt-3003.1-py3:gentoo-stage3-latest
run_command: /sbin/init run_command: /sbin/init
- name: arch-base-latest-2017-7-py2 - name: gentoo-stage3-systemd-3003-1-py3
driver: driver:
image: netmanagers/salt-2017.7-py2:arch-base-latest image: saltimages/salt-3003.1-py3:gentoo-stage3-systemd
## SALT `3002.6`
- name: debian-10-3002-6-py3
driver:
image: saltimages/salt-3002.6-py3:debian-10
- name: debian-9-3002-6-py3
driver:
image: saltimages/salt-3002.6-py3:debian-9
- name: ubuntu-2004-3002-6-py3
driver:
image: saltimages/salt-3002.6-py3:ubuntu-20.04
- name: ubuntu-1804-3002-6-py3
driver:
image: saltimages/salt-3002.6-py3:ubuntu-18.04
- name: centos-8-3002-6-py3
driver:
image: saltimages/salt-3002.6-py3:centos-8
- name: centos-7-3002-6-py3
driver:
image: saltimages/salt-3002.6-py3:centos-7
- name: fedora-34-3002-6-py3
driver:
image: saltimages/salt-3002.6-py3:fedora-34
- name: fedora-33-3002-6-py3
driver:
image: saltimages/salt-3002.6-py3:fedora-33
- name: amazonlinux-2-3002-6-py3
driver:
image: saltimages/salt-3002.6-py3:amazonlinux-2
- name: oraclelinux-8-3002-6-py3
driver:
image: saltimages/salt-3002.6-py3:oraclelinux-8
- name: oraclelinux-7-3002-6-py3
driver:
image: saltimages/salt-3002.6-py3:oraclelinux-7
- name: arch-base-latest-3002-6-py3
driver:
image: saltimages/salt-3002.6-py3:arch-base-latest
run_command: /usr/lib/systemd/systemd
- name: gentoo-stage3-latest-3002-6-py3
driver:
image: saltimages/salt-3002.6-py3:gentoo-stage3-latest
run_command: /sbin/init
- name: gentoo-stage3-systemd-3002-6-py3
driver:
image: saltimages/salt-3002.6-py3:gentoo-stage3-systemd
## SALT `3002.2`
- name: opensuse-leap-153-3002-2-py3
driver:
image: saltimages/salt-3002.2-py3:opensuse-leap-15.3
run_command: /usr/lib/systemd/systemd
# 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-leap-152-3002-2-py3
driver:
image: saltimages/salt-3002.2-py3:opensuse-leap-15.2
run_command: /usr/lib/systemd/systemd
# Workaround to avoid intermittent failures on `opensuse-leap-15.2`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: opensuse-tmbl-latest-3002-2-py3
driver:
image: saltimages/salt-3002.2-py3:opensuse-tumbleweed-latest
run_command: /usr/lib/systemd/systemd
# Workaround to avoid intermittent failures on `opensuse-tumbleweed`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
## SALT `3001.7`
- name: debian-10-3001-7-py3
driver:
image: saltimages/salt-3001.7-py3:debian-10
- name: debian-9-3001-7-py3
driver:
image: saltimages/salt-3001.7-py3:debian-9
- name: ubuntu-2004-3001-7-py3
driver:
image: saltimages/salt-3001.7-py3:ubuntu-20.04
- name: ubuntu-1804-3001-7-py3
driver:
image: saltimages/salt-3001.7-py3:ubuntu-18.04
- name: centos-8-3001-7-py3
driver:
image: saltimages/salt-3001.7-py3:centos-8
- name: centos-7-3001-7-py3
driver:
image: saltimages/salt-3001.7-py3:centos-7
- name: fedora-34-3001-7-py3
driver:
image: saltimages/salt-3001.7-py3:fedora-34
- name: fedora-33-3001-7-py3
driver:
image: saltimages/salt-3001.7-py3:fedora-33
- name: opensuse-leap-153-3001-7-py3
driver:
image: saltimages/salt-3001.7-py3:opensuse-leap-15.3
run_command: /usr/lib/systemd/systemd
# 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-leap-152-3001-7-py3
driver:
image: saltimages/salt-3001.7-py3:opensuse-leap-15.2
run_command: /usr/lib/systemd/systemd
# Workaround to avoid intermittent failures on `opensuse-leap-15.2`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: opensuse-tmbl-latest-3001-7-py3
driver:
image: saltimages/salt-3001.7-py3:opensuse-tumbleweed-latest
run_command: /usr/lib/systemd/systemd
# 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-3001-7-py3
driver:
image: saltimages/salt-3001.7-py3:amazonlinux-2
- name: oraclelinux-8-3001-7-py3
driver:
image: saltimages/salt-3001.7-py3:oraclelinux-8
- name: oraclelinux-7-3001-7-py3
driver:
image: saltimages/salt-3001.7-py3:oraclelinux-7
- name: arch-base-latest-3001-7-py3
driver:
image: saltimages/salt-3001.7-py3:arch-base-latest
run_command: /usr/lib/systemd/systemd
- name: gentoo-stage3-latest-3001-7-py3
driver:
image: saltimages/salt-3001.7-py3:gentoo-stage3-latest
run_command: /sbin/init
- name: gentoo-stage3-systemd-3001-7-py3
driver:
image: saltimages/salt-3001.7-py3:gentoo-stage3-systemd
## SALT `3000.9`
- name: debian-10-3000-9-py3
driver:
image: saltimages/salt-3000.9-py3:debian-10
- name: debian-9-3000-9-py3
driver:
image: saltimages/salt-3000.9-py3:debian-9
- name: ubuntu-1804-3000-9-py3
driver:
image: saltimages/salt-3000.9-py3:ubuntu-18.04
- name: centos-8-3000-9-py3
driver:
image: saltimages/salt-3000.9-py3:centos-8
- name: centos-7-3000-9-py3
driver:
image: saltimages/salt-3000.9-py3:centos-7
- name: opensuse-leap-153-3000-9-py3
driver:
image: saltimages/salt-3000.9-py3:opensuse-leap-15.3
run_command: /usr/lib/systemd/systemd
# 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-leap-152-3000-9-py3
driver:
image: saltimages/salt-3000.9-py3:opensuse-leap-15.2
run_command: /usr/lib/systemd/systemd
# Workaround to avoid intermittent failures on `opensuse-leap-15.2`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: amazonlinux-2-3000-9-py3
driver:
image: saltimages/salt-3000.9-py3:amazonlinux-2
- name: oraclelinux-8-3000-9-py3
driver:
image: saltimages/salt-3000.9-py3:oraclelinux-8
- name: oraclelinux-7-3000-9-py3
driver:
image: saltimages/salt-3000.9-py3:oraclelinux-7
- name: gentoo-stage3-latest-3000-9-py3
driver:
image: saltimages/salt-3000.9-py3:gentoo-stage3-latest
run_command: /sbin/init
- name: gentoo-stage3-systemd-3000-9-py3
driver:
image: saltimages/salt-3000.9-py3:gentoo-stage3-systemd
- name: ubuntu-1804-3000-9-py2
driver:
image: saltimages/salt-3000.9-py2:ubuntu-18.04
- name: arch-base-latest-3000-9-py2
driver:
image: saltimages/salt-3000.9-py2:arch-base-latest
run_command: /usr/lib/systemd/systemd run_command: /usr/lib/systemd/systemd
provisioner: provisioner:
@@ -156,6 +412,7 @@ suites:
state_top: state_top:
base: base:
'*': '*':
- postgres._mapdata
- postgres - postgres
pillars: pillars:
top.sls: top.sls:

View File

@@ -10,7 +10,7 @@ postgres:
# Set true to configure upstream postgresql.org repository for YUM/APT/ZYPP # Set true to configure upstream postgresql.org repository for YUM/APT/ZYPP
use_upstream_repo: false use_upstream_repo: false
# Version to install from upstream repository (if upstream_repo: true) # Version to install from upstream repository (if upstream_repo: true)
version: '10' version: '13'
# Set true to add a file in /etc/profile.d adding the bin dir in $PATH # Set true to add a file in /etc/profile.d adding the bin dir in $PATH
# as packages from upstream put them somewhere like /usr/pgsql-10/bin # as packages from upstream put them somewhere like /usr/pgsql-10/bin
add_profile: false add_profile: false
@@ -76,12 +76,15 @@ postgres:
# The uppercase items must be replaced by actual values. # The uppercase items must be replaced by actual values.
# METHOD could be omitted, 'md5' will be appended by default. # METHOD could be omitted, 'md5' will be appended by default.
# #
# Postgres expect a valid CIDR for ADDRESS (not ipaddress)
#
# If ``acls`` item value is empty ('', [], null), then the contents of # If ``acls`` item value is empty ('', [], null), then the contents of
# ``pg_hba.conf`` file will not be touched at all. # ``pg_hba.conf`` file will not be touched at all.
acls: acls:
- ['local', 'db0', 'connuser', 'peer map=users_as_appuser'] - ['local', 'db0', 'connuser', 'peer map=users_as_appuser']
- ['local', 'db1', 'localUser'] - ['local', 'db1', 'localUser']
- ['host', 'db2', 'remoteUser', '192.168.33.0/24'] - ['host', 'db2', 'remoteUser', '192.168.33.0/24']
- ['host', 'all', 'all', '127.0.0.1/32', 'md5']
identity_map: identity_map:
- ['users_as_appuser', 'jdoe', 'connuser'] - ['users_as_appuser', 'jdoe', 'connuser']

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
}}

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

@@ -16,7 +16,7 @@ include:
postgresql-client-libs: postgresql-client-libs:
pkg.installed: pkg.installed:
- pkgs: {{ pkgs | json }} - pkgs: {{ pkgs | json }}
{%- if postgres.use_upstream_repo == true %} {%- if 'pkg_repo' in postgres and postgres.use_upstream_repo == true %}
- refresh: True - refresh: True
- require: - require:
- pkgrepo: postgresql-repo - pkgrepo: postgresql-repo

View File

@@ -6,7 +6,7 @@
postgres: postgres:
use_upstream_repo: true use_upstream_repo: true
add_profile: false # add bin_dir to $PATH, if installed from repos add_profile: false # add bin_dir to $PATH, if installed from repos
version: '10' version: '13'
pkg: postgresql pkg: postgresql
pkgs_extra: [] pkgs_extra: []
pkgs_deps: [] pkgs_deps: []

View File

@@ -1,40 +1,37 @@
{%- macro files_switch(source_files, {%- macro files_switch(
source_files,
lookup=None, lookup=None,
default_files_switch=['id', 'os_family'], default_files_switch=["id", "os_family"],
indent_width=6, indent_width=6,
use_subpath=False) %} use_subpath=False
{#- ) %}
{#-
Returns a valid value for the "source" parameter of a "file.managed" Returns a valid value for the "source" parameter of a "file.managed"
state function. This makes easier the usage of the Template Override and state function. This makes easier the usage of the Template Override and
Files Switch (TOFS) pattern. Files Switch (TOFS) pattern.
Params: Params:
* source_files: ordered list of files to look for * source_files: ordered list of files to look for
* lookup: key under '<tplroot>:tofs:source_files' to prepend to the * lookup: key under "<tplroot>:tofs:source_files" to prepend to the
list of source files list of source files
* default_files_switch: if there's no config (e.g. pillar) * default_files_switch: if there's no config (e.g. pillar)
'<tplroot>:tofs:files_switch' this is the ordered list of grains to "<tplroot>:tofs:files_switch" this is the ordered list of grains to
use as selector switch of the directories under use as selector switch of the directories under
"<path_prefix>/files" "<path_prefix>/files"
* indent_width: indentation of the result value to conform to YAML * indent_width: indentation of the result value to conform to YAML
* use_subpath: defaults to `False` but if set, lookup the source file * use_subpath: defaults to `False` but if set, lookup the source file
recursively from the current state directory up to `tplroot` recursively from the current state directory up to `tplroot`
Example (based on a `tplroot` of `xxx`): Example (based on a `tplroot` of `xxx`):
If we have a state: If we have a state:
Deploy configuration: Deploy configuration:
file.managed: file.managed:
- name: /etc/yyy/zzz.conf - name: /etc/yyy/zzz.conf
- source: {{ files_switch(['/etc/yyy/zzz.conf', '/etc/yyy/zzz.conf.jinja'], - source: {{ files_switch(
lookup='Deploy configuration' ["/etc/yyy/zzz.conf", "/etc/yyy/zzz.conf.jinja"],
lookup="Deploy configuration",
) }} ) }}
- template: jinja - template: jinja
In a minion with id=theminion and os_family=RedHat, it's going to be In a minion with id=theminion and os_family=RedHat, it's going to be
rendered as: rendered as:
Deploy configuration: Deploy configuration:
file.managed: file.managed:
- name: /etc/yyy/zzz.conf - name: /etc/yyy/zzz.conf
@@ -46,67 +43,73 @@
- salt://xxx/files/default/etc/yyy/zzz.conf - salt://xxx/files/default/etc/yyy/zzz.conf
- salt://xxx/files/default/etc/yyy/zzz.conf.jinja - salt://xxx/files/default/etc/yyy/zzz.conf.jinja
- template: jinja - template: jinja
#} #}
{#- Get the `tplroot` from `tpldir` #} {#- Get the `tplroot` from `tpldir` #}
{%- set tplroot = tpldir.split('/')[0] %} {%- set tplroot = tpldir.split("/")[0] %}
{%- set path_prefix = salt['config.get'](tplroot ~ ':tofs:path_prefix', tplroot) %} {%- set path_prefix = salt["config.get"](tplroot ~ ":tofs:path_prefix", tplroot) %}
{%- set files_dir = salt['config.get'](tplroot ~ ':tofs:dirs:files', 'files') %} {%- set files_dir = salt["config.get"](tplroot ~ ":tofs:dirs:files", "files") %}
{%- set files_switch_list = salt['config.get']( {%- set files_switch_list = salt["config.get"](
tplroot ~ ':tofs:files_switch', tplroot ~ ":tofs:files_switch", default_files_switch
default_files_switch
) %} ) %}
{#- Lookup source_files (v2), files (v1), or fallback to an empty list #} {#- Lookup source_files (v2), files (v1), or fallback to an empty list #}
{%- set src_files = salt['config.get']( {%- set src_files = salt["config.get"](
tplroot ~ ':tofs:source_files:' ~ lookup, tplroot ~ ":tofs:source_files:" ~ lookup,
salt['config.get'](tplroot ~ ':tofs:files:' ~ lookup, []) salt["config.get"](tplroot ~ ":tofs:files:" ~ lookup, []),
) %} ) %}
{#- Append the default source_files #} {#- Append the default source_files #}
{%- set src_files = src_files + source_files %} {%- set src_files = src_files + source_files %}
{#- Only add to [''] when supporting older TOFS implementations #} {#- Only add to [""] when supporting older TOFS implementations #}
{%- set path_prefix_exts = [''] %} {%- set path_prefix_exts = [""] %}
{%- if use_subpath and tplroot != tpldir %} {%- if use_subpath and tplroot != tpldir %}
{#- Walk directory tree to find {{ files_dir }} #} {#- Walk directory tree to find {{ files_dir }} #}
{%- set subpath_parts = tpldir.lstrip(tplroot).lstrip('/').split('/') %} {%- set subpath_parts = tpldir.lstrip(tplroot).lstrip("/").split("/") %}
{%- for path in subpath_parts %} {%- for path in subpath_parts %}
{%- set subpath = subpath_parts[0:loop.index] | join('/') %} {%- set subpath = subpath_parts[0 : loop.index] | join("/") %}
{%- do path_prefix_exts.append('/' ~ subpath) %} {%- do path_prefix_exts.append("/" ~ subpath) %}
{%- endfor %} {%- endfor %}
{%- endif %} {%- endif %}
{%- for path_prefix_ext in path_prefix_exts|reverse %} {%- for path_prefix_ext in path_prefix_exts | reverse %}
{%- set path_prefix_inc_ext = path_prefix ~ path_prefix_ext %} {%- set path_prefix_inc_ext = path_prefix ~ path_prefix_ext %}
{#- For older TOFS implementation, use `files_switch` from the config #} {#- For older TOFS implementation, use `files_switch` from the config #}
{#- Use the default, new method otherwise #} {#- Use the default, new method otherwise #}
{%- set fsl = salt['config.get']( {%- set fsl = salt["config.get"](
tplroot ~ path_prefix_ext|replace('/', ':') ~ ':files_switch', tplroot ~ path_prefix_ext | replace("/", ":") ~ ":files_switch",
files_switch_list files_switch_list,
) %}
{#- Append an empty value to evaluate as `default` in the loop below #}
{%- if "" not in fsl %}
{%- set fsl = fsl + [""] %}
{%- endif %}
{%- for fs in fsl %}
{%- for src_file in src_files %}
{%- if fs %}
{%- set fs_dirs = salt["config.get"](fs, fs) %}
{%- else %}
{%- set fs_dirs = salt["config.get"](
tplroot ~ ":tofs:dirs:default", "default"
) %}
{%- endif %}
{#- Force the `config.get` lookup result as a list where necessary #}
{#- since we need to also handle grains that are lists #}
{%- if fs_dirs is string %}
{%- set fs_dirs = [fs_dirs] %}
{%- endif %}
{%- for fs_dir in fs_dirs %}
{#- strip empty elements by using a select #}
{%- set url = (
[
"- salt:/",
path_prefix_inc_ext.strip("/"),
files_dir.strip("/"),
fs_dir.strip("/"),
src_file.strip("/"),
]
| select
| join("/")
) %} ) %}
{#- Append an empty value to evaluate as `default` in the loop below #}
{%- if '' not in fsl %}
{%- set fsl = fsl + [''] %}
{%- endif %}
{%- for fs in fsl %}
{%- for src_file in src_files %}
{%- if fs %}
{%- set fs_dirs = salt['config.get'](fs, fs) %}
{%- else %}
{%- set fs_dirs = salt['config.get'](tplroot ~ ':tofs:dirs:default', 'default') %}
{%- endif %}
{#- Force the `config.get` lookup result as a list where necessary #}
{#- since we need to also handle grains that are lists #}
{%- if fs_dirs is string %}
{%- set fs_dirs = [fs_dirs] %}
{%- endif %}
{%- for fs_dir in fs_dirs %}
{%- set url = [
'- salt:/',
path_prefix_inc_ext.strip('/'),
files_dir.strip('/'),
fs_dir.strip('/'),
src_file.strip('/'),
] | select | join('/') %}
{{ url | indent(indent_width, true) }} {{ url | indent(indent_width, true) }}
{%- endfor %} {%- endfor %}
{%- endfor %} {%- endfor %}
{%- endfor %} {%- endfor %}
{%- endfor %} {%- endfor %}
{%- endmacro %} {%- endmacro %}

View File

@@ -4,7 +4,7 @@
{%- filter indent(4) %} {%- filter indent(4) %}
{%- for k, v in kwarg|dictsort() %} {%- for k, v in kwarg|dictsort() %}
- {{ k }}: {{ v }} - {{ k }}: {{ v|yaml_dquote if v is string else v }}
{%- endfor %} {%- endfor %}
{%- endfilter %} {%- endfilter %}

View File

@@ -6,6 +6,7 @@
{% set release = repo.version|replace('.', '') %} {% set release = repo.version|replace('.', '') %}
Arch: Arch:
use_upstream_repo: false
conf_dir: /var/lib/postgres/data conf_dir: /var/lib/postgres/data
data_dir: /var/lib/postgres/data data_dir: /var/lib/postgres/data
pkg_client: postgresql-libs pkg_client: postgresql-libs
@@ -62,6 +63,12 @@ RedHat:
gpgkey: 'https://download.postgresql.org/pub/repos/yum/RPM-GPG-KEY-PGDG-{{ release }}' gpgkey: 'https://download.postgresql.org/pub/repos/yum/RPM-GPG-KEY-PGDG-{{ release }}'
baseurl: 'https://download.postgresql.org/pub/repos/yum/{{ repo.version }}/redhat/rhel-$releasever-$basearch' baseurl: 'https://download.postgresql.org/pub/repos/yum/{{ repo.version }}/redhat/rhel-$releasever-$basearch'
{%- if grains.get('osmajorrelease', 0) >= 7 %}
pkgs_deps:
- libicu
pkg_python: python3-psycopg2
{%- endif %}
{% if repo.use_upstream_repo == true %} {% if repo.use_upstream_repo == true %}
{% set data_dir = '/var/lib/pgsql/' ~ repo.version ~ '/data' %} {% set data_dir = '/var/lib/pgsql/' ~ repo.version ~ '/data' %}
@@ -135,9 +142,9 @@ Suse:
pkg_repo: pkg_repo:
name: pgdg-sles-{{ release }} name: pgdg-sles-{{ release }}
humanname: PostgreSQL {{ repo.version }} $releasever - $basearch humanname: PostgreSQL {{ repo.version }} $releasever - $basearch
#Using sles-12 upstream repo for opensuse # works for postgres 11 onwards
baseurl: 'https://download.postgresql.org/pub/repos/zypp/{{ repo.version }}/suse/sles-12-$basearch' baseurl: 'https://download.postgresql.org/pub/repos/zypp/{{ repo.version }}/suse/sles-$releasever-$basearch'
key_url: 'https://download.postgresql.org/pub/repos/zypp/{{ repo.version }}/suse/sles-12-$basearch/repodata/repomd.xml.key' key_url: 'https://download.postgresql.org/pub/repos/zypp/{{ repo.version }}/suse/sles-$releasever-$basearch/repodata/repomd.xml.key'
gpgcheck: 1 gpgcheck: 1
gpgautoimport: True gpgautoimport: True

View File

@@ -9,3 +9,7 @@ Fedora:
baseurl: 'https://download.postgresql.org/pub/repos/yum/{{ repo.version }}/fedora/fedora-$releasever-$basearch' baseurl: 'https://download.postgresql.org/pub/repos/yum/{{ repo.version }}/fedora/fedora-$releasever-$basearch'
remove: remove:
releases: ['9.4', '9.5', '9.6', '10'] releases: ['9.4', '9.5', '9.6', '10']
Amazon:
pkg_repo:
baseurl: 'https://download.postgresql.org/pub/repos/yum/{{ repo.version }}/redhat/rhel-7-$basearch'

View File

@@ -9,7 +9,7 @@ postgresql-python:
{% if postgres.fromrepo %} {% if postgres.fromrepo %}
- fromrepo: {{ postgres.fromrepo }} - fromrepo: {{ postgres.fromrepo }}
{% endif %} {% endif %}
{% if postgres.use_upstream_repo == true %} {% if 'pkg_repo' in postgres and postgres.use_upstream_repo == true %}
- refresh: True - refresh: True
- require: - require:
- pkgrepo: postgresql-repo - pkgrepo: postgresql-repo

View File

@@ -18,7 +18,7 @@ include:
postgresql-server: postgresql-server:
pkg.installed: pkg.installed:
- pkgs: {{ pkgs | json }} - pkgs: {{ pkgs | json }}
{%- if postgres.use_upstream_repo == true %} {%- if 'pkg_repo' in postgres and postgres.use_upstream_repo == true %}
- refresh: True - refresh: True
- require: - require:
- pkgrepo: postgresql-repo - pkgrepo: postgresql-repo

View File

@@ -24,6 +24,9 @@ postgresql-server-removed:
- {{ pkg }} - {{ pkg }}
{% endfor %} {% endfor %}
{% endif %} {% endif %}
file.absent:
- names:
- /var/run/postgresql
{%- if postgres.remove.multiple_releases %} {%- if postgres.remove.multiple_releases %}
#search for and cleandown multiple releases #search for and cleandown multiple releases

View File

@@ -20,7 +20,7 @@ postgresql-profile:
postgresql-pkg-deps: postgresql-pkg-deps:
pkg.installed: pkg.installed:
- pkgs: {{ postgres.pkgs_deps }} - pkgs: {{ postgres.pkgs_deps | json }}
# Add upstream repository for your distro # Add upstream repository for your distro
postgresql-repo: postgresql-repo:

View File

@@ -11,7 +11,7 @@ sed -i -e "s_^\(version:\).*_\1 ${1}_" FORMULA
############################################################################### ###############################################################################
# Install `m2r` # Install `m2r`
sudo -H pip install m2r pip3 install m2r
# Copy and then convert the `.md` docs # Copy and then convert the `.md` docs
cp ./*.md docs/ cp ./*.md docs/

View File

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

View File

@@ -8,7 +8,7 @@ control 'Postgres command' do
title 'should match desired lines' title 'should match desired lines'
# Can't use `%Q` here due to the `\` # Can't use `%Q` here due to the `\`
describe command("su - postgres -c 'psql -p" + pg_port + %q( -qtc "\l+ db2"')) do describe command("su - postgres -c 'psql -p#{pg_port} -qtc \"\\l+ db2\"'") do
its(:stdout) do its(:stdout) do
should match( should match(
/db2.*remoteUser.*UTF8.*en_US.UTF-8.*en_US.UTF-8.*my_space/ /db2.*remoteUser.*UTF8.*en_US.UTF-8.*en_US.UTF-8.*my_space/

View File

@@ -6,6 +6,9 @@ title: postgres formula
maintainer: SaltStack Formulas maintainer: SaltStack Formulas
license: Apache-2.0 license: Apache-2.0
summary: Verify that the postgres formula is setup and configured correctly summary: Verify that the postgres formula is setup and configured correctly
depends:
- name: share
path: test/integration/share
supports: supports:
- platform-name: debian - platform-name: debian
- platform-name: ubuntu - platform-name: ubuntu
@@ -14,5 +17,11 @@ supports:
- platform-name: opensuse - platform-name: opensuse
- platform-name: suse - platform-name: suse
- platform-name: freebsd - platform-name: freebsd
- platform-name: openbsd
- platform-name: amazon - platform-name: amazon
- platform-name: oracle
- platform-name: arch - platform-name: arch
- platform-name: gentoo
- platform-name: almalinux
- platform-name: rocky
- 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,24 @@
# -*- 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: windows

View File

@@ -0,0 +1,90 @@
# 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>
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
}
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.yaml
inspec.platform[:release].gsub(/2018.*/, '1')
when 'arch'
'base-latest'
when 'gentoo'
"#{inspec.platform[:release].split('.')[0]}-#{derive_gentoo_init_system}"
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_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
end

View File

@@ -1,7 +1,7 @@
# Port to use for the cluster -- can be used to provide a non-standard port # Port to use for the cluster -- can be used to provide a non-standard port
# NOTE: If already set in the minion config, that value takes priority # NOTE: If already set in the minion config, that value takes priority
{%- if grains.os_family != 'Debian' and salt['grains.get']('osfinger') != 'Leap-15' %} {%- if grains.os_family not in ['Debian', 'Suse'] %}
postgres.port: '5432' postgres.port: '5432'
{%- else %} {%- else %}
postgres.port: '5433' postgres.port: '5433'
@@ -15,11 +15,7 @@ postgres:
{%- else %} {%- else %}
use_upstream_repo: True use_upstream_repo: True
# Version to install from upstream repository (if upstream_repo: True) # Version to install from upstream repository (if upstream_repo: True)
{%- if not (grains.os_family == 'Debian') %} version: '13'
version: '9.6'
{%- else %}
version: '10'
{%- endif %}
# # Set True to add a file in /etc/profile.d adding the bin dir in $PATH # # Set True to add a file in /etc/profile.d adding the bin dir in $PATH
# # as packages from upstream put them somewhere like /usr/pgsql-10/bin # # as packages from upstream put them somewhere like /usr/pgsql-10/bin
# add_profile: False # add_profile: False