Compare commits

..

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

44 changed files with 685 additions and 2678 deletions

View file

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

14
.gitignore vendored
View file

@ -91,9 +91,6 @@ celerybeat-schedule
venv/
ENV/
# visual studio
.vs/
# Spyder project settings
.spyderproject
.spyproject
@ -108,7 +105,7 @@ ENV/
.mypy_cache/
# Bundler
.bundle/
Gemfile.lock
# copied `.md` files used for conversion to `.rst` using `m2r`
docs/*.md
@ -123,12 +120,3 @@ docs/*.md
Dockerfile.*_*
ignore/
tmp/
# `salt-formula` -- Vagrant Specific files
.vagrant
top.sls
!test/salt/pillar/top.sls
# `suricata-formula` -- Platform binaries
*.rpm
*.deb

View file

@ -1,212 +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/bind-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/bind-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-debian-9-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,69 +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/shellcheck-py/shellcheck-py
rev: v0.8.0.4
hooks:
- id: shellcheck
name: Check shell scripts with shellcheck
files: ^.*\.(sh|bash|ksh)$
types: []
- repo: https://github.com/adrienverge/yamllint
rev: v1.26.3
hooks:
- id: yamllint
name: Check YAML syntax with yamllint
args: [--strict, '.']
always_run: true
pass_filenames: false
- repo: https://github.com/warpnet/salt-lint
rev: v0.8.0
hooks:
- id: salt-lint
name: Check Salt files using salt-lint
files: ^.*\.(sls|jinja|j2|tmpl|tst)$
- repo: https://github.com/myint/rstcheck
rev: 3f929574
hooks:
- id: rstcheck
name: Check reST files using rstcheck
exclude: 'docs/CHANGELOG.rst'
- repo: https://github.com/saltstack-formulas/mirrors-rst-lint
rev: v1.3.2
hooks:
- id: rst-lint
name: Check reST files using rst-lint
exclude: |
(?x)^(
docs/CHANGELOG.rst|
docs/TOFS_pattern.rst|
)$
additional_dependencies: [pygments==2.9.0]

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

@ -1,23 +0,0 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
# General overrides used across formulas in the org
Layout/LineLength:
# Increase from default of `80`
# Based on https://github.com/PyCQA/flake8-bugbear#opinionated-warnings (`B950`)
Max: 88
Metrics/BlockLength:
IgnoredMethods:
- control
- describe
# Increase from default of `25`
Max: 30
Security/YAMLLoad:
Exclude:
- test/integration/**/_mapdata.rb
# General settings across all cops in this formula
AllCops:
NewCops: enable
# Any offenses that should be fixed, e.g. collected via. `rubocop --auto-gen-config`

View file

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

View file

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

View file

@ -2,53 +2,23 @@
# vim: ft=yaml
---
# Extend the `default` configuration provided by `yamllint`
extends: 'default'
extends: default
# Files to ignore completely
# 1. All YAML files under directory `.bundle/`, introduced if gems are installed locally
# 2. All YAML files under directory `.cache/`, introduced during the CI run
# 3. All YAML files under directory `.git/`
# 4. All YAML files under directory `node_modules/`, introduced during the CI run
# 5. Any SLS files under directory `test/`, which are actually state files
# 6. Any YAML files under directory `.kitchen/`, introduced during local testing
# 7. `kitchen.vagrant.yml`, which contains Embedded Ruby (ERB) template syntax
# 1. All YAML files under directory `node_modules/`, introduced during the Travis run
ignore: |
.bundle/
.cache/
.git/
node_modules/
test/**/states/**/*.sls
.kitchen/
kitchen.vagrant.yml
yaml-files:
# Default settings
- '*.yaml'
- '*.yml'
- .salt-lint
- .yamllint
# SaltStack Formulas additional settings
- '*.example'
- test/**/*.sls
rules:
comments-indentation:
ignore: |
pillar.example
pillar-with-views.example
empty-values:
forbid-in-block-mappings: true
forbid-in-flow-mappings: true
key-duplicates:
ignore: |
pillar.example
line-length:
ignore: |
pillar.example
pillar-with-views.example
# Increase from default of `80`
# Based on https://github.com/PyCQA/flake8-bugbear#opinionated-warnings (`B950`)
max: 88
octal-values:
forbid-implicit-octal: true
forbid-explicit-octal: true

View file

