Compare commits

..

No commits in common. "master" and "v0.54.1" have entirely different histories.

42 changed files with 732 additions and 2109 deletions

12
.gitignore vendored
View file

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

View file

@ -1,211 +0,0 @@
# -*- 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/mysql-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/mysql-formula.git'
- 'git fetch --all'
# Set default commit hashes for `--from` and `--to`
- 'export COMMITLINT_FROM="$(git merge-base upstream/master HEAD)"'
- 'export COMMITLINT_TO="${CI_COMMIT_SHA}"'
# `coqbot` adds a merge commit to test PRs on top of the latest commit in
# the repo; amend this merge commit message to avoid failure
- |
if [ "${GITLAB_USER_LOGIN}" = "coqbot" ] \
&& [ "${CI_COMMIT_BRANCH}" != "master" ]; then
git commit --amend -m \
'chore: reword coqbot merge commit message for commitlint'
export COMMITLINT_TO=HEAD
fi
# Run `commitlint`
- 'commitlint --from "${COMMITLINT_FROM}"
--to "${COMMITLINT_TO}"
--verbose'
pre-commit:
stage: *stage_lint
image: *image_precommit
# https://pre-commit.com/#gitlab-ci-example
variables:
PRE_COMMIT_HOME: '${CI_PROJECT_DIR}/.cache/pre-commit'
cache:
key: '${CI_JOB_NAME}'
paths:
- '${PRE_COMMIT_HOME}'
script:
- 'pre-commit run --all-files --color always --verbose'
# Use a separate job for `rubocop` other than the one potentially run by `pre-commit`
# - The `pre-commit` check will only be available for formulas that pass the default
# `rubocop` check -- and must continue to do so
# - This job is allowed to fail, so can be used for all formulas
# - Furthermore, this job uses all of the latest `rubocop` features & cops,
# which will help when upgrading the `rubocop` linter used in `pre-commit`
rubocop:
allow_failure: true
stage: *stage_lint
image: *image_rubocop
script:
- 'rubocop -d -P -S --enable-pending-cops'
###############################################################################
# Define `test` template
###############################################################################
.test_instance: &test_instance
stage: *stage_test
image: *image_dindruby
services: *services_docker_dind
variables: *variables_bundler
cache: *cache_bundler
before_script:
# TODO: This should work from the env vars above automatically
- 'bundle config set path "${BUNDLE_CACHE_PATH}"'
- 'bundle config set without "${BUNDLE_WITHOUT}"'
- 'bundle install'
script:
# Alternative value to consider: `${CI_JOB_NAME}`
- 'bin/kitchen verify "${DOCKER_ENV_CI_JOB_NAME}"'
###############################################################################
# Define `test` template (`allow_failure: true`)
###############################################################################
.test_instance_failure_permitted:
<<: *test_instance
allow_failure: true
###############################################################################
# `test` stage: each instance below uses the `test` template above
###############################################################################
## Define the rest of the matrix based on Kitchen testing
# Make sure the instances listed below match up with
# the `platforms` defined in `kitchen.yml`
# yamllint disable rule:line-length
# default-debian-11-tiamat-py3: {extends: '.test_instance'}
# default-debian-10-tiamat-py3: {extends: '.test_instance'}
# default-debian-9-tiamat-py3: {extends: '.test_instance'}
# default-ubuntu-2204-tiamat-py3: {extends: '.test_instance_failure_permitted'}
# default-ubuntu-2004-tiamat-py3: {extends: '.test_instance'}
# default-ubuntu-1804-tiamat-py3: {extends: '.test_instance'}
# default-centos-stream8-tiamat-py3: {extends: '.test_instance_failure_permitted'}
# default-centos-7-tiamat-py3: {extends: '.test_instance'}
# default-amazonlinux-2-tiamat-py3: {extends: '.test_instance'}
# default-oraclelinux-8-tiamat-py3: {extends: '.test_instance'}
# default-oraclelinux-7-tiamat-py3: {extends: '.test_instance'}
# default-almalinux-8-tiamat-py3: {extends: '.test_instance'}
# default-rockylinux-8-tiamat-py3: {extends: '.test_instance'}
default-debian-11-master-py3: {extends: '.test_instance'}
default-debian-10-master-py3: {extends: '.test_instance'}
default-ubuntu-2204-master-py3: {extends: '.test_instance_failure_permitted'}
default-ubuntu-2004-master-py3: {extends: '.test_instance'}
default-ubuntu-1804-master-py3: {extends: '.test_instance'}
# default-centos-stream8-master-py3: {extends: '.test_instance_failure_permitted'}
# default-centos-7-master-py3: {extends: '.test_instance'}
# default-fedora-36-master-py3: {extends: '.test_instance_failure_permitted'}
# default-fedora-35-master-py3: {extends: '.test_instance'}
# default-opensuse-leap-153-master-py3: {extends: '.test_instance'}
# default-opensuse-tmbl-latest-master-py3: {extends: '.test_instance_failure_permitted'}
# 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-11-3004-1-py3: {extends: '.test_instance'}
# default-debian-10-3004-1-py3: {extends: '.test_instance'}
# default-debian-9-3004-1-py3: {extends: '.test_instance'}
# default-ubuntu-2204-3004-1-py3: {extends: '.test_instance_failure_permitted'}
# default-ubuntu-2004-3004-1-py3: {extends: '.test_instance'}
# default-ubuntu-1804-3004-1-py3: {extends: '.test_instance'}
# default-centos-stream8-3004-1-py3: {extends: '.test_instance_failure_permitted'}
# default-centos-7-3004-1-py3: {extends: '.test_instance'}
# default-fedora-36-3004-1-py3: {extends: '.test_instance_failure_permitted'}
# default-fedora-35-3004-1-py3: {extends: '.test_instance'}
# default-amazonlinux-2-3004-1-py3: {extends: '.test_instance'}
# default-oraclelinux-8-3004-1-py3: {extends: '.test_instance'}
# default-oraclelinux-7-3004-1-py3: {extends: '.test_instance'}
# default-arch-base-latest-3004-1-py3: {extends: '.test_instance'}
# default-gentoo-stage3-latest-3004-1-py3: {extends: '.test_instance'}
# default-gentoo-stage3-systemd-3004-1-py3: {extends: '.test_instance'}
# default-almalinux-8-3004-1-py3: {extends: '.test_instance'}
# default-rockylinux-8-3004-1-py3: {extends: '.test_instance'}
# default-opensuse-leap-153-3004-0-py3: {extends: '.test_instance'}
# default-opensuse-tmbl-latest-3004-0-py3: {extends: '.test_instance_failure_permitted'}
# default-debian-10-3003-4-py3: {extends: '.test_instance'}
# default-debian-9-3003-4-py3: {extends: '.test_instance'}
# default-ubuntu-2004-3003-4-py3: {extends: '.test_instance'}
# default-ubuntu-1804-3003-4-py3: {extends: '.test_instance'}
# default-centos-stream8-3003-4-py3: {extends: '.test_instance_failure_permitted'}
# default-centos-7-3003-4-py3: {extends: '.test_instance'}
# default-amazonlinux-2-3003-4-py3: {extends: '.test_instance'}
# default-oraclelinux-8-3003-4-py3: {extends: '.test_instance'}
# default-oraclelinux-7-3003-4-py3: {extends: '.test_instance'}
# default-almalinux-8-3003-4-py3: {extends: '.test_instance'}
# yamllint enable rule:line-length
###############################################################################
# `release` stage: `semantic-release`
###############################################################################
semantic-release:
only: *only_branch_master_parent_repo
stage: *stage_release
image: *image_semanticrelease
variables:
MAINTAINER_TOKEN: '${GH_TOKEN}'
script:
# Update `AUTHORS.md`
- '${HOME}/go/bin/maintainer contributor'
# Run `semantic-release`
- 'semantic-release'

View file

@ -1,77 +0,0 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
ci:
autofix_commit_msg: |
ci(pre-commit.ci): apply auto fixes from pre-commit.com hooks
For more information, see https://pre-commit.ci
autofix_prs: true
autoupdate_branch: ''
autoupdate_commit_msg: |
ci(pre-commit.ci): perform `pre-commit` autoupdate
autoupdate_schedule: quarterly
skip: []
submodules: false
default_stages: [commit]
repos:
- repo: https://github.com/dafyddj/commitlint-pre-commit-hook
rev: v2.3.0
hooks:
- id: commitlint
name: Check commit message using commitlint
description: Lint commit message against @commitlint/config-conventional rules
stages: [commit-msg]
additional_dependencies: ['@commitlint/config-conventional@8.3.4']
- id: commitlint-travis
stages: [manual]
additional_dependencies: ['@commitlint/config-conventional@8.3.4']
always_run: true
- repo: https://github.com/rubocop-hq/rubocop
rev: v1.56.4
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.9.0.6
hooks:
- id: shellcheck
name: Check shell scripts with shellcheck
files: ^.*\.(sh|bash|ksh)$
types: []
- repo: https://github.com/adrienverge/yamllint
rev: v1.32.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.9.2
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]

View file

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

View file

@ -7,17 +7,10 @@ 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:
IgnoredMethods: ExcludedMethods:
- 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
# General settings across all cops in this formula
AllCops:
NewCops: enable
# Any offenses that should be fixed, e.g. collected via. `rubocop --auto-gen-config` # Any offenses that should be fixed, e.g. collected via. `rubocop --auto-gen-config`

View file

@ -1,15 +1,6 @@
# -*- 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'
@ -31,10 +22,8 @@ script:
## Stages and jobs matrix ## Stages and jobs matrix
stages: stages:
- test - test
# # As part of the switch away from Travis CI, ensure that the `release` stage - name: 'release'
# # is not run inadvertently if: 'branch = master AND type != pull_request'
# - 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)
@ -66,86 +55,40 @@ 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-11-tiamat-py3
# - env: INSTANCE=default-debian-10-tiamat-py3
# - env: INSTANCE=default-debian-9-tiamat-py3
# - env: INSTANCE=default-ubuntu-2204-tiamat-py3
# - env: INSTANCE=default-ubuntu-2004-tiamat-py3
# - env: INSTANCE=default-ubuntu-1804-tiamat-py3
# - env: INSTANCE=default-centos-stream8-tiamat-py3
# - env: INSTANCE=default-centos-7-tiamat-py3
# - env: INSTANCE=default-amazonlinux-2-tiamat-py3
# - env: INSTANCE=default-oraclelinux-8-tiamat-py3
# - env: INSTANCE=default-oraclelinux-7-tiamat-py3
# - env: INSTANCE=default-almalinux-8-tiamat-py3
# - env: INSTANCE=default-rockylinux-8-tiamat-py3
- env: INSTANCE=default-debian-11-master-py3
- env: INSTANCE=default-debian-10-master-py3 - env: INSTANCE=default-debian-10-master-py3
- env: INSTANCE=default-debian-9-master-py3
- env: INSTANCE=default-ubuntu-2204-master-py3
- env: INSTANCE=default-ubuntu-2004-master-py3 - env: INSTANCE=default-ubuntu-2004-master-py3
- env: INSTANCE=default-ubuntu-1804-master-py3 # - env: INSTANCE=default-ubuntu-1804-master-py3
# - env: INSTANCE=default-centos-stream8-master-py3 # - env: INSTANCE=default-centos-8-master-py3
# - env: INSTANCE=default-centos-7-master-py3 # - env: INSTANCE=default-fedora-32-master-py3
# - env: INSTANCE=default-fedora-36-master-py3 # - env: INSTANCE=default-fedora-31-master-py3
# - env: INSTANCE=default-fedora-35-master-py3 # - env: INSTANCE=default-opensuse-leap-152-master-py3
# - env: INSTANCE=default-opensuse-leap-153-master-py3
# - env: INSTANCE=default-opensuse-tmbl-latest-master-py3
# - env: INSTANCE=default-amazonlinux-2-master-py3 # - env: INSTANCE=default-amazonlinux-2-master-py3
# - env: INSTANCE=default-oraclelinux-8-master-py3 # - env: INSTANCE=default-debian-10-3000-3-py3
# - env: INSTANCE=default-oraclelinux-7-master-py3 - env: INSTANCE=default-debian-9-3000-3-py3
# - env: INSTANCE=default-arch-base-latest-master-py3 - env: INSTANCE=default-ubuntu-1804-3000-3-py3
# - env: INSTANCE=default-gentoo-stage3-latest-master-py3 # - env: INSTANCE=default-centos-8-3000-3-py3
# - env: INSTANCE=default-gentoo-stage3-systemd-master-py3 # - env: INSTANCE=default-centos-7-3000-3-py3
# - env: INSTANCE=default-almalinux-8-master-py3 # - env: INSTANCE=default-fedora-31-3000-3-py3
# - env: INSTANCE=default-rockylinux-8-master-py3 # - env: INSTANCE=default-opensuse-leap-152-3000-3-py3
# - env: INSTANCE=default-debian-11-3004-1-py3 # - env: INSTANCE=default-amazonlinux-2-3000-3-py3
# - env: INSTANCE=default-debian-10-3004-1-py3 # - env: INSTANCE=default-ubuntu-1804-3000-3-py2
# - env: INSTANCE=default-debian-9-3004-1-py3 # - env: INSTANCE=default-ubuntu-1604-3000-3-py2
# - env: INSTANCE=default-ubuntu-2204-3004-1-py3 # - env: INSTANCE=default-arch-base-latest-3000-3-py2
# - env: INSTANCE=default-ubuntu-2004-3004-1-py3 # - env: INSTANCE=default-debian-10-2019-2-py3
# - env: INSTANCE=default-ubuntu-1804-3004-1-py3 # - env: INSTANCE=default-debian-9-2019-2-py3
# - env: INSTANCE=default-centos-stream8-3004-1-py3 # - env: INSTANCE=default-ubuntu-1804-2019-2-py3
# - env: INSTANCE=default-centos-7-3004-1-py3 - env: INSTANCE=default-ubuntu-1604-2019-2-py3
# - env: INSTANCE=default-fedora-36-3004-1-py3 # - env: INSTANCE=default-centos-8-2019-2-py3
# - env: INSTANCE=default-fedora-35-3004-1-py3 # - env: INSTANCE=default-centos-7-2019-2-py3
# - env: INSTANCE=default-amazonlinux-2-3004-1-py3 # - env: INSTANCE=default-fedora-31-2019-2-py3
# - env: INSTANCE=default-oraclelinux-8-3004-1-py3 # - env: INSTANCE=default-opensuse-leap-152-2019-2-py3
# - env: INSTANCE=default-oraclelinux-7-3004-1-py3 # - env: INSTANCE=default-amazonlinux-2-2019-2-py3
# - env: INSTANCE=default-arch-base-latest-3004-1-py3 # - env: INSTANCE=default-centos-6-2019-2-py2
# - env: INSTANCE=default-gentoo-stage3-latest-3004-1-py3 # - env: INSTANCE=default-amazonlinux-1-2019-2-py2
# - env: INSTANCE=default-gentoo-stage3-systemd-3004-1-py3 # - env: INSTANCE=default-arch-base-latest-2019-2-py2
# - env: INSTANCE=default-almalinux-8-3004-1-py3
# - env: INSTANCE=default-rockylinux-8-3004-1-py3
# - env: INSTANCE=default-opensuse-leap-153-3004-0-py3
# - env: INSTANCE=default-opensuse-tmbl-latest-3004-0-py3
# - env: INSTANCE=default-debian-10-3003-4-py3
# - env: INSTANCE=default-debian-9-3003-4-py3
# - env: INSTANCE=default-ubuntu-2004-3003-4-py3
# - env: INSTANCE=default-ubuntu-1804-3003-4-py3
# - env: INSTANCE=default-centos-stream8-3003-4-py3
# - env: INSTANCE=default-centos-7-3003-4-py3
# - env: INSTANCE=default-amazonlinux-2-3003-4-py3
# - env: INSTANCE=default-oraclelinux-8-3003-4-py3
# - env: INSTANCE=default-oraclelinux-7-3003-4-py3
# - env: INSTANCE=default-almalinux-8-3003-4-py3
## Define the release stage that runs `semantic-release` ## Define the release stage that runs `semantic-release`
- stage: 'release' - stage: 'release'

View file

@ -2,27 +2,18 @@
# 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 `.bundle/`, introduced if gems are installed locally # 1. All YAML files under directory `node_modules/`, introduced during the Travis run
# 2. All YAML files under directory `.cache/`, introduced during the CI run # 2. Any SLS files under directory `test/`, which are actually state files
# 3. All YAML files under directory `.git/` # 3. Any YAML files under directory `.kitchen/`, introduced during local testing
# 4. All YAML files under directory `node_modules/`, introduced during the CI run # 4. Any YAML files using Jinja (result in `yamllint` syntax errors)
# 5. Any SLS files under directory `test/`, which are actually state files
# 6. Any YAML files under directory `.kitchen/`, introduced during local testing
# 7. `kitchen.vagrant.yml`, which contains Embedded Ruby (ERB) template syntax
# 8. Any YAML files using Jinja (result in `yamllint` syntax errors)
ignore: | ignore: |
.bundle/
.cache/
.git/
node_modules/ node_modules/
test/**/states/**/*.sls test/**/states/**/*.sls
.kitchen/ .kitchen/
kitchen.vagrant.yml
mysql/supported_sections.yaml mysql/supported_sections.yaml
mysql/osfingermap.yaml
yaml-files: yaml-files:
# Default settings # Default settings