@ -4,57 +4,55 @@ This list is sorted by the number of commits per contributor in _descending_ ord
Avatar|Contributor|Contributions
:-:|---|:-:
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/10231489?v=4' width='36' height='36' alt='@myii'>|[@myii](https://github.com/myii)|107
<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)|34
<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)|21
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/18069703?v=4' width='36' height='36' alt='@crux-capacitor'>|[@crux-capacitor](https://github.com/crux-capacitor)|14
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/3374962?v=4' width='36' height='36' alt='@nmadhok'>|[@nmadhok](https://github.com/nmadhok)|11
<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)|11
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2995329?v=4' width='36' height='36' alt='@t0fik'>|[@t0fik](https://github.com/t0fik)|10
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1800660?v=4' width='36' height='36' alt='@aboe76'>|[@aboe76](https://github.com/aboe76)|10
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/8395913?v=4' width='36' height='36' alt='@aanriot'>|[@aanriot](https://github.com/aanriot)|9
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/5682028?v=4' width='36' height='36' alt='@nadvornik'>|[@nadvornik](https://github.com/nadvornik)|9
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2094680?v=4' width='36' height='36' alt='@daschatten'>|[@daschatten](https://github.com/daschatten)|9
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/4323424?v=4' width='36' height='36' alt='@joe-bowman'>|[@joe-bowman](https://github.com/joe-bowman)|7
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/637990?v=4' width='36' height='36' alt='@bmwiedemann'>|[@bmwiedemann](https://github.com/bmwiedemann)|6
<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)|6
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/6322354?v=4' width='36' height='36' alt='@ppieprzycki'>|[@ppieprzycki](https://github.com/ppieprzycki)|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)|5
<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://avatars.githubusercontent.com/u/287147?v=4' width='36' height='36' alt='@techhat'>|[@techhat](https://github.com/techhat)|4
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/6639666?v=4' width='36' height='36' alt='@ukretschmer'>|[@ukretschmer](https://github.com/ukretschmer)|4
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/117961?v=4' width='36' height='36' alt='@babilen'>|[@babilen](https://github.com/babilen)|4
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/18299?v=4' width='36' height='36' alt='@davidkarlsen'>|[@davidkarlsen](https://github.com/davidkarlsen)|4
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/811611?v=4' width='36' height='36' alt='@cosu'>|[@cosu](https://github.com/cosu)|3
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/4195158?v=4' width='36' height='36' alt='@dafyddj'>|[@dafyddj](https://github.com/dafyddj)|3
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/718525?v=4' width='36' height='36' alt='@garethgreenaway'>|[@garethgreenaway](https://github.com/garethgreenaway)|3
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/4156131?v=4' width='36' height='36' alt='@skylerberg'>|[@skylerberg](https://github.com/skylerberg)|3
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1806188?v=4' width='36' height='36' alt='@tedski'>|[@tedski](https://github.com/tedski)|3
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/6215293?v=4' width='36' height='36' alt='@0xf10e'>|[@0xf10e](https://github.com/0xf10e)|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://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://avatars.githubusercontent.com/u/91293?v=4' width='36' height='36' alt='@whiteinge'>|[@whiteinge](https://github.com/whiteinge)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1622925?v=4' width='36' height='36' alt='@alexeiswirth'>|[@alexeiswirth](https://github.com/alexeiswirth)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/3122114?v=4' width='36' height='36' alt='@kiwiz'>|[@kiwiz](https://github.com/kiwiz)|2
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/976976?v=4' width='36' height='36' alt='@Aloz1'>|[@Aloz1](https://github.com/Aloz1)|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://avatars.githubusercontent.com/u/5575236?v=4' width='36' height='36' alt='@BrianSidebotham'>|[@BrianSidebotham](https://github.com/BrianSidebotham)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/776662?v=4' width='36' height='36' alt='@carlosperello'>|[@carlosperello](https://github.com/carlosperello)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1233212?v=4' width='36' height='36' alt='@baby-gnu'>|[@baby-gnu](https://github.com/baby-gnu)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/306240?v=4' width='36' height='36' alt='@UtahDave'>|[@UtahDave](https://github.com/UtahDave)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/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/7613500?v=4' width='36' height='36' alt='@levlozhkin'>|[@levlozhkin](https://github.com/levlozhkin)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/6086064?v=4' width='36' height='36' alt='@mgomersbach'>|[@mgomersbach](https://github.com/mgomersbach)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/7139195?v=4' width='36' height='36' alt='@xenophonf'>|[@xenophonf](https://github.com/xenophonf)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2321403?v=4' width='36' height='36' alt='@nickbooties'>|[@nickbooties](https://github.com/nickbooties)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/949989?v=4' width='36' height='36' alt='@attiasr'>|[@attiasr](https://github.com/attiasr)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/434444?v=4' width='36' height='36' alt='@tiefpunkt'>|[@tiefpunkt](https://github.com/tiefpunkt)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/13481669?v=4' width='36' height='36' alt='@vmagistro'>|[@vmagistro](https://github.com/vmagistro)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/753483?v=4' width='36' height='36' alt='@AdrienR'>|[@AdrienR](https://github.com/AdrienR)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/10585477?v=4' width='36' height='36' alt='@blacksmith77'>|[@blacksmith77](https://github.com/blacksmith77)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2061751?v=4' width='36' height='36' alt='@matthew-parlette'>|[@matthew-parlette](https://github.com/matthew-parlette)|1
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/10833722?v=4' width='36' height='36' alt='@sylvainfaivre'>|[@sylvainfaivre](https://github.com/sylvainfaivre)|1
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/242396?v=4' width='36' height='36' alt='@javierbertoli'>|[@javierbertoli](https://github.com/javierbertoli)|32
<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)|21
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/18069703?v=4' width='36' height='36' alt='@crux-capacitor'>|[@crux-capacitor](https://github.com/crux-capacitor)|14
<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)|12
<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)|11
<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)|11
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/2995329?v=4' width='36' height='36' alt='@t0fik'>|[@t0fik](https://github.com/t0fik)|10
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/8395913?v=4' width='36' height='36' alt='@aanriot'>|[@aanriot](https://github.com/aanriot)|9
<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)|9
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/5682028?v=4' width='36' height='36' alt='@nadvornik'>|[@nadvornik](https://github.com/nadvornik)|9
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/2094680?v=4' width='36' height='36' alt='@daschatten'>|[@daschatten](https://github.com/daschatten)|9
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/4323424?v=4' width='36' height='36' alt='@joe-bowman'>|[@joe-bowman](https://github.com/joe-bowman)|7
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/637990?v=4' width='36' height='36' alt='@bmwiedemann'>|[@bmwiedemann](https://github.com/bmwiedemann)|6
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/6322354?v=4' width='36' height='36' alt='@ppieprzycki'>|[@ppieprzycki](https://github.com/ppieprzycki)|5
<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)|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://avatars3.githubusercontent.com/u/52996?v=4' width='36' height='36' alt='@daks'>|[@daks](https://github.com/daks)|5
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/287147?v=4' width='36' height='36' alt='@techhat'>|[@techhat](https://github.com/techhat)|4
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/10901150?v=4' width='36' height='36' alt='@ryanwalder'>|[@ryanwalder](https://github.com/ryanwalder)|4
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/6639666?v=4' width='36' height='36' alt='@ukretschmer'>|[@ukretschmer](https://github.com/ukretschmer)|4
<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)|4
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/18299?v=4' width='36' height='36' alt='@davidkarlsen'>|[@davidkarlsen](https://github.com/davidkarlsen)|4
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/811611?v=4' width='36' height='36' alt='@cosu'>|[@cosu](https://github.com/cosu)|3
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/718525?v=4' width='36' height='36' alt='@garethgreenaway'>|[@garethgreenaway](https://github.com/garethgreenaway)|3
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/4156131?v=4' width='36' height='36' alt='@skylerberg'>|[@skylerberg](https://github.com/skylerberg)|3
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/6215293?v=4' width='36' height='36' alt='@0xf10e'>|[@0xf10e](https://github.com/0xf10e)|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://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://avatars2.githubusercontent.com/u/91293?v=4' width='36' height='36' alt='@whiteinge'>|[@whiteinge](https://github.com/whiteinge)|2
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/1806188?v=4' width='36' height='36' alt='@tedski'>|[@tedski](https://github.com/tedski)|2
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/1622925?v=4' width='36' height='36' alt='@alexeiswirth'>|[@alexeiswirth](https://github.com/alexeiswirth)|2
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/3122114?v=4' width='36' height='36' alt='@kiwiz'>|[@kiwiz](https://github.com/kiwiz)|2
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/976976?v=4' width='36' height='36' alt='@Aloz1'>|[@Aloz1](https://github.com/Aloz1)|1
<img class='float-left rounded-1' src='https://avatars2.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://avatars3.githubusercontent.com/u/5575236?v=4' width='36' height='36' alt='@BrianSidebotham'>|[@BrianSidebotham](https://github.com/BrianSidebotham)|1
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/776662?v=4' width='36' height='36' alt='@carlosperello'>|[@carlosperello](https://github.com/carlosperello)|1
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/306240?v=4' width='36' height='36' alt='@UtahDave'>|[@UtahDave](https://github.com/UtahDave)|1
<img class='float-left rounded-1' src='https://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://avatars0.githubusercontent.com/u/7613500?v=4' width='36' height='36' alt='@levlozhkin'>|[@levlozhkin](https://github.com/levlozhkin)|1
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/7139195?v=4' width='36' height='36' alt='@xenophonf'>|[@xenophonf](https://github.com/xenophonf)|1
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/2004149?v=4' width='36' height='36' alt='@barroco'>|[@barroco](https://github.com/barroco)|1
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/2321403?v=4' width='36' height='36' alt='@nickbooties'>|[@nickbooties](https://github.com/nickbooties)|1
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/949989?v=4' width='36' height='36' alt='@attiasr'>|[@attiasr](https://github.com/attiasr)|1
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/434444?v=4' width='36' height='36' alt='@tiefpunkt'>|[@tiefpunkt](https://github.com/tiefpunkt)|1
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/13481669?v=4' width='36' height='36' alt='@vmagistro'>|[@vmagistro](https://github.com/vmagistro)|1
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/753483?v=4' width='36' height='36' alt='@AdrienR'>|[@AdrienR](https://github.com/AdrienR)|1
<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/10585477?v=4' width='36' height='36' alt='@blacksmith77'>|[@blacksmith77](https://github.com/blacksmith77)|1
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/2061751?v=4' width='36' height='36' alt='@matthew-parlette'>|[@matthew-parlette](https://github.com/matthew-parlette)|1
---
Auto-generated by a [forked version](https://github.com/myii/maintainer) of [gaocegege/maintainer](https://github.com/gaocegege/maintainer) on 2021-09-13.
Auto-generated by a [forked version](https://github.com/myii/maintainer) of [gaocegege/maintainer](https://github.com/gaocegege/maintainer) on 2019-08-17.

View file

@ -1,169 +1,5 @@
# Changelog
# [0.20.0](https://github.com/saltstack-formulas/bind-formula/compare/v0.19.2...v0.20.0) (2021-09-13)
### Continuous Integration
* **3003.1:** update inc. AlmaLinux, Rocky & `rst-lint` [skip ci] ([8082c7e](https://github.com/saltstack-formulas/bind-formula/commit/8082c7e6d48ccf4e5e66ee821fad4f57183d7524))
* **commitlint:** ensure `upstream/master` uses main repo URL [skip ci] ([19d42a9](https://github.com/saltstack-formulas/bind-formula/commit/19d42a9776198e802215bbb38716b2295f6d18b3))
* **gemfile.lock:** add to repo with updated `Gemfile` [skip ci] ([c15db2b](https://github.com/saltstack-formulas/bind-formula/commit/c15db2bd0cbb5b303b98a9ed7102b2b26aff9057))
* **gemfile+lock:** use `ssf` customised `inspec` repo [skip ci] ([d46d646](https://github.com/saltstack-formulas/bind-formula/commit/d46d646fdc9a944a4dcecff245088b5b268da0ec))
* **gitlab-ci:** use GitLab CI as Travis CI replacement ([c642234](https://github.com/saltstack-formulas/bind-formula/commit/c64223415906f733d7db1405468a43050d9b15ad))
* **kitchen:** move `provisioner` block & update `run_command` [skip ci] ([0128f48](https://github.com/saltstack-formulas/bind-formula/commit/0128f48b0b468541db8359c98bcbcf9f52481ea2))
* **kitchen+ci:** update with latest `3003.2` pre-salted images [skip ci] ([8c1a04c](https://github.com/saltstack-formulas/bind-formula/commit/8c1a04cfbf2ee683981cacf03e89d5e0b6926d4a))
* add Debian 11 Bullseye & update `yamllint` configuration [skip ci] ([aa69b55](https://github.com/saltstack-formulas/bind-formula/commit/aa69b550eb6a6ec16e53bf7c28312cec1b6f28f8))
* **gemfile+lock:** use `ssf` customised `kitchen-docker` repo [skip ci] ([0cdaad3](https://github.com/saltstack-formulas/bind-formula/commit/0cdaad33b9b8ca1fea0ab8210182d6ccbe5a6c75))
* **kitchen:** use `saltimages` Docker Hub where available [skip ci] ([1b4cfcd](https://github.com/saltstack-formulas/bind-formula/commit/1b4cfcd1e6d19312f3e0802bc5c567ad6ea15013))
* **kitchen+ci:** use latest pre-salted images (after CVE) [skip ci] ([9de203a](https://github.com/saltstack-formulas/bind-formula/commit/9de203a5e947b282c2c99e5c66161f553b8379f6))
* **kitchen+gitlab:** adjust matrix to add `3003` [skip ci] ([9833cb6](https://github.com/saltstack-formulas/bind-formula/commit/9833cb616c026abce0b0eb11ea5620a060b0af32))
* **kitchen+gitlab:** remove Ubuntu 16.04 & Fedora 32 (EOL) [skip ci] ([a3556b4](https://github.com/saltstack-formulas/bind-formula/commit/a3556b4cc4931a0062c89019bb22a11885328c57))
* add `arch-master` to matrix and update `.travis.yml` [skip ci] ([73ee1c9](https://github.com/saltstack-formulas/bind-formula/commit/73ee1c9b9f7987c41d7f427e0a7decd8c42eaab8))
* **gitlab-ci:** add `rubocop` linter (with `allow_failure`) [skip ci] ([db90981](https://github.com/saltstack-formulas/bind-formula/commit/db90981eed9fcc4511268c2cf7dd3e0be4241216))
* **kitchen+gitlab-ci:** use latest pre-salted images [skip ci] ([df1f583](https://github.com/saltstack-formulas/bind-formula/commit/df1f58377c0497b7a5ef973df4596e4deb201a4a))
* **kitchen+travis:** remove `master-py2-arch-base-latest` [skip ci] ([f1b306d](https://github.com/saltstack-formulas/bind-formula/commit/f1b306dbef9e4f6a83a789851d1230639226ec1c))
* **pre-commit:** add to formula [skip ci] ([1b24859](https://github.com/saltstack-formulas/bind-formula/commit/1b248596e594fcfd6e0efbe08f73971fe141d879))
* **pre-commit:** enable/disable `rstcheck` as relevant [skip ci] ([ffc60d2](https://github.com/saltstack-formulas/bind-formula/commit/ffc60d2e1f5ff7b34fecb443a1f8203cdca4b988))
* **pre-commit:** finalise `rstcheck` configuration [skip ci] ([800a5e1](https://github.com/saltstack-formulas/bind-formula/commit/800a5e10db8576b5d058a63391e51c2bf1ae11c8))
* **pre-commit:** update hook for `rubocop` [skip ci] ([182622d](https://github.com/saltstack-formulas/bind-formula/commit/182622d9e811f2bcdb1019da38c8863a66307c4a))
* **travis:** add notifications => zulip [skip ci] ([51f0a8e](https://github.com/saltstack-formulas/bind-formula/commit/51f0a8e06e144054ecd5b76f8512dd080768e7d7))
* **workflows/commitlint:** add to repo [skip ci] ([b202791](https://github.com/saltstack-formulas/bind-formula/commit/b202791a7cc78370a0a610193abf39cd544e67cd))
### Documentation
* **readme:** fix headings [skip ci] ([292b023](https://github.com/saltstack-formulas/bind-formula/commit/292b0232c1c544c4fc7b3a2bad07bdc026b0a1f0))
### Features
* **config.sls:** allow to not manage zone file ([2d06954](https://github.com/saltstack-formulas/bind-formula/commit/2d069544f6e5d8cbf5a6bee23d0e9618e09cd025))
### Tests
* standardise use of `share` suite & `_mapdata` state [skip ci] ([3cb26c0](https://github.com/saltstack-formulas/bind-formula/commit/3cb26c0a71cb99b88ef1ce00747c4fe57d4a322f))
## [0.19.2](https://github.com/saltstack-formulas/bind-formula/compare/v0.19.1...v0.19.2) (2020-03-23)
### Bug Fixes
* **debian:** align Debian log directory with apparmor profile ([b5efc0b](https://github.com/saltstack-formulas/bind-formula/commit/b5efc0b9bdc24bad145c2e511a09dd976ef0a3ed))
### Continuous Integration
* **kitchen:** avoid using bootstrap for `master` instances [skip ci] ([292e495](https://github.com/saltstack-formulas/bind-formula/commit/292e495d0149599b53b588f9914f18366deac20f))
## [0.19.1](https://github.com/saltstack-formulas/bind-formula/compare/v0.19.0...v0.19.1) (2020-01-27)
### Bug Fixes
* **default.sls:** fix subnet declaration ([c814779](https://github.com/saltstack-formulas/bind-formula/commit/c8147797747f4c9b8d07d6310df750521f01ac82)), closes [#144](https://github.com/saltstack-formulas/bind-formula/issues/144)
* **rubocop:** add fixes using `rubocop -a --safe` [skip ci] ([9d2966f](https://github.com/saltstack-formulas/bind-formula/commit/9d2966fd3226828614a9b551202fa076f048ce49))
### Reverts
* **config_spec.rb:** do partial revert of `rubocop -a --safe` ([75810c0](https://github.com/saltstack-formulas/bind-formula/commit/75810c07a71aa4b4ba74ed3c3facb1c5ee0ea6f8))
# [0.19.0](https://github.com/saltstack-formulas/bind-formula/compare/v0.18.4...v0.19.0) (2019-12-21)
### Bug Fixes
* **release.config.js:** use full commit hash in commit link [skip ci] ([adcdbb1](https://github.com/saltstack-formulas/bind-formula/commit/adcdbb12b83c5f2b2eeb1dd7197783107d9f3ae1))
### Continuous Integration
* **gemfile:** restrict `train` gem version until upstream fix [skip ci] ([b7b0d65](https://github.com/saltstack-formulas/bind-formula/commit/b7b0d655e1166a54ad5a182cf33f40df12afb2bc))
* **kitchen:** use `debian-10-master-py3` instead of `develop` [skip ci] ([c91fe2a](https://github.com/saltstack-formulas/bind-formula/commit/c91fe2a96b2c4f3d91d4d1a4996e37358cbe04ea))
* **kitchen:** use `develop` image until `master` is ready (`amazonlinux`) [skip ci] ([5afc27e](https://github.com/saltstack-formulas/bind-formula/commit/5afc27ec26fe676d99113958834398ab70f3a0dd))
* **kitchen+travis:** upgrade matrix after `2019.2.2` release [skip ci] ([6ba1dd5](https://github.com/saltstack-formulas/bind-formula/commit/6ba1dd5262b567aad0b558fdcf81c566e2232c0f))
* **travis:** apply changes from build config validation [skip ci] ([1838174](https://github.com/saltstack-formulas/bind-formula/commit/18381748c74eb54b6b7630e48ea1a9291e419889))
* **travis:** opt-in to `dpl v2` to complete build config validation [skip ci] ([577ad6d](https://github.com/saltstack-formulas/bind-formula/commit/577ad6db1ec2f5236dcf147011c67dfc567f448c))
* **travis:** quote pathspecs used with `git ls-files` [skip ci] ([88f9ff1](https://github.com/saltstack-formulas/bind-formula/commit/88f9ff128f789b6ad9c5292681f1f8f70f725e69))
* **travis:** restrict `semantic-release` version until upstream fix ([5989bb9](https://github.com/saltstack-formulas/bind-formula/commit/5989bb9a0b9112aa1fdc21ed3ec273a6a6976af9))
* **travis:** run `shellcheck` during lint job [skip ci] ([37c65de](https://github.com/saltstack-formulas/bind-formula/commit/37c65de5484c94ae031734663ac03d50c386066f))
* **travis:** update `salt-lint` config for `v0.0.10` [skip ci] ([4c6a882](https://github.com/saltstack-formulas/bind-formula/commit/4c6a88243edb1fef2e5fba0ff16fd90e8514b88e))
* **travis:** use `major.minor` for `semantic-release` version ([66c4d9f](https://github.com/saltstack-formulas/bind-formula/commit/66c4d9fe7d3c56f214f6951efcdd9cb5faa88911)), closes [/github.com/saltstack-formulas/bind-formula/issues/143#issuecomment-568197176](https://github.com//github.com/saltstack-formulas/bind-formula/issues/143/issues/issuecomment-568197176)
* **travis:** use build config validation (beta) [skip ci] ([681c345](https://github.com/saltstack-formulas/bind-formula/commit/681c345e8b78e2d3115adde39cb2202c28dc230d))
* merge travis matrix, add `salt-lint` & `rubocop` to `lint` job ([7b23dbb](https://github.com/saltstack-formulas/bind-formula/commit/7b23dbbae026b0a8cc779f5ce84de92325454e8b))
### Documentation
* **contributing:** remove to use org-level file instead [skip ci] ([9c11845](https://github.com/saltstack-formulas/bind-formula/commit/9c11845a0997f7bdd6fbcae97e23262de78132a4))
* **readme:** update link to `CONTRIBUTING` [skip ci] ([ab6ea39](https://github.com/saltstack-formulas/bind-formula/commit/ab6ea391d885fc2246db94219b59662c250c0854))
### Features
* **map.jinja:** add Gentoo support ([7415a9b](https://github.com/saltstack-formulas/bind-formula/commit/7415a9b0ce788d978c583499452fdcfc22328c42))
### Performance Improvements
* **travis:** improve `salt-lint` invocation [skip ci] ([b63490c](https://github.com/saltstack-formulas/bind-formula/commit/b63490c23ddb9ccbdcfe02e85444f178441d02ad))
## [0.18.4](https://github.com/saltstack-formulas/bind-formula/compare/v0.18.3...v0.18.4) (2019-10-10)
### Bug Fixes
* **config.sls:** fix `salt-lint` errors ([](https://github.com/saltstack-formulas/bind-formula/commit/920615a))
* **named.conf.local.jinja:** fix `salt-lint` errors ([](https://github.com/saltstack-formulas/bind-formula/commit/67736a2))
* **named.conf.logging.jinja:** fix `salt-lint` errors ([](https://github.com/saltstack-formulas/bind-formula/commit/f220886))
### Continuous Integration
* merge travis matrix, add `salt-lint` & `rubocop` to `lint` job ([](https://github.com/saltstack-formulas/bind-formula/commit/5883c09))
## [0.18.3](https://github.com/saltstack-formulas/bind-formula/compare/v0.18.2...v0.18.3) (2019-10-07)
### Bug Fixes
* **pillar.example:** fix `yamllint` error ([eb29e00](https://github.com/saltstack-formulas/bind-formula/commit/eb29e00)), closes [/travis-ci.org/myii/bind-formula/builds/594704904#L211-L213](https://github.com//travis-ci.org/myii/bind-formula/builds/594704904/issues/L211-L213)
### Continuous Integration
* use `dist: bionic` & apply `opensuse-leap-15` SCP error workaround ([90abafa](https://github.com/saltstack-formulas/bind-formula/commit/90abafa))
* **kitchen:** change `log_level` to `debug` instead of `info` ([e0be98a](https://github.com/saltstack-formulas/bind-formula/commit/e0be98a))
* **kitchen:** install required packages to bootstrapped `opensuse` [skip ci] ([a5ad4c6](https://github.com/saltstack-formulas/bind-formula/commit/a5ad4c6))
* **kitchen:** use bootstrapped `opensuse` images until `2019.2.2` [skip ci] ([0d02016](https://github.com/saltstack-formulas/bind-formula/commit/0d02016))
* **platform:** add `arch-base-latest` (commented out for now) [skip ci] ([c091c74](https://github.com/saltstack-formulas/bind-formula/commit/c091c74))
* **yamllint:** add rule `empty-values` & use new `yaml-files` setting ([9163726](https://github.com/saltstack-formulas/bind-formula/commit/9163726))
## [0.18.2](https://github.com/saltstack-formulas/bind-formula/compare/v0.18.1...v0.18.2) (2019-09-05)
### Continuous Integration
* **kitchen+travis:** replace EOL pre-salted images ([3a4d4e8](https://github.com/saltstack-formulas/bind-formula/commit/3a4d4e8))
### Tests
* **inspec:** improve to work on `amazon` as well ([59684c6](https://github.com/saltstack-formulas/bind-formula/commit/59684c6))
## [0.18.1](https://github.com/saltstack-formulas/bind-formula/compare/v0.18.0...v0.18.1) (2019-08-18)
### Bug Fixes
* **tests:** move to controls sub-directory ([74bbc5b](https://github.com/saltstack-formulas/bind-formula/commit/74bbc5b))
### Continuous Integration
* **travis:** re-enable `fedora` ([4a6ac4e](https://github.com/saltstack-formulas/bind-formula/commit/4a6ac4e))
# [0.18.0](https://github.com/saltstack-formulas/bind-formula/compare/v0.17.0...v0.18.0) (2019-08-17)

View file

@ -1,50 +0,0 @@
# https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners
# SECTION: Owner(s) for everything in the repo, unless a later match takes precedence
# FILE PATTERN OWNER(S)
* @javierbertoli
# SECTION: Owner(s) for specific directories
# FILE PATTERN OWNER(S)
# SECTION: Owner(s) for files/directories related to `semantic-release`
# FILE PATTERN OWNER(S)
/.github/workflows/ @saltstack-formulas/ssf
/bin/install-hooks @saltstack-formulas/ssf
/bin/kitchen @saltstack-formulas/ssf
/docs/AUTHORS.rst @saltstack-formulas/ssf
/docs/CHANGELOG.rst @saltstack-formulas/ssf
/docs/TOFS_pattern.rst @saltstack-formulas/ssf
/*/_mapdata/ @saltstack-formulas/ssf
/*/libsaltcli.jinja @saltstack-formulas/ssf
/*/libtofs.jinja @saltstack-formulas/ssf
/test/integration/**/_mapdata.rb @saltstack-formulas/ssf
/test/integration/**/libraries/system.rb @saltstack-formulas/ssf
/test/integration/**/inspec.yml @saltstack-formulas/ssf
/test/integration/**/README.md @saltstack-formulas/ssf
/test/salt/pillar/top.sls @saltstack-formulas/ssf
/.gitignore @saltstack-formulas/ssf
/.cirrus.yml @saltstack-formulas/ssf
/.gitlab-ci.yml @saltstack-formulas/ssf
/.pre-commit-config.yaml @saltstack-formulas/ssf
/.rstcheck.cfg @saltstack-formulas/ssf
/.rubocop.yml @saltstack-formulas/ssf
/.salt-lint @saltstack-formulas/ssf
/.travis.yml @saltstack-formulas/ssf
/.yamllint @saltstack-formulas/ssf
/AUTHORS.md @saltstack-formulas/ssf
/CHANGELOG.md @saltstack-formulas/ssf
/CODEOWNERS @saltstack-formulas/ssf
/commitlint.config.js @saltstack-formulas/ssf
/FORMULA @saltstack-formulas/ssf
/Gemfile @saltstack-formulas/ssf
/Gemfile.lock @saltstack-formulas/ssf
/kitchen.yml @saltstack-formulas/ssf
/kitchen.vagrant.yml @saltstack-formulas/ssf
/kitchen.windows.yml @saltstack-formulas/ssf
/pre-commit_semantic-release.sh @saltstack-formulas/ssf
/release-rules.js @saltstack-formulas/ssf
/release.config.js @saltstack-formulas/ssf
# SECTION: Owner(s) for specific files
# FILE PATTERN OWNER(S)

View file

@ -1,7 +1,7 @@
name: bind
os: Debian, Ubuntu, Raspbian, RedHat, Fedora, CentOS, Suse, openSUSE
os_family: Debian, RedHat, Suse
version: 0.20.0
version: 0.18.0
release: 1
minimum_version: 2016.11
summary: Bind formula

21
Gemfile
View file

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

View file

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

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

@ -8,25 +8,22 @@
# this file is here to facilitate running it.
#
require 'pathname'
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile',
Pathname.new(__FILE__).realpath)
require "pathname"
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
Pathname.new(__FILE__).realpath)
bundle_binstub = File.expand_path('bundle', __dir__)
bundle_binstub = File.expand_path("../bundle", __FILE__)
if File.file?(bundle_binstub)
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
load(bundle_binstub)
else
abort(
'Your `bin/bundle` was not generated by Bundler, ' \
'so this binstub cannot run. Replace `bin/bundle` by running ' \
'`bundle binstubs bundler --force`, then run this command again.'
)
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
end
end
require 'rubygems'
require 'bundler/setup'
require "rubygems"
require "bundler/setup"
load Gem.bin_path('test-kitchen', 'kitchen')
load Gem.bin_path("test-kitchen", "kitchen")

View file

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

@ -100,7 +100,7 @@ bind_local_config:
- watch_in:
- service: bind
{% if grains['os_family'] not in ['Arch', 'FreeBSD', 'Gentoo'] %}
{% if grains['os_family'] not in ['Arch', 'FreeBSD'] %}
bind_default_config:
file.managed:
- name: {{ map.default_config }}
@ -214,22 +214,17 @@ bind_rndc_client_config:
{%- endif %}
{%- set zone_records = salt['pillar.get']('bind:available_zones:' + zone + ':records', {}) %}
{%- if salt['pillar.get']('bind:available_zones:' + zone + ':generate_reverse') %}
{%- do generate_reverse(
zone_records,
salt['pillar.get']('bind:available_zones:' + zone + ':generate_reverse:net'),
salt['pillar.get']('bind:available_zones:' + zone + ':generate_reverse:for_zones'),
salt['pillar.get']('bind:available_zones', {})
) %}
{%- do generate_reverse(zone_records, salt['pillar.get']('bind:available_zones:' + zone + ':generate_reverse:net'), salt['pillar.get']('bind:available_zones:' + zone + ':generate_reverse:for_zones'), salt['pillar.get']('bind:available_zones', {})) %}
{%- endif %}
{# If we define RRs in pillar, we use the internal template to generate the zone file
otherwise, we fallback to the old behaviour and use the declared file
#}
{%- set zone_source = 'salt://bind/files/zone.jinja' if zone_records != {} else 'salt://' ~ map.zones_source_dir ~ '/' ~ file %}
{%- set serial_auto = salt['pillar.get']('bind:available_zones:' + zone + ':soa:serial', '') == 'auto' %}
{% if file and zone_data['type'] == 'master' and (zone_data['managed'] is not defined or zone_data['managed']) -%}
zones{{ dash_view }}-{{ zone }}{{ '.include' if serial_auto else '' }}:
{% if file and zone_data['type'] == 'master' -%}
zones{{ dash_view }}-{{ zone }}{{ '.include' if serial_auto else ''}}:
file.managed:
- name: {{ zones_directory }}/{{ file }}{{ '.include' if serial_auto else '' }}
- name: {{ zones_directory }}/{{ file }}{{ '.include' if serial_auto else ''}}
- source: {{ zone_source }}
- template: jinja
{% if zone_records != {} %}
@ -297,7 +292,7 @@ zsk-{{ zone }}:
- cwd: {{ key_directory }}
- name: dnssec-keygen -a {{ key_algorithm }} -b {{ key_size }} -n ZONE {{ zone }}
- runas: {{ map.user }}
- unless: "grep {{ key_flags.zsk }} {{ key_directory }}/K{{ zone }}.+{{ key_algorithm_field }}+*.key"
- unless: "grep {{ key_flags.zsk }} {{ key_directory }}/K{{zone}}.+{{ key_algorithm_field }}+*.key"
- require:
- file: bind_key_directory
@ -306,7 +301,7 @@ ksk-{{ zone }}:
- cwd: {{ key_directory }}
- name: dnssec-keygen -f KSK -a {{ key_algorithm }} -b {{ key_size }} -n ZONE {{ zone }}
- runas: {{ map.user }}
- unless: "grep {{ key_flags.ksk }} {{ key_directory }}/K{{ zone }}.+{{ key_algorithm_field }}+*.key"
- unless: "grep {{ key_flags.ksk }} {{ key_directory }}/K{{zone}}.+{{ key_algorithm_field }}+*.key"
- require:
- file: bind_key_directory
{% endif %}

View file

@ -1,111 +0,0 @@
/*
* Refer to the named.conf(5) and named(8) man pages, and the documentation
* in /usr/share/doc/bind-* for more details.
* Online versions of the documentation can be found here:
* https://kb.isc.org/article/AA-01031
*
* If you are going to set up an authoritative server, make sure you
* understand the hairy details of how DNS works. Even with simple mistakes,
* you can break connectivity for affected parties, or cause huge amounts of
* useless Internet traffic.
*/
options {
directory "{{ map.get('named_directory') }}";
pid-file "/run/named/named.pid";
bindkeys-file "/etc/bind/bind.keys";
{%- if salt['pillar.get']('bind:config:ipv6', False) %}
listen-on-v6 { {{ salt['pillar.get']('bind:config:ipv6_listen', 'any') }}; };
{%- endif %}
listen-on { 127.0.0.1; };
{%- for statement, value in salt['pillar.get']('bind:config:options', {})|dictsort -%}
{%- if value is iterable and value is not string %}
{{ statement }} {
{%- for item in value %}
{{ item }};
{%- endfor %}
};
{%- else %}
{{ statement }} {{ value }};
{%- endif %}
{%- endfor %}
};
{% for incl in salt['pillar.get']('bind:config:includes', []) %}
include "{{ incl }}";
{% endfor %}
{%- if salt['pillar.get']('bind:controls', False) %}
controls {
{%- for name, control in salt['pillar.get']('bind:controls')|dictsort if control.get('enabled', True) %}
inet {{ control.get('bind', {}).get('address', '127.0.0.1') }} port {{ control.get('bind', {}).get('port', 953) }}
{%- if control.get('allow') %}
allow {
{%- for allow in control.allow %}
{{ allow }};
{%- endfor %}
}
{%- endif %}
{%- if control.get('keys') %}
keys {
{%- for key in control.get('keys') %}
{{ key }};
{%- endfor %}
}
{%- endif %};
{%- endfor %}
};
{%- endif %}
zone "." in {
type hint;
file "/var/bind/named.cache";
};
zone "localhost" IN {
type master;
file "pri/localhost.zone";
notify no;
};
/*
* Briefly, a zone which has been declared delegation-only will be effectively
* limited to containing NS RRs for subdomains, but no actual data beyond its
* own apex (for example, its SOA RR and apex NS RRset). This can be used to
* filter out "wildcard" or "synthesized" data from NAT boxes or from
* authoritative name servers whose undelegated (in-zone) data is of no
* interest.
* See http://www.isc.org/software/bind/delegation-only for more info
*/
//zone "COM" { type delegation-only; };
//zone "NET" { type delegation-only; };
//zone "YOUR-DOMAIN.TLD" {
// type master;
// file "/var/bind/pri/YOUR-DOMAIN.TLD.zone";
// allow-query { any; };
// allow-transfer { xfer; };
//};
//zone "YOUR-SLAVE.TLD" {
// type slave;
// file "/var/bind/sec/YOUR-SLAVE.TLD.zone";
// masters { <MASTER>; };
/* Anybody is allowed to query but transfer should be controlled by the master. */
// allow-query { any; };
// allow-transfer { none; };
/* The master should be the only one who notifies the slaves, shouldn't it? */
// allow-notify { <MASTER>; };
// notify no;
//};
include "{{ map.local_config }}";

View file

@ -46,7 +46,7 @@ zone "{{ key }}" {
inline-signing yes;
{%- endif %}
{%- if args['allow-update'] is defined %}
allow-update { {{ args['allow-update'] }}; };
allow-update { {{args['allow-update']}}; };
{%- endif %}
{%- if args.update_policy is defined %}
update-policy {

View file

@ -3,12 +3,9 @@
logging {
{% for channel in salt['pillar.get']('bind:config:use_extensive_logging:channel') %}
channel {{ channel }} {
channel {{channel}} {
{%- if salt['pillar.get']('bind:config:use_extensive_logging:channel:'+channel+':file', False) %}
{%- set channel_file = salt['pillar.get']('bind:config:use_extensive_logging:channel:'+channel+':file') %}
{%- set channel_versions = salt['pillar.get']('bind:config:use_extensive_logging:channel:'+channel+':versions', '3') %}
{%- set channel_size = salt['pillar.get']('bind:config:use_extensive_logging:channel:'+channel+':size', '20m') %}
file "{{ map.log_dir }}/{{ channel_file }}" versions {{ channel_versions }} size {{ channel_size }};
file "{{ map.log_dir }}/{{salt['pillar.get']('bind:config:use_extensive_logging:channel:'+channel+':file')}}" versions {{salt['pillar.get']('bind:config:use_extensive_logging:channel:'+channel+':versions', '3')}} size {{salt['pillar.get']('bind:config:use_extensive_logging:channel:'+channel+':size', '20m')}};
{%- endif %}
{%- if salt['pillar.get']('bind:config:use_extensive_logging:channel:'+channel+':print-time') %}
print-time yes;
@ -20,16 +17,16 @@ logging {
print-severity yes;
{%- endif %}
{%- if salt['pillar.get']('bind:config:use_extensive_logging:channel:'+channel+':severity') %}
severity {{ salt['pillar.get']('bind:config:use_extensive_logging:channel:'+channel+':severity') }};
severity {{salt['pillar.get']('bind:config:use_extensive_logging:channel:'+channel+':severity')}};
{%- endif %}
{%- if salt['pillar.get']('bind:config:use_extensive_logging:channel:'+channel+':syslog') %}
syslog {{ salt['pillar.get']('bind:config:use_extensive_logging:channel:'+channel+':syslog') }};
syslog {{salt['pillar.get']('bind:config:use_extensive_logging:channel:'+channel+':syslog')}};
{%- endif %}
};
{% endfor %}
{%- for category in salt['pillar.get']('bind:config:use_extensive_logging:category') %}
category {{ category }} { {{ salt['pillar.get']('bind:config:use_extensive_logging:category:'+category, []) | join('; ') }}; };
category {{category}} { {{ salt['pillar.get']('bind:config:use_extensive_logging:category:'+category, []) | join('; ') }}; };
{%- endfor %}

View file

@ -15,7 +15,7 @@
'named_directory': '/var/cache/bind',
'zones_directory': '/var/cache/bind/zones',
'chroot_dir': '',
'log_dir': '/var/log/named',
'log_dir': '/var/log/bind9',
'log_mode': '644',
'user': 'bind',
'group': 'bind',
@ -95,26 +95,6 @@
'key_algorithm_field': '008',
'key_size': '4096',
},
'Gentoo': {
'pkgs': ['net-dns/bind', 'net-dns/bind-tools', 'net-dns/dnssec-tools'],
'service': 'named',
'config_source_dir': 'bind/files/gentoo',
'zones_source_dir': 'zones',
'config': '/etc/bind/named.conf',
'local_config': '/etc/bind/named.conf.local',
'named_directory': '/var/bind',
'zones_directory': '/var/bind/pri',
'chroot_dir': '',
'log_dir': '/var/log/named',
'log_mode': '660',
'user': 'root',
'group': 'named',
'mode': '640',
'key_directory': '/var/bind/dyn',
'key_algorithm': 'RSASHA256',
'key_algorithm_field': '008',
'key_size': '4096',
},
'Suse': {
'pkgs': ['bind'],
'service': 'named',

View file

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

View file

@ -13,158 +13,152 @@ This list is sorted by the number of commits per contributor in *descending* ord
* - Avatar
- Contributor
- Contributions
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/10231489?v=4' width='36' height='36' alt='@myii'>`
- `@myii <https://github.com/myii>`_
- 107
* - :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://avatars2.githubusercontent.com/u/242396?v=4' width='36' height='36' alt='@javierbertoli'>`
- `@javierbertoli <https://github.com/javierbertoli>`_
- 34
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1396878?v=4' width='36' height='36' alt='@gravyboat'>`
- 32
* - :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>`_
- 21
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/18069703?v=4' width='36' height='36' alt='@crux-capacitor'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/18069703?v=4' width='36' height='36' alt='@crux-capacitor'>`
- `@crux-capacitor <https://github.com/crux-capacitor>`_
- 14
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/3374962?v=4' width='36' height='36' alt='@nmadhok'>`
* - :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>`_
- 12
* - :raw-html-m2r:`<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>`_
- 11
* - :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://avatars0.githubusercontent.com/u/1920805?v=4' width='36' height='36' alt='@alxwr'>`
- `@alxwr <https://github.com/alxwr>`_
- 11
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2995329?v=4' width='36' height='36' alt='@t0fik'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/2995329?v=4' width='36' height='36' alt='@t0fik'>`
- `@t0fik <https://github.com/t0fik>`_
- 10
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1800660?v=4' width='36' height='36' alt='@aboe76'>`
- `@aboe76 <https://github.com/aboe76>`_
- 10
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/8395913?v=4' width='36' height='36' alt='@aanriot'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/8395913?v=4' width='36' height='36' alt='@aanriot'>`
- `@aanriot <https://github.com/aanriot>`_
- 9
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/5682028?v=4' width='36' height='36' alt='@nadvornik'>`
* - :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>`_
- 9
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/5682028?v=4' width='36' height='36' alt='@nadvornik'>`
- `@nadvornik <https://github.com/nadvornik>`_
- 9
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2094680?v=4' width='36' height='36' alt='@daschatten'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/2094680?v=4' width='36' height='36' alt='@daschatten'>`
- `@daschatten <https://github.com/daschatten>`_
- 9
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/4323424?v=4' width='36' height='36' alt='@joe-bowman'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/4323424?v=4' width='36' height='36' alt='@joe-bowman'>`
- `@joe-bowman <https://github.com/joe-bowman>`_
- 7
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/637990?v=4' width='36' height='36' alt='@bmwiedemann'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/637990?v=4' width='36' height='36' alt='@bmwiedemann'>`
- `@bmwiedemann <https://github.com/bmwiedemann>`_
- 6
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/52996?v=4' width='36' height='36' alt='@daks'>`
- `@daks <https://github.com/daks>`_
- 6
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/6322354?v=4' width='36' height='36' alt='@ppieprzycki'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/6322354?v=4' width='36' height='36' alt='@ppieprzycki'>`
- `@ppieprzycki <https://github.com/ppieprzycki>`_
- 5
* - :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>`_
- 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>`_
- 5
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/287147?v=4' width='36' height='36' alt='@techhat'>`
* - :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>`_
- 5
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/287147?v=4' width='36' height='36' alt='@techhat'>`
- `@techhat <https://github.com/techhat>`_
- 4
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/6639666?v=4' width='36' height='36' alt='@ukretschmer'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/10901150?v=4' width='36' height='36' alt='@ryanwalder'>`
- `@ryanwalder <https://github.com/ryanwalder>`_
- 4
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/6639666?v=4' width='36' height='36' alt='@ukretschmer'>`
- `@ukretschmer <https://github.com/ukretschmer>`_
- 4
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/117961?v=4' width='36' height='36' alt='@babilen'>`
- `@babilen <https://github.com/babilen>`_
* - :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>`_
- 4
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/18299?v=4' width='36' height='36' alt='@davidkarlsen'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/18299?v=4' width='36' height='36' alt='@davidkarlsen'>`
- `@davidkarlsen <https://github.com/davidkarlsen>`_
- 4
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/811611?v=4' width='36' height='36' alt='@cosu'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/811611?v=4' width='36' height='36' alt='@cosu'>`
- `@cosu <https://github.com/cosu>`_
- 3
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/4195158?v=4' width='36' height='36' alt='@dafyddj'>`
- `@dafyddj <https://github.com/dafyddj>`_
- 3
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/718525?v=4' width='36' height='36' alt='@garethgreenaway'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/718525?v=4' width='36' height='36' alt='@garethgreenaway'>`
- `@garethgreenaway <https://github.com/garethgreenaway>`_
- 3
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/4156131?v=4' width='36' height='36' alt='@skylerberg'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/4156131?v=4' width='36' height='36' alt='@skylerberg'>`
- `@skylerberg <https://github.com/skylerberg>`_
- 3
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1806188?v=4' width='36' height='36' alt='@tedski'>`
- `@tedski <https://github.com/tedski>`_
- 3
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/6215293?v=4' width='36' height='36' alt='@0xf10e'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/6215293?v=4' width='36' height='36' alt='@0xf10e'>`
- `@0xf10e <https://github.com/0xf10e>`_
- 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>`_
- 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>`_
- 2
* - :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>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1622925?v=4' width='36' height='36' alt='@alexeiswirth'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/1806188?v=4' width='36' height='36' alt='@tedski'>`
- `@tedski <https://github.com/tedski>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/1622925?v=4' width='36' height='36' alt='@alexeiswirth'>`
- `@alexeiswirth <https://github.com/alexeiswirth>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/3122114?v=4' width='36' height='36' alt='@kiwiz'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/3122114?v=4' width='36' height='36' alt='@kiwiz'>`
- `@kiwiz <https://github.com/kiwiz>`_
- 2
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/976976?v=4' width='36' height='36' alt='@Aloz1'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/976976?v=4' width='36' height='36' alt='@Aloz1'>`
- `@Aloz1 <https://github.com/Aloz1>`_
- 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://avatars2.githubusercontent.com/u/1079875?v=4' width='36' height='36' alt='@bogdanr'>`
- `@bogdanr <https://github.com/bogdanr>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/5575236?v=4' width='36' height='36' alt='@BrianSidebotham'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/5575236?v=4' width='36' height='36' alt='@BrianSidebotham'>`
- `@BrianSidebotham <https://github.com/BrianSidebotham>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/776662?v=4' width='36' height='36' alt='@carlosperello'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/776662?v=4' width='36' height='36' alt='@carlosperello'>`
- `@carlosperello <https://github.com/carlosperello>`_
- 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'>`
- `@baby-gnu <https://github.com/baby-gnu>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/306240?v=4' width='36' height='36' alt='@UtahDave'>`
* - :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>`_
- 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://avatars0.githubusercontent.com/u/94157?v=4' width='36' height='36' alt='@imran1008'>`
- `@imran1008 <https://github.com/imran1008>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/7613500?v=4' width='36' height='36' alt='@levlozhkin'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/7613500?v=4' width='36' height='36' alt='@levlozhkin'>`
- `@levlozhkin <https://github.com/levlozhkin>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/6086064?v=4' width='36' height='36' alt='@mgomersbach'>`
- `@mgomersbach <https://github.com/mgomersbach>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/7139195?v=4' width='36' height='36' alt='@xenophonf'>`
* - :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>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2321403?v=4' width='36' height='36' alt='@nickbooties'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/2004149?v=4' width='36' height='36' alt='@barroco'>`
- `@barroco <https://github.com/barroco>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/2321403?v=4' width='36' height='36' alt='@nickbooties'>`
- `@nickbooties <https://github.com/nickbooties>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/949989?v=4' width='36' height='36' alt='@attiasr'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/949989?v=4' width='36' height='36' alt='@attiasr'>`
- `@attiasr <https://github.com/attiasr>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/434444?v=4' width='36' height='36' alt='@tiefpunkt'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/434444?v=4' width='36' height='36' alt='@tiefpunkt'>`
- `@tiefpunkt <https://github.com/tiefpunkt>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/13481669?v=4' width='36' height='36' alt='@vmagistro'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/13481669?v=4' width='36' height='36' alt='@vmagistro'>`
- `@vmagistro <https://github.com/vmagistro>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/753483?v=4' width='36' height='36' alt='@AdrienR'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/753483?v=4' width='36' height='36' alt='@AdrienR'>`
- `@AdrienR <https://github.com/AdrienR>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/10585477?v=4' width='36' height='36' alt='@blacksmith77'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/10585477?v=4' width='36' height='36' alt='@blacksmith77'>`
- `@blacksmith77 <https://github.com/blacksmith77>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/2061751?v=4' width='36' height='36' alt='@matthew-parlette'>`
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/2061751?v=4' width='36' height='36' alt='@matthew-parlette'>`
- `@matthew-parlette <https://github.com/matthew-parlette>`_
- 1
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/10833722?v=4' width='36' height='36' alt='@sylvainfaivre'>`
- `@sylvainfaivre <https://github.com/sylvainfaivre>`_
- 1
----
Auto-generated by a `forked version <https://github.com/myii/maintainer>`_ of `gaocegege/maintainer <https://github.com/gaocegege/maintainer>`_ on 2021-09-13.
Auto-generated by a `forked version <https://github.com/myii/maintainer>`_ of `gaocegege/maintainer <https://github.com/gaocegege/maintainer>`_ on 2019-08-17.

View file

@ -2,199 +2,6 @@
Changelog
=========
`0.20.0 <https://github.com/saltstack-formulas/bind-formula/compare/v0.19.2...v0.20.0>`_ (2021-09-13)
---------------------------------------------------------------------------------------------------------
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* **3003.1:** update inc. AlmaLinux, Rocky & ``rst-lint`` [skip ci] (\ `8082c7e <https://github.com/saltstack-formulas/bind-formula/commit/8082c7e6d48ccf4e5e66ee821fad4f57183d7524>`_\ )
* **commitlint:** ensure ``upstream/master`` uses main repo URL [skip ci] (\ `19d42a9 <https://github.com/saltstack-formulas/bind-formula/commit/19d42a9776198e802215bbb38716b2295f6d18b3>`_\ )
* **gemfile.lock:** add to repo with updated ``Gemfile`` [skip ci] (\ `c15db2b <https://github.com/saltstack-formulas/bind-formula/commit/c15db2bd0cbb5b303b98a9ed7102b2b26aff9057>`_\ )
* **gemfile+lock:** use ``ssf`` customised ``inspec`` repo [skip ci] (\ `d46d646 <https://github.com/saltstack-formulas/bind-formula/commit/d46d646fdc9a944a4dcecff245088b5b268da0ec>`_\ )
* **gitlab-ci:** use GitLab CI as Travis CI replacement (\ `c642234 <https://github.com/saltstack-formulas/bind-formula/commit/c64223415906f733d7db1405468a43050d9b15ad>`_\ )
* **kitchen:** move ``provisioner`` block & update ``run_command`` [skip ci] (\ `0128f48 <https://github.com/saltstack-formulas/bind-formula/commit/0128f48b0b468541db8359c98bcbcf9f52481ea2>`_\ )
* **kitchen+ci:** update with latest ``3003.2`` pre-salted images [skip ci] (\ `8c1a04c <https://github.com/saltstack-formulas/bind-formula/commit/8c1a04cfbf2ee683981cacf03e89d5e0b6926d4a>`_\ )
* add Debian 11 Bullseye & update ``yamllint`` configuration [skip ci] (\ `aa69b55 <https://github.com/saltstack-formulas/bind-formula/commit/aa69b550eb6a6ec16e53bf7c28312cec1b6f28f8>`_\ )
* **gemfile+lock:** use ``ssf`` customised ``kitchen-docker`` repo [skip ci] (\ `0cdaad3 <https://github.com/saltstack-formulas/bind-formula/commit/0cdaad33b9b8ca1fea0ab8210182d6ccbe5a6c75>`_\ )
* **kitchen:** use ``saltimages`` Docker Hub where available [skip ci] (\ `1b4cfcd <https://github.com/saltstack-formulas/bind-formula/commit/1b4cfcd1e6d19312f3e0802bc5c567ad6ea15013>`_\ )
* **kitchen+ci:** use latest pre-salted images (after CVE) [skip ci] (\ `9de203a <https://github.com/saltstack-formulas/bind-formula/commit/9de203a5e947b282c2c99e5c66161f553b8379f6>`_\ )
* **kitchen+gitlab:** adjust matrix to add ``3003`` [skip ci] (\ `9833cb6 <https://github.com/saltstack-formulas/bind-formula/commit/9833cb616c026abce0b0eb11ea5620a060b0af32>`_\ )
* **kitchen+gitlab:** remove Ubuntu 16.04 & Fedora 32 (EOL) [skip ci] (\ `a3556b4 <https://github.com/saltstack-formulas/bind-formula/commit/a3556b4cc4931a0062c89019bb22a11885328c57>`_\ )
* add ``arch-master`` to matrix and update ``.travis.yml`` [skip ci] (\ `73ee1c9 <https://github.com/saltstack-formulas/bind-formula/commit/73ee1c9b9f7987c41d7f427e0a7decd8c42eaab8>`_\ )
* **gitlab-ci:** add ``rubocop`` linter (with ``allow_failure``\ ) [skip ci] (\ `db90981 <https://github.com/saltstack-formulas/bind-formula/commit/db90981eed9fcc4511268c2cf7dd3e0be4241216>`_\ )
* **kitchen+gitlab-ci:** use latest pre-salted images [skip ci] (\ `df1f583 <https://github.com/saltstack-formulas/bind-formula/commit/df1f58377c0497b7a5ef973df4596e4deb201a4a>`_\ )
* **kitchen+travis:** remove ``master-py2-arch-base-latest`` [skip ci] (\ `f1b306d <https://github.com/saltstack-formulas/bind-formula/commit/f1b306dbef9e4f6a83a789851d1230639226ec1c>`_\ )
* **pre-commit:** add to formula [skip ci] (\ `1b24859 <https://github.com/saltstack-formulas/bind-formula/commit/1b248596e594fcfd6e0efbe08f73971fe141d879>`_\ )
* **pre-commit:** enable/disable ``rstcheck`` as relevant [skip ci] (\ `ffc60d2 <https://github.com/saltstack-formulas/bind-formula/commit/ffc60d2e1f5ff7b34fecb443a1f8203cdca4b988>`_\ )
* **pre-commit:** finalise ``rstcheck`` configuration [skip ci] (\ `800a5e1 <https://github.com/saltstack-formulas/bind-formula/commit/800a5e10db8576b5d058a63391e51c2bf1ae11c8>`_\ )
* **pre-commit:** update hook for ``rubocop`` [skip ci] (\ `182622d <https://github.com/saltstack-formulas/bind-formula/commit/182622d9e811f2bcdb1019da38c8863a66307c4a>`_\ )
* **travis:** add notifications => zulip [skip ci] (\ `51f0a8e <https://github.com/saltstack-formulas/bind-formula/commit/51f0a8e06e144054ecd5b76f8512dd080768e7d7>`_\ )
* **workflows/commitlint:** add to repo [skip ci] (\ `b202791 <https://github.com/saltstack-formulas/bind-formula/commit/b202791a7cc78370a0a610193abf39cd544e67cd>`_\ )
Documentation
^^^^^^^^^^^^^
* **readme:** fix headings [skip ci] (\ `292b023 <https://github.com/saltstack-formulas/bind-formula/commit/292b0232c1c544c4fc7b3a2bad07bdc026b0a1f0>`_\ )
Features
^^^^^^^^
* **config.sls:** allow to not manage zone file (\ `2d06954 <https://github.com/saltstack-formulas/bind-formula/commit/2d069544f6e5d8cbf5a6bee23d0e9618e09cd025>`_\ )
Tests
^^^^^
* standardise use of ``share`` suite & ``_mapdata`` state [skip ci] (\ `3cb26c0 <https://github.com/saltstack-formulas/bind-formula/commit/3cb26c0a71cb99b88ef1ce00747c4fe57d4a322f>`_\ )
`0.19.2 <https://github.com/saltstack-formulas/bind-formula/compare/v0.19.1...v0.19.2>`_ (2020-03-23)
---------------------------------------------------------------------------------------------------------
Bug Fixes
^^^^^^^^^
* **debian:** align Debian log directory with apparmor profile (\ `b5efc0b <https://github.com/saltstack-formulas/bind-formula/commit/b5efc0b9bdc24bad145c2e511a09dd976ef0a3ed>`_\ )
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* **kitchen:** avoid using bootstrap for ``master`` instances [skip ci] (\ `292e495 <https://github.com/saltstack-formulas/bind-formula/commit/292e495d0149599b53b588f9914f18366deac20f>`_\ )
`0.19.1 <https://github.com/saltstack-formulas/bind-formula/compare/v0.19.0...v0.19.1>`_ (2020-01-27)
---------------------------------------------------------------------------------------------------------
Bug Fixes
^^^^^^^^^
* **default.sls:** fix subnet declaration (\ `c814779 <https://github.com/saltstack-formulas/bind-formula/commit/c8147797747f4c9b8d07d6310df750521f01ac82>`_\ ), closes `#144 <https://github.com/saltstack-formulas/bind-formula/issues/144>`_
* **rubocop:** add fixes using ``rubocop -a --safe`` [skip ci] (\ `9d2966f <https://github.com/saltstack-formulas/bind-formula/commit/9d2966fd3226828614a9b551202fa076f048ce49>`_\ )
Reverts
^^^^^^^
* **config_spec.rb:** do partial revert of ``rubocop -a --safe`` (\ `75810c0 <https://github.com/saltstack-formulas/bind-formula/commit/75810c07a71aa4b4ba74ed3c3facb1c5ee0ea6f8>`_\ )
`0.19.0 <https://github.com/saltstack-formulas/bind-formula/compare/v0.18.4...v0.19.0>`_ (2019-12-21)
---------------------------------------------------------------------------------------------------------
Bug Fixes
^^^^^^^^^
* **release.config.js:** use full commit hash in commit link [skip ci] (\ `adcdbb1 <https://github.com/saltstack-formulas/bind-formula/commit/adcdbb12b83c5f2b2eeb1dd7197783107d9f3ae1>`_\ )
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* **gemfile:** restrict ``train`` gem version until upstream fix [skip ci] (\ `b7b0d65 <https://github.com/saltstack-formulas/bind-formula/commit/b7b0d655e1166a54ad5a182cf33f40df12afb2bc>`_\ )
* **kitchen:** use ``debian-10-master-py3`` instead of ``develop`` [skip ci] (\ `c91fe2a <https://github.com/saltstack-formulas/bind-formula/commit/c91fe2a96b2c4f3d91d4d1a4996e37358cbe04ea>`_\ )
* **kitchen:** use ``develop`` image until ``master`` is ready (\ ``amazonlinux``\ ) [skip ci] (\ `5afc27e <https://github.com/saltstack-formulas/bind-formula/commit/5afc27ec26fe676d99113958834398ab70f3a0dd>`_\ )
* **kitchen+travis:** upgrade matrix after ``2019.2.2`` release [skip ci] (\ `6ba1dd5 <https://github.com/saltstack-formulas/bind-formula/commit/6ba1dd5262b567aad0b558fdcf81c566e2232c0f>`_\ )
* **travis:** apply changes from build config validation [skip ci] (\ `1838174 <https://github.com/saltstack-formulas/bind-formula/commit/18381748c74eb54b6b7630e48ea1a9291e419889>`_\ )
* **travis:** opt-in to ``dpl v2`` to complete build config validation [skip ci] (\ `577ad6d <https://github.com/saltstack-formulas/bind-formula/commit/577ad6db1ec2f5236dcf147011c67dfc567f448c>`_\ )
* **travis:** quote pathspecs used with ``git ls-files`` [skip ci] (\ `88f9ff1 <https://github.com/saltstack-formulas/bind-formula/commit/88f9ff128f789b6ad9c5292681f1f8f70f725e69>`_\ )
* **travis:** restrict ``semantic-release`` version until upstream fix (\ `5989bb9 <https://github.com/saltstack-formulas/bind-formula/commit/5989bb9a0b9112aa1fdc21ed3ec273a6a6976af9>`_\ )
* **travis:** run ``shellcheck`` during lint job [skip ci] (\ `37c65de <https://github.com/saltstack-formulas/bind-formula/commit/37c65de5484c94ae031734663ac03d50c386066f>`_\ )
* **travis:** update ``salt-lint`` config for ``v0.0.10`` [skip ci] (\ `4c6a882 <https://github.com/saltstack-formulas/bind-formula/commit/4c6a88243edb1fef2e5fba0ff16fd90e8514b88e>`_\ )
* **travis:** use ``major.minor`` for ``semantic-release`` version (\ `66c4d9f <https://github.com/saltstack-formulas/bind-formula/commit/66c4d9fe7d3c56f214f6951efcdd9cb5faa88911>`_\ ), closes `/github.com/saltstack-formulas/bind-formula/issues/143#issuecomment-568197176 <https://github.com//github.com/saltstack-formulas/bind-formula/issues/143/issues/issuecomment-568197176>`_
* **travis:** use build config validation (beta) [skip ci] (\ `681c345 <https://github.com/saltstack-formulas/bind-formula/commit/681c345e8b78e2d3115adde39cb2202c28dc230d>`_\ )
* merge travis matrix, add ``salt-lint`` & ``rubocop`` to ``lint`` job (\ `7b23dbb <https://github.com/saltstack-formulas/bind-formula/commit/7b23dbbae026b0a8cc779f5ce84de92325454e8b>`_\ )
Documentation
^^^^^^^^^^^^^
* **contributing:** remove to use org-level file instead [skip ci] (\ `9c11845 <https://github.com/saltstack-formulas/bind-formula/commit/9c11845a0997f7bdd6fbcae97e23262de78132a4>`_\ )
* **readme:** update link to ``CONTRIBUTING`` [skip ci] (\ `ab6ea39 <https://github.com/saltstack-formulas/bind-formula/commit/ab6ea391d885fc2246db94219b59662c250c0854>`_\ )
Features
^^^^^^^^
* **map.jinja:** add Gentoo support (\ `7415a9b <https://github.com/saltstack-formulas/bind-formula/commit/7415a9b0ce788d978c583499452fdcfc22328c42>`_\ )
Performance Improvements
^^^^^^^^^^^^^^^^^^^^^^^^
* **travis:** improve ``salt-lint`` invocation [skip ci] (\ `b63490c <https://github.com/saltstack-formulas/bind-formula/commit/b63490c23ddb9ccbdcfe02e85444f178441d02ad>`_\ )
`0.18.4 <https://github.com/saltstack-formulas/bind-formula/compare/v0.18.3...v0.18.4>`_ (2019-10-10)
---------------------------------------------------------------------------------------------------------
Bug Fixes
^^^^^^^^^
* **config.sls:** fix ``salt-lint`` errors (\ ` <https://github.com/saltstack-formulas/bind-formula/commit/920615a>`_\ )
* **named.conf.local.jinja:** fix ``salt-lint`` errors (\ ` <https://github.com/saltstack-formulas/bind-formula/commit/67736a2>`_\ )
* **named.conf.logging.jinja:** fix ``salt-lint`` errors (\ ` <https://github.com/saltstack-formulas/bind-formula/commit/f220886>`_\ )
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* merge travis matrix, add ``salt-lint`` & ``rubocop`` to ``lint`` job (\ ` <https://github.com/saltstack-formulas/bind-formula/commit/5883c09>`_\ )
`0.18.3 <https://github.com/saltstack-formulas/bind-formula/compare/v0.18.2...v0.18.3>`_ (2019-10-07)
---------------------------------------------------------------------------------------------------------
Bug Fixes
^^^^^^^^^
* **pillar.example:** fix ``yamllint`` error (\ `eb29e00 <https://github.com/saltstack-formulas/bind-formula/commit/eb29e00>`_\ ), closes `/travis-ci.org/myii/bind-formula/builds/594704904#L211-L213 <https://github.com//travis-ci.org/myii/bind-formula/builds/594704904/issues/L211-L213>`_
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* use ``dist: bionic`` & apply ``opensuse-leap-15`` SCP error workaround (\ `90abafa <https://github.com/saltstack-formulas/bind-formula/commit/90abafa>`_\ )
* **kitchen:** change ``log_level`` to ``debug`` instead of ``info`` (\ `e0be98a <https://github.com/saltstack-formulas/bind-formula/commit/e0be98a>`_\ )
* **kitchen:** install required packages to bootstrapped ``opensuse`` [skip ci] (\ `a5ad4c6 <https://github.com/saltstack-formulas/bind-formula/commit/a5ad4c6>`_\ )
* **kitchen:** use bootstrapped ``opensuse`` images until ``2019.2.2`` [skip ci] (\ `0d02016 <https://github.com/saltstack-formulas/bind-formula/commit/0d02016>`_\ )
* **platform:** add ``arch-base-latest`` (commented out for now) [skip ci] (\ `c091c74 <https://github.com/saltstack-formulas/bind-formula/commit/c091c74>`_\ )
* **yamllint:** add rule ``empty-values`` & use new ``yaml-files`` setting (\ `9163726 <https://github.com/saltstack-formulas/bind-formula/commit/9163726>`_\ )
`0.18.2 <https://github.com/saltstack-formulas/bind-formula/compare/v0.18.1...v0.18.2>`_ (2019-09-05)
---------------------------------------------------------------------------------------------------------
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* **kitchen+travis:** replace EOL pre-salted images (\ `3a4d4e8 <https://github.com/saltstack-formulas/bind-formula/commit/3a4d4e8>`_\ )
Tests
^^^^^
* **inspec:** improve to work on ``amazon`` as well (\ `59684c6 <https://github.com/saltstack-formulas/bind-formula/commit/59684c6>`_\ )
`0.18.1 <https://github.com/saltstack-formulas/bind-formula/compare/v0.18.0...v0.18.1>`_ (2019-08-18)
---------------------------------------------------------------------------------------------------------
Bug Fixes
^^^^^^^^^
* **tests:** move to controls sub-directory (\ `74bbc5b <https://github.com/saltstack-formulas/bind-formula/commit/74bbc5b>`_\ )
Continuous Integration
^^^^^^^^^^^^^^^^^^^^^^
* **travis:** re-enable ``fedora`` (\ `4a6ac4e <https://github.com/saltstack-formulas/bind-formula/commit/4a6ac4e>`_\ )
`0.18.0 <https://github.com/saltstack-formulas/bind-formula/compare/v0.17.0...v0.18.0>`_ (2019-08-17)
---------------------------------------------------------------------------------------------------------

159
docs/CONTRIBUTING.rst Normal file
View file

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

View file

@ -38,7 +38,7 @@ Contributing to this repo
**Commit message formatting is significant!!**
Please see `How to contribute <https://github.com/saltstack-formulas/.github/blob/master/CONTRIBUTING.rst>`_ for more details.
Please see :ref:`How to contribute <CONTRIBUTING>` for more details.
Available states
----------------
@ -57,7 +57,7 @@ Install the bind package and start the bind service.
Manage the bind configuration file.
Example Pillar
--------------
==============
.. code:: yaml
@ -94,10 +94,10 @@ Example Pillar
See *pillar.example* for a more complete example.
Management of zone files
------------------------
========================
`named.conf.local`
^^^^^^^^^^^^^^^^^^
------------------
<zone> entries in `named.conf.local` will point to the file declared in
@ -105,7 +105,7 @@ Management of zone files
* `bind:available_zones:<zone>:file`
zone files
^^^^^^^^^^
----------
The `config.sls` state will iterate on `bind:available_zones` and manage
<zone> files for each <zone> that has bind:available_zones:<zone>:file`
@ -118,21 +118,21 @@ declared.
that will be **sourced** by the formula.
Using Views
^^^^^^^^^^^
-----------
Using views introduces some restrictions by the BIND server in that once you have views defined, ALL of your zones have to be served via a view. You cannot have any zones defined outside of a view.
If you want multiple views to serve the same zone but with different record sets, follow the example in pillar-with-views.example to set this up. The key to this is the 'file' argument in the view configuration that allows you to set the view's configured_zone to a zone that you define underneath 'available_zones'. Without specifying this 'file' argument, your views cannot serve the same zone; they will instead serve a zone that matches the name of the view.
External zone files
^^^^^^^^^^^^^^^^^^^
-------------------
To use an external tool to manage the <zone> file, simply declare the location
of the zone file in `bind:configured_zones:<zone>:file` and **don't** add any
entry for the <zone> in `bind:available_zones`
DNSSEC
------
======
The `bind` formula currently support two ways to enable DNSSEC:
@ -187,12 +187,12 @@ On the slave server :
- 192.168.1.1
Notes
-----
=====
* When using views all zones must be configured in views!
Salt Compatibility
------------------
==================
Tested with:
@ -200,7 +200,7 @@ Tested with:
* 2018.3.x
OS Compatibility
----------------
================
Tested with:

View file

@ -6,11 +6,102 @@ driver:
name: docker
use_sudo: false
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 `develop`
- name: debian-9-develop-py3
driver:
image: netmanagers/salt-develop-py3:debian-9
provision_command:
- curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com
- sh bootstrap-salt.sh -XdPbfrq -x python3 git develop
- name: ubuntu-1804-develop-py3
driver:
image: netmanagers/salt-develop-py3:ubuntu-18.04
provision_command:
- curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com
- sh bootstrap-salt.sh -XdPbfrq -x python3 git develop
- name: centos-7-develop-py3
driver:
image: netmanagers/salt-develop-py3:centos-7
provision_command:
- curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com
- sh bootstrap-salt.sh -XdPbfrq -x python3 git develop
- name: fedora-29-develop-py3
driver:
image: netmanagers/salt-develop-py3:fedora-29
provision_command:
- curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com
- sh bootstrap-salt.sh -XdPbfrq -x python3 git develop
- name: opensuse-leap-15-develop-py3
driver:
image: netmanagers/salt-develop-py3:opensuse-leap-15
provision_command:
- curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com
- sh bootstrap-salt.sh -XdPbfrq -x python3 git develop
run_command: /usr/lib/systemd/systemd
## SALT `2019.2`
- name: debian-9-2019-2-py3
driver:
image: netmanagers/salt-2019.2-py3:debian-9
- name: ubuntu-1804-2019-2-py3
driver:
image: netmanagers/salt-2019.2-py3:ubuntu-18.04
- name: centos-7-2019-2-py3
driver:
image: netmanagers/salt-2019.2-py3:centos-7
- name: fedora-29-2019-2-py3
driver:
image: netmanagers/salt-2019.2-py3:fedora-29
- name: opensuse-leap-15-2019-2-py3
driver:
image: netmanagers/salt-2019.2-py3:opensuse-leap-15
run_command: /usr/lib/systemd/systemd
## SALT `2018.3`
- name: debian-9-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:debian-9
- name: ubuntu-1604-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:ubuntu-16.04
- name: centos-7-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:centos-7
- name: fedora-29-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:fedora-29
- name: opensuse-leap-42-2018-3-py2
driver:
image: netmanagers/salt-2018.3-py2:opensuse-leap-42
run_command: /usr/lib/systemd/systemd
## SALT `2017.7`
- name: debian-8-2017-7-py2
driver:
image: netmanagers/salt-2017.7-py2:debian-8
- name: ubuntu-1604-2017-7-py2
driver:
image: netmanagers/salt-2017.7-py2:ubuntu-16.04
- name: centos-6-2017-7-py2
driver:
image: netmanagers/salt-2017.7-py2:centos-6
run_command: /sbin/init
- name: fedora-28-2017-7-py2
driver:
image: netmanagers/salt-2017.7-py2:fedora-28
- name: opensuse-leap-42-2017-7-py2
driver:
image: netmanagers/salt-2017.7-py2:opensuse-leap-42
run_command: /usr/lib/systemd/systemd
provisioner:
name: salt_solo
log_level: debug
log_level: info
salt_install: none
require_chef: false
formula: bind
@ -18,252 +109,12 @@ provisioner:
- .kitchen
- .git
platforms:
## SALT `tiamat`
- name: debian-11-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:debian-11
run_command: /lib/systemd/systemd
- name: debian-10-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:debian-10
run_command: /lib/systemd/systemd
- name: debian-9-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:debian-9
run_command: /lib/systemd/systemd
- name: ubuntu-2204-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:ubuntu-22.04
run_command: /lib/systemd/systemd
- name: ubuntu-2004-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:ubuntu-20.04
run_command: /lib/systemd/systemd
- name: ubuntu-1804-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:ubuntu-18.04
run_command: /lib/systemd/systemd
- name: centos-stream8-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:centos-stream8
- name: centos-7-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:centos-7
- name: amazonlinux-2-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:amazonlinux-2
- name: oraclelinux-8-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:oraclelinux-8
- name: oraclelinux-7-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:oraclelinux-7
- name: almalinux-8-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:almalinux-8
- name: rockylinux-8-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:rockylinux-8
## SALT `master`
- name: debian-11-master-py3
driver:
image: saltimages/salt-master-py3:debian-11
run_command: /lib/systemd/systemd
- name: debian-10-master-py3
driver:
image: saltimages/salt-master-py3:debian-10
run_command: /lib/systemd/systemd
- name: debian-9-master-py3
driver:
image: saltimages/salt-master-py3:debian-9
run_command: /lib/systemd/systemd
- name: ubuntu-2204-master-py3
driver:
image: saltimages/salt-master-py3:ubuntu-22.04
run_command: /lib/systemd/systemd
- name: ubuntu-2004-master-py3
driver:
image: saltimages/salt-master-py3:ubuntu-20.04
run_command: /lib/systemd/systemd
- name: ubuntu-1804-master-py3
driver:
image: saltimages/salt-master-py3:ubuntu-18.04
run_command: /lib/systemd/systemd
- name: centos-stream8-master-py3
driver:
image: saltimages/salt-master-py3:centos-stream8
- name: centos-7-master-py3
driver:
image: saltimages/salt-master-py3:centos-7
- name: fedora-36-master-py3
driver:
image: saltimages/salt-master-py3:fedora-36
- name: fedora-35-master-py3
driver:
image: saltimages/salt-master-py3:fedora-35
- name: opensuse-leap-153-master-py3
driver:
image: saltimages/salt-master-py3:opensuse-leap-15.3
# Workaround to avoid intermittent failures on `opensuse-leap-15.3`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: opensuse-tmbl-latest-master-py3
driver:
image: saltimages/salt-master-py3:opensuse-tumbleweed-latest
# Workaround to avoid intermittent failures on `opensuse-tumbleweed`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: amazonlinux-2-master-py3
driver:
image: saltimages/salt-master-py3:amazonlinux-2
- name: oraclelinux-8-master-py3
driver:
image: saltimages/salt-master-py3:oraclelinux-8
- name: oraclelinux-7-master-py3
driver:
image: saltimages/salt-master-py3:oraclelinux-7
- name: arch-base-latest-master-py3
driver:
image: saltimages/salt-master-py3:arch-base-latest
- name: gentoo-stage3-latest-master-py3
driver:
image: saltimages/salt-master-py3:gentoo-stage3-latest
run_command: /sbin/init
- name: gentoo-stage3-systemd-master-py3
driver:
image: saltimages/salt-master-py3:gentoo-stage3-systemd
- name: almalinux-8-master-py3
driver:
image: saltimages/salt-master-py3:almalinux-8
- name: rockylinux-8-master-py3
driver:
image: saltimages/salt-master-py3:rockylinux-8
## SALT `3004.1`
- name: debian-11-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:debian-11
run_command: /lib/systemd/systemd
- name: debian-10-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:debian-10
run_command: /lib/systemd/systemd
- name: debian-9-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:debian-9
run_command: /lib/systemd/systemd
- name: ubuntu-2204-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:ubuntu-22.04
run_command: /lib/systemd/systemd
- name: ubuntu-2004-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:ubuntu-20.04
run_command: /lib/systemd/systemd
- name: ubuntu-1804-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:ubuntu-18.04
run_command: /lib/systemd/systemd
- name: centos-stream8-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:centos-stream8
- name: centos-7-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:centos-7
- name: fedora-36-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:fedora-36
- name: fedora-35-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:fedora-35
- name: amazonlinux-2-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:amazonlinux-2
- name: oraclelinux-8-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:oraclelinux-8
- name: oraclelinux-7-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:oraclelinux-7
- name: arch-base-latest-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:arch-base-latest
- name: gentoo-stage3-latest-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:gentoo-stage3-latest
run_command: /sbin/init
- name: gentoo-stage3-systemd-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:gentoo-stage3-systemd
- name: almalinux-8-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:almalinux-8
- name: rockylinux-8-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:rockylinux-8
## SALT `3004.0`
- name: opensuse-leap-153-3004-0-py3
driver:
image: saltimages/salt-3004.0-py3:opensuse-leap-15.3
# Workaround to avoid intermittent failures on `opensuse-leap-15.3`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: opensuse-tmbl-latest-3004-0-py3
driver:
image: saltimages/salt-3004.0-py3:opensuse-tumbleweed-latest
# Workaround to avoid intermittent failures on `opensuse-tumbleweed`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
## SALT `3003.4`
- name: debian-10-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:debian-10
run_command: /lib/systemd/systemd
- name: debian-9-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:debian-9
run_command: /lib/systemd/systemd
- name: ubuntu-2004-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:ubuntu-20.04
run_command: /lib/systemd/systemd
- name: ubuntu-1804-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:ubuntu-18.04
run_command: /lib/systemd/systemd
- name: centos-stream8-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:centos-stream8
- name: centos-7-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:centos-7
- name: amazonlinux-2-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:amazonlinux-2
- name: oraclelinux-8-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:oraclelinux-8
- name: oraclelinux-7-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:oraclelinux-7
- name: almalinux-8-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:almalinux-8
verifier:
# https://www.inspec.io/
name: inspec
sudo: true
# cli, documentation, html, progress, json, json-min, json-rspec, junit
reporter:
# cli, documentation, html, progress, json, json-min, json-rspec, junit
- cli
suites:
@ -272,7 +123,6 @@ suites:
state_top:
base:
'*':
- bind._mapdata
- bind
- bind.config
pillars:

View file

@ -1,12 +1,9 @@
# -*- coding: utf-8 -*-
# vim: ft=yaml
---
bind:
configured_acls: # We have an internal ACL restricted to our
internal: # private IP range.
- 10.0.0.0/8 # In this case, an ACL for external isn't needed
# as that view will be matched by 'any'.
# Notice that there is no 'configured_zones' at this indentation level.
# That is because when you are using views, the bind service forces all zones to be served via a view.
#
@ -14,7 +11,7 @@ bind:
# also served via a view using a file include. If you have other zones being served outside of a view, bind will
# fail to start and give you an error message indicating this. You will likely find these externally-defined zones
# in /etc/named.conf and /etc/named.conf.local
configured_views:
external: # A view called 'external' to match anything except the 'internal' ACL.
match_clients:
@ -23,11 +20,11 @@ bind:
mydomain.com: # Notice that this value matches on both views.
type: master
file: external.mydomain.com.txt # Specify the file to be used, which must match the file
recursion: 'yes' # name of the zone below under available_zones.
# This filename also must match the corresponding zone name
recursion: yes # name of the zone below under available_zones.
# This filename also must match the corresponding zone name
# without the .txt extension (and be sure to use .txt as the extension).
notify: false
dnssec: false
notify: False
dnssec: False
internal: # The 'internal' view that is restricted to the 'internal' ACL.
match_clients:
@ -36,17 +33,17 @@ bind:
mydomain.com: # Same as above - both views will serve the same zone.
type: master
file: internal.mydomain.com.txt # Different file - matches the internal zone below.
# Again, this filename must match the corresponding zone name
# Again, this filename must match the corresponding zone name
# without the .txt extension (and be sure to use .txt as the extension).
recursion: 'yes'
notify: false
dnssec: false
recursion: yes
notify: False
dnssec: False
available_zones:
external.mydomain.com: # Beginning of the 'external' zone definition.
file: external.mydomain.com.txt # The file in which to save this zone's record set - matches the file
# specified in the 'external' view.
soa: # Declare the SOA RRs for the zone
ns: ns1.external.mydomain.com # Required
contact: hostmaster@mydomain.com # Required
@ -70,11 +67,11 @@ bind:
CNAME:
login: portal.mydomain.com.
dashboard: www.mydomain.com.
internal.mydomain.com: # Beginning of the 'internal' zone definition.
file: internal.mydomain.com.txt # The file in which to save this zone's record set - matches the file
# specified in the 'internal' view.
soa: # Declare the SOA RRs for the zone
ns: ns1.mydomain.com # Required
contact: hostmaster@mydomain.com # Required

View file

@ -23,7 +23,7 @@ bind:
lookup:
key_directory: '/etc/bind/keys' # Key directory (needed to use auto-dnssec)
key_algorithm: RSASHA256 # Algorithm when using auto-dnssec
key_algorithm_field: '008' # See http://www.bind9.net/dns-sec-algorithm-numbers
key_algorithm_field: 008 # See http://www.bind9.net/dns-sec-algorithm-numbers
key_size: 4096 # Key size
config:
@ -173,8 +173,6 @@ bind:
type: master # Yo don't have define zone again in available_zones.
# This feature is backward compatibile and only available in debian
notify: false # if type master you need specify notify true/false
managed: true # Set this to false if you don't want Salt to manage this zone file
# If this parameter is set to true or is not set at all, the zone will be managed through salt
sub2.domain.com:
file: sub2.domain.com

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`
pip3 install m2r2
# Install `m2r`
sudo -H pip install m2r
# Copy and then convert the `.md` docs
cp ./*.md docs/
cd docs/ || exit
m2r2 --overwrite ./*.md
cp *.md docs/
cd docs/
m2r --overwrite *.md
# Change excess `H1` headings to `H2` in converted `CHANGELOG.rst`
sed -i -e '/^=.*$/s/=/-/g' CHANGELOG.rst

View file

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

View file

@ -1,4 +1,3 @@
# frozen_string_literal: true
# Set defaults, use debian as base
conf_user = 'bind'
@ -11,14 +10,14 @@ logs_mode = '0775'
named_directory = '/var/cache/bind'
zones_directory = '/var/cache/bind/zones'
keys_directory = '/etc/bind/keys'
log_directory = '/var/log/named'
log_directory = '/var/log/bind9'
keys_mode = '02755'
conf_mode = '0644'
config = '/etc/bind/named.conf'
# Override by OS
case os[:name]
when 'arch', 'redhat', 'centos', 'fedora', 'amazon'
when 'arch','redhat', 'centos', 'fedora'
conf_user = 'named'
conf_group = 'named'
keys_group = 'root'
@ -29,8 +28,8 @@ when 'arch', 'redhat', 'centos', 'fedora', 'amazon'
keys_mode = '0755'
conf_mode = '0640'
config = '/etc/named.conf'
when 'suse', 'opensuse'
conf_user = 'root'
when 'suse', 'opensuse'
conf_user = 'root'
conf_group = 'named'
logs_user = 'root'
logs_group = 'root'
@ -48,11 +47,11 @@ end
# Override log directory by OS
case os[:name]
when 'arch', 'ubuntu'
log_directory = '/var/log/named'
when 'redhat', 'centos', 'fedora', 'amazon'
log_directory = '/var/named/data'
log_directory = '/var/log/named'
when 'redhat', 'centos', 'fedora'
log_directory = '/var/named/data'
when 'suse', 'opensuse'
log_directory = '/var/log'
log_directory = '/var/log'
end
# Check main config dir
@ -102,28 +101,28 @@ end
# RHEL: Doesn't use .options and has rfc1912.zones
# Debian: Uses .options
case os[:name]
when 'arch', 'redhat', 'centos', 'fedora', 'amazon'
when 'arch','redhat', 'centos', 'fedora'
control 'File ' + config do
title 'should exist'
title 'should exist'
describe file(config) do
its('owner') { should eq conf_user }
its('owner') { should eq conf_user }
its('group') { should eq conf_group }
its('mode') { should cmp conf_mode }
its('content') { should match %r{^include\ "/etc/named\.rfc1912\.zones";} }
its('content') { should match %r{^include\ "/etc/named\.conf\.local";} }
its('content') { should match /^include\ "\/etc\/named\.rfc1912\.zones";/ }
its('content') { should match /^include\ "\/etc\/named\.conf\.local";/ }
end
end
end
when 'ubuntu', 'debian'
control 'File ' + config do
title 'should exist'
title 'should exist'
describe file(config) do
its('owner') { should eq conf_user }
its('owner') { should eq conf_user }
its('group') { should eq conf_group }
its('mode') { should cmp conf_mode }
its('content') { should match %r{^include\ "/etc/bind/named\.conf\.local";} }
its('content') { should match %r{^include\ "/etc/bind/named\.conf\.options";} }
its('content') { should match /^include\ "\/etc\/bind\/named\.conf\.local";/ }
its('content') { should match /^include\ "\/etc\/bind\/named\.conf\.options";/ }
end
end
end
end
# If debian check the .options file
@ -169,6 +168,6 @@ control 'File ' + config + '.local' do
# Match acl1
its('content') { should match /acl\ client1\ \{\n\ \ 127\.0\.0\.0\/8;\n\ \ 10\.20\.0\.0\/16;\n\};/ }
# Match acl2
its('content') { should match /acl\ client2\ \{\n\ \ 10\.0\.0\.0\/8;\n\ \ 10\.30\.0\.0\/16;\n\};/ }
its('content') { should match /^acl\ client2\ \{\n\ \ 10\.30\.0\.0\/8;\n\};/ }
end
end

View file

@ -1,168 +0,0 @@
# frozen_string_literal: true
# Set defaults, use debian as base
conf_user = 'bind'
conf_group = 'bind'
keys_user = 'root'
keys_group = conf_group
logs_user = 'root'
logs_group = conf_group
named_directory = '/var/cache/bind'
zones_directory = '/var/cache/bind/zones'
keys_directory = '/etc/bind/keys'
log_directory = '/var/log/bind9'
keys_mode = '02755'
conf_mode = '0644'
config = '/etc/bind/named.conf'
# Override by OS
case os[:name]
when 'arch', 'redhat', 'centos', 'fedora', 'amazon'
conf_user = 'named'
conf_group = 'named'
keys_group = 'root'
logs_group = conf_group
named_directory = '/var/named'
zones_directory = named_directory
keys_directory = '/etc/named.keys'
keys_mode = '0755'
conf_mode = '0640'
config = '/etc/named.conf'
when 'suse', 'opensuse'
zones_directory = nil # not implemented
end
# Override log directory by OS
case os[:name]
when 'arch', 'ubuntu'
log_directory = '/var/log/named'
when 'redhat', 'centos', 'fedora', 'amazon'
log_directory = '/var/named/data'
end
if zones_directory
# Test example.com zonefile
control 'File ' + zones_directory + '/example.com' do
title 'should exist'
describe file(zones_directory + '/example.com') do
its('owner') { should eq conf_user }
its('group') { should eq conf_group }
its('mode') { should cmp '0644' }
# Multi line regex to match the various zones
# If you're here to update the pillar/tests I would highly reccommend
# using an online miltiline regex editor to do this:
# https://www.regextester.com/
# the #{foo} is a ruby string expansion so we can use the variables
# defined above
# Match SOA
its('content') { should match /^@\ IN\ SOA\ ns1.example.com\ hostmaster.example.com\ \(\n 2018073100\ ;\ serial\n\ \ \ \ 12h\ ;\ refresh\n\ \ \ \ 600\ ;\ retry\n\ \ \ \ 2w\ ;\ expiry\n\ \ \ \ 1m\ ;\ nxdomain\ ttl\n\);/ }
# Just match string for these as it's much easier to read
# Match NS
its('content') { should match '@ NS ns1' }
# Match A
its('content') { should match 'ns1 A 203.0.113.1' }
its('content') { should match 'foo A 203.0.113.2' }
its('content') { should match 'bar A 203.0.113.3' }
# Match CNAME
its('content') { should match 'ftp CNAME foo.example.com.' }
its('content') { should match 'www CNAME bar.example.com.' }
its('content') { should match 'mail CNAME mx1.example.com.' }
its('content') { should match 'smtp CNAME mx1.example.com.' }
# Match TXT
its('content') { should match '@ TXT "some_value"' }
end
end
# Test example.net zonefile
control 'File ' + zones_directory + '/example.net' do
title 'should exist'
describe file(zones_directory + '/example.net') do
its('owner') { should eq conf_user }
its('group') { should eq conf_group }
its('mode') { should cmp '0644' }
# Match SOA
its('content') { should match /^@\ IN\ SOA\ ns1.example.net\ hostmaster.example.net\ \(\n\ \ \ \ [0-9]{10}\ ;\ serial\n\ \ \ \ 12h\ ;\ refresh\n\ \ \ \ 300\ ;\ retry\n\ \ \ \ 2w\ ;\ expiry\n\ \ \ \ 1m\ ;\ nxdomain\ ttl\n\);/ }
# Match Include
its('content') { should match %r{^\$INCLUDE\ #{zones_directory}/example\.net\.include$} }
end
end
# Test example.net.include zonefile
control 'File ' + zones_directory + '/example.net.include' do
title 'should exist'
describe file(zones_directory + '/example.net.include') do
its('owner') { should eq conf_user }
its('group') { should eq conf_group }
its('mode') { should cmp '0644' }
# Just match string for these as it's much easier to read
# Match NS
its('content') { should match '@ NS ns1' }
# Match A
its('content') { should match 'ns1 A 198.51.100.1' }
its('content') { should match 'foo A 198.51.100.2' }
its('content') { should match 'bar A 198.51.100.3' }
its('content') { should match 'baz A 198.51.100.4' }
its('content') { should match 'mx1 A 198.51.100.5' }
its('content') { should match 'mx1 A 198.51.100.6' }
its('content') { should match 'mx1 A 198.51.100.7' }
# Match CNAME
its('content') { should match 'mail CNAME mx1.example.net.' }
its('content') { should match 'smtp CNAME mx1.example.net.' }
end
end
# Test 113.0.203.in-addr.arpa zonefile
control 'File ' + zones_directory + '/113.0.203.in-addr.arpa' do
title 'should exist'
describe file(zones_directory + '/113.0.203.in-addr.arpa') do
its('owner') { should eq conf_user }
its('group') { should eq conf_group }
its('mode') { should cmp '0644' }
# Match SOA
its('content') { should match /^@\ IN\ SOA\ ns1.example.com\ hostmaster.example.com\ \(\n\ \ \ \ 2018073100\ ;\ serial\n\ \ \ \ 12h\ ;\ refresh\n\ \ \ \ 600\ ;\ retry\n\ \ \ \ 2w\ ;\ expiry\n\ \ \ \ 1m\ ;\ nxdomain\ ttl\n\);/ }
# Just match string for these as it's much easier to read
# Match Include
its('content') { should match '1.113.0.203.in-addr.arpa PTR ns1.example.com.' }
its('content') { should match '2.113.0.203.in-addr.arpa PTR foo.example.com.' }
its('content') { should match '3.113.0.203.in-addr.arpa PTR bar.example.com.' }
end
end
# Test 100.51.198.in-addr.arpa zonefile
control 'File ' + zones_directory + '/100.51.198.in-addr.arpa' do
title 'should exist'
describe file(zones_directory + '/100.51.198.in-addr.arpa') do
its('owner') { should eq conf_user }
its('group') { should eq conf_group }
its('mode') { should cmp '0644' }
# Match SOA
its('content') { should match /^@\ IN\ SOA\ ns1.example.net\ hostmaster.example.net\ \(\n\ \ \ \ [0-9]{10}\ ;\ serial\n\ \ \ \ 12h\ ;\ refresh\n\ \ \ \ 600\ ;\ retry\n\ \ \ \ 2w\ ;\ expiry\n\ \ \ \ 1m\ ;\ nxdomain\ ttl\n\);/ }
# Match Include
its('content') { should match %r{^\$INCLUDE\ #{zones_directory}/100\.51\.198\.in-addr\.arpa\.include$} }
end
end
# Test 100.51.198.in-addr.arpa.include zonefile
control 'File ' + zones_directory + '/100.51.198.in-addr.arpa.include' do
title 'should exist'
describe file(zones_directory + '/100.51.198.in-addr.arpa.include') do
its('owner') { should eq conf_user }
its('group') { should eq conf_group }
its('mode') { should cmp '0644' }
# Match PTR
its('content') { should match '1.100.51.198.in-addr.arpa. PTR ns1.example.net.' }
its('content') { should match '2.100.51.198.in-addr.arpa. PTR foo.example.net.' }
its('content') { should match '3.100.51.198.in-addr.arpa. PTR bar.example.net.' }
its('content') { should match '4.100.51.198.in-addr.arpa. PTR baz.example.net.' }
its('content') { should match '5.100.51.198.in-addr.arpa. PTR mx1.example.net.' }
its('content') { should match '6.100.51.198.in-addr.arpa. PTR mx1.example.net.' }
its('content') { should match '7.100.51.198.in-addr.arpa. PTR mx1.example.net.' }
end
end
end

View file

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

View file

@ -1,21 +1,20 @@
# frozen_string_literal: true
case os[:name]
when 'arch'
os_packages = %w[
os_packages = %w(
bind
bind-tools
dnssec-tools
]
when 'redhat', 'centos', 'fedora', 'amazon'
os_packages = %w[bind]
)
when 'redhat', 'centos', 'fedora'
os_packages = %w(bind)
when 'suse', 'opensuse'
os_packages = %w[bind]
os_packages = %w(bind)
when 'debian', 'ubuntu'
os_packages = %w[
os_packages = %w(
bind9
bind9utils
]
)
end
control 'Bind9 packages' do
@ -27,3 +26,4 @@ control 'Bind9 packages' do
end
end
end

View file

@ -1,7 +1,6 @@
# frozen_string_literal: true
case os[:name]
when 'arch', 'redhat', 'centos', 'fedora', 'amazon'
when 'arch','redhat', 'centos', 'fedora'
service = 'named'
when 'suse', 'opensuse'
service = 'named'
@ -13,7 +12,7 @@ control 'Bind9 service' do
title 'should be running'
describe service(service) do
# it { should be_enabled }
# it { should be_enabled }
it { should be_running }
end
end

View file

@ -0,0 +1,167 @@
# Set defaults, use debian as base
conf_user = 'bind'
conf_group = 'bind'
keys_user = 'root'
keys_group = conf_group
logs_user = 'root'
logs_group = conf_group
named_directory = '/var/cache/bind'
zones_directory = '/var/cache/bind/zones'
keys_directory = '/etc/bind/keys'
log_directory = '/var/log/bind9'
keys_mode = '02755'
conf_mode = '0644'
config = '/etc/bind/named.conf'
# Override by OS
case os[:name]
when 'arch','redhat', 'centos', 'fedora'
conf_user = 'named'
conf_group = 'named'
keys_group = 'root'
logs_group = conf_group
named_directory = '/var/named'
zones_directory = named_directory
keys_directory = '/etc/named.keys'
keys_mode = '0755'
conf_mode = '0640'
config = '/etc/named.conf'
when 'suse', 'opensuse'
zones_directory = nil # not implemented
end
# Override log directory by OS
case os[:name]
when 'arch', 'ubuntu'
log_directory = '/var/log/named'
when 'redhat', 'centos', 'fedora'
log_directory = '/var/named/data'
end
if zones_directory
# Test example.com zonefile
control 'File ' + zones_directory + '/example.com' do
title 'should exist'
describe file(zones_directory + '/example.com') do
its('owner') { should eq conf_user }
its('group') { should eq conf_group }
its('mode') { should cmp '0644' }
# Multi line regex to match the various zones
# If you're here to update the pillar/tests I would highly reccommend
# using an online miltiline regex editor to do this:
# https://www.regextester.com/
# the #{foo} is a ruby string expansion so we can use the variables
# defined above
# Match SOA
its('content') { should match /^@\ IN\ SOA\ ns1.example.com\ hostmaster.example.com\ \(\n 2018073100\ ;\ serial\n\ \ \ \ 12h\ ;\ refresh\n\ \ \ \ 600\ ;\ retry\n\ \ \ \ 2w\ ;\ expiry\n\ \ \ \ 1m\ ;\ nxdomain\ ttl\n\);/ }
# Just match string for these as it's much easier to read
# Match NS
its('content') { should match '@ NS ns1' }
# Match A
its('content') { should match 'ns1 A 203.0.113.1' }
its('content') { should match 'foo A 203.0.113.2' }
its('content') { should match 'bar A 203.0.113.3' }
# Match CNAME
its('content') { should match 'ftp CNAME foo.example.com.' }
its('content') { should match 'www CNAME bar.example.com.' }
its('content') { should match 'mail CNAME mx1.example.com.' }
its('content') { should match 'smtp CNAME mx1.example.com.' }
# Match TXT
its('content') { should match '@ TXT "some_value"' }
end
end
# Test example.net zonefile
control 'File ' + zones_directory + '/example.net' do
title 'should exist'
describe file(zones_directory + '/example.net') do
its('owner') { should eq conf_user }
its('group') { should eq conf_group }
its('mode') { should cmp '0644' }
# Match SOA
its('content') { should match /^@\ IN\ SOA\ ns1.example.net\ hostmaster.example.net\ \(\n\ \ \ \ [0-9]{10}\ ;\ serial\n\ \ \ \ 12h\ ;\ refresh\n\ \ \ \ 300\ ;\ retry\n\ \ \ \ 2w\ ;\ expiry\n\ \ \ \ 1m\ ;\ nxdomain\ ttl\n\);/ }
# Match Include
its('content') { should match /^\$INCLUDE\ #{zones_directory}\/example\.net\.include$/ }
end
end
# Test example.net.include zonefile
control 'File ' + zones_directory + '/example.net.include' do
title 'should exist'
describe file(zones_directory + '/example.net.include') do
its('owner') { should eq conf_user }
its('group') { should eq conf_group }
its('mode') { should cmp '0644' }
# Just match string for these as it's much easier to read
# Match NS
its('content') { should match '@ NS ns1' }
# Match A
its('content') { should match 'ns1 A 198.51.100.1' }
its('content') { should match 'foo A 198.51.100.2' }
its('content') { should match 'bar A 198.51.100.3' }
its('content') { should match 'baz A 198.51.100.4' }
its('content') { should match 'mx1 A 198.51.100.5' }
its('content') { should match 'mx1 A 198.51.100.6' }
its('content') { should match 'mx1 A 198.51.100.7' }
# Match CNAME
its('content') { should match 'mail CNAME mx1.example.net.' }
its('content') { should match 'smtp CNAME mx1.example.net.' }
end
end
# Test 113.0.203.in-addr.arpa zonefile
control 'File ' + zones_directory + '/113.0.203.in-addr.arpa' do
title 'should exist'
describe file(zones_directory + '/113.0.203.in-addr.arpa') do
its('owner') { should eq conf_user }
its('group') { should eq conf_group }
its('mode') { should cmp '0644' }
# Match SOA
its('content') { should match /^@\ IN\ SOA\ ns1.example.com\ hostmaster.example.com\ \(\n\ \ \ \ 2018073100\ ;\ serial\n\ \ \ \ 12h\ ;\ refresh\n\ \ \ \ 600\ ;\ retry\n\ \ \ \ 2w\ ;\ expiry\n\ \ \ \ 1m\ ;\ nxdomain\ ttl\n\);/ }
# Just match string for these as it's much easier to read
# Match Include
its('content') { should match '1.113.0.203.in-addr.arpa PTR ns1.example.com.' }
its('content') { should match '2.113.0.203.in-addr.arpa PTR foo.example.com.' }
its('content') { should match '3.113.0.203.in-addr.arpa PTR bar.example.com.' }
end
end
# Test 100.51.198.in-addr.arpa zonefile
control 'File ' + zones_directory + '/100.51.198.in-addr.arpa' do
title 'should exist'
describe file(zones_directory + '/100.51.198.in-addr.arpa') do
its('owner') { should eq conf_user }
its('group') { should eq conf_group }
its('mode') { should cmp '0644' }
# Match SOA
its('content') { should match /^@\ IN\ SOA\ ns1.example.net\ hostmaster.example.net\ \(\n\ \ \ \ [0-9]{10}\ ;\ serial\n\ \ \ \ 12h\ ;\ refresh\n\ \ \ \ 600\ ;\ retry\n\ \ \ \ 2w\ ;\ expiry\n\ \ \ \ 1m\ ;\ nxdomain\ ttl\n\);/ }
# Match Include
its('content') { should match /^\$INCLUDE\ #{zones_directory}\/100\.51\.198\.in-addr\.arpa\.include$/ }
end
end
# Test 100.51.198.in-addr.arpa.include zonefile
control 'File ' + zones_directory + '/100.51.198.in-addr.arpa.include' do
title 'should exist'
describe file(zones_directory + '/100.51.198.in-addr.arpa.include') do
its('owner') { should eq conf_user }
its('group') { should eq conf_group }
its('mode') { should cmp '0644' }
# Match PTR
its('content') { should match '1.100.51.198.in-addr.arpa. PTR ns1.example.net.' }
its('content') { should match '2.100.51.198.in-addr.arpa. PTR foo.example.net.' }
its('content') { should match '3.100.51.198.in-addr.arpa. PTR bar.example.net.' }
its('content') { should match '4.100.51.198.in-addr.arpa. PTR baz.example.net.' }
its('content') { should match '5.100.51.198.in-addr.arpa. PTR mx1.example.net.' }
its('content') { should match '6.100.51.198.in-addr.arpa. PTR mx1.example.net.' }
its('content') { should match '7.100.51.198.in-addr.arpa. PTR mx1.example.net.' }
end
end
end

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

@ -7,8 +7,7 @@ bind:
- 127.0.0.0/8
- 10.20.0.0/16
client2:
- 10.0.0.0/8
- 10.30.0.0/16
- 10.30.0.0/8
configured_zones:
example.com:
type: master