View file

@ -4,88 +4,85 @@ 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://avatars.githubusercontent.com/u/10231489?v=4' width='36' height='36' alt='@myii'>|[@myii](https://github.com/myii)|153 <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)|65
<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)|38 <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)|38
<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)|37 <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)|37
<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)|37 <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)|28
<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)|28 <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)|27
<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)|27 <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)|18
<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)|14 <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)|14
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/56635?v=4' width='36' height='36' alt='@pprkut'>|[@pprkut](https://github.com/pprkut)|11 <img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/1184479?v=4' width='36' height='36' alt='@cheuschober'>|[@cheuschober](https://github.com/cheuschober)|11
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/117961?v=4' width='36' height='36' alt='@wwentland'>|[@wwentland](https://github.com/wwentland)|11 <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)|11
<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)|7 <img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/56635?v=4' width='36' height='36' alt='@pprkut'>|[@pprkut](https://github.com/pprkut)|9
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/533172?v=4' width='36' height='36' alt='@roock'>|[@roock](https://github.com/roock)|6 <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)|7
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/727535?v=4' width='36' height='36' alt='@Routhinator'>|[@Routhinator](https://github.com/Routhinator)|5 <img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/533172?v=4' width='36' height='36' alt='@roock'>|[@roock](https://github.com/roock)|6
<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)|5 <img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/727535?v=4' width='36' height='36' alt='@Routhinator'>|[@Routhinator](https://github.com/Routhinator)|5
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1002811?v=4' width='36' height='36' alt='@davidjb'>|[@davidjb](https://github.com/davidjb)|5 <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)|5
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/7139195?v=4' width='36' height='36' alt='@xenophonf'>|[@xenophonf](https://github.com/xenophonf)|4 <img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/1002811?v=4' width='36' height='36' alt='@davidjb'>|[@davidjb](https://github.com/davidjb)|5
<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)|4 <img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/7139195?v=4' width='36' height='36' alt='@xenophonf'>|[@xenophonf](https://github.com/xenophonf)|4
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/398720?v=4' width='36' height='36' alt='@tiger-seo'>|[@tiger-seo](https://github.com/tiger-seo)|4 <img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/507599?v=4' width='36' height='36' alt='@thatch45'>|[@thatch45](https://github.com/thatch45)|4
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/732321?v=4' width='36' height='36' alt='@gtmanfred'>|[@gtmanfred](https://github.com/gtmanfred)|4 <img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/1773291?v=4' width='36' height='36' alt='@toanju'>|[@toanju](https://github.com/toanju)|4
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/4195158?v=4' width='36' height='36' alt='@dafyddj'>|[@dafyddj](https://github.com/dafyddj)|3 <img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/398720?v=4' width='36' height='36' alt='@tiger-seo'>|[@tiger-seo](https://github.com/tiger-seo)|4
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/242396?v=4' width='36' height='36' alt='@javierbertoli'>|[@javierbertoli](https://github.com/javierbertoli)|3 <img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/732321?v=4' width='36' height='36' alt='@gtmanfred'>|[@gtmanfred](https://github.com/gtmanfred)|4
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/10672501?v=4' width='36' height='36' alt='@jeff350'>|[@jeff350](https://github.com/jeff350)|3 <img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/142916?v=4' width='36' height='36' alt='@alexhayes'>|[@alexhayes](https://github.com/alexhayes)|3
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/6085575?v=4' width='36' height='36' alt='@lmeerwood'>|[@lmeerwood](https://github.com/lmeerwood)|3 <img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/2804767?v=4' width='36' height='36' alt='@alfonsfoubert'>|[@alfonsfoubert](https://github.com/alfonsfoubert)|3
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2804767?v=4' width='36' height='36' alt='@alfonsfoubert'>|[@alfonsfoubert](https://github.com/alfonsfoubert)|3 <img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/146882?v=4' width='36' height='36' alt='@cboltz'>|[@cboltz](https://github.com/cboltz)|3
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/146882?v=4' width='36' height='36' alt='@cboltz'>|[@cboltz](https://github.com/cboltz)|3 <img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/358074?v=4' width='36' height='36' alt='@pcdummy'>|[@pcdummy](https://github.com/pcdummy)|3
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/358074?v=4' width='36' height='36' alt='@jochumdev'>|[@jochumdev](https://github.com/jochumdev)|3 <img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/941928?v=4' width='36' height='36' alt='@amontalban'>|[@amontalban](https://github.com/amontalban)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/52996?v=4' width='36' height='36' alt='@daks'>|[@daks](https://github.com/daks)|3 <img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/20441?v=4' width='36' height='36' alt='@iggy'>|[@iggy](https://github.com/iggy)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/941928?v=4' width='36' height='36' alt='@amontalban'>|[@amontalban](https://github.com/amontalban)|2 <img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/5789536?v=4' width='36' height='36' alt='@ogabrielsantos'>|[@ogabrielsantos](https://github.com/ogabrielsantos)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/20441?v=4' width='36' height='36' alt='@iggy'>|[@iggy](https://github.com/iggy)|2 <img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/279094?v=4' width='36' height='36' alt='@kaharlichenko'>|[@kaharlichenko](https://github.com/kaharlichenko)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/5789536?v=4' width='36' height='36' alt='@ogabrielsantos'>|[@ogabrielsantos](https://github.com/ogabrielsantos)|2 <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)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/3842066?v=4' width='36' height='36' alt='@neuhalje'>|[@neuhalje](https://github.com/neuhalje)|2 <img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/3842066?v=4' width='36' height='36' alt='@neuhalje'>|[@neuhalje](https://github.com/neuhalje)|2
<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)|2 <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)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2753036?v=4' width='36' height='36' alt='@RonWilliams'>|[@RonWilliams](https://github.com/RonWilliams)|2 <img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/2753036?v=4' width='36' height='36' alt='@RonWilliams'>|[@RonWilliams](https://github.com/RonWilliams)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1809538?v=4' width='36' height='36' alt='@sray'>|[@sray](https://github.com/sray)|2 <img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/4956475?v=4' width='36' height='36' alt='@ross-p'>|[@ross-p](https://github.com/ross-p)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/642928?v=4' width='36' height='36' alt='@tomasfejfar'>|[@tomasfejfar](https://github.com/tomasfejfar)|2 <img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/1809538?v=4' width='36' height='36' alt='@sray'>|[@sray](https://github.com/sray)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1482937?v=4' width='36' height='36' alt='@vschum'>|[@vschum](https://github.com/vschum)|2 <img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/642928?v=4' width='36' height='36' alt='@tomasfejfar'>|[@tomasfejfar](https://github.com/tomasfejfar)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1731256?v=4' width='36' height='36' alt='@madflojo'>|[@madflojo](https://github.com/madflojo)|2 <img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/1482937?v=4' width='36' height='36' alt='@vschum'>|[@vschum](https://github.com/vschum)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/26431172?v=4' width='36' height='36' alt='@preussal'>|[@preussal](https://github.com/preussal)|2 <img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/1731256?v=4' width='36' height='36' alt='@madflojo'>|[@madflojo](https://github.com/madflojo)|2
<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)|2 <img class='float-left rounded-1' src='https://avatars0.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://avatars.githubusercontent.com/u/3833337?v=4' width='36' height='36' alt='@nesteves'>|[@nesteves](https://github.com/nesteves)|2 <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)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/4608417?v=4' width='36' height='36' alt='@1exx'>|[@1exx](https://github.com/1exx)|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)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/11548856?v=4' width='36' height='36' alt='@aaronm-cloudtek'>|[@aaronm-cloudtek](https://github.com/aaronm-cloudtek)|1 <img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/3833337?v=4' width='36' height='36' alt='@nesteves'>|[@nesteves](https://github.com/nesteves)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/479001?v=4' width='36' height='36' alt='@Achimh3011'>|[@Achimh3011](https://github.com/Achimh3011)|1 <img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/4608417?v=4' width='36' height='36' alt='@1exx'>|[@1exx](https://github.com/1exx)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/762280?v=4' width='36' height='36' alt='@asenci'>|[@asenci](https://github.com/asenci)|1 <img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/11548856?v=4' width='36' height='36' alt='@aaronm-cloudtek'>|[@aaronm-cloudtek](https://github.com/aaronm-cloudtek)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/214768?v=4' width='36' height='36' alt='@ixs'>|[@ixs](https://github.com/ixs)|1 <img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/479001?v=4' width='36' height='36' alt='@Achimh3011'>|[@Achimh3011](https://github.com/Achimh3011)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/330045?v=4' width='36' height='36' alt='@word'>|[@word](https://github.com/word)|1 <img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/762280?v=4' width='36' height='36' alt='@asenci'>|[@asenci](https://github.com/asenci)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/445200?v=4' width='36' height='36' alt='@arthurzenika'>|[@arthurzenika](https://github.com/arthurzenika)|1 <img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/330045?v=4' width='36' height='36' alt='@word'>|[@word](https://github.com/word)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1079875?v=4' width='36' height='36' alt='@bogdanr'>|[@bogdanr](https://github.com/bogdanr)|1 <img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/445200?v=4' width='36' height='36' alt='@arthurlogilab'>|[@arthurlogilab](https://github.com/arthurlogilab)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/218060?v=4' width='36' height='36' alt='@johnklehm'>|[@johnklehm](https://github.com/johnklehm)|1 <img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/218060?v=4' width='36' height='36' alt='@johnklehm'>|[@johnklehm](https://github.com/johnklehm)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/6368493?v=4' width='36' height='36' alt='@tardypad'>|[@tardypad](https://github.com/tardypad)|1 <img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/6368493?v=4' width='36' height='36' alt='@tardypad'>|[@tardypad](https://github.com/tardypad)|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/1196632?v=4' width='36' height='36' alt='@dosercz'>|[@dosercz](https://github.com/dosercz)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1196632?v=4' width='36' height='36' alt='@dosercz'>|[@dosercz](https://github.com/dosercz)|1 <img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/7666055?v=4' width='36' height='36' alt='@sivir'>|[@sivir](https://github.com/sivir)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/7666055?v=4' width='36' height='36' alt='@epotyom'>|[@epotyom](https://github.com/epotyom)|1 <img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/328598?v=4' width='36' height='36' alt='@terminalmage'>|[@terminalmage](https://github.com/terminalmage)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/328598?v=4' width='36' height='36' alt='@terminalmage'>|[@terminalmage](https://github.com/terminalmage)|1 <img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/337608?v=4' width='36' height='36' alt='@replicant0wnz'>|[@replicant0wnz](https://github.com/replicant0wnz)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2205993?v=4' width='36' height='36' alt='@GMAzrael'>|[@GMAzrael](https://github.com/GMAzrael)|1 <img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/418769?v=4' width='36' height='36' alt='@GeJ'>|[@GeJ](https://github.com/GeJ)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/337608?v=4' width='36' height='36' alt='@replicant0wnz'>|[@replicant0wnz](https://github.com/replicant0wnz)|1 <img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/94157?v=4' width='36' height='36' alt='@imran1008'>|[@imran1008](https://github.com/imran1008)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/94157?v=4' width='36' height='36' alt='@imran1008'>|[@imran1008](https://github.com/imran1008)|1 <img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/2150143?v=4' width='36' height='36' alt='@JubbaSmail'>|[@JubbaSmail](https://github.com/JubbaSmail)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2150143?v=4' width='36' height='36' alt='@JubbaSmail'>|[@JubbaSmail](https://github.com/JubbaSmail)|1 <img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/34903?v=4' width='36' height='36' alt='@h4ck3rm1k3'>|[@h4ck3rm1k3](https://github.com/h4ck3rm1k3)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/34903?v=4' width='36' height='36' alt='@h4ck3rm1k3'>|[@h4ck3rm1k3](https://github.com/h4ck3rm1k3)|1 <img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/667455?v=4' width='36' height='36' alt='@dijit'>|[@dijit](https://github.com/dijit)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/667455?v=4' width='36' height='36' alt='@dijit'>|[@dijit](https://github.com/dijit)|1 <img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/952828?v=4' width='36' height='36' alt='@joejulian'>|[@joejulian](https://github.com/joejulian)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/952828?v=4' width='36' height='36' alt='@joejulian'>|[@joejulian](https://github.com/joejulian)|1 <img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/668449?v=4' width='36' height='36' alt='@stromnet'>|[@stromnet](https://github.com/stromnet)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/668449?v=4' width='36' height='36' alt='@stromnet'>|[@stromnet](https://github.com/stromnet)|1 <img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/3956745?v=4' width='36' height='36' alt='@thejcannon'>|[@thejcannon](https://github.com/thejcannon)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/3956745?v=4' width='36' height='36' alt='@thejcannon'>|[@thejcannon](https://github.com/thejcannon)|1 <img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/6354880?v=4' width='36' height='36' alt='@TaiSHiNet'>|[@TaiSHiNet](https://github.com/TaiSHiNet)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/6354880?v=4' width='36' height='36' alt='@TaiSHiNet'>|[@TaiSHiNet](https://github.com/TaiSHiNet)|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/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/188214?v=4' width='36' height='36' alt='@miska'>|[@miska](https://github.com/miska)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/188214?v=4' width='36' height='36' alt='@miska'>|[@miska](https://github.com/miska)|1 <img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/805439?v=4' width='36' height='36' alt='@natehouk'>|[@natehouk](https://github.com/natehouk)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/805439?v=4' width='36' height='36' alt='@natehouk'>|[@natehouk](https://github.com/natehouk)|1 <img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/804806?v=4' width='36' height='36' alt='@phil-lavin'>|[@phil-lavin](https://github.com/phil-lavin)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/804806?v=4' width='36' height='36' alt='@phil-lavin'>|[@phil-lavin](https://github.com/phil-lavin)|1 <img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/22398368?v=4' width='36' height='36' alt='@S-Wilhelm'>|[@S-Wilhelm](https://github.com/S-Wilhelm)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/22398368?v=4' width='36' height='36' alt='@S-Wilhelm'>|[@S-Wilhelm](https://github.com/S-Wilhelm)|1 <img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/327943?v=4' width='36' height='36' alt='@Cottser'>|[@Cottser](https://github.com/Cottser)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/327943?v=4' width='36' height='36' alt='@star-szr'>|[@star-szr](https://github.com/star-szr)|1 <img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/56102?v=4' width='36' height='36' alt='@soniah'>|[@soniah](https://github.com/soniah)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/56102?v=4' width='36' height='36' alt='@soniah'>|[@soniah](https://github.com/soniah)|1 <img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/26336?v=4' width='36' height='36' alt='@tony'>|[@tony](https://github.com/tony)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/26336?v=4' width='36' height='36' alt='@tony'>|[@tony](https://github.com/tony)|1 <img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/326786?v=4' width='36' height='36' alt='@wido'>|[@wido](https://github.com/wido)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/714914?v=4' width='36' height='36' alt='@waynegemmell'>|[@waynegemmell](https://github.com/waynegemmell)|1 <img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/751889?v=4' width='36' height='36' alt='@Yoda-BZH'>|[@Yoda-BZH](https://github.com/Yoda-BZH)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/326786?v=4' width='36' height='36' alt='@wido'>|[@wido](https://github.com/wido)|1 <img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/228723?v=4' width='36' height='36' alt='@abednarik'>|[@abednarik](https://github.com/abednarik)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/751889?v=4' width='36' height='36' alt='@Yoda-BZH'>|[@Yoda-BZH](https://github.com/Yoda-BZH)|1 <img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/546883?v=4' width='36' height='36' alt='@jam13'>|[@jam13](https://github.com/jam13)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/228723?v=4' width='36' height='36' alt='@abednarik'>|[@abednarik](https://github.com/abednarik)|1 <img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/715563?v=4' width='36' height='36' alt='@getSurreal'>|[@getSurreal](https://github.com/getSurreal)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/546883?v=4' width='36' height='36' alt='@jam13'>|[@jam13](https://github.com/jam13)|1 <img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/1132799?v=4' width='36' height='36' alt='@slawekp'>|[@slawekp](https://github.com/slawekp)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/715563?v=4' width='36' height='36' alt='@getSurreal'>|[@getSurreal](https://github.com/getSurreal)|1 <img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/1386595?v=4' width='36' height='36' alt='@tsia'>|[@tsia](https://github.com/tsia)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1132799?v=4' width='36' height='36' alt='@slawekp'>|[@slawekp](https://github.com/slawekp)|1 <img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/3351040?v=4' width='36' height='36' alt='@zhujinhe'>|[@zhujinhe](https://github.com/zhujinhe)|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)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1386595?v=4' width='36' height='36' alt='@tsia'>|[@tsia](https://github.com/tsia)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/3351040?v=4' width='36' height='36' alt='@zhujinhe'>|[@zhujinhe](https://github.com/zhujinhe)|1
--- ---
Auto-generated by a [forked version](https://github.com/myii/maintainer) of [gaocegege/maintainer](https://github.com/gaocegege/maintainer) on 2023-11-28. Auto-generated by a [forked version](https://github.com/myii/maintainer) of [gaocegege/maintainer](https://github.com/gaocegege/maintainer) on 2020-08-24.

View file

@ -1,158 +1,5 @@
# Changelog # Changelog
## [0.56.4](https://github.com/saltstack-formulas/mysql-formula/compare/v0.56.3...v0.56.4) (2023-11-28)
### Bug Fixes
* **bug:** config arrays as multiple lines ([fabd837](https://github.com/saltstack-formulas/mysql-formula/commit/fabd837bcbec14e535aca57ef3c2bd132038ff36))
### Continuous Integration
* update `pre-commit` configuration inc. for pre-commit.ci [skip ci] ([3880cd3](https://github.com/saltstack-formulas/mysql-formula/commit/3880cd3a2bd8ac6d2482b0e9a2365db2db9aff2a))
* **kitchen+gitlab:** update for new pre-salted images [skip ci] ([47ff13c](https://github.com/saltstack-formulas/mysql-formula/commit/47ff13c31413e1f1236435c92136e34054e5adc3))
### Styles
* update precommit and style ([5f487e3](https://github.com/saltstack-formulas/mysql-formula/commit/5f487e33f688d4c12ba6f5c902d89ac535249373))
### Tests
* **packages:** update for `ubuntu-22.04` [skip ci] ([6e2433e](https://github.com/saltstack-formulas/mysql-formula/commit/6e2433e29df15aef7514bb4c958211dc4594c831))
* **system:** add `build_platform_codename` [skip ci] ([bb6b4e5](https://github.com/saltstack-formulas/mysql-formula/commit/bb6b4e5a8245aed23ccbc9036702a096b32bf058))
* **system.rb:** add support for `mac_os_x` [skip ci] ([924cc3a](https://github.com/saltstack-formulas/mysql-formula/commit/924cc3a59232d376778f7593c4af78c31c8234a4))
## [0.56.3](https://github.com/saltstack-formulas/mysql-formula/compare/v0.56.2...v0.56.3) (2022-02-12)
### Code Refactoring
* **salt-lint:** fix violation ([7b62a62](https://github.com/saltstack-formulas/mysql-formula/commit/7b62a627e074bef9df4d06d9757ce6217af39d7a))
### Continuous Integration
* update linters to latest versions [skip ci] ([d9a2eb5](https://github.com/saltstack-formulas/mysql-formula/commit/d9a2eb505b919e89f5f08f29db1edcded6d421c4))
* **gemfile:** allow rubygems proxy to be provided as an env var [skip ci] ([0a08d4f](https://github.com/saltstack-formulas/mysql-formula/commit/0a08d4fa9acb3c00dfc9ee78641f66b45fec96fd))
* **kitchen+ci:** update with `3004` pre-salted images/boxes [skip ci] ([3abbd24](https://github.com/saltstack-formulas/mysql-formula/commit/3abbd242a54fb2c600daa04276a05dd31baceee1))
* **kitchen+ci:** update with latest CVE pre-salted images [skip ci] ([c66269a](https://github.com/saltstack-formulas/mysql-formula/commit/c66269abfc4bfdf7fc12c2a110e215b1804caee8))
* **kitchen+gitlab:** update for new pre-salted images [skip ci] ([8ef45fb](https://github.com/saltstack-formulas/mysql-formula/commit/8ef45fbe7124b3ca60505bbd383ce762a89a6406))
## [0.56.2](https://github.com/saltstack-formulas/mysql-formula/compare/v0.56.1...v0.56.2) (2021-09-04)
### Bug Fixes
* **centos7:** add correct pymysql package on cent7/saltpy3 ([9722b02](https://github.com/saltstack-formulas/mysql-formula/commit/9722b0218763c56b7bb1096b421058e6898ae55e))
* **ci:** corrected ruby last else ([df2fa30](https://github.com/saltstack-formulas/mysql-formula/commit/df2fa300eff9c07e54967a3ef1366c57896b4eb5))
### Continuous Integration
* **centos:** add centos ci; fix test pillar ([060b43f](https://github.com/saltstack-formulas/mysql-formula/commit/060b43f3036bbdfd1c0910fe91ff280221ef116c))
## [0.56.1](https://github.com/saltstack-formulas/mysql-formula/compare/v0.56.0...v0.56.1) (2021-08-25)
### Code Refactoring
* **jinja:** improve indentation ([d09728e](https://github.com/saltstack-formulas/mysql-formula/commit/d09728e04f0405e0e085b68210210ced9d892fe4))
### Continuous Integration
* **gemfile+lock:** use `ssf` customised `inspec` repo [skip ci] ([8f91b4f](https://github.com/saltstack-formulas/mysql-formula/commit/8f91b4f3ecd2b9c9ee862aa607993f5b81ef4d6c))
* **kitchen+ci:** update with latest `3003.2` pre-salted images [skip ci] ([d908ad5](https://github.com/saltstack-formulas/mysql-formula/commit/d908ad5e5558e236812860095222cdfb5f80ff08))
# [0.56.0](https://github.com/saltstack-formulas/mysql-formula/compare/v0.55.2...v0.56.0) (2021-07-19)
### Continuous Integration
* add Debian 11 Bullseye & update `yamllint` configuration [skip ci] ([ee34e48](https://github.com/saltstack-formulas/mysql-formula/commit/ee34e48fae56a5ca06557d8997e47d100eef8c48))
* **3003.1:** update inc. AlmaLinux, Rocky & `rst-lint` [skip ci] ([4d5e6d9](https://github.com/saltstack-formulas/mysql-formula/commit/4d5e6d9e1924fdabae726b1ef6cdc58b8dcb331f))
* **kitchen:** move `provisioner` block & update `run_command` [skip ci] ([f51d4ba](https://github.com/saltstack-formulas/mysql-formula/commit/f51d4ba4ced7d7a6b13da091b838e60a16be7d1b))
* **kitchen+gitlab:** remove Ubuntu 16.04 & Fedora 32 (EOL) [skip ci] ([13c8450](https://github.com/saltstack-formulas/mysql-formula/commit/13c8450069aad9bf1ff25a0c7870a82d5a0b3e7f))
* add `arch-master` to matrix and update `.travis.yml` [skip ci] ([8dbff38](https://github.com/saltstack-formulas/mysql-formula/commit/8dbff388203b9b6156d07e6cc4bb6558c7ad72e0))
### Features
* **freebsd:** update packages from ``py37-*`` => ``py38-*`` ([70eeed8](https://github.com/saltstack-formulas/mysql-formula/commit/70eeed80c1b0ce0dfd1ffe539b5e0be6ba5415fd))
* **osfingermap:** add support for `Debian 11` [skip ci] ([3ea9b34](https://github.com/saltstack-formulas/mysql-formula/commit/3ea9b347590e6f15761d07567a7640d138f74128))
## [0.55.2](https://github.com/saltstack-formulas/mysql-formula/compare/v0.55.1...v0.55.2) (2021-05-07)
### Bug Fixes
* **salt-user:** fix setting grants for the salt user ([346633d](https://github.com/saltstack-formulas/mysql-formula/commit/346633d6f65a4da5e44a9e7c1cff9f00e0e2075b))
### Continuous Integration
* **kitchen+gitlab:** adjust matrix to add `3003` [skip ci] ([3df6d64](https://github.com/saltstack-formulas/mysql-formula/commit/3df6d6410d0ad74d51cb26032d4917617913d835))
### Documentation
* **readme:** fix headings [skip ci] ([897a83d](https://github.com/saltstack-formulas/mysql-formula/commit/897a83dc2ae0430144f5c1ef0dde29f05839fe69))
### Tests
* standardise use of `share` suite & `_mapdata` state [skip ci] ([c11750c](https://github.com/saltstack-formulas/mysql-formula/commit/c11750c9ccb702cfa28bbae4b3e2481e835729c1))
## [0.55.1](https://github.com/saltstack-formulas/mysql-formula/compare/v0.55.0...v0.55.1) (2021-03-23)
### Bug Fixes
* **salt-user:** redirect error output from user access checks ([4cb4c05](https://github.com/saltstack-formulas/mysql-formula/commit/4cb4c05e48272c8073b0798afa8b31f232d12674))
### Continuous Integration
* **commitlint:** ensure `upstream/master` uses main repo URL [skip ci] ([e20d7c6](https://github.com/saltstack-formulas/mysql-formula/commit/e20d7c69d12777365ff95c841decfe7dc05c4227))
* **gemfile+lock:** use `ssf` customised `kitchen-docker` repo [skip ci] ([63561c0](https://github.com/saltstack-formulas/mysql-formula/commit/63561c0a2f236722b4449717e83b421a021d7093))
* **gitlab-ci:** add `rubocop` linter (with `allow_failure`) [skip ci] ([d08b960](https://github.com/saltstack-formulas/mysql-formula/commit/d08b960daf910f9c386523ae3d942d851cca2802))
* **kitchen+ci:** use latest pre-salted images (after CVE) [skip ci] ([1af83d1](https://github.com/saltstack-formulas/mysql-formula/commit/1af83d1fac432c9208c968182979090348dab69c))
* **kitchen+gitlab-ci:** use latest pre-salted images [skip ci] ([b27382a](https://github.com/saltstack-formulas/mysql-formula/commit/b27382a76cf3f2fd40c5dc6934175186f2065720))
* **pre-commit:** update hook for `rubocop` [skip ci] ([86397f6](https://github.com/saltstack-formulas/mysql-formula/commit/86397f6390a6f5aab812dda258d3438674798af3))
# [0.55.0](https://github.com/saltstack-formulas/mysql-formula/compare/v0.54.2...v0.55.0) (2020-12-16)
### Bug Fixes
* **percona:** fix startswith error ([6b39bda](https://github.com/saltstack-formulas/mysql-formula/commit/6b39bda366af83b7080e056b2f3e00408689c44b))
* **redhat:** added missing client socket ([b0f370c](https://github.com/saltstack-formulas/mysql-formula/commit/b0f370cf8b60e2e8a9e281f945ae2ab435a2e63c))
* **redhat:** update python library, add missing deps ([3cab000](https://github.com/saltstack-formulas/mysql-formula/commit/3cab000c89e5032dd7b7fc0c7cd7a68696e2445b))
* **server:** fix `salt-lint` violations [skip ci] ([2d1c7c3](https://github.com/saltstack-formulas/mysql-formula/commit/2d1c7c30e60b2f8a50a3964b82cb43cc5d54709b))
### Continuous Integration
* **gitlab-ci:** use GitLab CI as Travis CI replacement ([fb50e26](https://github.com/saltstack-formulas/mysql-formula/commit/fb50e26f6a2bfa38f8ed57981f4ba730cf43c34d))
* **pre-commit:** add to formula [skip ci] ([11e6460](https://github.com/saltstack-formulas/mysql-formula/commit/11e646082ec3846045edde20411615c7c0f3479b))
* **pre-commit:** enable/disable `rstcheck` as relevant [skip ci] ([87cb5b7](https://github.com/saltstack-formulas/mysql-formula/commit/87cb5b7c4f6096902dd97a4eeda2c238de5b0fa9))
* **pre-commit:** finalise `rstcheck` configuration [skip ci] ([92bf43a](https://github.com/saltstack-formulas/mysql-formula/commit/92bf43a3b79fa3b1cee0f43de98dd9aac1ea2a6c))
### Features
* **credentials:** add socket access ([1c70b0a](https://github.com/saltstack-formulas/mysql-formula/commit/1c70b0abc106fbce2d7f95feaf9f02dd64cddfcf))
## [0.54.2](https://github.com/saltstack-formulas/mysql-formula/compare/v0.54.1...v0.54.2) (2020-08-27)
### Bug Fixes
* **indent:** properly indent file.directory block ([7791268](https://github.com/saltstack-formulas/mysql-formula/commit/7791268d133d557d21414365db59dc14c8f97f74)), closes [#250](https://github.com/saltstack-formulas/mysql-formula/issues/250)
## [0.54.1](https://github.com/saltstack-formulas/mysql-formula/compare/v0.54.0...v0.54.1) (2020-08-24) ## [0.54.1](https://github.com/saltstack-formulas/mysql-formula/compare/v0.54.0...v0.54.1) (2020-08-24)

View file

@ -14,24 +14,16 @@
# 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
/*/_mapdata/ @saltstack-formulas/ssf /mysql/libsaltcli.jinja @saltstack-formulas/ssf
/*/libsaltcli.jinja @saltstack-formulas/ssf /mysql/libtofs.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
/test/salt/pillar/top.sls @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
@ -44,8 +36,6 @@
/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: mysql name: mysql
os: RedHat, CentOS, Debian, Ubuntu, Suse, Gentoo, FreeBSD os: RedHat, CentOS, Debian, Ubuntu, Suse, Gentoo, FreeBSD
os_family: RedHat, Debian, Suse, Gentoo, FreeBSD os_family: RedHat, Debian, Suse, Gentoo, FreeBSD
version: 0.56.4 version: 0.54.1
release: 1 release: 1
minimum_version: 2015.8 minimum_version: 2015.8
summary: Formula for installing MySQL summary: Formula for installing MySQL

20
Gemfile
View file

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

View file

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

View file

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

View file

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

View file

@ -1,8 +1,3 @@
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,251 +13,242 @@ 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://avatars.githubusercontent.com/u/10231489?v=4' width='36' height='36' alt='@myii'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/10231489?v=4' width='36' height='36' alt='@myii'>`
- `@myii <https://github.com/myii>`_ - `@myii <https://github.com/myii>`_
- 153 - 65
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1396878?v=4' width='36' height='36' alt='@gravyboat'>` * - :raw-html-m2r:`<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>`_ - `@gravyboat <https://github.com/gravyboat>`_
- 38 - 38
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1800660?v=4' width='36' height='36' alt='@aboe76'>` * - :raw-html-m2r:`<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>`_ - `@aboe76 <https://github.com/aboe76>`_
- 37 - 37
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/13322818?v=4' width='36' height='36' alt='@noelmcloughlin'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/3374962?v=4' width='36' height='36' alt='@nmadhok'>`
- `@noelmcloughlin <https://github.com/noelmcloughlin>`_
- 37
* - :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>`_
- 28 - 28
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/91293?v=4' width='36' height='36' alt='@whiteinge'>` * - :raw-html-m2r:`<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>`_ - `@whiteinge <https://github.com/whiteinge>`_
- 27 - 27
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1920805?v=4' width='36' height='36' alt='@alxwr'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/13322818?v=4' width='36' height='36' alt='@noelmcloughlin'>`
- `@noelmcloughlin <https://github.com/noelmcloughlin>`_
- 18
* - :raw-html-m2r:`<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>`_ - `@alxwr <https://github.com/alxwr>`_
- 14 - 14
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/56635?v=4' width='36' height='36' alt='@pprkut'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/1184479?v=4' width='36' height='36' alt='@cheuschober'>`
- `@cheuschober <https://github.com/cheuschober>`_
- 11
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/117961?v=4' width='36' height='36' alt='@babilen5'>`
- `@babilen5 <https://github.com/babilen5>`_
- 11
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/56635?v=4' width='36' height='36' alt='@pprkut'>`
- `@pprkut <https://github.com/pprkut>`_ - `@pprkut <https://github.com/pprkut>`_
- 11 - 9
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/117961?v=4' width='36' height='36' alt='@wwentland'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/287147?v=4' width='36' height='36' alt='@techhat'>`
- `@wwentland <https://github.com/wwentland>`_
- 11
* - :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>`_
- 7 - 7
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/533172?v=4' width='36' height='36' alt='@roock'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/533172?v=4' width='36' height='36' alt='@roock'>`
- `@roock <https://github.com/roock>`_ - `@roock <https://github.com/roock>`_
- 6 - 6
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/727535?v=4' width='36' height='36' alt='@Routhinator'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/727535?v=4' width='36' height='36' alt='@Routhinator'>`
- `@Routhinator <https://github.com/Routhinator>`_ - `@Routhinator <https://github.com/Routhinator>`_
- 5 - 5
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/528061?v=4' width='36' height='36' alt='@puneetk'>` * - :raw-html-m2r:`<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>`_ - `@puneetk <https://github.com/puneetk>`_
- 5 - 5
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1002811?v=4' width='36' height='36' alt='@davidjb'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/1002811?v=4' width='36' height='36' alt='@davidjb'>`
- `@davidjb <https://github.com/davidjb>`_ - `@davidjb <https://github.com/davidjb>`_
- 5 - 5
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/7139195?v=4' width='36' height='36' alt='@xenophonf'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/7139195?v=4' width='36' height='36' alt='@xenophonf'>`
- `@xenophonf <https://github.com/xenophonf>`_ - `@xenophonf <https://github.com/xenophonf>`_
- 4 - 4
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/507599?v=4' width='36' height='36' alt='@thatch45'>` * - :raw-html-m2r:`<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>`_ - `@thatch45 <https://github.com/thatch45>`_
- 4 - 4
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/398720?v=4' width='36' height='36' alt='@tiger-seo'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/1773291?v=4' width='36' height='36' alt='@toanju'>`
- `@toanju <https://github.com/toanju>`_
- 4
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/398720?v=4' width='36' height='36' alt='@tiger-seo'>`
- `@tiger-seo <https://github.com/tiger-seo>`_ - `@tiger-seo <https://github.com/tiger-seo>`_
- 4 - 4
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/732321?v=4' width='36' height='36' alt='@gtmanfred'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/732321?v=4' width='36' height='36' alt='@gtmanfred'>`
- `@gtmanfred <https://github.com/gtmanfred>`_ - `@gtmanfred <https://github.com/gtmanfred>`_
- 4 - 4
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/4195158?v=4' width='36' height='36' alt='@dafyddj'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/142916?v=4' width='36' height='36' alt='@alexhayes'>`
- `@dafyddj <https://github.com/dafyddj>`_ - `@alexhayes <https://github.com/alexhayes>`_
- 3 - 3
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/242396?v=4' width='36' height='36' alt='@javierbertoli'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/2804767?v=4' width='36' height='36' alt='@alfonsfoubert'>`
- `@javierbertoli <https://github.com/javierbertoli>`_
- 3
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/10672501?v=4' width='36' height='36' alt='@jeff350'>`
- `@jeff350 <https://github.com/jeff350>`_
- 3
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/6085575?v=4' width='36' height='36' alt='@lmeerwood'>`
- `@lmeerwood <https://github.com/lmeerwood>`_
- 3
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2804767?v=4' width='36' height='36' alt='@alfonsfoubert'>`
- `@alfonsfoubert <https://github.com/alfonsfoubert>`_ - `@alfonsfoubert <https://github.com/alfonsfoubert>`_
- 3 - 3
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/146882?v=4' width='36' height='36' alt='@cboltz'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/146882?v=4' width='36' height='36' alt='@cboltz'>`
- `@cboltz <https://github.com/cboltz>`_ - `@cboltz <https://github.com/cboltz>`_
- 3 - 3
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/358074?v=4' width='36' height='36' alt='@jochumdev'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/358074?v=4' width='36' height='36' alt='@pcdummy'>`
- `@jochumdev <https://github.com/jochumdev>`_ - `@pcdummy <https://github.com/pcdummy>`_
- 3 - 3
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/52996?v=4' width='36' height='36' alt='@daks'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/941928?v=4' width='36' height='36' alt='@amontalban'>`
- `@daks <https://github.com/daks>`_
- 3
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/941928?v=4' width='36' height='36' alt='@amontalban'>`
- `@amontalban <https://github.com/amontalban>`_ - `@amontalban <https://github.com/amontalban>`_
- 2 - 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/20441?v=4' width='36' height='36' alt='@iggy'>` * - :raw-html-m2r:`<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>`_ - `@iggy <https://github.com/iggy>`_
- 2 - 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/5789536?v=4' width='36' height='36' alt='@ogabrielsantos'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/5789536?v=4' width='36' height='36' alt='@ogabrielsantos'>`
- `@ogabrielsantos <https://github.com/ogabrielsantos>`_ - `@ogabrielsantos <https://github.com/ogabrielsantos>`_
- 2 - 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/3842066?v=4' width='36' height='36' alt='@neuhalje'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/279094?v=4' width='36' height='36' alt='@kaharlichenko'>`
- `@kaharlichenko <https://github.com/kaharlichenko>`_
- 2
* - :raw-html-m2r:`<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>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/3842066?v=4' width='36' height='36' alt='@neuhalje'>`
- `@neuhalje <https://github.com/neuhalje>`_ - `@neuhalje <https://github.com/neuhalje>`_
- 2 - 2
* - :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'>` * - :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'>`
- `@stp-ip <https://github.com/stp-ip>`_ - `@stp-ip <https://github.com/stp-ip>`_
- 2 - 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2753036?v=4' width='36' height='36' alt='@RonWilliams'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/2753036?v=4' width='36' height='36' alt='@RonWilliams'>`
- `@RonWilliams <https://github.com/RonWilliams>`_ - `@RonWilliams <https://github.com/RonWilliams>`_
- 2 - 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1809538?v=4' width='36' height='36' alt='@sray'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/4956475?v=4' width='36' height='36' alt='@ross-p'>`
- `@ross-p <https://github.com/ross-p>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/1809538?v=4' width='36' height='36' alt='@sray'>`
- `@sray <https://github.com/sray>`_ - `@sray <https://github.com/sray>`_
- 2 - 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/642928?v=4' width='36' height='36' alt='@tomasfejfar'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/642928?v=4' width='36' height='36' alt='@tomasfejfar'>`
- `@tomasfejfar <https://github.com/tomasfejfar>`_ - `@tomasfejfar <https://github.com/tomasfejfar>`_
- 2 - 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1482937?v=4' width='36' height='36' alt='@vschum'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/1482937?v=4' width='36' height='36' alt='@vschum'>`
- `@vschum <https://github.com/vschum>`_ - `@vschum <https://github.com/vschum>`_
- 2 - 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1731256?v=4' width='36' height='36' alt='@madflojo'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/1731256?v=4' width='36' height='36' alt='@madflojo'>`
- `@madflojo <https://github.com/madflojo>`_ - `@madflojo <https://github.com/madflojo>`_
- 2 - 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/26431172?v=4' width='36' height='36' alt='@preussal'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/46799934?v=4' width='36' height='36' alt='@sticky-note'>`
- `@preussal <https://github.com/preussal>`_ - `@sticky-note <https://github.com/sticky-note>`_
- 2 - 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/306240?v=4' width='36' height='36' alt='@UtahDave'>` * - :raw-html-m2r:`<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>`_ - `@UtahDave <https://github.com/UtahDave>`_
- 2 - 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/3833337?v=4' width='36' height='36' alt='@nesteves'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/52996?v=4' width='36' height='36' alt='@daks'>`
- `@daks <https://github.com/daks>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/3833337?v=4' width='36' height='36' alt='@nesteves'>`
- `@nesteves <https://github.com/nesteves>`_ - `@nesteves <https://github.com/nesteves>`_
- 2 - 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/4608417?v=4' width='36' height='36' alt='@1exx'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/4608417?v=4' width='36' height='36' alt='@1exx'>`
- `@1exx <https://github.com/1exx>`_ - `@1exx <https://github.com/1exx>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/11548856?v=4' width='36' height='36' alt='@aaronm-cloudtek'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/11548856?v=4' width='36' height='36' alt='@aaronm-cloudtek'>`
- `@aaronm-cloudtek <https://github.com/aaronm-cloudtek>`_ - `@aaronm-cloudtek <https://github.com/aaronm-cloudtek>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/479001?v=4' width='36' height='36' alt='@Achimh3011'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/479001?v=4' width='36' height='36' alt='@Achimh3011'>`
- `@Achimh3011 <https://github.com/Achimh3011>`_ - `@Achimh3011 <https://github.com/Achimh3011>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/762280?v=4' width='36' height='36' alt='@asenci'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/762280?v=4' width='36' height='36' alt='@asenci'>`
- `@asenci <https://github.com/asenci>`_ - `@asenci <https://github.com/asenci>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/214768?v=4' width='36' height='36' alt='@ixs'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/330045?v=4' width='36' height='36' alt='@word'>`
- `@ixs <https://github.com/ixs>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/330045?v=4' width='36' height='36' alt='@word'>`
- `@word <https://github.com/word>`_ - `@word <https://github.com/word>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/445200?v=4' width='36' height='36' alt='@arthurzenika'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/445200?v=4' width='36' height='36' alt='@arthurlogilab'>`
- `@arthurzenika <https://github.com/arthurzenika>`_ - `@arthurlogilab <https://github.com/arthurlogilab>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1079875?v=4' width='36' height='36' alt='@bogdanr'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/218060?v=4' width='36' height='36' alt='@johnklehm'>`
- `@bogdanr <https://github.com/bogdanr>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/218060?v=4' width='36' height='36' alt='@johnklehm'>`
- `@johnklehm <https://github.com/johnklehm>`_ - `@johnklehm <https://github.com/johnklehm>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/6368493?v=4' width='36' height='36' alt='@tardypad'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/6368493?v=4' width='36' height='36' alt='@tardypad'>`
- `@tardypad <https://github.com/tardypad>`_ - `@tardypad <https://github.com/tardypad>`_
- 1 - 1
* - :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'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/1196632?v=4' width='36' height='36' alt='@dosercz'>`
- `@baby-gnu <https://github.com/baby-gnu>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1196632?v=4' width='36' height='36' alt='@dosercz'>`
- `@dosercz <https://github.com/dosercz>`_ - `@dosercz <https://github.com/dosercz>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/7666055?v=4' width='36' height='36' alt='@epotyom'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/7666055?v=4' width='36' height='36' alt='@sivir'>`
- `@epotyom <https://github.com/epotyom>`_ - `@sivir <https://github.com/sivir>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/328598?v=4' width='36' height='36' alt='@terminalmage'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/328598?v=4' width='36' height='36' alt='@terminalmage'>`
- `@terminalmage <https://github.com/terminalmage>`_ - `@terminalmage <https://github.com/terminalmage>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2205993?v=4' width='36' height='36' alt='@GMAzrael'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/337608?v=4' width='36' height='36' alt='@replicant0wnz'>`
- `@GMAzrael <https://github.com/GMAzrael>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/337608?v=4' width='36' height='36' alt='@replicant0wnz'>`
- `@replicant0wnz <https://github.com/replicant0wnz>`_ - `@replicant0wnz <https://github.com/replicant0wnz>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/94157?v=4' width='36' height='36' alt='@imran1008'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/418769?v=4' width='36' height='36' alt='@GeJ'>`
- `@GeJ <https://github.com/GeJ>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/94157?v=4' width='36' height='36' alt='@imran1008'>`
- `@imran1008 <https://github.com/imran1008>`_ - `@imran1008 <https://github.com/imran1008>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2150143?v=4' width='36' height='36' alt='@JubbaSmail'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/2150143?v=4' width='36' height='36' alt='@JubbaSmail'>`
- `@JubbaSmail <https://github.com/JubbaSmail>`_ - `@JubbaSmail <https://github.com/JubbaSmail>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/34903?v=4' width='36' height='36' alt='@h4ck3rm1k3'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/34903?v=4' width='36' height='36' alt='@h4ck3rm1k3'>`
- `@h4ck3rm1k3 <https://github.com/h4ck3rm1k3>`_ - `@h4ck3rm1k3 <https://github.com/h4ck3rm1k3>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/667455?v=4' width='36' height='36' alt='@dijit'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/667455?v=4' width='36' height='36' alt='@dijit'>`
- `@dijit <https://github.com/dijit>`_ - `@dijit <https://github.com/dijit>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/952828?v=4' width='36' height='36' alt='@joejulian'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/952828?v=4' width='36' height='36' alt='@joejulian'>`
- `@joejulian <https://github.com/joejulian>`_ - `@joejulian <https://github.com/joejulian>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/668449?v=4' width='36' height='36' alt='@stromnet'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/668449?v=4' width='36' height='36' alt='@stromnet'>`
- `@stromnet <https://github.com/stromnet>`_ - `@stromnet <https://github.com/stromnet>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/3956745?v=4' width='36' height='36' alt='@thejcannon'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/3956745?v=4' width='36' height='36' alt='@thejcannon'>`
- `@thejcannon <https://github.com/thejcannon>`_ - `@thejcannon <https://github.com/thejcannon>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/6354880?v=4' width='36' height='36' alt='@TaiSHiNet'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/6354880?v=4' width='36' height='36' alt='@TaiSHiNet'>`
- `@TaiSHiNet <https://github.com/TaiSHiNet>`_ - `@TaiSHiNet <https://github.com/TaiSHiNet>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/296523?v=4' width='36' height='36' alt='@mkotsbak'>` * - :raw-html-m2r:`<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>`_ - `@mkotsbak <https://github.com/mkotsbak>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/188214?v=4' width='36' height='36' alt='@miska'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/188214?v=4' width='36' height='36' alt='@miska'>`
- `@miska <https://github.com/miska>`_ - `@miska <https://github.com/miska>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/805439?v=4' width='36' height='36' alt='@natehouk'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/805439?v=4' width='36' height='36' alt='@natehouk'>`
- `@natehouk <https://github.com/natehouk>`_ - `@natehouk <https://github.com/natehouk>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/804806?v=4' width='36' height='36' alt='@phil-lavin'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/804806?v=4' width='36' height='36' alt='@phil-lavin'>`
- `@phil-lavin <https://github.com/phil-lavin>`_ - `@phil-lavin <https://github.com/phil-lavin>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/22398368?v=4' width='36' height='36' alt='@S-Wilhelm'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/22398368?v=4' width='36' height='36' alt='@S-Wilhelm'>`
- `@S-Wilhelm <https://github.com/S-Wilhelm>`_ - `@S-Wilhelm <https://github.com/S-Wilhelm>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/327943?v=4' width='36' height='36' alt='@star-szr'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/327943?v=4' width='36' height='36' alt='@Cottser'>`
- `@star-szr <https://github.com/star-szr>`_ - `@Cottser <https://github.com/Cottser>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/56102?v=4' width='36' height='36' alt='@soniah'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/56102?v=4' width='36' height='36' alt='@soniah'>`
- `@soniah <https://github.com/soniah>`_ - `@soniah <https://github.com/soniah>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/26336?v=4' width='36' height='36' alt='@tony'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/26336?v=4' width='36' height='36' alt='@tony'>`
- `@tony <https://github.com/tony>`_ - `@tony <https://github.com/tony>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/714914?v=4' width='36' height='36' alt='@waynegemmell'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/326786?v=4' width='36' height='36' alt='@wido'>`
- `@waynegemmell <https://github.com/waynegemmell>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/326786?v=4' width='36' height='36' alt='@wido'>`
- `@wido <https://github.com/wido>`_ - `@wido <https://github.com/wido>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/751889?v=4' width='36' height='36' alt='@Yoda-BZH'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/751889?v=4' width='36' height='36' alt='@Yoda-BZH'>`
- `@Yoda-BZH <https://github.com/Yoda-BZH>`_ - `@Yoda-BZH <https://github.com/Yoda-BZH>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/228723?v=4' width='36' height='36' alt='@abednarik'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/228723?v=4' width='36' height='36' alt='@abednarik'>`
- `@abednarik <https://github.com/abednarik>`_ - `@abednarik <https://github.com/abednarik>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/546883?v=4' width='36' height='36' alt='@jam13'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/546883?v=4' width='36' height='36' alt='@jam13'>`
- `@jam13 <https://github.com/jam13>`_ - `@jam13 <https://github.com/jam13>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/715563?v=4' width='36' height='36' alt='@getSurreal'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/715563?v=4' width='36' height='36' alt='@getSurreal'>`
- `@getSurreal <https://github.com/getSurreal>`_ - `@getSurreal <https://github.com/getSurreal>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1132799?v=4' width='36' height='36' alt='@slawekp'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/1132799?v=4' width='36' height='36' alt='@slawekp'>`
- `@slawekp <https://github.com/slawekp>`_ - `@slawekp <https://github.com/slawekp>`_
- 1 - 1
* - :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'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/1386595?v=4' width='36' height='36' alt='@tsia'>`
- `@sticky-note <https://github.com/sticky-note>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1386595?v=4' width='36' height='36' alt='@tsia'>`
- `@tsia <https://github.com/tsia>`_ - `@tsia <https://github.com/tsia>`_
- 1 - 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/3351040?v=4' width='36' height='36' alt='@zhujinhe'>` * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/3351040?v=4' width='36' height='36' alt='@zhujinhe'>`
- `@zhujinhe <https://github.com/zhujinhe>`_ - `@zhujinhe <https://github.com/zhujinhe>`_
- 1 - 1
---- ----
Auto-generated by a `forked version <https://github.com/myii/maintainer>`_ of `gaocegege/maintainer <https://github.com/gaocegege/maintainer>`_ on 2023-11-28. Auto-generated by a `forked version <https://github.com/myii/maintainer>`_ of `gaocegege/maintainer <https://github.com/gaocegege/maintainer>`_ on 2020-08-24.

View file

@ -2,190 +2,6 @@
Changelog Changelog
========= =========
`0.56.4 <https://github.com/saltstack-formulas/mysql-formula/compare/v0.56.3...v0.56.4>`_ (2023-11-28)
----------------------------------------------------------------------------------------------------------
Bug Fixes
^^^^^^^^^
* **bug:** config arrays as multiple lines (\ `fabd837 <https://github.com/saltstack-formulas/mysql-formula/commit/fabd837bcbec14e535aca57ef3c2bd132038ff36>`_\ )
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* update ``pre-commit`` configuration inc. for pre-commit.ci [skip ci] (\ `3880cd3 <https://github.com/saltstack-formulas/mysql-formula/commit/3880cd3a2bd8ac6d2482b0e9a2365db2db9aff2a>`_\ )
* **kitchen+gitlab:** update for new pre-salted images [skip ci] (\ `47ff13c <https://github.com/saltstack-formulas/mysql-formula/commit/47ff13c31413e1f1236435c92136e34054e5adc3>`_\ )
Styles
^^^^^^
* update precommit and style (\ `5f487e3 <https://github.com/saltstack-formulas/mysql-formula/commit/5f487e33f688d4c12ba6f5c902d89ac535249373>`_\ )
Tests
^^^^^
* **packages:** update for ``ubuntu-22.04`` [skip ci] (\ `6e2433e <https://github.com/saltstack-formulas/mysql-formula/commit/6e2433e29df15aef7514bb4c958211dc4594c831>`_\ )
* **system:** add ``build_platform_codename`` [skip ci] (\ `bb6b4e5 <https://github.com/saltstack-formulas/mysql-formula/commit/bb6b4e5a8245aed23ccbc9036702a096b32bf058>`_\ )
* **system.rb:** add support for ``mac_os_x`` [skip ci] (\ `924cc3a <https://github.com/saltstack-formulas/mysql-formula/commit/924cc3a59232d376778f7593c4af78c31c8234a4>`_\ )
`0.56.3 <https://github.com/saltstack-formulas/mysql-formula/compare/v0.56.2...v0.56.3>`_ (2022-02-12)
----------------------------------------------------------------------------------------------------------
Code Refactoring
^^^^^^^^^^^^^^^^
* **salt-lint:** fix violation (\ `7b62a62 <https://github.com/saltstack-formulas/mysql-formula/commit/7b62a627e074bef9df4d06d9757ce6217af39d7a>`_\ )
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* update linters to latest versions [skip ci] (\ `d9a2eb5 <https://github.com/saltstack-formulas/mysql-formula/commit/d9a2eb505b919e89f5f08f29db1edcded6d421c4>`_\ )
* **gemfile:** allow rubygems proxy to be provided as an env var [skip ci] (\ `0a08d4f <https://github.com/saltstack-formulas/mysql-formula/commit/0a08d4fa9acb3c00dfc9ee78641f66b45fec96fd>`_\ )
* **kitchen+ci:** update with ``3004`` pre-salted images/boxes [skip ci] (\ `3abbd24 <https://github.com/saltstack-formulas/mysql-formula/commit/3abbd242a54fb2c600daa04276a05dd31baceee1>`_\ )
* **kitchen+ci:** update with latest CVE pre-salted images [skip ci] (\ `c66269a <https://github.com/saltstack-formulas/mysql-formula/commit/c66269abfc4bfdf7fc12c2a110e215b1804caee8>`_\ )
* **kitchen+gitlab:** update for new pre-salted images [skip ci] (\ `8ef45fb <https://github.com/saltstack-formulas/mysql-formula/commit/8ef45fbe7124b3ca60505bbd383ce762a89a6406>`_\ )
`0.56.2 <https://github.com/saltstack-formulas/mysql-formula/compare/v0.56.1...v0.56.2>`_ (2021-09-04)
----------------------------------------------------------------------------------------------------------
Bug Fixes
^^^^^^^^^
* **centos7:** add correct pymysql package on cent7/saltpy3 (\ `9722b02 <https://github.com/saltstack-formulas/mysql-formula/commit/9722b0218763c56b7bb1096b421058e6898ae55e>`_\ )
* **ci:** corrected ruby last else (\ `df2fa30 <https://github.com/saltstack-formulas/mysql-formula/commit/df2fa300eff9c07e54967a3ef1366c57896b4eb5>`_\ )
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* **centos:** add centos ci; fix test pillar (\ `060b43f <https://github.com/saltstack-formulas/mysql-formula/commit/060b43f3036bbdfd1c0910fe91ff280221ef116c>`_\ )
`0.56.1 <https://github.com/saltstack-formulas/mysql-formula/compare/v0.56.0...v0.56.1>`_ (2021-08-25)
----------------------------------------------------------------------------------------------------------
Code Refactoring
^^^^^^^^^^^^^^^^
* **jinja:** improve indentation (\ `d09728e <https://github.com/saltstack-formulas/mysql-formula/commit/d09728e04f0405e0e085b68210210ced9d892fe4>`_\ )
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* **gemfile+lock:** use ``ssf`` customised ``inspec`` repo [skip ci] (\ `8f91b4f <https://github.com/saltstack-formulas/mysql-formula/commit/8f91b4f3ecd2b9c9ee862aa607993f5b81ef4d6c>`_\ )
* **kitchen+ci:** update with latest ``3003.2`` pre-salted images [skip ci] (\ `d908ad5 <https://github.com/saltstack-formulas/mysql-formula/commit/d908ad5e5558e236812860095222cdfb5f80ff08>`_\ )
`0.56.0 <https://github.com/saltstack-formulas/mysql-formula/compare/v0.55.2...v0.56.0>`_ (2021-07-19)
----------------------------------------------------------------------------------------------------------
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* add Debian 11 Bullseye & update ``yamllint`` configuration [skip ci] (\ `ee34e48 <https://github.com/saltstack-formulas/mysql-formula/commit/ee34e48fae56a5ca06557d8997e47d100eef8c48>`_\ )
* **3003.1:** update inc. AlmaLinux, Rocky & ``rst-lint`` [skip ci] (\ `4d5e6d9 <https://github.com/saltstack-formulas/mysql-formula/commit/4d5e6d9e1924fdabae726b1ef6cdc58b8dcb331f>`_\ )
* **kitchen:** move ``provisioner`` block & update ``run_command`` [skip ci] (\ `f51d4ba <https://github.com/saltstack-formulas/mysql-formula/commit/f51d4ba4ced7d7a6b13da091b838e60a16be7d1b>`_\ )
* **kitchen+gitlab:** remove Ubuntu 16.04 & Fedora 32 (EOL) [skip ci] (\ `13c8450 <https://github.com/saltstack-formulas/mysql-formula/commit/13c8450069aad9bf1ff25a0c7870a82d5a0b3e7f>`_\ )
* add ``arch-master`` to matrix and update ``.travis.yml`` [skip ci] (\ `8dbff38 <https://github.com/saltstack-formulas/mysql-formula/commit/8dbff388203b9b6156d07e6cc4bb6558c7ad72e0>`_\ )
Features
^^^^^^^^
* **freebsd:** update packages from ``py37-*`` => ``py38-*`` (\ `70eeed8 <https://github.com/saltstack-formulas/mysql-formula/commit/70eeed80c1b0ce0dfd1ffe539b5e0be6ba5415fd>`_\ )
* **osfingermap:** add support for ``Debian 11`` [skip ci] (\ `3ea9b34 <https://github.com/saltstack-formulas/mysql-formula/commit/3ea9b347590e6f15761d07567a7640d138f74128>`_\ )
`0.55.2 <https://github.com/saltstack-formulas/mysql-formula/compare/v0.55.1...v0.55.2>`_ (2021-05-07)
----------------------------------------------------------------------------------------------------------
Bug Fixes
^^^^^^^^^
* **salt-user:** fix setting grants for the salt user (\ `346633d <https://github.com/saltstack-formulas/mysql-formula/commit/346633d6f65a4da5e44a9e7c1cff9f00e0e2075b>`_\ )
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* **kitchen+gitlab:** adjust matrix to add ``3003`` [skip ci] (\ `3df6d64 <https://github.com/saltstack-formulas/mysql-formula/commit/3df6d6410d0ad74d51cb26032d4917617913d835>`_\ )
Documentation
^^^^^^^^^^^^^
* **readme:** fix headings [skip ci] (\ `897a83d <https://github.com/saltstack-formulas/mysql-formula/commit/897a83dc2ae0430144f5c1ef0dde29f05839fe69>`_\ )
Tests
^^^^^
* standardise use of ``share`` suite & ``_mapdata`` state [skip ci] (\ `c11750c <https://github.com/saltstack-formulas/mysql-formula/commit/c11750c9ccb702cfa28bbae4b3e2481e835729c1>`_\ )
`0.55.1 <https://github.com/saltstack-formulas/mysql-formula/compare/v0.55.0...v0.55.1>`_ (2021-03-23)
----------------------------------------------------------------------------------------------------------
Bug Fixes
^^^^^^^^^
* **salt-user:** redirect error output from user access checks (\ `4cb4c05 <https://github.com/saltstack-formulas/mysql-formula/commit/4cb4c05e48272c8073b0798afa8b31f232d12674>`_\ )
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* **commitlint:** ensure ``upstream/master`` uses main repo URL [skip ci] (\ `e20d7c6 <https://github.com/saltstack-formulas/mysql-formula/commit/e20d7c69d12777365ff95c841decfe7dc05c4227>`_\ )
* **gemfile+lock:** use ``ssf`` customised ``kitchen-docker`` repo [skip ci] (\ `63561c0 <https://github.com/saltstack-formulas/mysql-formula/commit/63561c0a2f236722b4449717e83b421a021d7093>`_\ )
* **gitlab-ci:** add ``rubocop`` linter (with ``allow_failure``\ ) [skip ci] (\ `d08b960 <https://github.com/saltstack-formulas/mysql-formula/commit/d08b960daf910f9c386523ae3d942d851cca2802>`_\ )
* **kitchen+ci:** use latest pre-salted images (after CVE) [skip ci] (\ `1af83d1 <https://github.com/saltstack-formulas/mysql-formula/commit/1af83d1fac432c9208c968182979090348dab69c>`_\ )
* **kitchen+gitlab-ci:** use latest pre-salted images [skip ci] (\ `b27382a <https://github.com/saltstack-formulas/mysql-formula/commit/b27382a76cf3f2fd40c5dc6934175186f2065720>`_\ )
* **pre-commit:** update hook for ``rubocop`` [skip ci] (\ `86397f6 <https://github.com/saltstack-formulas/mysql-formula/commit/86397f6390a6f5aab812dda258d3438674798af3>`_\ )
`0.55.0 <https://github.com/saltstack-formulas/mysql-formula/compare/v0.54.2...v0.55.0>`_ (2020-12-16)
----------------------------------------------------------------------------------------------------------
Bug Fixes
^^^^^^^^^
* **percona:** fix startswith error (\ `6b39bda <https://github.com/saltstack-formulas/mysql-formula/commit/6b39bda366af83b7080e056b2f3e00408689c44b>`_\ )
* **redhat:** added missing client socket (\ `b0f370c <https://github.com/saltstack-formulas/mysql-formula/commit/b0f370cf8b60e2e8a9e281f945ae2ab435a2e63c>`_\ )
* **redhat:** update python library, add missing deps (\ `3cab000 <https://github.com/saltstack-formulas/mysql-formula/commit/3cab000c89e5032dd7b7fc0c7cd7a68696e2445b>`_\ )
* **server:** fix ``salt-lint`` violations [skip ci] (\ `2d1c7c3 <https://github.com/saltstack-formulas/mysql-formula/commit/2d1c7c30e60b2f8a50a3964b82cb43cc5d54709b>`_\ )
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* **gitlab-ci:** use GitLab CI as Travis CI replacement (\ `fb50e26 <https://github.com/saltstack-formulas/mysql-formula/commit/fb50e26f6a2bfa38f8ed57981f4ba730cf43c34d>`_\ )
* **pre-commit:** add to formula [skip ci] (\ `11e6460 <https://github.com/saltstack-formulas/mysql-formula/commit/11e646082ec3846045edde20411615c7c0f3479b>`_\ )
* **pre-commit:** enable/disable ``rstcheck`` as relevant [skip ci] (\ `87cb5b7 <https://github.com/saltstack-formulas/mysql-formula/commit/87cb5b7c4f6096902dd97a4eeda2c238de5b0fa9>`_\ )
* **pre-commit:** finalise ``rstcheck`` configuration [skip ci] (\ `92bf43a <https://github.com/saltstack-formulas/mysql-formula/commit/92bf43a3b79fa3b1cee0f43de98dd9aac1ea2a6c>`_\ )
Features
^^^^^^^^
* **credentials:** add socket access (\ `1c70b0a <https://github.com/saltstack-formulas/mysql-formula/commit/1c70b0abc106fbce2d7f95feaf9f02dd64cddfcf>`_\ )
`0.54.2 <https://github.com/saltstack-formulas/mysql-formula/compare/v0.54.1...v0.54.2>`_ (2020-08-27)
----------------------------------------------------------------------------------------------------------
Bug Fixes
^^^^^^^^^
* **indent:** properly indent file.directory block (\ `7791268 <https://github.com/saltstack-formulas/mysql-formula/commit/7791268d133d557d21414365db59dc14c8f97f74>`_\ ), closes `#250 <https://github.com/saltstack-formulas/mysql-formula/issues/250>`_
`0.54.1 <https://github.com/saltstack-formulas/mysql-formula/compare/v0.54.0...v0.54.1>`_ (2020-08-24) `0.54.1 <https://github.com/saltstack-formulas/mysql-formula/compare/v0.54.0...v0.54.1>`_ (2020-08-24)
---------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------

View file

@ -1,5 +1,7 @@
mysql-formula .. _readme:
=============
mysql
=====
|img_travis| |img_sr| |img_travis| |img_sr|
@ -49,12 +51,12 @@ Available states
Meta-state including all server packages in correct order. This meta-state does **not** include ``mysql.remove_test_database``. Meta-state including all server packages in correct order. This meta-state does **not** include ``mysql.remove_test_database``.
``mysql.macos`` ``mysql.macos``
^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^
Install "MySQL Community Server", "MySQL Workbench", and other related mysql products on MacOS (and create Desktop shortcuts). Install "MySQL Community Server", "MySQL Workbench", and other related mysql products on MacOS (and create Desktop shortcuts).
``mysql.macos.remove`` ``mysql.macos.remove``
^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^
Remove "MySQL Community Server", "MySQL Workbench", and any other enabled products from MacOS. Remove "MySQL Community Server", "MySQL Workbench", and any other enabled products from MacOS.
@ -148,7 +150,7 @@ Add the official MySQL 5.7 repository.
changed enabled repository accordingly. changed enabled repository accordingly.
``mysql.config`` ``mysql.config``
^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^
Manage the MySQL configuration. Manage the MySQL configuration.

View file

@ -6,7 +6,128 @@ driver:
name: docker name: docker
use_sudo: false use_sudo: false
privileged: true privileged: true
run_command: /usr/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:
## SALT `master`
- name: debian-10-master-py3
driver:
image: saltimages/salt-master-py3:debian-10
- name: ubuntu-2004-master-py3
driver:
image: saltimages/salt-master-py3:ubuntu-20.04
- name: ubuntu-1804-master-py3
driver:
image: saltimages/salt-master-py3:ubuntu-18.04
- name: centos-8-master-py3
driver:
image: saltimages/salt-master-py3:centos-8
- name: fedora-32-master-py3
driver:
image: saltimages/salt-master-py3:fedora-32
- name: fedora-31-master-py3
driver:
image: saltimages/salt-master-py3:fedora-31
- name: opensuse-leap-152-master-py3
driver:
image: saltimages/salt-master-py3:opensuse-leap-15.2
run_command: /usr/lib/systemd/systemd
# Workaround to avoid intermittent failures on `opensuse-leap-15.2`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: amazonlinux-2-master-py3
driver:
image: saltimages/salt-master-py3:amazonlinux-2
## SALT `3000.3`
- name: debian-10-3000-3-py3
driver:
image: saltimages/salt-3000.3-py3:debian-10
- name: debian-9-3000-3-py3
driver:
image: saltimages/salt-3000.3-py3:debian-9
- name: ubuntu-1804-3000-3-py3
driver:
image: saltimages/salt-3000.3-py3:ubuntu-18.04
- name: centos-8-3000-3-py3
driver:
image: saltimages/salt-3000.3-py3:centos-8
- name: centos-7-3000-3-py3
driver:
image: saltimages/salt-3000.3-py3:centos-7
- name: fedora-31-3000-3-py3
driver:
image: saltimages/salt-3000.3-py3:fedora-31
- name: opensuse-leap-152-3000-3-py3
driver:
image: saltimages/salt-3000.3-py3:opensuse-leap-15.2
run_command: /usr/lib/systemd/systemd
# Workaround to avoid intermittent failures on `opensuse-leap-15.2`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: amazonlinux-2-3000-3-py3
driver:
image: saltimages/salt-3000.3-py3:amazonlinux-2
- name: ubuntu-1804-3000-3-py2
driver:
image: saltimages/salt-3000.3-py2:ubuntu-18.04
- name: ubuntu-1604-3000-3-py2
driver:
image: saltimages/salt-3000.3-py2:ubuntu-16.04
- name: arch-base-latest-3000-3-py2
driver:
image: saltimages/salt-3000.3-py2:arch-base-latest
run_command: /usr/lib/systemd/systemd
## SALT `2019.2`
- name: debian-10-2019-2-py3
driver:
image: saltimages/salt-2019.2-py3:debian-10
- name: debian-9-2019-2-py3
driver:
image: saltimages/salt-2019.2-py3:debian-9
- name: ubuntu-1804-2019-2-py3
driver:
image: saltimages/salt-2019.2-py3:ubuntu-18.04
- name: ubuntu-1604-2019-2-py3
driver:
image: saltimages/salt-2019.2-py3:ubuntu-16.04
- name: centos-8-2019-2-py3
driver:
image: saltimages/salt-2019.2-py3:centos-8
- name: centos-7-2019-2-py3
driver:
image: saltimages/salt-2019.2-py3:centos-7
- name: fedora-31-2019-2-py3
driver:
image: saltimages/salt-2019.2-py3:fedora-31
- name: opensuse-leap-152-2019-2-py3
driver:
image: saltimages/salt-2019.2-py3:opensuse-leap-15.2
run_command: /usr/lib/systemd/systemd
# Workaround to avoid intermittent failures on `opensuse-leap-15.2`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: amazonlinux-2-2019-2-py3
driver:
image: saltimages/salt-2019.2-py3:amazonlinux-2
- name: centos-6-2019-2-py2
driver:
image: saltimages/salt-2019.2-py2:centos-6
run_command: /sbin/init
- name: amazonlinux-1-2019-2-py2
driver:
image: saltimages/salt-2019.2-py2:amazonlinux-1
run_command: /sbin/init
- name: arch-base-latest-2019-2-py2
driver:
image: saltimages/salt-2019.2-py2:arch-base-latest
run_command: /usr/lib/systemd/systemd
provisioner: provisioner:
name: salt_solo name: salt_solo
@ -18,252 +139,12 @@ provisioner:
- .kitchen - .kitchen
- .git - .git
platforms:
## SALT `tiamat`
- name: debian-11-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:debian-11
run_command: /lib/systemd/systemd
- name: debian-10-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:debian-10
run_command: /lib/systemd/systemd
- name: debian-9-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:debian-9
run_command: /lib/systemd/systemd
- name: ubuntu-2204-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:ubuntu-22.04
run_command: /lib/systemd/systemd
- name: ubuntu-2004-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:ubuntu-20.04
run_command: /lib/systemd/systemd
- name: ubuntu-1804-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:ubuntu-18.04
run_command: /lib/systemd/systemd
- name: centos-stream8-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:centos-stream8
- name: centos-7-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:centos-7
- name: amazonlinux-2-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:amazonlinux-2
- name: oraclelinux-8-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:oraclelinux-8
- name: oraclelinux-7-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:oraclelinux-7
- name: almalinux-8-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:almalinux-8
- name: rockylinux-8-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:rockylinux-8
## SALT `master`
- name: debian-11-master-py3
driver:
image: saltimages/salt-master-py3:debian-11
run_command: /lib/systemd/systemd
- name: debian-10-master-py3
driver:
image: saltimages/salt-master-py3:debian-10
run_command: /lib/systemd/systemd
- name: debian-9-master-py3
driver:
image: saltimages/salt-master-py3:debian-9
run_command: /lib/systemd/systemd
- name: ubuntu-2204-master-py3
driver:
image: saltimages/salt-master-py3:ubuntu-22.04
run_command: /lib/systemd/systemd
- name: ubuntu-2004-master-py3
driver:
image: saltimages/salt-master-py3:ubuntu-20.04
run_command: /lib/systemd/systemd
- name: ubuntu-1804-master-py3
driver:
image: saltimages/salt-master-py3:ubuntu-18.04
run_command: /lib/systemd/systemd
- name: centos-stream8-master-py3
driver:
image: saltimages/salt-master-py3:centos-stream8
- name: centos-7-master-py3
driver:
image: saltimages/salt-master-py3:centos-7
- name: fedora-36-master-py3
driver:
image: saltimages/salt-master-py3:fedora-36
- name: fedora-35-master-py3
driver:
image: saltimages/salt-master-py3:fedora-35
- name: opensuse-leap-153-master-py3
driver:
image: saltimages/salt-master-py3:opensuse-leap-15.3
# Workaround to avoid intermittent failures on `opensuse-leap-15.3`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: opensuse-tmbl-latest-master-py3
driver:
image: saltimages/salt-master-py3:opensuse-tumbleweed-latest
# Workaround to avoid intermittent failures on `opensuse-tumbleweed`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: amazonlinux-2-master-py3
driver:
image: saltimages/salt-master-py3:amazonlinux-2
- name: oraclelinux-8-master-py3
driver:
image: saltimages/salt-master-py3:oraclelinux-8
- name: oraclelinux-7-master-py3
driver:
image: saltimages/salt-master-py3:oraclelinux-7
- name: arch-base-latest-master-py3
driver:
image: saltimages/salt-master-py3:arch-base-latest
- name: gentoo-stage3-latest-master-py3
driver:
image: saltimages/salt-master-py3:gentoo-stage3-latest
run_command: /sbin/init
- name: gentoo-stage3-systemd-master-py3
driver:
image: saltimages/salt-master-py3:gentoo-stage3-systemd
- name: almalinux-8-master-py3
driver:
image: saltimages/salt-master-py3:almalinux-8
- name: rockylinux-8-master-py3
driver:
image: saltimages/salt-master-py3:rockylinux-8
## SALT `3004.1`
- name: debian-11-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:debian-11
run_command: /lib/systemd/systemd
- name: debian-10-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:debian-10
run_command: /lib/systemd/systemd
- name: debian-9-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:debian-9
run_command: /lib/systemd/systemd
- name: ubuntu-2204-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:ubuntu-22.04
run_command: /lib/systemd/systemd
- name: ubuntu-2004-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:ubuntu-20.04
run_command: /lib/systemd/systemd
- name: ubuntu-1804-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:ubuntu-18.04
run_command: /lib/systemd/systemd
- name: centos-stream8-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:centos-stream8
- name: centos-7-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:centos-7
- name: fedora-36-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:fedora-36
- name: fedora-35-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:fedora-35
- name: amazonlinux-2-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:amazonlinux-2
- name: oraclelinux-8-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:oraclelinux-8
- name: oraclelinux-7-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:oraclelinux-7
- name: arch-base-latest-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:arch-base-latest
- name: gentoo-stage3-latest-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:gentoo-stage3-latest
run_command: /sbin/init
- name: gentoo-stage3-systemd-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:gentoo-stage3-systemd
- name: almalinux-8-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:almalinux-8
- name: rockylinux-8-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:rockylinux-8
## SALT `3004.0`
- name: opensuse-leap-153-3004-0-py3
driver:
image: saltimages/salt-3004.0-py3:opensuse-leap-15.3
# Workaround to avoid intermittent failures on `opensuse-leap-15.3`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: opensuse-tmbl-latest-3004-0-py3
driver:
image: saltimages/salt-3004.0-py3:opensuse-tumbleweed-latest
# Workaround to avoid intermittent failures on `opensuse-tumbleweed`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
## SALT `3003.4`
- name: debian-10-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:debian-10
run_command: /lib/systemd/systemd
- name: debian-9-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:debian-9
run_command: /lib/systemd/systemd
- name: ubuntu-2004-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:ubuntu-20.04
run_command: /lib/systemd/systemd
- name: ubuntu-1804-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:ubuntu-18.04
run_command: /lib/systemd/systemd
- name: centos-stream8-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:centos-stream8
- name: centos-7-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:centos-7
- name: amazonlinux-2-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:amazonlinux-2
- name: oraclelinux-8-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:oraclelinux-8
- name: oraclelinux-7-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:oraclelinux-7
- name: almalinux-8-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:almalinux-8
verifier: verifier:
# https://www.inspec.io/ # https://www.inspec.io/
name: inspec name: inspec
sudo: true sudo: true
# cli, documentation, html, progress, json, json-min, json-rspec, junit
reporter: reporter:
# cli, documentation, html, progress, json, json-min, json-rspec, junit
- cli - cli
suites: suites:
@ -272,7 +153,6 @@ suites:
state_top: state_top:
base: base:
'*': '*':
- mysql._mapdata
- mysql - mysql
pillars: pillars:
top.sls: top.sls:

View file

@ -1,13 +0,0 @@
# 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

@ -1,22 +0,0 @@
# -*- coding: utf-8 -*-
# vim: ft=sls
---
{#- Get the `tplroot` from `tpldir` #}
{%- set tplroot = tpldir.split("/")[0] %}
{%- from tplroot ~ "/map.jinja" import mysql with context %}
{%- set _mapdata = {
"values": mysql,
} %}
{%- 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

@ -20,7 +20,7 @@ mysql_server_config:
- source: salt://{{ tpldir }}/files/server.cnf - source: salt://{{ tpldir }}/files/server.cnf
{%- if os_family in ['Debian', 'Gentoo', 'RedHat'] %} {%- if os_family in ['Debian', 'Gentoo', 'RedHat'] %}
- context: - context:
tpldir: {{ tpldir }} tpldir: {{ tpldir }}
- user: root - user: root
- group: root - group: root
- mode: 644 - mode: 644
@ -37,7 +37,7 @@ mysql_galera_config:
- source: salt://{{ tpldir }}/files/galera.cnf - source: salt://{{ tpldir }}/files/galera.cnf
{%- if os_family in ['Debian', 'Gentoo', 'RedHat'] %} {%- if os_family in ['Debian', 'Gentoo', 'RedHat'] %}
- context: - context:
tpldir: {{ tpldir }} tpldir: {{ tpldir }}
- user: root - user: root
- group: root - group: root
- mode: 644 - mode: 644
@ -54,7 +54,7 @@ mysql_library_config:
- source: salt://{{ tpldir }}/files/client.cnf - source: salt://{{ tpldir }}/files/client.cnf
{%- if os_family in ['Debian', 'Gentoo', 'RedHat'] %} {%- if os_family in ['Debian', 'Gentoo', 'RedHat'] %}
- context: - context:
tpldir: {{ tpldir }} tpldir: {{ tpldir }}
- user: root - user: root
- group: root - group: root
- mode: 644 - mode: 644
@ -71,7 +71,7 @@ mysql_clients_config:
- source: salt://{{ tpldir }}/files/mysql-clients.cnf - source: salt://{{ tpldir }}/files/mysql-clients.cnf
{%- if os_family in ['Debian', 'Gentoo', 'RedHat'] %} {%- if os_family in ['Debian', 'Gentoo', 'RedHat'] %}
- context: - context:
tpldir: {{ tpldir }} tpldir: {{ tpldir }}
- user: root - user: root
- group: root - group: root
- mode: 644 - mode: 644
@ -92,7 +92,7 @@ mysql_config:
- source: salt://{{ tpldir }}/files/my.cnf - source: salt://{{ tpldir }}/files/my.cnf
{%- endif %} {%- endif %}
- context: - context:
tpldir: {{ tpldir }} tpldir: {{ tpldir }}
{%- if os_family in ['Debian', 'Gentoo', 'RedHat'] %} {%- if os_family in ['Debian', 'Gentoo', 'RedHat'] %}
- user: root - user: root
- group: root - group: root

View file

@ -7,7 +7,6 @@
{%- set mysql_salt_user = salt['pillar.get']('mysql:salt_user:salt_user_name', mysql_root_user) %} {%- set mysql_salt_user = salt['pillar.get']('mysql:salt_user:salt_user_name', mysql_root_user) %}
{%- set mysql_salt_pass = salt['pillar.get']('mysql:salt_user:salt_user_password', mysql_root_pass) %} {%- set mysql_salt_pass = salt['pillar.get']('mysql:salt_user:salt_user_password', mysql_root_pass) %}
{%- set mysql_unix_socket = mysql.config.sections.mysqld.socket %}
include: include:
- .python - .python
@ -40,9 +39,6 @@ include:
- connection_pass: '{{ mysql_salt_pass }}' - connection_pass: '{{ mysql_salt_pass }}'
{%- endif %} {%- endif %}
- connection_charset: utf8 - connection_charset: utf8
{%- if mysql_unix_socket %}
- connection_unix_socket: '{{ mysql_unix_socket }}'
{% endif %}
{%- if salt['pillar.get'](['mysql', 'schema', database, 'load']|join(':'), False) %} {%- if salt['pillar.get'](['mysql', 'schema', database, 'load']|join(':'), False) %}
{{ state_id }}_schema: {{ state_id }}_schema:
@ -59,9 +55,9 @@ include:
- makedirs: True - makedirs: True
{{ state_id }}_load: {{ state_id }}_load:
cmd.run: cmd.wait:
- name: mysql -u {{ mysql_salt_user }} -h{{ mysql_host }} {% if mysql_salt_pass %}-p{%- endif %}{{ mysql_salt_pass }} {{ database }} < /etc/mysql/{{ database }}.schema - name: mysql -u {{ mysql_salt_user }} -h{{ mysql_host }} {% if mysql_salt_pass %}-p{%- endif %}{{ mysql_salt_pass }} {{ database }} < /etc/mysql/{{ database }}.schema
- onchanges: - watch:
- file: {{ state_id }}_schema - file: {{ state_id }}_schema
- mysql_database: {{ state_id }} - mysql_database: {{ state_id }}
{%- endif %} {%- endif %}

View file

@ -33,14 +33,8 @@
{% elif mvalue == "SETONPLEASE" %} {% elif mvalue == "SETONPLEASE" %}
{{ mparam }}{{ '='|indent(indents, true) }} ON {{ mparam }}{{ '='|indent(indents, true) }} ON
{%- else -%} {%- else -%}
{%- if mvalue is list -%}
{%- for value in mvalue %}
{{ mparam }}{{ '='|indent(indents, true) }} {{ value }}
{%- endfor -%}
{%- else -%}
{{ mparam }}{{ '='|indent(indents, true) }} {{ mvalue }} {{ mparam }}{{ '='|indent(indents, true) }} {{ mvalue }}
{%- endif -%} {%- endif -%}
{%- endif -%}
{%- endfor -%} {%- endfor -%}
{%- endif -%} {%- endif -%}
{%- endfor %} {%- endfor %}

View file

@ -81,11 +81,11 @@ mysql-macos-{{ product }}-desktop-shortcut-add:
- mode: 755 - mode: 755
- template: jinja - template: jinja
- context: - context:
user: {{ mysql.macos.user }} user: {{ mysql.macos.user }}
home: {{ mysql.macos.userhomes }} home: {{ mysql.macos.userhomes }}
app: {{ data.app }} app: {{ data.app }}
dir: {{ '/Applications' if "isapp" in data and data.isapp else dl.prefix ~ '/' ~ archivename ~ '/bin' }} dir: {{ '/Applications' if "isapp" in data and data.isapp else dl.prefix ~ '/' ~ archivename ~ '/bin' }}
suffix: {{ '.app' if "isapp" in data and data.isapp else '' }} suffix: {{ '.app' if "isapp" in data and data.isapp else '' }}
cmd.run: cmd.run:
- name: /tmp/mac_shortcut.sh add - name: /tmp/mac_shortcut.sh add
- runas: {{ mysql.macos.user }} - runas: {{ mysql.macos.user }}

View file

@ -19,11 +19,11 @@ mysql-macos-{{ product }}-desktop-shortcut-remove:
- mode: 755 - mode: 755
- template: jinja - template: jinja
- context: - context:
user: {{ mysql.macos.user }} user: {{ mysql.macos.user }}
home: {{ mysql.macos.userhomes }} home: {{ mysql.macos.userhomes }}
app: {{ data.app }} app: {{ data.app }}
dir: {{ '/Applications' if "isapp" in data and data.isapp else dl.prefix ~ '/' ~ archivename ~ '/bin' }} dir: {{ '/Applications' if "isapp" in data and data.isapp else dl.prefix ~ '/' ~ archivename ~ '/bin' }}
suffix: {{ '.app' if "isapp" in data and data.isapp else '' }} suffix: {{ '.app' if "isapp" in data and data.isapp else '' }}
cmd.run: cmd.run:
- name: /tmp/mac_shortcut.sh remove - name: /tmp/mac_shortcut.sh remove
- runas: {{ mysql.macos.user }} - runas: {{ mysql.macos.user }}

View file

@ -20,6 +20,8 @@ Debian:
max_allowed_packet: 16M max_allowed_packet: 16M
thread_stack: 192K thread_stack: 192K
thread_cache_size: 8 thread_cache_size: 8
query_cache_limit: 1M
query_cache_size: 16M
expire_logs_days: 10 expire_logs_days: 10
max_binlog_size: 100M max_binlog_size: 100M
# innodb_flush_log_at_trx_commit: 1 # innodb_flush_log_at_trx_commit: 1
@ -37,12 +39,11 @@ Debian:
RedHat: RedHat:
service: mysqld service: mysqld
clientpkg: mysql clientpkg: mysql
pythonpkg: python3-PyMySQL pythonpkg: MySQL-python
config: config:
file: /etc/my.cnf file: /etc/my.cnf
sections: sections:
client: client: {}
socket: /var/lib/mysql/mysql.sock
mysqld_safe: mysqld_safe:
log_error: /var/log/mysql/mysqld.log log_error: /var/log/mysql/mysqld.log
pid_file: /var/run/mysql/mysqld.pid pid_file: /var/run/mysql/mysqld.pid
@ -208,7 +209,7 @@ FreeBSD:
serverpkg: mysql57-server serverpkg: mysql57-server
clientpkg: mysql57-client clientpkg: mysql57-client
service: mysql-server service: mysql-server
pythonpkg: py38-pymysql pythonpkg: py37-pymysql
devpkg: mysql57-server devpkg: mysql57-server
config: config:

View file

@ -2,15 +2,6 @@
# vim: ft=yaml # vim: ft=yaml
--- ---
# Debian # Debian
Debian-11:
serverpkg: mariadb-server
service: mariadb
clientpkg: mariadb-client
devpkg: libmariadbclient-dev
config:
append: |
!includedir /etc/mysql/conf.d/
# !includedir /etc/mysql/mariadb.conf.d/
Debian-10: Debian-10:
serverpkg: mariadb-server serverpkg: mariadb-server
service: mariadb service: mariadb
@ -30,15 +21,6 @@ Debian-9:
!includedir /etc/mysql/conf.d/ !includedir /etc/mysql/conf.d/
# !includedir /etc/mysql/mariadb.conf.d/ # !includedir /etc/mysql/mariadb.conf.d/
# Ubuntu # Ubuntu
Ubuntu-22.04:
serverpkg: mariadb-server
service: mariadb
clientpkg: mariadb-client
devpkg: libmariadbclient-dev
config:
append: |
!includedir /etc/mysql/conf.d/
# !includedir /etc/mysql/mariadb.conf.d/
Ubuntu-20.04: Ubuntu-20.04:
serverpkg: mariadb-server serverpkg: mariadb-server
service: mariadb service: mariadb
@ -60,11 +42,8 @@ Ubuntu-16.04:
# devpkg: libmariadbclient-dev # devpkg: libmariadbclient-dev
# Redhat # Redhat
Red Hat Enterprise Linux Server-6:
pythonpkg: MySQL-python
Redhat-7: Redhat-7:
# https://mariadb.com/blog/rhel7-transition-mysql-mariadb-first-look # https://mariadb.com/blog/rhel7-transition-mysql-mariadb-first-look
pythonpkg: MySQL-python
serverpkg: mariadb-server serverpkg: mariadb-server
service: mariadb service: mariadb
clientpkg: mariadb clientpkg: mariadb
@ -74,17 +53,9 @@ Redhat-7:
mysqld_safe: mysqld_safe:
log_error: /var/log/mariadb/mysqld.log log_error: /var/log/mariadb/mysqld.log
pid_file: /var/run/mariadb/mysqld.pid pid_file: /var/run/mariadb/mysqld.pid
# CentOS # CentOS
CentOS-6:
pythonpkg: MySQL-python
CentOS Linux-7: CentOS Linux-7:
# https://mariadb.com/blog/rhel7-transition-mysql-mariadb-first-look # https://mariadb.com/blog/rhel7-transition-mysql-mariadb-first-look
{%- if 'pythonversion' in grains and grains.pythonversion[0]|int == 3 %}
pythonpkg: python36-PyMySQL # python36-mysql works too
{%- else %}
pythonpkg: MySQL-python
{%- endif %}
serverpkg: mariadb-server serverpkg: mariadb-server
service: mariadb service: mariadb
clientpkg: mariadb clientpkg: mariadb
@ -100,5 +71,6 @@ CentOS Linux-7:
log_error: /var/log/mariadb/mysqld.log log_error: /var/log/mariadb/mysqld.log
pid_file: /var/run/mariadb/mysqld.pid pid_file: /var/run/mariadb/mysqld.pid
CentOS Linux-8: # Suse
pythonpkg: python3-PyMySQL Leap-42:
pythonpkg: python-PyMySQL

View file

@ -1,15 +1,11 @@
{%- from tpldir ~ "/map.jinja" import mysql with context %}
{%- set mysql_root_user = salt['pillar.get']('mysql:server:root_user', 'root') %} {%- set mysql_root_user = salt['pillar.get']('mysql:server:root_user', 'root') %}
{%- set mysql_root_pass = salt['pillar.get']('mysql:server:root_password', salt['grains.get']('server_id')) %} {%- set mysql_root_pass = salt['pillar.get']('mysql:server:root_password', salt['grains.get']('server_id')) %}
{%- set mysql_host = salt['pillar.get']('mysql:server:host', 'localhost') %} {%- set mysql_host = salt['pillar.get']('mysql:server:host', 'localhost') %}
{%- set mysql_salt_user = salt['pillar.get']('mysql:salt_user:salt_user_name', mysql_root_user) %} {%- set mysql_salt_user = salt['pillar.get']('mysql:salt_user:salt_user_name', mysql_root_user) %}
{%- set mysql_salt_pass = salt['pillar.get']('mysql:salt_user:salt_user_password', mysql_root_pass) %} {%- set mysql_salt_pass = salt['pillar.get']('mysql:salt_user:salt_user_password', mysql_root_pass) %}
{%- set mysql_unix_socket = mysql.config.sections.mysqld.socket %}
include: include:
- .python - .python
- .server
mysql remove test database: mysql remove test database:
mysql_database.absent: mysql_database.absent:
@ -21,8 +17,3 @@ mysql remove test database:
- connection_pass: '{{ mysql_salt_pass }}' - connection_pass: '{{ mysql_salt_pass }}'
{%- endif %} {%- endif %}
- connection_charset: utf8 - connection_charset: utf8
{%- if mysql_unix_socket %}
- connection_unix_socket: '{{ mysql_unix_socket }}'
{%- endif %}
- require:
- service: mysqld-service-running

View file

@ -25,9 +25,9 @@ mysql_salt_user_with_salt_user:
- connection_user: '{{ mysql_salt_user }}' - connection_user: '{{ mysql_salt_user }}'
- connection_pass: '{{ mysql_salt_pass }}' - connection_pass: '{{ mysql_salt_pass }}'
- connection_charset: utf8 - connection_charset: utf8
- onlyif: # - onlyif:
- mysql --user {{ mysql_salt_user }} --password='{{ mysql_salt_pass|yaml_dquote }}' -h {{ mysql_host }} --execute="SELECT 1;" 2>&1 # - mysql --user {{ mysql_salt_user }} --password='{{ mysql_salt_pass|replace("'", "'\"'\"'") }}' -h {{ mysql_host }} --execute="SELECT 1;"
- VALUE=$(mysql --user {{ mysql_salt_user }} --password='{{ mysql_salt_pass|yaml_dquote }}' -ss -e "SELECT Grant_priv FROM mysql.user WHERE user = '{{ mysql_salt_user }}' AND host = '{{ host }}';" 2>/dev/null); if [ "$VALUE" = 'Y' ]; then /bin/true; else /bin/false; fi # - VALUE=$(mysql --user {{ mysql_salt_user }} --password='{{ mysql_salt_pass|replace("'", "'\"'\"'") }}' -ss -e "SELECT Grant_priv FROM mysql.user WHERE user = '{{ mysql_salt_user }}' AND host = '{{ host }}';"); if [ "$VALUE" = 'Y' ]; then /bin/true; else /bin/false; fi
{%- if os_family in ['RedHat', 'Suse'] %} {%- if os_family in ['RedHat', 'Suse'] %}
- require_in: - require_in:
- mysql_user: mysql_root_password - mysql_user: mysql_root_password
@ -47,8 +47,8 @@ mysql_salt_user_with_salt_user_grants:
- connection_pass: '{{ mysql_salt_pass }}' - connection_pass: '{{ mysql_salt_pass }}'
- connection_charset: utf8 - connection_charset: utf8
- onlyif: - onlyif:
- mysql --user {{ mysql_salt_user }} --password='{{ mysql_salt_pass|yaml_dquote }}' -h {{ mysql_host }} --execute="SELECT 1;" 2>/dev/null - mysql --user {{ mysql_salt_user }} --password='{{ mysql_salt_pass|replace("'", "'\"'\"'") }}' -h {{ mysql_host }} --execute="SELECT 1;"
- VALUE=$(mysql --user {{ mysql_salt_user }} --password='{{ mysql_salt_pass|yaml_dquote }}' -ss -e "SELECT Grant_priv FROM mysql.user WHERE user = '{{ mysql_salt_user }}' AND host = '{{ host }}';" 2>/dev/null); if [ "$VALUE" = 'Y' ]; then /bin/true; else /bin/false; fi - VALUE=$(mysql --user {{ mysql_salt_user }} --password='{{ mysql_salt_pass|replace("'", "'\"'\"'") }}' -ss -e "SELECT Grant_priv FROM mysql.user WHERE user = '{{ mysql_salt_user }}' AND host = '{{ host }}';"); if [ "$VALUE" = 'Y' ]; then /bin/true; else /bin/false; fi
- require: - require:
- mysql_user: mysql_salt_user_with_salt_user - mysql_user: mysql_salt_user_with_salt_user
{%- if os_family in ['RedHat', 'Suse'] %} {%- if os_family in ['RedHat', 'Suse'] %}
@ -67,8 +67,8 @@ mysql_salt_user_with_root_user:
- connection_pass: '{{ mysql_root_pass }}' - connection_pass: '{{ mysql_root_pass }}'
- connection_charset: utf8 - connection_charset: utf8
- onlyif: - onlyif:
- mysql --user {{ mysql_root_user }} --password='{{ mysql_root_pass|yaml_dquote }}' -h {{ mysql_host }} --execute="SELECT 1;" 2>/dev/null - mysql --user {{ mysql_root_user }} --password='{{ mysql_root_pass|replace("'", "'\"'\"'") }}' -h {{ mysql_host }} --execute="SELECT 1;"
- VALUE=$(mysql --user {{ mysql_root_user }} --password='{{ mysql_root_pass|yaml_dquote }}' -ss -e "SELECT Grant_priv FROM mysql.user WHERE user = '{{ mysql_salt_user }}' AND host = '{{ host }}';" 2>/dev/null); if [ "$VALUE" = 'N' -o -z "$VALUE" ]; then /bin/true; else /bin/false; fi - VALUE=$(mysql --user {{ mysql_root_user }} --password='{{ mysql_root_pass|replace("'", "'\"'\"'") }}' -ss -e "SELECT Grant_priv FROM mysql.user WHERE user = '{{ mysql_salt_user }}' AND host = '{{ host }}';"); if [ "$VALUE" = 'N' -o -z "$VALUE" ]; then /bin/true; else /bin/false; fi
{%- if os_family in ['RedHat', 'Suse'] %} {%- if os_family in ['RedHat', 'Suse'] %}
- require_in: - require_in:
- mysql_user: mysql_root_password - mysql_user: mysql_root_password
@ -88,8 +88,8 @@ mysql_salt_user_with_root_user_grants:
- connection_pass: '{{ mysql_root_pass }}' - connection_pass: '{{ mysql_root_pass }}'
- connection_charset: utf8 - connection_charset: utf8
- onlyif: - onlyif:
- mysql --user {{ mysql_root_user }} --password='{{ mysql_root_pass|yaml_dquote }}' -h {{ mysql_host }} --execute="SELECT 1;" 2>/dev/null - mysql --user {{ mysql_root_user }} --password='{{ mysql_root_pass|replace("'", "'\"'\"'") }}' -h {{ mysql_host }} --execute="SELECT 1;"
- VALUE=$(mysql --user {{ mysql_root_user }} --password='{{ mysql_root_pass|yaml_dquote }}' -ss -e "SELECT Grant_priv FROM mysql.user WHERE user = '{{ mysql_salt_user }}' AND host = '{{ host }}';" 2>/dev/null); if [ "$VALUE" = 'N' -o -z "$VALUE" ]; then /bin/true; else /bin/false; fi - VALUE=$(mysql --user {{ mysql_root_user }} --password='{{ mysql_root_pass|replace("'", "'\"'\"'") }}' -ss -e "SELECT Grant_priv FROM mysql.user WHERE user = '{{ mysql_salt_user }}' AND host = '{{ host }}';"); if [ "$VALUE" = 'N' -o -z "$VALUE" ]; then /bin/true; else /bin/false; fi
- require: - require:
- mysql_user: mysql_salt_user_with_root_user - mysql_user: mysql_salt_user_with_root_user
{%- if os_family in ['RedHat', 'Suse'] %} {%- if os_family in ['RedHat', 'Suse'] %}
@ -107,8 +107,8 @@ mysql_salt_user_with_passwordless_root_user:
- connection_user: '{{ mysql_root_user }}' - connection_user: '{{ mysql_root_user }}'
- connection_charset: utf8 - connection_charset: utf8
- onlyif: - onlyif:
- mysql --user {{ mysql_root_user }} -h {{ mysql_host }} --execute="SELECT 1;" 2>/dev/null - mysql --user {{ mysql_root_user }} -h {{ mysql_host }} --execute="SELECT 1;"
- VALUE=$(mysql --user {{ mysql_root_user }} -ss -e "SELECT Grant_priv FROM mysql.user WHERE user = '{{ mysql_salt_user }}' AND host = '{{ host }}';" 2>/dev/null); if [ "$VALUE" = 'N' -o -z "$VALUE" ]; then /bin/true; else /bin/false; fi - VALUE=$(mysql --user {{ mysql_root_user }} -ss -e "SELECT Grant_priv FROM mysql.user WHERE user = '{{ mysql_salt_user }}' AND host = '{{ host }}';"); if [ "$VALUE" = 'N' -o -z "$VALUE" ]; then /bin/true; else /bin/false; fi
{%- if os_family in ['RedHat', 'Suse'] %} {%- if os_family in ['RedHat', 'Suse'] %}
- require_in: - require_in:
- mysql_user: mysql_root_password - mysql_user: mysql_root_password
@ -127,8 +127,8 @@ mysql_salt_user_with_passwordless_root_user_grants:
- connection_user: '{{ mysql_root_user }}' - connection_user: '{{ mysql_root_user }}'
- connection_charset: utf8 - connection_charset: utf8
- onlyif: - onlyif:
- mysql --user {{ mysql_root_user }} -h {{ mysql_host }} --execute="SELECT 1;" 2>/dev/null - mysql --user {{ mysql_root_user }} -h {{ mysql_host }} --execute="SELECT 1;"
- VALUE=$(mysql --user {{ mysql_root_user }} -ss -e "SELECT Grant_priv FROM mysql.user WHERE user = '{{ mysql_salt_user }}' AND host = '{{ host }}';" 2>/dev/null); if [ "$VALUE" = 'N' -o -z "$VALUE" ]; then /bin/true; else /bin/false; fi - VALUE=$(mysql --user {{ mysql_root_user }} -ss -e "SELECT Grant_priv FROM mysql.user WHERE user = '{{ mysql_salt_user }}' AND host = '{{ host }}';"); if [ "$VALUE" = 'N' -o -z "$VALUE" ]; then /bin/true; else /bin/false; fi
- require: - require:
- mysql_user: mysql_salt_user_with_passwordless_root_user - mysql_user: mysql_salt_user_with_passwordless_root_user
{%- if os_family in ['RedHat', 'Suse'] %} {%- if os_family in ['RedHat', 'Suse'] %}

View file

@ -2,7 +2,7 @@ include:
- .config - .config
- .python - .python
{% from tpldir ~ "/map.jinja" import mysql with context %} {%- from tpldir ~ "/map.jinja" import mysql with context %}
{%- set os = salt['grains.get']('os', None) %} {%- set os = salt['grains.get']('os', None) %}
{%- set os_family = salt['grains.get']('os_family', None) %} {%- set os_family = salt['grains.get']('os_family', None) %}
@ -12,46 +12,9 @@ include:
{%- set mysql_salt_user = salt['pillar.get']('mysql:salt_user:salt_user_name', mysql_root_user) %} {%- set mysql_salt_user = salt['pillar.get']('mysql:salt_user:salt_user_name', mysql_root_user) %}
{%- set mysql_salt_password = salt['pillar.get']('mysql:salt_user:salt_user_password', mysql_root_password) %} {%- set mysql_salt_password = salt['pillar.get']('mysql:salt_user:salt_user_password', mysql_root_password) %}
{%- set mysql_datadir = salt['pillar.get']('mysql:server:mysqld:datadir', '/var/lib/mysql') %} {%- set mysql_datadir = salt['pillar.get']('mysql:server:mysqld:datadir', '/var/lib/mysql') %}
{%- set mysql_unix_socket = salt['pillar.get']('mysql:server:unix_socket', '') %}
{%- set lsb_distrib_codename = salt['grains.get']('lsb_distrib_codename', None) %}
{%- if mysql_root_password %} {%- if mysql_root_password %}
{%- if os_family == 'Debian' %} {%- if os_family == 'Debian' %}
{%- if 'debconf_root_password' in mysql %}
{%- set debconf_root_password = mysql.debconf_root_password %}
{%- set debconf_root_password_again = mysql.debconf_root_password_again %}
{%- elif mysql.serverpkg.startswith('percona-server-server') %}
{%- if mysql.serverpkg < 'percona-server-server-5.7' %}{# 5.5 and 5.6 uses the same name... #}
{%- set debconf_root_password = 'percona-server-server/root_password' %}
{%- set debconf_root_password_again = 'percona-server-server/root_password_again' %}
{%- elif '5.7' in mysql.serverpkg %}{# 5.7 changed option name... #}
{%- set debconf_root_password = 'percona-server-server-5.7/root-pass' %}
{%- set debconf_root_password_again = 'percona-server-server-5.7/re-root-pass' %}
{%- else %}{# attempt to support future version? #}
{%- set debconf_root_password = mysql.serverpkg + '/root-pass' %}
{%- set debconf_root_password_again = mysql.serverpkg + '/re-root-pass' %}
{%- endif %}
{%- else %}
{%- if salt['grains.get']('osmajorrelease')|int < 9 or not salt['grains.get']('os')|lower == 'debian' %}
{%- set debconf_root_password = 'mysql-server/root_password' %}
{%- set debconf_root_password_again = 'mysql-server/root_password_again' %}
{%- else %}
{%- set debconf_root_password = False %}
{%- endif %}
{%- endif %}
{% if mysql.serverpkg == 'mysql-community-server' %}
mysql-community-server_repo:
pkgrepo.managed:
- humanname: "Mysql official repo"
- name: deb http://repo.mysql.com/apt/ubuntu/ {{ lsb_distrib_codename }} mysql-8.0
- file: /etc/apt/sources.list.d/mysql.list
- refresh: True
- require_in:
- pkg: mysql-community-server
{% endif %}
mysql_debconf_utils: mysql_debconf_utils:
pkg.installed: pkg.installed:
- name: {{ mysql.debconf_utils }} - name: {{ mysql.debconf_utils }}
@ -66,35 +29,22 @@ mysql_debconf:
- require: - require:
- pkg: mysql_debconf_utils - pkg: mysql_debconf_utils
{%- if debconf_root_password %} {%- if 'osmajorrelease' in grains and salt['grains.get']('osmajorrelease')|int < 9 or not salt['grains.get']('os')|lower == 'debian' %}
{% if mysql.serverpkg == 'mysql-community-server' %}
mysql_password_debconf:
debconf.set:
- name: 'mysql-community-server'
- data:
'mysql-community-server/root-pass': {'type': 'password', 'value': '{{ mysql_root_password }}'}
'mysql-community-server/re-root-pass': {'type': 'password', 'value': '{{ mysql_root_password }}'}
'mysql-server/default-auth-override': {'type': 'string', 'value':'Use Legacy Authentication Method (Retain MySQL 5.x Compatibility)'}
- require_in:
- pkg: {{ mysql.serverpkg }}
- require:
- pkg: mysql_debconf_utils
{% else %}
mysql_password_debconf: mysql_password_debconf:
debconf.set: debconf.set:
- name: mysql-server - name: mysql-server
- data: - data:
{{ debconf_root_password }}: {'type': 'password', 'value': '{{ mysql_root_password }}'} 'mysql-server/root_password': {'type': 'password', 'value': '{{ mysql_root_password }}'}
{{ debconf_root_password_again }}: {'type': 'password', 'value': '{{ mysql_root_password }}'} 'mysql-server/root_password_again': {'type': 'password', 'value': '{{ mysql_root_password }}'}
- prereq: - require_in:
- pkg: {{ mysql.serverpkg }} - pkg: {{ mysql.serverpkg }}
- require: - require:
- pkg: mysql_debconf_utils - pkg: mysql_debconf_utils
{% endif %} {%- endif %}
{% endif %}
{%- elif os_family in ['RedHat', 'Suse', 'FreeBSD'] %} {%- elif os_family in ['RedHat', 'Suse', 'FreeBSD'] %}
mysql_root_password: mysql_root_password:
cmd.run: cmd.run:
- name: mysqladmin --host "{{ mysql_host }}" --user {{ mysql_root_user }} password '{{ mysql_root_password|replace("'", "'\"'\"'") }}' - name: mysqladmin --host "{{ mysql_host }}" --user {{ mysql_root_user }} password '{{ mysql_root_password|replace("'", "'\"'\"'") }}'
@ -102,7 +52,7 @@ mysql_root_password:
- require: - require:
- service: mysqld-service-running - service: mysqld-service-running
{%- for host in {'localhost': '', 'localhost.localdomain': '', salt['grains.get']('fqdn'): ''}.keys() %} {%- for host in {'localhost': '', 'localhost.localdomain': '', salt['grains.get']('fqdn'): ''}.keys() %}
mysql_delete_anonymous_user_{{ host }}: mysql_delete_anonymous_user_{{ host }}:
mysql_user: mysql_user:
- absent - absent
@ -110,35 +60,32 @@ mysql_delete_anonymous_user_{{ host }}:
- name: '' - name: ''
- connection_host: '{{ mysql_host }}' - connection_host: '{{ mysql_host }}'
- connection_user: '{{ mysql_salt_user }}' - connection_user: '{{ mysql_salt_user }}'
{%- if mysql_salt_password %} {%- if mysql_salt_password %}
- connection_pass: '{{ mysql_salt_password }}' - connection_pass: '{{ mysql_salt_password }}'
{%- endif %} {%- endif %}
{%- if mysql_unix_socket %}
- connection_unix_socket: '{{ mysql_unix_socket }}'
{%- endif %}
- connection_charset: utf8 - connection_charset: utf8
- require: - require:
- service: mysqld-service-running - service: mysqld-service-running
- pkg: mysql_python - pkg: mysql_python
{%- if (mysql_salt_user == mysql_root_user) and mysql_root_password %} {%- if (mysql_salt_user == mysql_root_user) and mysql_root_password %}
- cmd: mysql_root_password - cmd: mysql_root_password
{%- endif %} {%- endif %}
{%- if (mysql_salt_user != mysql_root_user) %} {%- if (mysql_salt_user != mysql_root_user) %}
- sls: mysql.salt-user - sls: mysql.salt-user
{%- endif %} {%- endif %}
{%- endfor %} {%- endfor %}
{%- endif %} {%- endif %}
{%- endif %} {%- endif %}
{%- if os_family == 'Arch' %} {%- if os_family == 'Arch' %}
# on arch linux: inital mysql datadirectory is not created # on arch linux: inital mysql datadirectory is not created
mysql_install_datadir: mysql_install_datadir:
cmd.run: cmd.run:
{%- if mysql.version is defined and mysql.version >= 5.7 %} {%- if mysql.version is defined and mysql.version >= 5.7 %}
- name: mysqld --initialize-insecure --user=mysql --basedir=/usr --datadir={{ mysql_datadir }} - name: mysqld --initialize-insecure --user=mysql --basedir=/usr --datadir={{ mysql_datadir }}
{%- else %} {%- else %}
- name: mysql_install_db --user=mysql --basedir=/usr --datadir={{ mysql_datadir }} - name: mysql_install_db --user=mysql --basedir=/usr --datadir={{ mysql_datadir }}
{%- endif %} {%- endif %}
- runas: root - runas: root
- creates: {{ mysql_datadir }}/mysql/user.frm - creates: {{ mysql_datadir }}/mysql/user.frm
- env: - env:
@ -163,8 +110,7 @@ mysqld-packages:
- file: mysql_config_directory - file: mysql_config_directory
{%- endif %} {%- endif %}
{%- if os_family in ['RedHat', 'Suse'] and mysql.version is defined {%- if os_family in ['RedHat', 'Suse'] and mysql.version is defined and mysql.version >= 5.7 and mysql.serverpkg.lower() != 'mariadb-server' %}
and mysql.version >= 5.7 and mysql.serverpkg.lower() != 'mariadb-server' %}
# Initialize mysql database with --initialize-insecure option before starting service so we don't get locked out. # Initialize mysql database with --initialize-insecure option before starting service so we don't get locked out.
mysql_initialize: mysql_initialize:
cmd.run: cmd.run:
@ -199,11 +145,11 @@ mysql_initialize:
{%- if os_family in ['FreeBSD'] and mysql.serverpkg.lower() != 'mariadb-server' %} {%- if os_family in ['FreeBSD'] and mysql.serverpkg.lower() != 'mariadb-server' %}
mysql_initialize: mysql_initialize:
file.directory: file.directory:
- name: /var/log/mysql - name: /var/log/mysql
- user: mysql - user: mysql
- group: mysql - group: mysql
- mode: '0750' - mode: '0750'
cmd.run: cmd.run:
- name: /usr/local/libexec/mysqld --initialize-insecure --user=mysql --basedir=/usr/local --datadir={{ mysql_datadir }} - name: /usr/local/libexec/mysqld --initialize-insecure --user=mysql --basedir=/usr/local --datadir={{ mysql_datadir }}
- runas: root - runas: root
@ -219,9 +165,7 @@ mysqld-service-running:
- enable: True - enable: True
- require: - require:
- pkg: {{ mysql.serverpkg }} - pkg: {{ mysql.serverpkg }}
{%- if (os_family in ['RedHat', 'Suse'] and mysql.version is defined {%- if (os_family in ['RedHat', 'Suse'] and mysql.version is defined and mysql.version >= 5.7 and mysql.serverpkg.lower() != 'mariadb-server') or (os_family in ['Gentoo', 'FreeBSD']) %}
and mysql.version >= 5.7 and mysql.serverpkg.lower() != 'mariadb-server')
or (os_family in ['Gentoo', 'FreeBSD']) %}
- cmd: mysql_initialize - cmd: mysql_initialize
{%- elif os_family in ['RedHat', 'Suse'] and mysql.serverpkg.lower() == 'mariadb-server' %} {%- elif os_family in ['RedHat', 'Suse'] and mysql.serverpkg.lower() == 'mariadb-server' %}
- file: {{ mysql_datadir }} - file: {{ mysql_datadir }}

View file

@ -4,7 +4,6 @@
{%- set mysql_host = salt['pillar.get']('mysql:server:host', 'localhost') %} {%- set mysql_host = salt['pillar.get']('mysql:server:host', 'localhost') %}
{%- set mysql_salt_user = salt['pillar.get']('mysql:salt_user:salt_user_name', mysql_root_user) %} {%- set mysql_salt_user = salt['pillar.get']('mysql:salt_user:salt_user_name', mysql_root_user) %}
{%- set mysql_salt_pass = salt['pillar.get']('mysql:salt_user:salt_user_password', mysql_root_pass) %} {%- set mysql_salt_pass = salt['pillar.get']('mysql:salt_user:salt_user_password', mysql_root_pass) %}
{%- set mysql_unix_socket = salt['pillar.get']('mysql:server:unix_socket', '') %}
{%- set user_states = [] %} {%- set user_states = [] %}
{%- set user_hosts = [] %} {%- set user_hosts = [] %}
@ -58,9 +57,6 @@ include:
- connection_user: '{{ mysql_salt_user }}' - connection_user: '{{ mysql_salt_user }}'
{%- if mysql_salt_pass %} {%- if mysql_salt_pass %}
- connection_pass: '{{ mysql_salt_pass }}' - connection_pass: '{{ mysql_salt_pass }}'
{%- endif %}
{%- if mysql_unix_socket %}
- connection_unix_socket: '{{ mysql_unix_socket }}'
{%- endif %} {%- endif %}
- connection_charset: utf8 - connection_charset: utf8
@ -94,9 +90,6 @@ include:
{%- if mysql_salt_pass %} {%- if mysql_salt_pass %}
- connection_pass: '{{ mysql_salt_pass }}' - connection_pass: '{{ mysql_salt_pass }}'
{%- endif %} {%- endif %}
{%- if mysql_unix_socket %}
- connection_unix_socket: '{{ mysql_unix_socket }}'
{%- endif %}
- connection_charset: utf8 - connection_charset: utf8
- require: - require:
- mysql_user: {{ state_id }} - mysql_user: {{ state_id }}
@ -135,9 +128,6 @@ include:
- connection_pass: '{{ mysql_salt_pass }}' - connection_pass: '{{ mysql_salt_pass }}'
{%- endif %} {%- endif %}
- connection_charset: utf8 - connection_charset: utf8
{%- if mysql_unix_socket %}
- connection_unix_socket: '{{ mysql_unix_socket }}'
{%- endif %}
- require: - require:
- mysql_user: {{ state_id }} - mysql_user: {{ state_id }}
{%- endfor %} {%- endfor %}

View file

@ -40,7 +40,6 @@ mysql:
- sys - sys
- information_schema - information_schema
- performance_schema - performance_schema
explicit_defaults_for_timestamp: 1 # strict ansi supports sane defaults
mysql: mysql:
# my.cnf param that not require value # my.cnf param that not require value
no-auto-rehash: noarg_present no-auto-rehash: noarg_present

View file

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

View file

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

View file

@ -1,15 +1,12 @@
# frozen_string_literal: true # frozen_string_literal: true
# Override by platform. # Override by OS
package_name = package_name = 'mariadb-server'
case system.platform[:finger] if (os[:name] == 'suse') || (os[:name] == 'opensuse')
when 'opensuse-tumbleweed', 'opensuse-15' package_name = 'mariadb'
'mariadb' elsif (os[:name] == 'debian') && os[:release].start_with?('8')
when 'debian-8', 'centos-8', 'ubuntu-22.04' package_name = 'mysql-server'
'mysql-server' end
else
'mariadb-server'
end
control 'mysql package' do control 'mysql package' do
title 'should be installed' title 'should be installed'

View file

@ -6,9 +6,6 @@ title: mysql formula
maintainer: SaltStack Formulas maintainer: SaltStack Formulas
license: Apache-2.0 license: Apache-2.0
summary: Verify that the mysql formula is setup and configured correctly summary: Verify that the mysql 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
@ -17,12 +14,5 @@ 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-name: mac_os_x
- platform: windows

View file

@ -1,22 +0,0 @@
# 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

@ -1,25 +0,0 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
name: share
title: InSpec shared resources
maintainer: SaltStack Formulas
license: Apache-2.0
summary: shared resources
supports:
- platform-name: debian
- platform-name: ubuntu
- platform-name: centos
- platform-name: fedora
- platform-name: opensuse
- platform-name: suse
- platform-name: freebsd
- platform-name: openbsd
- platform-name: amazon
- platform-name: oracle
- platform-name: arch
- platform-name: gentoo
- platform-name: almalinux
- platform-name: rocky
- platform-name: mac_os_x
- platform: windows

View file

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

View file

@ -30,10 +30,9 @@ mysql:
mysqld: mysqld:
# you can use either underscore or hyphen in param names # you can use either underscore or hyphen in param names
bind-address: 0.0.0.0 bind-address: 0.0.0.0
# log_bin: /var/log/mysql/mysql-bin.log log_bin: /var/log/mysql/mysql-bin.log
datadir: /var/lib/mysql datadir: /var/lib/mysql
# port: 3307 port: 3307
# plugin-load-add: auth_socket.so
binlog_do_db: foo binlog_do_db: foo
auto_increment_increment: 5 auto_increment_increment: 5
binlog-ignore-db: binlog-ignore-db:
@ -113,6 +112,8 @@ mysql:
- database: foo - database: foo
grants: ['select', 'insert', 'update'] grants: ['select', 'insert', 'update']
escape: true escape: true
- database: bar
grants: ['all privileges']
# bob: # bob:
# password_hash: '*6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4' # password_hash: '*6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4'
# host: '%' # Any host # host: '%' # Any host
@ -135,7 +136,7 @@ mysql:
# grants: ['select', 'insert', 'update', 'delete'] # grants: ['select', 'insert', 'update', 'delete']
nopassuser: nopassuser:
password: ~ password: ~
# host: localhost # requires unix_socket plugin host: localhost
databases: [] databases: []
application: application:
password: 'somepass' password: 'somepass'