Compare commits
162 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
1aed1a25db | ||
![]() |
0b64915409 | ||
![]() |
ed2d925616 | ||
![]() |
1db4419d1d | ||
![]() |
858af3f3bd | ||
![]() |
7375c04d38 | ||
![]() |
46b9f4b193 | ||
![]() |
57f632e2cf | ||
![]() |
6de3082a36 | ||
![]() |
2675a560e3 | ||
![]() |
e490ad889f | ||
![]() |
b42af23125 | ||
![]() |
c528cdae93 | ||
![]() |
814feb9e02 | ||
![]() |
cd6ff1185e | ||
![]() |
2d930b2b19 | ||
![]() |
d849feacbf | ||
![]() |
e258fcfdf3 | ||
![]() |
5786c591bb | ||
![]() |
d30e4f54d8 | ||
![]() |
978d29e1a2 | ||
![]() |
a0820d5ae7 | ||
![]() |
3fc2cb8d48 | ||
![]() |
7716d07c3a | ||
![]() |
35dcbc91c5 | ||
![]() |
69d2182a23 | ||
![]() |
7e362b42e8 | ||
![]() |
b4fb368444 | ||
![]() |
9e45fb2a59 | ||
![]() |
dccd8b7be6 | ||
![]() |
630adea05c | ||
![]() |
00c4f1ac24 | ||
![]() |
f178b669da | ||
![]() |
461fab25a3 | ||
![]() |
4cc529ffe1 | ||
![]() |
dfb0965390 | ||
![]() |
19955f5312 | ||
![]() |
b5ff98a1ca | ||
![]() |
f11fed86ea | ||
![]() |
b48038e17f | ||
![]() |
4b68b09507 | ||
![]() |
17fbdab64c | ||
![]() |
30ce777b40 | ||
![]() |
05886e90fc | ||
![]() |
c3193f55b2 | ||
![]() |
859d470522 | ||
![]() |
22de821311 | ||
![]() |
ab9a5d04c0 | ||
![]() |
220d9f8d80 | ||
![]() |
a8491c2d6c | ||
![]() |
b2af65bd9f | ||
![]() |
4c72d436ca | ||
![]() |
c00898dbc1 | ||
![]() |
620bef332a | ||
![]() |
3d17f0a5eb | ||
![]() |
868bea5dc1 | ||
![]() |
bd112addc1 | ||
![]() |
453ec7376f | ||
![]() |
e841fcccae | ||
![]() |
d594e816bd | ||
![]() |
024ce9771e | ||
![]() |
dfd3a3af75 | ||
![]() |
1ffbbb59d3 | ||
![]() |
8ab91fd450 | ||
![]() |
032b522078 | ||
![]() |
862369145b | ||
![]() |
1ae8918f1e | ||
![]() |
032afac441 | ||
![]() |
fbc97db940 | ||
![]() |
7732d92457 | ||
![]() |
156f3301f7 | ||
![]() |
89986bfe5f | ||
![]() |
d8bce5ff94 | ||
![]() |
8ec5a52e77 | ||
![]() |
bbb13d1b18 | ||
![]() |
f07212dfbb | ||
![]() |
7f64bc1a5b | ||
![]() |
5028ca44e1 | ||
![]() |
5eb060cde7 | ||
![]() |
e7b9e766f4 | ||
![]() |
afb12f1fa8 | ||
![]() |
7bc7b0d002 | ||
![]() |
b4ec26cffb | ||
![]() |
aa7229a974 | ||
![]() |
15e3cdb6a2 | ||
![]() |
a67b1426dc | ||
![]() |
886860cb14 | ||
![]() |
5fc37fa6fb | ||
![]() |
20d67c13a1 | ||
![]() |
a82e3efa7c | ||
![]() |
bea45930da | ||
![]() |
635902dd4d | ||
![]() |
afb2915801 | ||
![]() |
b1af5952bd | ||
![]() |
ec4fa7bc11 | ||
![]() |
6d366861bf | ||
![]() |
16d6742949 | ||
![]() |
8ab5ede2cb | ||
![]() |
8c773206fb | ||
![]() |
14815da8b2 | ||
![]() |
02347adaac | ||
![]() |
131426e2a9 | ||
![]() |
84a943bd96 | ||
![]() |
5452d75807 | ||
![]() |
3ae2959f13 | ||
![]() |
ae777b4035 | ||
![]() |
7119f5e7b8 | ||
![]() |
80bdb6cac4 | ||
![]() |
161c6a6156 | ||
![]() |
eebb7e0ea6 | ||
![]() |
a2fa37959e | ||
![]() |
a4d6d8a300 | ||
![]() |
0490489614 | ||
![]() |
143ee92d71 | ||
![]() |
c8f9617ca8 | ||
![]() |
45e3261e53 | ||
![]() |
61e434475d | ||
![]() |
e01cd28115 | ||
![]() |
b75df839a6 | ||
![]() |
05a095954d | ||
![]() |
223ef1d177 | ||
![]() |
e6aed1136e | ||
![]() |
4391459df8 | ||
![]() |
3e9bc91558 | ||
![]() |
a1a51d5842 | ||
![]() |
5e42eaaa56 | ||
![]() |
47b3bce96b | ||
![]() |
cc7542a93f | ||
![]() |
4f492dafff | ||
![]() |
2d42d93246 | ||
![]() |
2758e8ebf3 | ||
![]() |
45a87c67fd | ||
![]() |
e9f7b11db3 | ||
![]() |
e6381581fa | ||
![]() |
0bb4271c89 | ||
![]() |
4d40216754 | ||
![]() |
603176eec7 | ||
![]() |
01df0d0097 | ||
![]() |
c184e63a7d | ||
![]() |
49892c0005 | ||
![]() |
ce52e09944 | ||
![]() |
fb7fbc55af | ||
![]() |
fed6c8137b | ||
![]() |
ff62d0b2f4 | ||
![]() |
0645ea677d | ||
![]() |
a566af377a | ||
![]() |
1d55494be3 | ||
![]() |
eaaaf9eb1c | ||
![]() |
3419a72fcd | ||
![]() |
5680a1daf6 | ||
![]() |
5e7aec7f4f | ||
![]() |
676b623f3b | ||
![]() |
39f1205d41 | ||
![]() |
f747666d13 | ||
![]() |
0b782d6465 | ||
![]() |
2aacfffd0d | ||
![]() |
2cb407f2b3 | ||
![]() |
f67df59805 | ||
![]() |
2de0ca2bc4 | ||
![]() |
809a6e9a79 | ||
![]() |
535afa2b82 | ||
![]() |
96fe445946 |
16
.github/workflows/commitlint.yml
vendored
Normal file
16
.github/workflows/commitlint.yml
vendored
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# vim: ft=yaml
|
||||||
|
---
|
||||||
|
name: Commitlint
|
||||||
|
'on': [pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lint:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
- uses: wagoid/commitlint-github-action@v1
|
14
.gitignore
vendored
14
.gitignore
vendored
@ -91,6 +91,9 @@ celerybeat-schedule
|
|||||||
venv/
|
venv/
|
||||||
ENV/
|
ENV/
|
||||||
|
|
||||||
|
# visual studio
|
||||||
|
.vs/
|
||||||
|
|
||||||
# Spyder project settings
|
# Spyder project settings
|
||||||
.spyderproject
|
.spyderproject
|
||||||
.spyproject
|
.spyproject
|
||||||
@ -105,7 +108,7 @@ ENV/
|
|||||||
.mypy_cache/
|
.mypy_cache/
|
||||||
|
|
||||||
# Bundler
|
# Bundler
|
||||||
Gemfile.lock
|
.bundle/
|
||||||
|
|
||||||
# copied `.md` files used for conversion to `.rst` using `m2r`
|
# copied `.md` files used for conversion to `.rst` using `m2r`
|
||||||
docs/*.md
|
docs/*.md
|
||||||
@ -120,3 +123,12 @@ docs/*.md
|
|||||||
Dockerfile.*_*
|
Dockerfile.*_*
|
||||||
ignore/
|
ignore/
|
||||||
tmp/
|
tmp/
|
||||||
|
|
||||||
|
# `salt-formula` -- Vagrant Specific files
|
||||||
|
.vagrant
|
||||||
|
top.sls
|
||||||
|
!test/salt/pillar/top.sls
|
||||||
|
|
||||||
|
# `suricata-formula` -- Platform binaries
|
||||||
|
*.rpm
|
||||||
|
*.deb
|
||||||
|
214
.gitlab-ci.yml
Normal file
214
.gitlab-ci.yml
Normal file
@ -0,0 +1,214 @@
|
|||||||
|
# -*- 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/keepalived-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/keepalived-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:
|
||||||
|
- 'apk --no-cache add ipvsadm'
|
||||||
|
- 'modprobe ip_vs || true'
|
||||||
|
# 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'
|
77
.pre-commit-config.yaml
Normal file
77
.pre-commit-config.yaml
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# vim: ft=yaml
|
||||||
|
---
|
||||||
|
# See https://pre-commit.com for more information
|
||||||
|
# See https://pre-commit.com/hooks.html for more hooks
|
||||||
|
ci:
|
||||||
|
autofix_commit_msg: |
|
||||||
|
ci(pre-commit.ci): apply auto fixes from pre-commit.com hooks
|
||||||
|
|
||||||
|
For more information, see https://pre-commit.ci
|
||||||
|
autofix_prs: true
|
||||||
|
autoupdate_branch: ''
|
||||||
|
autoupdate_commit_msg: |
|
||||||
|
ci(pre-commit.ci): perform `pre-commit` autoupdate
|
||||||
|
autoupdate_schedule: quarterly
|
||||||
|
skip: []
|
||||||
|
submodules: false
|
||||||
|
default_stages: [commit]
|
||||||
|
repos:
|
||||||
|
- repo: https://github.com/dafyddj/commitlint-pre-commit-hook
|
||||||
|
rev: v2.3.0
|
||||||
|
hooks:
|
||||||
|
- id: commitlint
|
||||||
|
name: Check commit message using commitlint
|
||||||
|
description: Lint commit message against @commitlint/config-conventional rules
|
||||||
|
stages: [commit-msg]
|
||||||
|
additional_dependencies: ['@commitlint/config-conventional@8.3.4']
|
||||||
|
- id: commitlint-travis
|
||||||
|
stages: [manual]
|
||||||
|
additional_dependencies: ['@commitlint/config-conventional@8.3.4']
|
||||||
|
always_run: true
|
||||||
|
- repo: https://github.com/rubocop-hq/rubocop
|
||||||
|
rev: v1.30.1
|
||||||
|
hooks:
|
||||||
|
- id: rubocop
|
||||||
|
name: Check Ruby files with rubocop
|
||||||
|
args: [--debug]
|
||||||
|
always_run: true
|
||||||
|
pass_filenames: false
|
||||||
|
- repo: https://github.com/shellcheck-py/shellcheck-py
|
||||||
|
rev: v0.8.0.4
|
||||||
|
hooks:
|
||||||
|
- id: shellcheck
|
||||||
|
name: Check shell scripts with shellcheck
|
||||||
|
files: ^.*\.(sh|bash|ksh)$
|
||||||
|
types: []
|
||||||
|
- repo: https://github.com/adrienverge/yamllint
|
||||||
|
rev: v1.26.3
|
||||||
|
hooks:
|
||||||
|
- id: yamllint
|
||||||
|
name: Check YAML syntax with yamllint
|
||||||
|
args: [--strict, '.']
|
||||||
|
always_run: true
|
||||||
|
pass_filenames: false
|
||||||
|
- repo: https://github.com/warpnet/salt-lint
|
||||||
|
rev: v0.8.0
|
||||||
|
hooks:
|
||||||
|
- id: salt-lint
|
||||||
|
name: Check Salt files using salt-lint
|
||||||
|
files: ^.*\.(sls|jinja|j2|tmpl|tst)$
|
||||||
|
- repo: https://github.com/myint/rstcheck
|
||||||
|
rev: 3f929574
|
||||||
|
hooks:
|
||||||
|
- id: rstcheck
|
||||||
|
name: Check reST files using rstcheck
|
||||||
|
exclude: 'docs/CHANGELOG.rst'
|
||||||
|
- repo: https://github.com/saltstack-formulas/mirrors-rst-lint
|
||||||
|
rev: v1.3.2
|
||||||
|
hooks:
|
||||||
|
- id: rst-lint
|
||||||
|
name: Check reST files using rst-lint
|
||||||
|
exclude: |
|
||||||
|
(?x)^(
|
||||||
|
docs/CHANGELOG.rst|
|
||||||
|
docs/TOFS_pattern.rst|
|
||||||
|
)$
|
||||||
|
additional_dependencies: [pygments==2.9.0]
|
4
.rstcheck.cfg
Normal file
4
.rstcheck.cfg
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
[rstcheck]
|
||||||
|
report=info
|
||||||
|
ignore_language=rst
|
||||||
|
ignore_messages=(Duplicate (ex|im)plicit target.*|Hyperlink target ".*" is not referenced\.$)
|
23
.rubocop.yml
Normal file
23
.rubocop.yml
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# vim: ft=yaml
|
||||||
|
---
|
||||||
|
# General overrides used across formulas in the org
|
||||||
|
Layout/LineLength:
|
||||||
|
# Increase from default of `80`
|
||||||
|
# Based on https://github.com/PyCQA/flake8-bugbear#opinionated-warnings (`B950`)
|
||||||
|
Max: 88
|
||||||
|
Metrics/BlockLength:
|
||||||
|
IgnoredMethods:
|
||||||
|
- control
|
||||||
|
- describe
|
||||||
|
# Increase from default of `25`
|
||||||
|
Max: 30
|
||||||
|
Security/YAMLLoad:
|
||||||
|
Exclude:
|
||||||
|
- test/integration/**/_mapdata.rb
|
||||||
|
|
||||||
|
# General settings across all cops in this formula
|
||||||
|
AllCops:
|
||||||
|
NewCops: enable
|
||||||
|
|
||||||
|
# Any offenses that should be fixed, e.g. collected via. `rubocop --auto-gen-config`
|
14
.salt-lint
Normal file
14
.salt-lint
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# vim: ft=yaml
|
||||||
|
---
|
||||||
|
exclude_paths: []
|
||||||
|
rules: {}
|
||||||
|
skip_list:
|
||||||
|
# Using `salt-lint` for linting other files as well, such as Jinja macros/templates
|
||||||
|
- 205 # Use ".sls" as a Salt State file extension
|
||||||
|
# Skipping `207` and `208` because `210` is sufficient, at least for the time-being
|
||||||
|
# I.e. Allows 3-digit unquoted codes to still be used, such as `644` and `755`
|
||||||
|
- 207 # File modes should always be encapsulated in quotation marks
|
||||||
|
- 208 # File modes should always contain a leading zero
|
||||||
|
tags: []
|
||||||
|
verbosity: 1
|
221
.travis.yml
221
.travis.yml
@ -1,20 +1,30 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# vim: ft=yaml
|
# vim: ft=yaml
|
||||||
---
|
---
|
||||||
stages:
|
################################################################################
|
||||||
- test
|
# NOTE: This file is UNMAINTAINED; it is provided for references purposes only.
|
||||||
- lint
|
# No guarantees are tendered that this structure will work after 2020.
|
||||||
- name: release
|
################################################################################
|
||||||
if: branch = master AND type != pull_request
|
# * https://en.wikipedia.org/wiki/Travis_CI:
|
||||||
|
# - "... free open-source plans were removed in [sic] the end of 2020"
|
||||||
|
# - https://blog.travis-ci.com/2020-11-02-travis-ci-new-billing
|
||||||
|
# - https://ropensci.org/technotes/2020/11/19/moving-away-travis/
|
||||||
|
################################################################################
|
||||||
|
## Machine config
|
||||||
|
os: 'linux'
|
||||||
|
arch: 'amd64'
|
||||||
|
dist: 'bionic'
|
||||||
|
version: '~> 1.0'
|
||||||
|
|
||||||
sudo: required
|
## Language and cache config
|
||||||
cache: bundler
|
language: 'ruby'
|
||||||
language: ruby
|
cache: 'bundler'
|
||||||
dist: xenial
|
|
||||||
|
|
||||||
|
## Services config
|
||||||
services:
|
services:
|
||||||
- docker
|
- docker
|
||||||
|
|
||||||
|
## Addons config
|
||||||
# yamllint disable rule:indentation
|
# yamllint disable rule:indentation
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
@ -22,56 +32,137 @@ addons:
|
|||||||
- ipvsadm
|
- ipvsadm
|
||||||
# yamllint enable rule:indentation
|
# yamllint enable rule:indentation
|
||||||
|
|
||||||
# Make sure the instances listed below match up with
|
## Script to run for the test stage
|
||||||
# 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:
|
script:
|
||||||
- sudo modprobe ip_vs
|
- sudo modprobe ip_vs
|
||||||
- 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:
|
jobs:
|
||||||
include:
|
include:
|
||||||
# Define the `lint` stage (runs `yamllint` and `commitlint`)
|
## Define the test stage that runs the linters (and testing matrix, if applicable)
|
||||||
- stage: lint
|
|
||||||
language: node_js
|
# Run all of the linters in a single job
|
||||||
node_js: lts/*
|
- language: 'node_js'
|
||||||
before_install: skip
|
node_js: 'lts/*'
|
||||||
|
env: 'Lint'
|
||||||
|
name: 'Lint: salt-lint, yamllint, rubocop, shellcheck & commitlint'
|
||||||
|
before_install: 'skip'
|
||||||
script:
|
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`
|
# Install and run `yamllint`
|
||||||
- pip install --user yamllint
|
# Need at least `v1.17.0` for the `yaml-files` setting
|
||||||
# yamllint disable-line rule:line-length
|
- pip install --user yamllint>=1.17.0
|
||||||
- yamllint -s . .yamllint pillar.example
|
- yamllint -s .
|
||||||
|
# Install and run `rubocop`
|
||||||
|
- gem install rubocop
|
||||||
|
- rubocop -d
|
||||||
|
# Run `shellcheck` (already pre-installed in Travis)
|
||||||
|
- shellcheck --version
|
||||||
|
- git ls-files -- '*.sh' '*.bash' '*.ksh'
|
||||||
|
| xargs shellcheck
|
||||||
# Install and run `commitlint`
|
# Install and run `commitlint`
|
||||||
- npm install @commitlint/config-conventional -D
|
- npm i -D @commitlint/config-conventional
|
||||||
- npm install @commitlint/travis-cli -D
|
@commitlint/travis-cli
|
||||||
- commitlint-travis
|
- commitlint-travis
|
||||||
# Define the release stage that runs `semantic-release`
|
|
||||||
- stage: release
|
# Run `pre-commit` linters in a single job
|
||||||
language: node_js
|
- language: 'python'
|
||||||
node_js: lts/*
|
env: 'Lint_pre-commit'
|
||||||
before_install: skip
|
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'
|
||||||
script:
|
script:
|
||||||
# Update `AUTHORS.md`
|
# Update `AUTHORS.md`
|
||||||
- export MAINTAINER_TOKEN=${GH_TOKEN}
|
- export MAINTAINER_TOKEN=${GH_TOKEN}
|
||||||
@ -79,12 +170,26 @@ jobs:
|
|||||||
- maintainer contributor
|
- maintainer contributor
|
||||||
|
|
||||||
# Install all dependencies required for `semantic-release`
|
# Install all dependencies required for `semantic-release`
|
||||||
- npm install @semantic-release/changelog@3 -D
|
- npm i -D @semantic-release/changelog@3
|
||||||
- npm install @semantic-release/exec@3 -D
|
@semantic-release/exec@3
|
||||||
- npm install @semantic-release/git@7 -D
|
@semantic-release/git@7
|
||||||
deploy:
|
deploy:
|
||||||
provider: script
|
provider: 'script'
|
||||||
skip_cleanup: true
|
# Opt-in to `dpl v2` to complete the Travis build config validation (beta)
|
||||||
script:
|
# * https://docs.travis-ci.com/user/build-config-validation
|
||||||
# Run `semantic-release`
|
# Deprecated `skip_cleanup` can now be avoided, `cleanup: false` is by default
|
||||||
- npx semantic-release@15
|
edge: true
|
||||||
|
# Run `semantic-release`
|
||||||
|
script: 'npx semantic-release@15.14'
|
||||||
|
|
||||||
|
# Notification options: `always`, `never` or `change`
|
||||||
|
notifications:
|
||||||
|
webhooks:
|
||||||
|
if: 'repo = saltstack-formulas/keepalived-formula'
|
||||||
|
urls:
|
||||||
|
- https://saltstack-formulas.zulipchat.com/api/v1/external/travis?api_key=HsIq3o5QmLxdnVCKF9is0FUIpkpAY79P&stream=CI&topic=saltstack-formulas%2Fkeepalived-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
|
||||||
|
32
.yamllint
32
.yamllint
@ -2,15 +2,43 @@
|
|||||||
# vim: ft=yaml
|
# vim: ft=yaml
|
||||||
---
|
---
|
||||||
# Extend the `default` configuration provided by `yamllint`
|
# Extend the `default` configuration provided by `yamllint`
|
||||||
extends: default
|
extends: 'default'
|
||||||
|
|
||||||
# Files to ignore completely
|
# Files to ignore completely
|
||||||
# 1. All YAML files under directory `node_modules/`, introduced during the Travis run
|
# 1. All YAML files under directory `.bundle/`, introduced if gems are installed locally
|
||||||
|
# 2. All YAML files under directory `.cache/`, introduced during the CI run
|
||||||
|
# 3. All YAML files under directory `.git/`
|
||||||
|
# 4. All YAML files under directory `node_modules/`, introduced during the CI run
|
||||||
|
# 5. Any SLS files under directory `test/`, which are actually state files
|
||||||
|
# 6. Any YAML files under directory `.kitchen/`, introduced during local testing
|
||||||
|
# 7. `kitchen.vagrant.yml`, which contains Embedded Ruby (ERB) template syntax
|
||||||
ignore: |
|
ignore: |
|
||||||
|
.bundle/
|
||||||
|
.cache/
|
||||||
|
.git/
|
||||||
node_modules/
|
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:
|
rules:
|
||||||
|
empty-values:
|
||||||
|
forbid-in-block-mappings: true
|
||||||
|
forbid-in-flow-mappings: true
|
||||||
line-length:
|
line-length:
|
||||||
# Increase from default of `80`
|
# Increase from default of `80`
|
||||||
# Based on https://github.com/PyCQA/flake8-bugbear#opinionated-warnings (`B950`)
|
# Based on https://github.com/PyCQA/flake8-bugbear#opinionated-warnings (`B950`)
|
||||||
max: 88
|
max: 88
|
||||||
|
octal-values:
|
||||||
|
forbid-implicit-octal: true
|
||||||
|
forbid-explicit-octal: true
|
||||||
|
32
AUTHORS.md
32
AUTHORS.md
@ -4,20 +4,24 @@ This list is sorted by the number of commits per contributor in _descending_ ord
|
|||||||
|
|
||||||
Avatar|Contributor|Contributions
|
Avatar|Contributor|Contributions
|
||||||
:-:|---|:-:
|
:-:|---|:-:
|
||||||
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/825762?v=4' width='36' height='36' alt='@jebas'>|[@jebas](https://github.com/jebas)|22
|
<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)|82
|
||||||
<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)|12
|
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/825762?v=4' width='36' height='36' alt='@jebas'>|[@jebas](https://github.com/jebas)|22
|
||||||
<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)|8
|
<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)|12
|
||||||
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/3433835?v=4' width='36' height='36' alt='@n-rodriguez'>|[@n-rodriguez](https://github.com/n-rodriguez)|5
|
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/3433835?v=4' width='36' height='36' alt='@n-rodriguez'>|[@n-rodriguez](https://github.com/n-rodriguez)|7
|
||||||
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/4488681?v=4' width='36' height='36' alt='@frots'>|[@frots](https://github.com/frots)|4
|
<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)|7
|
||||||
<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)|3
|
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/807283?v=4' width='36' height='36' alt='@hatifnatt'>|[@hatifnatt](https://github.com/hatifnatt)|4
|
||||||
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/91293?v=4' width='36' height='36' alt='@whiteinge'>|[@whiteinge](https://github.com/whiteinge)|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://avatars1.githubusercontent.com/u/762280?v=4' width='36' height='36' alt='@asenci'>|[@asenci](https://github.com/asenci)|1
|
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/91293?v=4' width='36' height='36' alt='@whiteinge'>|[@whiteinge](https://github.com/whiteinge)|3
|
||||||
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/1484101?v=4' width='36' height='36' alt='@dglloyd'>|[@dglloyd](https://github.com/dglloyd)|1
|
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1920311?v=4' width='36' height='36' alt='@ricardoklein'>|[@ricardoklein](https://github.com/ricardoklein)|2
|
||||||
<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/5655231?v=4' width='36' height='36' alt='@kpostrup'>|[@kpostrup](https://github.com/kpostrup)|1
|
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/762280?v=4' width='36' height='36' alt='@asenci'>|[@asenci](https://github.com/asenci)|1
|
||||||
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/14904864?v=4' width='36' height='36' alt='@mpawlack'>|[@mpawlack](https://github.com/mpawlack)|1
|
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1484101?v=4' width='36' height='36' alt='@dglloyd'>|[@dglloyd](https://github.com/dglloyd)|1
|
||||||
<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/48949?v=4' width='36' height='36' alt='@tampakrap'>|[@tampakrap](https://github.com/tampakrap)|1
|
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1233212?v=4' width='36' height='36' alt='@baby-gnu'>|[@baby-gnu](https://github.com/baby-gnu)|1
|
||||||
<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/1142066?v=4' width='36' height='36' alt='@bigbosst'>|[@bigbosst](https://github.com/bigbosst)|1
|
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/45817749?v=4' width='36' height='36' alt='@danrodrig'>|[@danrodrig](https://github.com/danrodrig)|1
|
||||||
|
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/5655231?v=4' width='36' height='36' alt='@kpostrup'>|[@kpostrup](https://github.com/kpostrup)|1
|
||||||
|
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/14904864?v=4' width='36' height='36' alt='@mpawlack'>|[@mpawlack](https://github.com/mpawlack)|1
|
||||||
|
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/48949?v=4' width='36' height='36' alt='@tampakrap'>|[@tampakrap](https://github.com/tampakrap)|1
|
||||||
|
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1142066?v=4' width='36' height='36' alt='@bigbosst'>|[@bigbosst](https://github.com/bigbosst)|1
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
Auto-generated by a [forked version](https://github.com/myii/maintainer) of [gaocegege/maintainer](https://github.com/gaocegege/maintainer) on 2019-08-25.
|
Auto-generated by a [forked version](https://github.com/myii/maintainer) of [gaocegege/maintainer](https://github.com/gaocegege/maintainer) on 2021-06-04.
|
||||||
|
137
CHANGELOG.md
137
CHANGELOG.md
@ -1,5 +1,142 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## [0.6.1](https://github.com/saltstack-formulas/keepalived-formula/compare/v0.6.0...v0.6.1) (2021-06-04)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **osfamilymap:** add package for Gentoo ([f07212d](https://github.com/saltstack-formulas/keepalived-formula/commit/f07212dfbb3256170f2982145b6bed31af42527a))
|
||||||
|
* **service:** service restart handling with watch requisite ([1ae8918](https://github.com/saltstack-formulas/keepalived-formula/commit/1ae8918f1efee2764fbfe5fd0ba69993d81fce58))
|
||||||
|
|
||||||
|
|
||||||
|
### Continuous Integration
|
||||||
|
|
||||||
|
* add `arch-master` to matrix and update `.travis.yml` [skip ci] ([fbc97db](https://github.com/saltstack-formulas/keepalived-formula/commit/fbc97db9404b0b8d0397eb7e4e84d8465c30be22))
|
||||||
|
* **commitlint:** ensure `upstream/master` uses main repo URL [skip ci] ([7bc7b0d](https://github.com/saltstack-formulas/keepalived-formula/commit/7bc7b0d002ae3932f9f8fc4b394ee9e8ab383129))
|
||||||
|
* **gemfile+lock:** use `ssf` customised `kitchen-docker` repo [skip ci] ([5eb060c](https://github.com/saltstack-formulas/keepalived-formula/commit/5eb060cde7db66ec5f3ce8ab7f636f69e6cbdc30))
|
||||||
|
* **gitlab-ci:** add `rubocop` linter (with `allow_failure`) [skip ci] ([b4ec26c](https://github.com/saltstack-formulas/keepalived-formula/commit/b4ec26cffb829c2dcea071105c8e2f722ff37aa9))
|
||||||
|
* **kitchen+ci:** use latest pre-salted images (after CVE) [skip ci] ([d8bce5f](https://github.com/saltstack-formulas/keepalived-formula/commit/d8bce5ff94610fbcb4ee68e74eda49cbaf2cf534))
|
||||||
|
* **kitchen+gitlab:** adjust matrix to add `3003` [skip ci] ([7732d92](https://github.com/saltstack-formulas/keepalived-formula/commit/7732d9245776673ec7b193ebf92ef5b6a3e08b1c))
|
||||||
|
* **kitchen+gitlab-ci:** use latest pre-salted images [skip ci] ([bbb13d1](https://github.com/saltstack-formulas/keepalived-formula/commit/bbb13d1b18adf8991d67b84c418cece78db1eb0b))
|
||||||
|
* **pre-commit:** update hook for `rubocop` [skip ci] ([afb12f1](https://github.com/saltstack-formulas/keepalived-formula/commit/afb12f1fa82bf44ec723b34a5d8f22d2242af197))
|
||||||
|
|
||||||
|
|
||||||
|
### Tests
|
||||||
|
|
||||||
|
* standardise use of `share` suite & `_mapdata` state [skip ci] ([89986bf](https://github.com/saltstack-formulas/keepalived-formula/commit/89986bfe5ff40cebc69a1edc3e9ad1a4132543e6))
|
||||||
|
|
||||||
|
# [0.6.0](https://github.com/saltstack-formulas/keepalived-formula/compare/v0.5.1...v0.6.0) (2020-12-16)
|
||||||
|
|
||||||
|
|
||||||
|
### Continuous Integration
|
||||||
|
|
||||||
|
* **gemfile.lock:** add to repo with updated `Gemfile` [skip ci] ([eebb7e0](https://github.com/saltstack-formulas/keepalived-formula/commit/eebb7e0ea6b09bf2e9f4b53924842933f1c94fff))
|
||||||
|
* **gitlab-ci:** use GitLab CI as Travis CI replacement ([15e3cdb](https://github.com/saltstack-formulas/keepalived-formula/commit/15e3cdb6a2318f5e9bcb47c885162079013dcaf6))
|
||||||
|
* **kitchen:** use `saltimages` Docker Hub where available [skip ci] ([02347ad](https://github.com/saltstack-formulas/keepalived-formula/commit/02347adaac42522fb27bb50dc0211703abfcf7e5))
|
||||||
|
* **kitchen+travis:** remove `master-py2-arch-base-latest` [skip ci] ([161c6a6](https://github.com/saltstack-formulas/keepalived-formula/commit/161c6a615602ec14923e3bfaa05577de3a0adbac))
|
||||||
|
* **pre-commit:** add to formula [skip ci] ([6d36686](https://github.com/saltstack-formulas/keepalived-formula/commit/6d366861bf53960cb0a6adbee14a06232aaee67e))
|
||||||
|
* **pre-commit:** enable/disable `rstcheck` as relevant [skip ci] ([ec4fa7b](https://github.com/saltstack-formulas/keepalived-formula/commit/ec4fa7bc11a1bf050a127cb43b59334d70e04902))
|
||||||
|
* **pre-commit:** finalise `rstcheck` configuration [skip ci] ([635902d](https://github.com/saltstack-formulas/keepalived-formula/commit/635902dd4d2eb0e4e003a314520eca4ab9acd75e))
|
||||||
|
* **travis:** add notifications => zulip [skip ci] ([3ae2959](https://github.com/saltstack-formulas/keepalived-formula/commit/3ae2959f1305a6da1120f5c8e1cbcc7fd7422d70))
|
||||||
|
* **workflows/commitlint:** add to repo [skip ci] ([80bdb6c](https://github.com/saltstack-formulas/keepalived-formula/commit/80bdb6cac4f381441975df7765dab6c0cb690975))
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **config:** add support for switch type parameters ([20d67c1](https://github.com/saltstack-formulas/keepalived-formula/commit/20d67c13a17377ef59df9fcd0970354d90aec772))
|
||||||
|
* **scripts:** deploy helper scripts ([5fc37fa](https://github.com/saltstack-formulas/keepalived-formula/commit/5fc37fa6fb319ef8c718b1e8e4979bce77282021))
|
||||||
|
|
||||||
|
|
||||||
|
### Styles
|
||||||
|
|
||||||
|
* **libtofs.jinja:** use Black-inspired Jinja formatting [skip ci] ([16d6742](https://github.com/saltstack-formulas/keepalived-formula/commit/16d674294900317db54e8133a35a5871553d4afb))
|
||||||
|
|
||||||
|
## [0.5.1](https://github.com/saltstack-formulas/keepalived-formula/compare/v0.5.0...v0.5.1) (2020-04-07)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **service:** restart service if config changes ([0490489](https://github.com/saltstack-formulas/keepalived-formula/commit/0490489614ef1374dadce88c734b8dadfe701f5f)), closes [#37](https://github.com/saltstack-formulas/keepalived-formula/issues/37)
|
||||||
|
|
||||||
|
# [0.5.0](https://github.com/saltstack-formulas/keepalived-formula/compare/v0.4.5...v0.5.0) (2020-04-06)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **libtofs:** “files_switch” mess up the variable exported by “map.jinja” [skip ci] ([e01cd28](https://github.com/saltstack-formulas/keepalived-formula/commit/e01cd28115d1e0c282dd6d8f68cdf8c514abbe16))
|
||||||
|
|
||||||
|
|
||||||
|
### Continuous Integration
|
||||||
|
|
||||||
|
* **kitchen:** avoid using bootstrap for `master` instances [skip ci] ([05a0959](https://github.com/saltstack-formulas/keepalived-formula/commit/05a095954d5195d28af6c8b467ef28eb9e1b18d0))
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **vrrp_sync_group:** added option for vrrp_sync_group ([45e3261](https://github.com/saltstack-formulas/keepalived-formula/commit/45e3261e53b42e611d2d2ec92135bf554f6500f8))
|
||||||
|
|
||||||
|
## [0.4.5](https://github.com/saltstack-formulas/keepalived-formula/compare/v0.4.4...v0.4.5) (2020-01-27)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **keepalived.conf.tmpl.jinja:** fix `has no attribute` error ([4391459](https://github.com/saltstack-formulas/keepalived-formula/commit/4391459df8cabb4818e54f54b92d5ca067671956)), closes [/freenode.logbot.info/saltstack-formulas/20200122#c3126298-c3126299](https://github.com//freenode.logbot.info/saltstack-formulas/20200122/issues/c3126298-c3126299)
|
||||||
|
* **release.config.js:** use full commit hash in commit link [skip ci] ([e9f7b11](https://github.com/saltstack-formulas/keepalived-formula/commit/e9f7b11db30e370d37059e599f35130e1137dd0a))
|
||||||
|
|
||||||
|
|
||||||
|
### Continuous Integration
|
||||||
|
|
||||||
|
* **gemfile:** restrict `train` gem version until upstream fix [skip ci] ([a1a51d5](https://github.com/saltstack-formulas/keepalived-formula/commit/a1a51d58421ed65f56703a5b011178fc5122e26f))
|
||||||
|
* **kitchen:** use `debian-10-master-py3` instead of `develop` [skip ci] ([0bb4271](https://github.com/saltstack-formulas/keepalived-formula/commit/0bb4271c89b2a64ae536e08047eb835c121dac90))
|
||||||
|
* **kitchen:** use `develop` image until `master` is ready (`amazonlinux`) [skip ci] ([2758e8e](https://github.com/saltstack-formulas/keepalived-formula/commit/2758e8ebf360be54682ee09b59a5f2767f721bbd))
|
||||||
|
* **kitchen+travis:** upgrade matrix after `2019.2.2` release [skip ci] ([e638158](https://github.com/saltstack-formulas/keepalived-formula/commit/e6381581fad1568e7f21f34776ca46a6cd137d36))
|
||||||
|
* **travis:** apply changes from build config validation [skip ci] ([4f492da](https://github.com/saltstack-formulas/keepalived-formula/commit/4f492dafff1da17a180e63181ab5c509e65cb189))
|
||||||
|
* **travis:** opt-in to `dpl v2` to complete build config validation [skip ci] ([cc7542a](https://github.com/saltstack-formulas/keepalived-formula/commit/cc7542a93f03dc8bedb5bb7ac54c2bf17d30cd02))
|
||||||
|
* **travis:** quote pathspecs used with `git ls-files` [skip ci] ([5e42eaa](https://github.com/saltstack-formulas/keepalived-formula/commit/5e42eaaa56f45a1b4c2f60fa9087f7006c865bcc))
|
||||||
|
* **travis:** run `shellcheck` during lint job [skip ci] ([47b3bce](https://github.com/saltstack-formulas/keepalived-formula/commit/47b3bce96b50f5059db0c7011497ca0a0406bcf8))
|
||||||
|
* **travis:** update `salt-lint` config for `v0.0.10` [skip ci] ([4d40216](https://github.com/saltstack-formulas/keepalived-formula/commit/4d4021675480cb44e6084a5b91ec5c9963ce831f))
|
||||||
|
* **travis:** use `major.minor` for `semantic-release` version [skip ci] ([3e9bc91](https://github.com/saltstack-formulas/keepalived-formula/commit/3e9bc91558ade2614f8de256092bfad8179feb4e))
|
||||||
|
* **travis:** use build config validation (beta) [skip ci] ([2d42d93](https://github.com/saltstack-formulas/keepalived-formula/commit/2d42d932463df75931a721ab9c7f3dbe6a584767))
|
||||||
|
|
||||||
|
|
||||||
|
### Documentation
|
||||||
|
|
||||||
|
* **contributing:** remove to use org-level file instead [skip ci] ([603176e](https://github.com/saltstack-formulas/keepalived-formula/commit/603176eec75d8602944904e2c389d483d8d34a52))
|
||||||
|
* **readme:** update link to `CONTRIBUTING` [skip ci] ([01df0d0](https://github.com/saltstack-formulas/keepalived-formula/commit/01df0d0097457cc28fbde9fd5a542848c37804f2))
|
||||||
|
|
||||||
|
|
||||||
|
### Performance Improvements
|
||||||
|
|
||||||
|
* **travis:** improve `salt-lint` invocation [skip ci] ([45a87c6](https://github.com/saltstack-formulas/keepalived-formula/commit/45a87c67fd28e8f78a887a0a7453dd7d7c9b43d7))
|
||||||
|
|
||||||
|
## [0.4.4](https://github.com/saltstack-formulas/keepalived-formula/compare/v0.4.3...v0.4.4) (2019-10-12)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **rubocop:** add fixes using `rubocop --safe-auto-correct` ([](https://github.com/saltstack-formulas/keepalived-formula/commit/ce52e09))
|
||||||
|
|
||||||
|
|
||||||
|
### Continuous Integration
|
||||||
|
|
||||||
|
* **kitchen:** change `log_level` to `debug` instead of `info` ([](https://github.com/saltstack-formulas/keepalived-formula/commit/676b623))
|
||||||
|
* **kitchen:** install required packages to bootstrapped `opensuse` [skip ci] ([](https://github.com/saltstack-formulas/keepalived-formula/commit/eaaaf9e))
|
||||||
|
* **kitchen:** use bootstrapped `opensuse` images until `2019.2.2` [skip ci] ([](https://github.com/saltstack-formulas/keepalived-formula/commit/3419a72))
|
||||||
|
* **kitchen+travis:** replace EOL pre-salted images ([](https://github.com/saltstack-formulas/keepalived-formula/commit/2de0ca2))
|
||||||
|
* **platform:** add `arch-base-latest` ([](https://github.com/saltstack-formulas/keepalived-formula/commit/39f1205))
|
||||||
|
* merge travis matrix, add `salt-lint` & `rubocop` to `lint` job ([](https://github.com/saltstack-formulas/keepalived-formula/commit/ff62d0b))
|
||||||
|
* merge travis matrix, add `salt-lint` & `rubocop` to `lint` job ([](https://github.com/saltstack-formulas/keepalived-formula/commit/0645ea6))
|
||||||
|
* use `dist: bionic` & apply `opensuse-leap-15` SCP error workaround ([](https://github.com/saltstack-formulas/keepalived-formula/commit/2cb407f))
|
||||||
|
* **travis:** merge `rubocop` linter into main `lint` job ([](https://github.com/saltstack-formulas/keepalived-formula/commit/49892c0))
|
||||||
|
* **yamllint:** add rule `empty-values` & use new `yaml-files` setting ([](https://github.com/saltstack-formulas/keepalived-formula/commit/0b782d6))
|
||||||
|
|
||||||
|
## [0.4.3](https://github.com/saltstack-formulas/keepalived-formula/compare/v0.4.2...v0.4.3) (2019-08-27)
|
||||||
|
|
||||||
|
|
||||||
|
### Code Refactoring
|
||||||
|
|
||||||
|
* **pillar:** sync map.jinja with template-formula ([96fe445](https://github.com/saltstack-formulas/keepalived-formula/commit/96fe445))
|
||||||
|
|
||||||
## [0.4.2](https://github.com/saltstack-formulas/keepalived-formula/compare/v0.4.1...v0.4.2) (2019-08-25)
|
## [0.4.2](https://github.com/saltstack-formulas/keepalived-formula/compare/v0.4.1...v0.4.2) (2019-08-25)
|
||||||
|
|
||||||
|
|
||||||
|
54
CODEOWNERS
Normal file
54
CODEOWNERS
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
# https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners
|
||||||
|
|
||||||
|
# SECTION: Owner(s) for everything in the repo, unless a later match takes precedence
|
||||||
|
# **************************************************************************
|
||||||
|
# *** NO GLOBAL OWNER(S) SPECIFIED ***
|
||||||
|
# *** Ideally this will be defined for a healthy, well-maintained repo ***
|
||||||
|
# **************************************************************************
|
||||||
|
# FILE PATTERN OWNER(S)
|
||||||
|
* @NONE
|
||||||
|
|
||||||
|
# SECTION: Owner(s) for specific directories
|
||||||
|
# FILE PATTERN OWNER(S)
|
||||||
|
|
||||||
|
# SECTION: Owner(s) for files/directories related to `semantic-release`
|
||||||
|
# FILE PATTERN OWNER(S)
|
||||||
|
/.github/workflows/ @saltstack-formulas/ssf
|
||||||
|
/bin/install-hooks @saltstack-formulas/ssf
|
||||||
|
/bin/kitchen @saltstack-formulas/ssf
|
||||||
|
/docs/AUTHORS.rst @saltstack-formulas/ssf
|
||||||
|
/docs/CHANGELOG.rst @saltstack-formulas/ssf
|
||||||
|
/docs/TOFS_pattern.rst @saltstack-formulas/ssf
|
||||||
|
/*/_mapdata/ @saltstack-formulas/ssf
|
||||||
|
/*/libsaltcli.jinja @saltstack-formulas/ssf
|
||||||
|
/*/libtofs.jinja @saltstack-formulas/ssf
|
||||||
|
/test/integration/**/_mapdata.rb @saltstack-formulas/ssf
|
||||||
|
/test/integration/**/libraries/system.rb @saltstack-formulas/ssf
|
||||||
|
/test/integration/**/inspec.yml @saltstack-formulas/ssf
|
||||||
|
/test/integration/**/README.md @saltstack-formulas/ssf
|
||||||
|
/test/salt/pillar/top.sls @saltstack-formulas/ssf
|
||||||
|
/.gitignore @saltstack-formulas/ssf
|
||||||
|
/.cirrus.yml @saltstack-formulas/ssf
|
||||||
|
/.gitlab-ci.yml @saltstack-formulas/ssf
|
||||||
|
/.pre-commit-config.yaml @saltstack-formulas/ssf
|
||||||
|
/.rstcheck.cfg @saltstack-formulas/ssf
|
||||||
|
/.rubocop.yml @saltstack-formulas/ssf
|
||||||
|
/.salt-lint @saltstack-formulas/ssf
|
||||||
|
/.travis.yml @saltstack-formulas/ssf
|
||||||
|
/.yamllint @saltstack-formulas/ssf
|
||||||
|
/AUTHORS.md @saltstack-formulas/ssf
|
||||||
|
/CHANGELOG.md @saltstack-formulas/ssf
|
||||||
|
/CODEOWNERS @saltstack-formulas/ssf
|
||||||
|
/commitlint.config.js @saltstack-formulas/ssf
|
||||||
|
/FORMULA @saltstack-formulas/ssf
|
||||||
|
/Gemfile @saltstack-formulas/ssf
|
||||||
|
/Gemfile.lock @saltstack-formulas/ssf
|
||||||
|
/kitchen.yml @saltstack-formulas/ssf
|
||||||
|
/kitchen.vagrant.yml @saltstack-formulas/ssf
|
||||||
|
/kitchen.windows.yml @saltstack-formulas/ssf
|
||||||
|
/pre-commit_semantic-release.sh @saltstack-formulas/ssf
|
||||||
|
/release-rules.js @saltstack-formulas/ssf
|
||||||
|
/release.config.js @saltstack-formulas/ssf
|
||||||
|
|
||||||
|
# SECTION: Owner(s) for specific files
|
||||||
|
# FILE PATTERN OWNER(S)
|
2
FORMULA
2
FORMULA
@ -1,7 +1,7 @@
|
|||||||
name: keepalived
|
name: keepalived
|
||||||
os: Debian, Ubuntu, Raspbian, RedHat, Fedora, CentOS, Suse, openSUSE, Gentoo, Funtoo, Arch, Manjaro, Alpine, FreeBSD, OpenBSD, Solaris, SmartOS, MacOS
|
os: Debian, Ubuntu, Raspbian, RedHat, Fedora, CentOS, Suse, openSUSE, Gentoo, Funtoo, Arch, Manjaro, Alpine, FreeBSD, OpenBSD, Solaris, SmartOS, MacOS
|
||||||
os_family: Debian, RedHat, Suse, Gentoo, Arch, Alpine, FreeBSD, OpenBSD, Solaris, MacOS
|
os_family: Debian, RedHat, Suse, Gentoo, Arch, Alpine, FreeBSD, OpenBSD, Solaris, MacOS
|
||||||
version: 0.4.2
|
version: 0.6.1
|
||||||
release: 0
|
release: 0
|
||||||
minimum_version: 2016.11
|
minimum_version: 2016.11
|
||||||
summary: Rkhunter formula
|
summary: Rkhunter formula
|
||||||
|
21
Gemfile
21
Gemfile
@ -1,6 +1,19 @@
|
|||||||
source "https://rubygems.org"
|
# frozen_string_literal: true
|
||||||
|
|
||||||
gem 'kitchen-docker', '>= 2.9'
|
source ENV.fetch('PROXY_RUBYGEMSORG', 'https://rubygems.org')
|
||||||
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'
|
||||||
|
675
Gemfile.lock
Normal file
675
Gemfile.lock
Normal file
@ -0,0 +1,675 @@
|
|||||||
|
GIT
|
||||||
|
remote: https://gitlab.com/saltstack-formulas/infrastructure/inspec
|
||||||
|
revision: aaef842906a5666f0fc0b4f186b4dd3498f5b28c
|
||||||
|
branch: ssf
|
||||||
|
specs:
|
||||||
|
inspec (5.18.15)
|
||||||
|
cookstyle
|
||||||
|
faraday_middleware (>= 0.12.2, < 1.1)
|
||||||
|
inspec-core (= 5.18.15)
|
||||||
|
mongo (= 2.13.2)
|
||||||
|
progress_bar (~> 1.3.3)
|
||||||
|
rake
|
||||||
|
train (~> 3.10)
|
||||||
|
train-aws (~> 0.2)
|
||||||
|
train-habitat (~> 0.1)
|
||||||
|
train-winrm (~> 0.2)
|
||||||
|
inspec-core (5.18.15)
|
||||||
|
addressable (~> 2.4)
|
||||||
|
chef-telemetry (~> 1.0, >= 1.0.8)
|
||||||
|
faraday (>= 0.9.0, < 1.5)
|
||||||
|
faraday_middleware (~> 1.0)
|
||||||
|
hashie (>= 3.4, < 5.0)
|
||||||
|
license-acceptance (>= 0.2.13, < 3.0)
|
||||||
|
method_source (>= 0.8, < 2.0)
|
||||||
|
mixlib-log (~> 3.0)
|
||||||
|
multipart-post (~> 2.0)
|
||||||
|
parallel (~> 1.9)
|
||||||
|
parslet (>= 1.5, < 2.0)
|
||||||
|
pry (~> 0.13)
|
||||||
|
rspec (>= 3.9, <= 3.11)
|
||||||
|
rspec-its (~> 1.2)
|
||||||
|
rubyzip (>= 1.2.2, < 3.0)
|
||||||
|
semverse (~> 3.0)
|
||||||
|
sslshake (~> 1.2)
|
||||||
|
thor (>= 0.20, < 2.0)
|
||||||
|
tomlrb (>= 1.2, < 2.1)
|
||||||
|
train-core (~> 3.10)
|
||||||
|
tty-prompt (~> 0.17)
|
||||||
|
tty-table (~> 0.10)
|
||||||
|
|
||||||
|
GIT
|
||||||
|
remote: https://gitlab.com/saltstack-formulas/infrastructure/kitchen-docker
|
||||||
|
revision: 9a09bc1e571e25f3ccabf4725ca2048d970fff82
|
||||||
|
branch: ssf
|
||||||
|
specs:
|
||||||
|
kitchen-docker (2.12.0)
|
||||||
|
test-kitchen (>= 1.0.0)
|
||||||
|
|
||||||
|
GEM
|
||||||
|
remote: https://rubygems.org/
|
||||||
|
specs:
|
||||||
|
activesupport (7.0.3.1)
|
||||||
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||||
|
i18n (>= 1.6, < 2)
|
||||||
|
minitest (>= 5.1)
|
||||||
|
tzinfo (~> 2.0)
|
||||||
|
addressable (2.8.0)
|
||||||
|
public_suffix (>= 2.0.2, < 5.0)
|
||||||
|
ast (2.4.2)
|
||||||
|
aws-eventstream (1.2.0)
|
||||||
|
aws-partitions (1.607.0)
|
||||||
|
aws-sdk-alexaforbusiness (1.56.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-amplify (1.32.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.120.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-apigateway (1.78.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-apigatewayv2 (1.42.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-applicationautoscaling (1.51.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.112.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-athena (1.55.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-autoscaling (1.63.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.112.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-batch (1.47.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.112.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-budgets (1.50.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-cloudformation (1.70.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-cloudfront (1.65.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-cloudhsm (1.39.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-cloudhsmv2 (1.42.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-cloudtrail (1.49.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-cloudwatch (1.64.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-cloudwatchevents (1.46.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.112.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-cloudwatchlogs (1.53.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-codecommit (1.51.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-codedeploy (1.49.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-codepipeline (1.53.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-cognitoidentity (1.31.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.112.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-cognitoidentityprovider (1.53.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.112.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-configservice (1.79.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-core (3.131.2)
|
||||||
|
aws-eventstream (~> 1, >= 1.0.2)
|
||||||
|
aws-partitions (~> 1, >= 1.525.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
jmespath (~> 1, >= 1.6.1)
|
||||||
|
aws-sdk-costandusagereportservice (1.40.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-databasemigrationservice (1.53.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.112.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-dynamodb (1.75.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-ec2 (1.322.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-ecr (1.56.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-ecrpublic (1.12.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-ecs (1.100.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-efs (1.54.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-eks (1.75.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-elasticache (1.78.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-elasticbeanstalk (1.51.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-elasticloadbalancing (1.40.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-elasticloadbalancingv2 (1.78.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-elasticsearchservice (1.65.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-emr (1.53.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.121.2)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-eventbridge (1.24.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.112.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-firehose (1.48.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-glue (1.88.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.112.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-guardduty (1.58.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-iam (1.69.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-kafka (1.50.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-kinesis (1.41.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-kms (1.57.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-lambda (1.84.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-mq (1.40.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.120.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-networkfirewall (1.17.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-networkmanager (1.24.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-organizations (1.59.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.112.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-ram (1.26.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.112.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-rds (1.148.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-redshift (1.84.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-route53 (1.63.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-route53domains (1.40.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-route53resolver (1.37.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-s3 (1.114.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sdk-kms (~> 1)
|
||||||
|
aws-sigv4 (~> 1.4)
|
||||||
|
aws-sdk-s3control (1.43.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.122.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-secretsmanager (1.46.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.112.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-securityhub (1.67.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-servicecatalog (1.60.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.112.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-ses (1.41.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.120.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-shield (1.48.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-signer (1.32.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.120.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-simpledb (1.29.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.120.0)
|
||||||
|
aws-sigv2 (~> 1.0)
|
||||||
|
aws-sdk-sms (1.40.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-sns (1.53.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-sqs (1.51.1)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-ssm (1.137.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.127.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-states (1.39.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.112.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-synthetics (1.19.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.121.2)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-transfer (1.34.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.112.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sdk-waf (1.43.0)
|
||||||
|
aws-sdk-core (~> 3, >= 3.122.0)
|
||||||
|
aws-sigv4 (~> 1.1)
|
||||||
|
aws-sigv2 (1.1.0)
|
||||||
|
aws-sigv4 (1.5.0)
|
||||||
|
aws-eventstream (~> 1, >= 1.0.2)
|
||||||
|
azure_graph_rbac (0.17.2)
|
||||||
|
ms_rest_azure (~> 0.12.0)
|
||||||
|
azure_mgmt_key_vault (0.17.7)
|
||||||
|
ms_rest_azure (~> 0.12.0)
|
||||||
|
azure_mgmt_resources (0.18.2)
|
||||||
|
ms_rest_azure (~> 0.12.0)
|
||||||
|
azure_mgmt_security (0.19.0)
|
||||||
|
ms_rest_azure (~> 0.12.0)
|
||||||
|
azure_mgmt_storage (0.23.0)
|
||||||
|
ms_rest_azure (~> 0.12.0)
|
||||||
|
bcrypt_pbkdf (1.1.0)
|
||||||
|
bson (4.15.0)
|
||||||
|
builder (3.2.4)
|
||||||
|
chef-config (17.10.0)
|
||||||
|
addressable
|
||||||
|
chef-utils (= 17.10.0)
|
||||||
|
fuzzyurl
|
||||||
|
mixlib-config (>= 2.2.12, < 4.0)
|
||||||
|
mixlib-shellout (>= 2.0, < 4.0)
|
||||||
|
tomlrb (~> 1.2)
|
||||||
|
chef-telemetry (1.1.1)
|
||||||
|
chef-config
|
||||||
|
concurrent-ruby (~> 1.0)
|
||||||
|
chef-utils (17.10.0)
|
||||||
|
concurrent-ruby
|
||||||
|
coderay (1.1.3)
|
||||||
|
concurrent-ruby (1.1.10)
|
||||||
|
cookstyle (7.32.1)
|
||||||
|
rubocop (= 1.25.1)
|
||||||
|
declarative (0.0.20)
|
||||||
|
diff-lcs (1.5.0)
|
||||||
|
docker-api (2.2.0)
|
||||||
|
excon (>= 0.47.0)
|
||||||
|
multi_json
|
||||||
|
domain_name (0.5.20190701)
|
||||||
|
unf (>= 0.0.5, < 1.0.0)
|
||||||
|
ed25519 (1.3.0)
|
||||||
|
erubi (1.10.0)
|
||||||
|
excon (0.92.3)
|
||||||
|
faraday (1.4.3)
|
||||||
|
faraday-em_http (~> 1.0)
|
||||||
|
faraday-em_synchrony (~> 1.0)
|
||||||
|
faraday-excon (~> 1.1)
|
||||||
|
faraday-net_http (~> 1.0)
|
||||||
|
faraday-net_http_persistent (~> 1.1)
|
||||||
|
multipart-post (>= 1.2, < 3)
|
||||||
|
ruby2_keywords (>= 0.0.4)
|
||||||
|
faraday-cookie_jar (0.0.7)
|
||||||
|
faraday (>= 0.8.0)
|
||||||
|
http-cookie (~> 1.0.0)
|
||||||
|
faraday-em_http (1.0.0)
|
||||||
|
faraday-em_synchrony (1.0.0)
|
||||||
|
faraday-excon (1.1.0)
|
||||||
|
faraday-net_http (1.0.1)
|
||||||
|
faraday-net_http_persistent (1.2.0)
|
||||||
|
faraday_middleware (1.0.0)
|
||||||
|
faraday (~> 1.0)
|
||||||
|
ffi (1.15.5)
|
||||||
|
fuzzyurl (0.9.0)
|
||||||
|
google-api-client (0.52.0)
|
||||||
|
addressable (~> 2.5, >= 2.5.1)
|
||||||
|
googleauth (~> 0.9)
|
||||||
|
httpclient (>= 2.8.1, < 3.0)
|
||||||
|
mini_mime (~> 1.0)
|
||||||
|
representable (~> 3.0)
|
||||||
|
retriable (>= 2.0, < 4.0)
|
||||||
|
rexml
|
||||||
|
signet (~> 0.12)
|
||||||
|
googleauth (0.14.0)
|
||||||
|
faraday (>= 0.17.3, < 2.0)
|
||||||
|
jwt (>= 1.4, < 3.0)
|
||||||
|
memoist (~> 0.16)
|
||||||
|
multi_json (~> 1.11)
|
||||||
|
os (>= 0.9, < 2.0)
|
||||||
|
signet (~> 0.14)
|
||||||
|
gssapi (1.3.1)
|
||||||
|
ffi (>= 1.0.1)
|
||||||
|
gyoku (1.4.0)
|
||||||
|
builder (>= 2.1.2)
|
||||||
|
rexml (~> 3.0)
|
||||||
|
hashie (4.1.0)
|
||||||
|
highline (2.0.3)
|
||||||
|
http-cookie (1.0.5)
|
||||||
|
domain_name (~> 0.5)
|
||||||
|
httpclient (2.8.3)
|
||||||
|
i18n (1.12.0)
|
||||||
|
concurrent-ruby (~> 1.0)
|
||||||
|
inifile (3.0.0)
|
||||||
|
jmespath (1.6.1)
|
||||||
|
json (2.6.2)
|
||||||
|
jwt (2.4.1)
|
||||||
|
kitchen-inspec (2.6.1)
|
||||||
|
hashie (>= 3.4, <= 5.0)
|
||||||
|
inspec (>= 2.2.64, < 7.0)
|
||||||
|
test-kitchen (>= 2.7, < 4)
|
||||||
|
kitchen-salt (0.7.2)
|
||||||
|
hashie (>= 3.5)
|
||||||
|
test-kitchen (>= 1.4)
|
||||||
|
license-acceptance (2.1.13)
|
||||||
|
pastel (~> 0.7)
|
||||||
|
tomlrb (>= 1.2, < 3.0)
|
||||||
|
tty-box (~> 0.6)
|
||||||
|
tty-prompt (~> 0.20)
|
||||||
|
little-plugger (1.1.4)
|
||||||
|
logging (2.3.1)
|
||||||
|
little-plugger (~> 1.1)
|
||||||
|
multi_json (~> 1.14)
|
||||||
|
memoist (0.16.2)
|
||||||
|
method_source (1.0.0)
|
||||||
|
mini_mime (1.1.2)
|
||||||
|
minitest (5.16.2)
|
||||||
|
mixlib-config (3.0.27)
|
||||||
|
tomlrb
|
||||||
|
mixlib-install (3.12.19)
|
||||||
|
mixlib-shellout
|
||||||
|
mixlib-versioning
|
||||||
|
thor
|
||||||
|
mixlib-log (3.0.9)
|
||||||
|
mixlib-shellout (3.2.7)
|
||||||
|
chef-utils
|
||||||
|
mixlib-versioning (1.2.12)
|
||||||
|
mongo (2.13.2)
|
||||||
|
bson (>= 4.8.2, < 5.0.0)
|
||||||
|
ms_rest (0.7.6)
|
||||||
|
concurrent-ruby (~> 1.0)
|
||||||
|
faraday (>= 0.9, < 2.0.0)
|
||||||
|
timeliness (~> 0.3.10)
|
||||||
|
ms_rest_azure (0.12.0)
|
||||||
|
concurrent-ruby (~> 1.0)
|
||||||
|
faraday (>= 0.9, < 2.0.0)
|
||||||
|
faraday-cookie_jar (~> 0.0.6)
|
||||||
|
ms_rest (~> 0.7.6)
|
||||||
|
multi_json (1.15.0)
|
||||||
|
multipart-post (2.2.3)
|
||||||
|
net-scp (3.0.0)
|
||||||
|
net-ssh (>= 2.6.5, < 7.0.0)
|
||||||
|
net-ssh (6.1.0)
|
||||||
|
net-ssh-gateway (2.0.0)
|
||||||
|
net-ssh (>= 4.0.0)
|
||||||
|
nori (2.6.0)
|
||||||
|
options (2.3.2)
|
||||||
|
os (1.1.4)
|
||||||
|
parallel (1.22.1)
|
||||||
|
parser (3.1.2.0)
|
||||||
|
ast (~> 2.4.1)
|
||||||
|
parslet (1.8.2)
|
||||||
|
pastel (0.8.0)
|
||||||
|
tty-color (~> 0.5)
|
||||||
|
progress_bar (1.3.3)
|
||||||
|
highline (>= 1.6, < 3)
|
||||||
|
options (~> 2.3.0)
|
||||||
|
pry (0.14.1)
|
||||||
|
coderay (~> 1.1)
|
||||||
|
method_source (~> 1.0)
|
||||||
|
public_suffix (4.0.7)
|
||||||
|
rainbow (3.1.1)
|
||||||
|
rake (13.0.6)
|
||||||
|
regexp_parser (2.5.0)
|
||||||
|
representable (3.2.0)
|
||||||
|
declarative (< 0.1.0)
|
||||||
|
trailblazer-option (>= 0.1.1, < 0.2.0)
|
||||||
|
uber (< 0.2.0)
|
||||||
|
retriable (3.1.2)
|
||||||
|
rexml (3.2.5)
|
||||||
|
rspec (3.11.0)
|
||||||
|
rspec-core (~> 3.11.0)
|
||||||
|
rspec-expectations (~> 3.11.0)
|
||||||
|
rspec-mocks (~> 3.11.0)
|
||||||
|
rspec-core (3.11.0)
|
||||||
|
rspec-support (~> 3.11.0)
|
||||||
|
rspec-expectations (3.11.0)
|
||||||
|
diff-lcs (>= 1.2.0, < 2.0)
|
||||||
|
rspec-support (~> 3.11.0)
|
||||||
|
rspec-its (1.3.0)
|
||||||
|
rspec-core (>= 3.0.0)
|
||||||
|
rspec-expectations (>= 3.0.0)
|
||||||
|
rspec-mocks (3.11.1)
|
||||||
|
diff-lcs (>= 1.2.0, < 2.0)
|
||||||
|
rspec-support (~> 3.11.0)
|
||||||
|
rspec-support (3.11.0)
|
||||||
|
rubocop (1.25.1)
|
||||||
|
parallel (~> 1.10)
|
||||||
|
parser (>= 3.1.0.0)
|
||||||
|
rainbow (>= 2.2.2, < 4.0)
|
||||||
|
regexp_parser (>= 1.8, < 3.0)
|
||||||
|
rexml
|
||||||
|
rubocop-ast (>= 1.15.1, < 2.0)
|
||||||
|
ruby-progressbar (~> 1.7)
|
||||||
|
unicode-display_width (>= 1.4.0, < 3.0)
|
||||||
|
rubocop-ast (1.19.1)
|
||||||
|
parser (>= 3.1.1.0)
|
||||||
|
ruby-progressbar (1.11.0)
|
||||||
|
ruby2_keywords (0.0.5)
|
||||||
|
rubyntlm (0.6.3)
|
||||||
|
rubyzip (2.3.2)
|
||||||
|
semverse (3.0.2)
|
||||||
|
signet (0.17.0)
|
||||||
|
addressable (~> 2.8)
|
||||||
|
faraday (>= 0.17.5, < 3.a)
|
||||||
|
jwt (>= 1.5, < 3.0)
|
||||||
|
multi_json (~> 1.10)
|
||||||
|
sslshake (1.3.1)
|
||||||
|
strings (0.2.1)
|
||||||
|
strings-ansi (~> 0.2)
|
||||||
|
unicode-display_width (>= 1.5, < 3.0)
|
||||||
|
unicode_utils (~> 1.4)
|
||||||
|
strings-ansi (0.2.0)
|
||||||
|
test-kitchen (3.3.1)
|
||||||
|
bcrypt_pbkdf (~> 1.0)
|
||||||
|
chef-utils (>= 16.4.35)
|
||||||
|
ed25519 (~> 1.2)
|
||||||
|
license-acceptance (>= 1.0.11, < 3.0)
|
||||||
|
mixlib-install (~> 3.6)
|
||||||
|
mixlib-shellout (>= 1.2, < 4.0)
|
||||||
|
net-scp (>= 1.1, < 4.0)
|
||||||
|
net-ssh (>= 2.9, < 7.0)
|
||||||
|
net-ssh-gateway (>= 1.2, < 3.0)
|
||||||
|
thor (>= 0.19, < 2.0)
|
||||||
|
winrm (~> 2.0)
|
||||||
|
winrm-elevated (~> 1.0)
|
||||||
|
winrm-fs (~> 1.1)
|
||||||
|
thor (1.2.1)
|
||||||
|
timeliness (0.3.10)
|
||||||
|
tomlrb (1.3.0)
|
||||||
|
trailblazer-option (0.1.2)
|
||||||
|
train (3.10.1)
|
||||||
|
activesupport (>= 6.0.3.1)
|
||||||
|
azure_graph_rbac (~> 0.16)
|
||||||
|
azure_mgmt_key_vault (~> 0.17)
|
||||||
|
azure_mgmt_resources (~> 0.15)
|
||||||
|
azure_mgmt_security (~> 0.18)
|
||||||
|
azure_mgmt_storage (~> 0.18)
|
||||||
|
docker-api (>= 1.26, < 3.0)
|
||||||
|
google-api-client (>= 0.23.9, <= 0.52.0)
|
||||||
|
googleauth (>= 0.6.6, <= 0.14.0)
|
||||||
|
inifile (~> 3.0)
|
||||||
|
train-core (= 3.10.1)
|
||||||
|
train-winrm (~> 0.2)
|
||||||
|
train-aws (0.2.24)
|
||||||
|
aws-sdk-alexaforbusiness (~> 1.0)
|
||||||
|
aws-sdk-amplify (~> 1.32.0)
|
||||||
|
aws-sdk-apigateway (~> 1.0)
|
||||||
|
aws-sdk-apigatewayv2 (~> 1.0)
|
||||||
|
aws-sdk-applicationautoscaling (>= 1.46, < 1.52)
|
||||||
|
aws-sdk-athena (~> 1.0)
|
||||||
|
aws-sdk-autoscaling (>= 1.22, < 1.64)
|
||||||
|
aws-sdk-batch (>= 1.36, < 1.48)
|
||||||
|
aws-sdk-budgets (~> 1.0)
|
||||||
|
aws-sdk-cloudformation (~> 1.0)
|
||||||
|
aws-sdk-cloudfront (~> 1.0)
|
||||||
|
aws-sdk-cloudhsm (~> 1.0)
|
||||||
|
aws-sdk-cloudhsmv2 (~> 1.0)
|
||||||
|
aws-sdk-cloudtrail (~> 1.8)
|
||||||
|
aws-sdk-cloudwatch (~> 1.13)
|
||||||
|
aws-sdk-cloudwatchevents (>= 1.36, < 1.47)
|
||||||
|
aws-sdk-cloudwatchlogs (~> 1.13)
|
||||||
|
aws-sdk-codecommit (~> 1.0)
|
||||||
|
aws-sdk-codedeploy (~> 1.0)
|
||||||
|
aws-sdk-codepipeline (~> 1.0)
|
||||||
|
aws-sdk-cognitoidentity (>= 1.26, < 1.32)
|
||||||
|
aws-sdk-cognitoidentityprovider (>= 1.46, < 1.54)
|
||||||
|
aws-sdk-configservice (~> 1.21)
|
||||||
|
aws-sdk-core (~> 3.0)
|
||||||
|
aws-sdk-costandusagereportservice (~> 1.6)
|
||||||
|
aws-sdk-databasemigrationservice (>= 1.42, < 1.54)
|
||||||
|
aws-sdk-dynamodb (~> 1.31)
|
||||||
|
aws-sdk-ec2 (~> 1.70)
|
||||||
|
aws-sdk-ecr (~> 1.18)
|
||||||
|
aws-sdk-ecrpublic (~> 1.3)
|
||||||
|
aws-sdk-ecs (~> 1.30)
|
||||||
|
aws-sdk-efs (~> 1.0)
|
||||||
|
aws-sdk-eks (~> 1.9)
|
||||||
|
aws-sdk-elasticache (~> 1.0)
|
||||||
|
aws-sdk-elasticbeanstalk (~> 1.0)
|
||||||
|
aws-sdk-elasticloadbalancing (~> 1.8)
|
||||||
|
aws-sdk-elasticloadbalancingv2 (~> 1.0)
|
||||||
|
aws-sdk-elasticsearchservice (~> 1.0)
|
||||||
|
aws-sdk-emr (~> 1.53.0)
|
||||||
|
aws-sdk-eventbridge (~> 1.24.0)
|
||||||
|
aws-sdk-firehose (~> 1.0)
|
||||||
|
aws-sdk-glue (>= 1.71, < 1.89)
|
||||||
|
aws-sdk-guardduty (~> 1.31)
|
||||||
|
aws-sdk-iam (~> 1.13)
|
||||||
|
aws-sdk-kafka (~> 1.0)
|
||||||
|
aws-sdk-kinesis (~> 1.0)
|
||||||
|
aws-sdk-kms (~> 1.13)
|
||||||
|
aws-sdk-lambda (~> 1.0)
|
||||||
|
aws-sdk-mq (~> 1.40.0)
|
||||||
|
aws-sdk-networkfirewall (>= 1.6.0)
|
||||||
|
aws-sdk-networkmanager (>= 1.13.0)
|
||||||
|
aws-sdk-organizations (>= 1.17, < 1.60)
|
||||||
|
aws-sdk-ram (>= 1.21, < 1.27)
|
||||||
|
aws-sdk-rds (~> 1.43)
|
||||||
|
aws-sdk-redshift (~> 1.0)
|
||||||
|
aws-sdk-route53 (~> 1.0)
|
||||||
|
aws-sdk-route53domains (~> 1.0)
|
||||||
|
aws-sdk-route53resolver (~> 1.0)
|
||||||
|
aws-sdk-s3 (~> 1.30)
|
||||||
|
aws-sdk-s3control (~> 1.43.0)
|
||||||
|
aws-sdk-secretsmanager (>= 1.42, < 1.47)
|
||||||
|
aws-sdk-securityhub (~> 1.0)
|
||||||
|
aws-sdk-servicecatalog (>= 1.48, < 1.61)
|
||||||
|
aws-sdk-ses (~> 1.41.0)
|
||||||
|
aws-sdk-shield (~> 1.30)
|
||||||
|
aws-sdk-signer (~> 1.32.0)
|
||||||
|
aws-sdk-simpledb (~> 1.29.0)
|
||||||
|
aws-sdk-sms (~> 1.0)
|
||||||
|
aws-sdk-sns (~> 1.9)
|
||||||
|
aws-sdk-sqs (~> 1.10)
|
||||||
|
aws-sdk-ssm (~> 1.0)
|
||||||
|
aws-sdk-states (>= 1.35, < 1.40)
|
||||||
|
aws-sdk-synthetics (~> 1.19.0)
|
||||||
|
aws-sdk-transfer (>= 1.26, < 1.35)
|
||||||
|
aws-sdk-waf (~> 1.43.0)
|
||||||
|
train-core (3.10.1)
|
||||||
|
addressable (~> 2.5)
|
||||||
|
ffi (!= 1.13.0)
|
||||||
|
json (>= 1.8, < 3.0)
|
||||||
|
mixlib-shellout (>= 2.0, < 4.0)
|
||||||
|
net-scp (>= 1.2, < 4.0)
|
||||||
|
net-ssh (>= 2.9, < 7.0)
|
||||||
|
train-habitat (0.2.22)
|
||||||
|
train-winrm (0.2.13)
|
||||||
|
winrm (>= 2.3.6, < 3.0)
|
||||||
|
winrm-elevated (~> 1.2.2)
|
||||||
|
winrm-fs (~> 1.0)
|
||||||
|
tty-box (0.7.0)
|
||||||
|
pastel (~> 0.8)
|
||||||
|
strings (~> 0.2.0)
|
||||||
|
tty-cursor (~> 0.7)
|
||||||
|
tty-color (0.6.0)
|
||||||
|
tty-cursor (0.7.1)
|
||||||
|
tty-prompt (0.23.1)
|
||||||
|
pastel (~> 0.8)
|
||||||
|
tty-reader (~> 0.8)
|
||||||
|
tty-reader (0.9.0)
|
||||||
|
tty-cursor (~> 0.7)
|
||||||
|
tty-screen (~> 0.8)
|
||||||
|
wisper (~> 2.0)
|
||||||
|
tty-screen (0.8.1)
|
||||||
|
tty-table (0.12.0)
|
||||||
|
pastel (~> 0.8)
|
||||||
|
strings (~> 0.2.0)
|
||||||
|
tty-screen (~> 0.8)
|
||||||
|
tzinfo (2.0.4)
|
||||||
|
concurrent-ruby (~> 1.0)
|
||||||
|
uber (0.1.0)
|
||||||
|
unf (0.1.4)
|
||||||
|
unf_ext
|
||||||
|
unf_ext (0.0.8.2)
|
||||||
|
unicode-display_width (2.2.0)
|
||||||
|
unicode_utils (1.4.0)
|
||||||
|
winrm (2.3.6)
|
||||||
|
builder (>= 2.1.2)
|
||||||
|
erubi (~> 1.8)
|
||||||
|
gssapi (~> 1.2)
|
||||||
|
gyoku (~> 1.0)
|
||||||
|
httpclient (~> 2.2, >= 2.2.0.2)
|
||||||
|
logging (>= 1.6.1, < 3.0)
|
||||||
|
nori (~> 2.0)
|
||||||
|
rubyntlm (~> 0.6.0, >= 0.6.3)
|
||||||
|
winrm-elevated (1.2.3)
|
||||||
|
erubi (~> 1.8)
|
||||||
|
winrm (~> 2.0)
|
||||||
|
winrm-fs (~> 1.0)
|
||||||
|
winrm-fs (1.3.5)
|
||||||
|
erubi (~> 1.8)
|
||||||
|
logging (>= 1.6.1, < 3.0)
|
||||||
|
rubyzip (~> 2.0)
|
||||||
|
winrm (~> 2.0)
|
||||||
|
wisper (2.0.1)
|
||||||
|
|
||||||
|
PLATFORMS
|
||||||
|
ruby
|
||||||
|
|
||||||
|
DEPENDENCIES
|
||||||
|
inspec!
|
||||||
|
kitchen-docker!
|
||||||
|
kitchen-inspec (>= 2.5.0)
|
||||||
|
kitchen-salt (>= 0.7.2)
|
||||||
|
|
||||||
|
BUNDLED WITH
|
||||||
|
2.1.2
|
16
bin/install-hooks
Executable file
16
bin/install-hooks
Executable file
@ -0,0 +1,16 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
set -o nounset # Treat unset variables as an error and immediately exit
|
||||||
|
set -o errexit # If a command fails exit the whole script
|
||||||
|
|
||||||
|
if [ "${DEBUG:-false}" = "true" ]; then
|
||||||
|
set -x # Run the entire script in debug mode
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! command -v pre-commit >/dev/null 2>&1; then
|
||||||
|
echo "pre-commit not found: please install or check your PATH" >&2
|
||||||
|
echo "See https://pre-commit.com/#installation" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
pre-commit install --install-hooks
|
||||||
|
pre-commit install --hook-type commit-msg --install-hooks
|
21
bin/kitchen
21
bin/kitchen
@ -8,22 +8,25 @@
|
|||||||
# this file is here to facilitate running it.
|
# this file is here to facilitate running it.
|
||||||
#
|
#
|
||||||
|
|
||||||
require "pathname"
|
require 'pathname'
|
||||||
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
|
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile',
|
||||||
Pathname.new(__FILE__).realpath)
|
Pathname.new(__FILE__).realpath)
|
||||||
|
|
||||||
bundle_binstub = File.expand_path("../bundle", __FILE__)
|
bundle_binstub = File.expand_path('bundle', __dir__)
|
||||||
|
|
||||||
if File.file?(bundle_binstub)
|
if File.file?(bundle_binstub)
|
||||||
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
|
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
|
||||||
load(bundle_binstub)
|
load(bundle_binstub)
|
||||||
else
|
else
|
||||||
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
|
abort(
|
||||||
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
|
'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
|
||||||
end
|
end
|
||||||
|
|
||||||
require "rubygems"
|
require 'rubygems'
|
||||||
require "bundler/setup"
|
require 'bundler/setup'
|
||||||
|
|
||||||
load Gem.bin_path("test-kitchen", "kitchen")
|
load Gem.bin_path('test-kitchen', 'kitchen')
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
extends: ['@commitlint/config-conventional'],
|
extends: ['@commitlint/config-conventional'],
|
||||||
|
rules: {
|
||||||
|
'body-max-line-length': [2, 'always', 120],
|
||||||
|
'footer-max-line-length': [2, 'always', 120],
|
||||||
|
'header-max-length': [2, 'always', 72],
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
@ -13,47 +13,59 @@ This list is sorted by the number of commits per contributor in *descending* ord
|
|||||||
* - Avatar
|
* - Avatar
|
||||||
- Contributor
|
- Contributor
|
||||||
- Contributions
|
- Contributions
|
||||||
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/825762?v=4' width='36' height='36' alt='@jebas'>`
|
* - :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>`_
|
||||||
|
- 82
|
||||||
|
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/825762?v=4' width='36' height='36' alt='@jebas'>`
|
||||||
- `@jebas <https://github.com/jebas>`_
|
- `@jebas <https://github.com/jebas>`_
|
||||||
- 22
|
- 22
|
||||||
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/1396878?v=4' width='36' height='36' alt='@gravyboat'>`
|
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1396878?v=4' width='36' height='36' alt='@gravyboat'>`
|
||||||
- `@gravyboat <https://github.com/gravyboat>`_
|
- `@gravyboat <https://github.com/gravyboat>`_
|
||||||
- 12
|
- 12
|
||||||
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/10231489?v=4' width='36' height='36' alt='@myii'>`
|
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/3433835?v=4' width='36' height='36' alt='@n-rodriguez'>`
|
||||||
- `@myii <https://github.com/myii>`_
|
|
||||||
- 8
|
|
||||||
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/3433835?v=4' width='36' height='36' alt='@n-rodriguez'>`
|
|
||||||
- `@n-rodriguez <https://github.com/n-rodriguez>`_
|
- `@n-rodriguez <https://github.com/n-rodriguez>`_
|
||||||
- 5
|
- 7
|
||||||
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/4488681?v=4' width='36' height='36' alt='@frots'>`
|
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1800660?v=4' width='36' height='36' alt='@aboe76'>`
|
||||||
- `@frots <https://github.com/frots>`_
|
|
||||||
- 4
|
|
||||||
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/1800660?v=4' width='36' height='36' alt='@aboe76'>`
|
|
||||||
- `@aboe76 <https://github.com/aboe76>`_
|
- `@aboe76 <https://github.com/aboe76>`_
|
||||||
|
- 7
|
||||||
|
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/807283?v=4' width='36' height='36' alt='@hatifnatt'>`
|
||||||
|
- `@hatifnatt <https://github.com/hatifnatt>`_
|
||||||
|
- 4
|
||||||
|
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/4195158?v=4' width='36' height='36' alt='@dafyddj'>`
|
||||||
|
- `@dafyddj <https://github.com/dafyddj>`_
|
||||||
- 3
|
- 3
|
||||||
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/91293?v=4' width='36' height='36' alt='@whiteinge'>`
|
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/91293?v=4' width='36' height='36' alt='@whiteinge'>`
|
||||||
- `@whiteinge <https://github.com/whiteinge>`_
|
- `@whiteinge <https://github.com/whiteinge>`_
|
||||||
- 3
|
- 3
|
||||||
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/762280?v=4' width='36' height='36' alt='@asenci'>`
|
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1920311?v=4' width='36' height='36' alt='@ricardoklein'>`
|
||||||
|
- `@ricardoklein <https://github.com/ricardoklein>`_
|
||||||
|
- 2
|
||||||
|
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/762280?v=4' width='36' height='36' alt='@asenci'>`
|
||||||
- `@asenci <https://github.com/asenci>`_
|
- `@asenci <https://github.com/asenci>`_
|
||||||
- 1
|
- 1
|
||||||
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/1484101?v=4' width='36' height='36' alt='@dglloyd'>`
|
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1484101?v=4' width='36' height='36' alt='@dglloyd'>`
|
||||||
- `@dglloyd <https://github.com/dglloyd>`_
|
- `@dglloyd <https://github.com/dglloyd>`_
|
||||||
- 1
|
- 1
|
||||||
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/5655231?v=4' width='36' height='36' alt='@kpostrup'>`
|
* - :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/45817749?v=4' width='36' height='36' alt='@danrodrig'>`
|
||||||
|
- `@danrodrig <https://github.com/danrodrig>`_
|
||||||
|
- 1
|
||||||
|
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/5655231?v=4' width='36' height='36' alt='@kpostrup'>`
|
||||||
- `@kpostrup <https://github.com/kpostrup>`_
|
- `@kpostrup <https://github.com/kpostrup>`_
|
||||||
- 1
|
- 1
|
||||||
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/14904864?v=4' width='36' height='36' alt='@mpawlack'>`
|
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/14904864?v=4' width='36' height='36' alt='@mpawlack'>`
|
||||||
- `@mpawlack <https://github.com/mpawlack>`_
|
- `@mpawlack <https://github.com/mpawlack>`_
|
||||||
- 1
|
- 1
|
||||||
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars3.githubusercontent.com/u/48949?v=4' width='36' height='36' alt='@tampakrap'>`
|
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/48949?v=4' width='36' height='36' alt='@tampakrap'>`
|
||||||
- `@tampakrap <https://github.com/tampakrap>`_
|
- `@tampakrap <https://github.com/tampakrap>`_
|
||||||
- 1
|
- 1
|
||||||
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/1142066?v=4' width='36' height='36' alt='@bigbosst'>`
|
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1142066?v=4' width='36' height='36' alt='@bigbosst'>`
|
||||||
- `@bigbosst <https://github.com/bigbosst>`_
|
- `@bigbosst <https://github.com/bigbosst>`_
|
||||||
- 1
|
- 1
|
||||||
|
|
||||||
|
|
||||||
----
|
----
|
||||||
|
|
||||||
Auto-generated by a `forked version <https://github.com/myii/maintainer>`_ of `gaocegege/maintainer <https://github.com/gaocegege/maintainer>`_ on 2019-08-25.
|
Auto-generated by a `forked version <https://github.com/myii/maintainer>`_ of `gaocegege/maintainer <https://github.com/gaocegege/maintainer>`_ on 2021-06-04.
|
||||||
|
@ -2,6 +2,167 @@
|
|||||||
Changelog
|
Changelog
|
||||||
=========
|
=========
|
||||||
|
|
||||||
|
`0.6.1 <https://github.com/saltstack-formulas/keepalived-formula/compare/v0.6.0...v0.6.1>`_ (2021-06-04)
|
||||||
|
------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Bug Fixes
|
||||||
|
^^^^^^^^^
|
||||||
|
|
||||||
|
|
||||||
|
* **osfamilymap:** add package for Gentoo (\ `f07212d <https://github.com/saltstack-formulas/keepalived-formula/commit/f07212dfbb3256170f2982145b6bed31af42527a>`_\ )
|
||||||
|
* **service:** service restart handling with watch requisite (\ `1ae8918 <https://github.com/saltstack-formulas/keepalived-formula/commit/1ae8918f1efee2764fbfe5fd0ba69993d81fce58>`_\ )
|
||||||
|
|
||||||
|
Continuous Integration
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
|
||||||
|
* add ``arch-master`` to matrix and update ``.travis.yml`` [skip ci] (\ `fbc97db <https://github.com/saltstack-formulas/keepalived-formula/commit/fbc97db9404b0b8d0397eb7e4e84d8465c30be22>`_\ )
|
||||||
|
* **commitlint:** ensure ``upstream/master`` uses main repo URL [skip ci] (\ `7bc7b0d <https://github.com/saltstack-formulas/keepalived-formula/commit/7bc7b0d002ae3932f9f8fc4b394ee9e8ab383129>`_\ )
|
||||||
|
* **gemfile+lock:** use ``ssf`` customised ``kitchen-docker`` repo [skip ci] (\ `5eb060c <https://github.com/saltstack-formulas/keepalived-formula/commit/5eb060cde7db66ec5f3ce8ab7f636f69e6cbdc30>`_\ )
|
||||||
|
* **gitlab-ci:** add ``rubocop`` linter (with ``allow_failure``\ ) [skip ci] (\ `b4ec26c <https://github.com/saltstack-formulas/keepalived-formula/commit/b4ec26cffb829c2dcea071105c8e2f722ff37aa9>`_\ )
|
||||||
|
* **kitchen+ci:** use latest pre-salted images (after CVE) [skip ci] (\ `d8bce5f <https://github.com/saltstack-formulas/keepalived-formula/commit/d8bce5ff94610fbcb4ee68e74eda49cbaf2cf534>`_\ )
|
||||||
|
* **kitchen+gitlab:** adjust matrix to add ``3003`` [skip ci] (\ `7732d92 <https://github.com/saltstack-formulas/keepalived-formula/commit/7732d9245776673ec7b193ebf92ef5b6a3e08b1c>`_\ )
|
||||||
|
* **kitchen+gitlab-ci:** use latest pre-salted images [skip ci] (\ `bbb13d1 <https://github.com/saltstack-formulas/keepalived-formula/commit/bbb13d1b18adf8991d67b84c418cece78db1eb0b>`_\ )
|
||||||
|
* **pre-commit:** update hook for ``rubocop`` [skip ci] (\ `afb12f1 <https://github.com/saltstack-formulas/keepalived-formula/commit/afb12f1fa82bf44ec723b34a5d8f22d2242af197>`_\ )
|
||||||
|
|
||||||
|
Tests
|
||||||
|
^^^^^
|
||||||
|
|
||||||
|
|
||||||
|
* standardise use of ``share`` suite & ``_mapdata`` state [skip ci] (\ `89986bf <https://github.com/saltstack-formulas/keepalived-formula/commit/89986bfe5ff40cebc69a1edc3e9ad1a4132543e6>`_\ )
|
||||||
|
|
||||||
|
`0.6.0 <https://github.com/saltstack-formulas/keepalived-formula/compare/v0.5.1...v0.6.0>`_ (2020-12-16)
|
||||||
|
------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Continuous Integration
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
|
||||||
|
* **gemfile.lock:** add to repo with updated ``Gemfile`` [skip ci] (\ `eebb7e0 <https://github.com/saltstack-formulas/keepalived-formula/commit/eebb7e0ea6b09bf2e9f4b53924842933f1c94fff>`_\ )
|
||||||
|
* **gitlab-ci:** use GitLab CI as Travis CI replacement (\ `15e3cdb <https://github.com/saltstack-formulas/keepalived-formula/commit/15e3cdb6a2318f5e9bcb47c885162079013dcaf6>`_\ )
|
||||||
|
* **kitchen:** use ``saltimages`` Docker Hub where available [skip ci] (\ `02347ad <https://github.com/saltstack-formulas/keepalived-formula/commit/02347adaac42522fb27bb50dc0211703abfcf7e5>`_\ )
|
||||||
|
* **kitchen+travis:** remove ``master-py2-arch-base-latest`` [skip ci] (\ `161c6a6 <https://github.com/saltstack-formulas/keepalived-formula/commit/161c6a615602ec14923e3bfaa05577de3a0adbac>`_\ )
|
||||||
|
* **pre-commit:** add to formula [skip ci] (\ `6d36686 <https://github.com/saltstack-formulas/keepalived-formula/commit/6d366861bf53960cb0a6adbee14a06232aaee67e>`_\ )
|
||||||
|
* **pre-commit:** enable/disable ``rstcheck`` as relevant [skip ci] (\ `ec4fa7b <https://github.com/saltstack-formulas/keepalived-formula/commit/ec4fa7bc11a1bf050a127cb43b59334d70e04902>`_\ )
|
||||||
|
* **pre-commit:** finalise ``rstcheck`` configuration [skip ci] (\ `635902d <https://github.com/saltstack-formulas/keepalived-formula/commit/635902dd4d2eb0e4e003a314520eca4ab9acd75e>`_\ )
|
||||||
|
* **travis:** add notifications => zulip [skip ci] (\ `3ae2959 <https://github.com/saltstack-formulas/keepalived-formula/commit/3ae2959f1305a6da1120f5c8e1cbcc7fd7422d70>`_\ )
|
||||||
|
* **workflows/commitlint:** add to repo [skip ci] (\ `80bdb6c <https://github.com/saltstack-formulas/keepalived-formula/commit/80bdb6cac4f381441975df7765dab6c0cb690975>`_\ )
|
||||||
|
|
||||||
|
Features
|
||||||
|
^^^^^^^^
|
||||||
|
|
||||||
|
|
||||||
|
* **config:** add support for switch type parameters (\ `20d67c1 <https://github.com/saltstack-formulas/keepalived-formula/commit/20d67c13a17377ef59df9fcd0970354d90aec772>`_\ )
|
||||||
|
* **scripts:** deploy helper scripts (\ `5fc37fa <https://github.com/saltstack-formulas/keepalived-formula/commit/5fc37fa6fb319ef8c718b1e8e4979bce77282021>`_\ )
|
||||||
|
|
||||||
|
Styles
|
||||||
|
^^^^^^
|
||||||
|
|
||||||
|
|
||||||
|
* **libtofs.jinja:** use Black-inspired Jinja formatting [skip ci] (\ `16d6742 <https://github.com/saltstack-formulas/keepalived-formula/commit/16d674294900317db54e8133a35a5871553d4afb>`_\ )
|
||||||
|
|
||||||
|
`0.5.1 <https://github.com/saltstack-formulas/keepalived-formula/compare/v0.5.0...v0.5.1>`_ (2020-04-07)
|
||||||
|
------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Bug Fixes
|
||||||
|
^^^^^^^^^
|
||||||
|
|
||||||
|
|
||||||
|
* **service:** restart service if config changes (\ `0490489 <https://github.com/saltstack-formulas/keepalived-formula/commit/0490489614ef1374dadce88c734b8dadfe701f5f>`_\ ), closes `#37 <https://github.com/saltstack-formulas/keepalived-formula/issues/37>`_
|
||||||
|
|
||||||
|
`0.5.0 <https://github.com/saltstack-formulas/keepalived-formula/compare/v0.4.5...v0.5.0>`_ (2020-04-06)
|
||||||
|
------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Bug Fixes
|
||||||
|
^^^^^^^^^
|
||||||
|
|
||||||
|
|
||||||
|
* **libtofs:** “files_switch” mess up the variable exported by “map.jinja” [skip ci] (\ `e01cd28 <https://github.com/saltstack-formulas/keepalived-formula/commit/e01cd28115d1e0c282dd6d8f68cdf8c514abbe16>`_\ )
|
||||||
|
|
||||||
|
Continuous Integration
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
|
||||||
|
* **kitchen:** avoid using bootstrap for ``master`` instances [skip ci] (\ `05a0959 <https://github.com/saltstack-formulas/keepalived-formula/commit/05a095954d5195d28af6c8b467ef28eb9e1b18d0>`_\ )
|
||||||
|
|
||||||
|
Features
|
||||||
|
^^^^^^^^
|
||||||
|
|
||||||
|
|
||||||
|
* **vrrp_sync_group:** added option for vrrp_sync_group (\ `45e3261 <https://github.com/saltstack-formulas/keepalived-formula/commit/45e3261e53b42e611d2d2ec92135bf554f6500f8>`_\ )
|
||||||
|
|
||||||
|
`0.4.5 <https://github.com/saltstack-formulas/keepalived-formula/compare/v0.4.4...v0.4.5>`_ (2020-01-27)
|
||||||
|
------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Bug Fixes
|
||||||
|
^^^^^^^^^
|
||||||
|
|
||||||
|
|
||||||
|
* **keepalived.conf.tmpl.jinja:** fix ``has no attribute`` error (\ `4391459 <https://github.com/saltstack-formulas/keepalived-formula/commit/4391459df8cabb4818e54f54b92d5ca067671956>`_\ ), closes `/freenode.logbot.info/saltstack-formulas/20200122#c3126298-c3126299 <https://github.com//freenode.logbot.info/saltstack-formulas/20200122/issues/c3126298-c3126299>`_
|
||||||
|
* **release.config.js:** use full commit hash in commit link [skip ci] (\ `e9f7b11 <https://github.com/saltstack-formulas/keepalived-formula/commit/e9f7b11db30e370d37059e599f35130e1137dd0a>`_\ )
|
||||||
|
|
||||||
|
Continuous Integration
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
|
||||||
|
* **gemfile:** restrict ``train`` gem version until upstream fix [skip ci] (\ `a1a51d5 <https://github.com/saltstack-formulas/keepalived-formula/commit/a1a51d58421ed65f56703a5b011178fc5122e26f>`_\ )
|
||||||
|
* **kitchen:** use ``debian-10-master-py3`` instead of ``develop`` [skip ci] (\ `0bb4271 <https://github.com/saltstack-formulas/keepalived-formula/commit/0bb4271c89b2a64ae536e08047eb835c121dac90>`_\ )
|
||||||
|
* **kitchen:** use ``develop`` image until ``master`` is ready (\ ``amazonlinux``\ ) [skip ci] (\ `2758e8e <https://github.com/saltstack-formulas/keepalived-formula/commit/2758e8ebf360be54682ee09b59a5f2767f721bbd>`_\ )
|
||||||
|
* **kitchen+travis:** upgrade matrix after ``2019.2.2`` release [skip ci] (\ `e638158 <https://github.com/saltstack-formulas/keepalived-formula/commit/e6381581fad1568e7f21f34776ca46a6cd137d36>`_\ )
|
||||||
|
* **travis:** apply changes from build config validation [skip ci] (\ `4f492da <https://github.com/saltstack-formulas/keepalived-formula/commit/4f492dafff1da17a180e63181ab5c509e65cb189>`_\ )
|
||||||
|
* **travis:** opt-in to ``dpl v2`` to complete build config validation [skip ci] (\ `cc7542a <https://github.com/saltstack-formulas/keepalived-formula/commit/cc7542a93f03dc8bedb5bb7ac54c2bf17d30cd02>`_\ )
|
||||||
|
* **travis:** quote pathspecs used with ``git ls-files`` [skip ci] (\ `5e42eaa <https://github.com/saltstack-formulas/keepalived-formula/commit/5e42eaaa56f45a1b4c2f60fa9087f7006c865bcc>`_\ )
|
||||||
|
* **travis:** run ``shellcheck`` during lint job [skip ci] (\ `47b3bce <https://github.com/saltstack-formulas/keepalived-formula/commit/47b3bce96b50f5059db0c7011497ca0a0406bcf8>`_\ )
|
||||||
|
* **travis:** update ``salt-lint`` config for ``v0.0.10`` [skip ci] (\ `4d40216 <https://github.com/saltstack-formulas/keepalived-formula/commit/4d4021675480cb44e6084a5b91ec5c9963ce831f>`_\ )
|
||||||
|
* **travis:** use ``major.minor`` for ``semantic-release`` version [skip ci] (\ `3e9bc91 <https://github.com/saltstack-formulas/keepalived-formula/commit/3e9bc91558ade2614f8de256092bfad8179feb4e>`_\ )
|
||||||
|
* **travis:** use build config validation (beta) [skip ci] (\ `2d42d93 <https://github.com/saltstack-formulas/keepalived-formula/commit/2d42d932463df75931a721ab9c7f3dbe6a584767>`_\ )
|
||||||
|
|
||||||
|
Documentation
|
||||||
|
^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
|
||||||
|
* **contributing:** remove to use org-level file instead [skip ci] (\ `603176e <https://github.com/saltstack-formulas/keepalived-formula/commit/603176eec75d8602944904e2c389d483d8d34a52>`_\ )
|
||||||
|
* **readme:** update link to ``CONTRIBUTING`` [skip ci] (\ `01df0d0 <https://github.com/saltstack-formulas/keepalived-formula/commit/01df0d0097457cc28fbde9fd5a542848c37804f2>`_\ )
|
||||||
|
|
||||||
|
Performance Improvements
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
|
||||||
|
* **travis:** improve ``salt-lint`` invocation [skip ci] (\ `45a87c6 <https://github.com/saltstack-formulas/keepalived-formula/commit/45a87c67fd28e8f78a887a0a7453dd7d7c9b43d7>`_\ )
|
||||||
|
|
||||||
|
`0.4.4 <https://github.com/saltstack-formulas/keepalived-formula/compare/v0.4.3...v0.4.4>`_ (2019-10-12)
|
||||||
|
------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Bug Fixes
|
||||||
|
^^^^^^^^^
|
||||||
|
|
||||||
|
|
||||||
|
* **rubocop:** add fixes using ``rubocop --safe-auto-correct`` (\ ` <https://github.com/saltstack-formulas/keepalived-formula/commit/ce52e09>`_\ )
|
||||||
|
|
||||||
|
Continuous Integration
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
|
||||||
|
* **kitchen:** change ``log_level`` to ``debug`` instead of ``info`` (\ ` <https://github.com/saltstack-formulas/keepalived-formula/commit/676b623>`_\ )
|
||||||
|
* **kitchen:** install required packages to bootstrapped ``opensuse`` [skip ci] (\ ` <https://github.com/saltstack-formulas/keepalived-formula/commit/eaaaf9e>`_\ )
|
||||||
|
* **kitchen:** use bootstrapped ``opensuse`` images until ``2019.2.2`` [skip ci] (\ ` <https://github.com/saltstack-formulas/keepalived-formula/commit/3419a72>`_\ )
|
||||||
|
* **kitchen+travis:** replace EOL pre-salted images (\ ` <https://github.com/saltstack-formulas/keepalived-formula/commit/2de0ca2>`_\ )
|
||||||
|
* **platform:** add ``arch-base-latest`` (\ ` <https://github.com/saltstack-formulas/keepalived-formula/commit/39f1205>`_\ )
|
||||||
|
* merge travis matrix, add ``salt-lint`` & ``rubocop`` to ``lint`` job (\ ` <https://github.com/saltstack-formulas/keepalived-formula/commit/ff62d0b>`_\ )
|
||||||
|
* merge travis matrix, add ``salt-lint`` & ``rubocop`` to ``lint`` job (\ ` <https://github.com/saltstack-formulas/keepalived-formula/commit/0645ea6>`_\ )
|
||||||
|
* use ``dist: bionic`` & apply ``opensuse-leap-15`` SCP error workaround (\ ` <https://github.com/saltstack-formulas/keepalived-formula/commit/2cb407f>`_\ )
|
||||||
|
* **travis:** merge ``rubocop`` linter into main ``lint`` job (\ ` <https://github.com/saltstack-formulas/keepalived-formula/commit/49892c0>`_\ )
|
||||||
|
* **yamllint:** add rule ``empty-values`` & use new ``yaml-files`` setting (\ ` <https://github.com/saltstack-formulas/keepalived-formula/commit/0b782d6>`_\ )
|
||||||
|
|
||||||
|
`0.4.3 <https://github.com/saltstack-formulas/keepalived-formula/compare/v0.4.2...v0.4.3>`_ (2019-08-27)
|
||||||
|
------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Code Refactoring
|
||||||
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
|
||||||
|
* **pillar:** sync map.jinja with template-formula (\ `96fe445 <https://github.com/saltstack-formulas/keepalived-formula/commit/96fe445>`_\ )
|
||||||
|
|
||||||
`0.4.2 <https://github.com/saltstack-formulas/keepalived-formula/compare/v0.4.1...v0.4.2>`_ (2019-08-25)
|
`0.4.2 <https://github.com/saltstack-formulas/keepalived-formula/compare/v0.4.1...v0.4.2>`_ (2019-08-25)
|
||||||
------------------------------------------------------------------------------------------------------------
|
------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -1,159 +0,0 @@
|
|||||||
.. _contributing:
|
|
||||||
|
|
||||||
How to contribute
|
|
||||||
=================
|
|
||||||
|
|
||||||
This document will eventually outline all aspects of guidance to make your contributing experience a fruitful and enjoyable one.
|
|
||||||
What it already contains is information about *commit message formatting* and how that directly affects the numerous automated processes that are used for this repo.
|
|
||||||
It also covers how to contribute to this *formula's documentation*.
|
|
||||||
|
|
||||||
.. contents:: **Table of Contents**
|
|
||||||
|
|
||||||
Overview
|
|
||||||
--------
|
|
||||||
|
|
||||||
Submitting a pull request is more than just code!
|
|
||||||
To achieve a quality product, the *tests* and *documentation* need to be updated as well.
|
|
||||||
An excellent pull request will include these in the changes, wherever relevant.
|
|
||||||
|
|
||||||
Commit message formatting
|
|
||||||
-------------------------
|
|
||||||
|
|
||||||
Since every type of change requires making Git commits,
|
|
||||||
we will start by covering the importance of ensuring that all of your commit
|
|
||||||
messages are in the correct format.
|
|
||||||
|
|
||||||
Automation of multiple processes
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
|
|
||||||
This formula uses `semantic-release <https://github.com/semantic-release/semantic-release>`_ for automating numerous processes such as bumping the version number appropriately, creating new tags/releases and updating the changelog.
|
|
||||||
The entire process relies on the structure of commit messages to determine the version bump, which is then used for the rest of the automation.
|
|
||||||
|
|
||||||
Full details are available in the upstream docs regarding the `Angular Commit Message Conventions <https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#-git-commit-guidelines>`_.
|
|
||||||
The key factor is that the first line of the commit message must follow this format:
|
|
||||||
|
|
||||||
.. code-block::
|
|
||||||
|
|
||||||
type(scope): subject
|
|
||||||
|
|
||||||
|
|
||||||
* E.g. ``docs(contributing): add commit message formatting instructions``.
|
|
||||||
|
|
||||||
Besides the version bump, the changelog and release notes are formatted accordingly.
|
|
||||||
So based on the example above:
|
|
||||||
|
|
||||||
..
|
|
||||||
|
|
||||||
.. raw:: html
|
|
||||||
|
|
||||||
<h3>Documentation</h3>
|
|
||||||
|
|
||||||
* **contributing:** add commit message formatting instructions
|
|
||||||
|
|
||||||
|
|
||||||
* The ``type`` translates into a ``Documentation`` sub-heading.
|
|
||||||
* The ``(scope):`` will be shown in bold text without the brackets.
|
|
||||||
* The ``subject`` follows the ``scope`` as standard text.
|
|
||||||
|
|
||||||
Linting commit messages in Travis CI
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
|
|
||||||
This formula uses `commitlint <https://github.com/conventional-changelog/commitlint>`_ for checking commit messages during CI testing.
|
|
||||||
This ensures that they are in accordance with the ``semantic-release`` settings.
|
|
||||||
|
|
||||||
For more details about the default settings, refer back to the ``commitlint`` `reference rules <https://conventional-changelog.github.io/commitlint/#/reference-rules>`_.
|
|
||||||
|
|
||||||
Relationship between commit type and version bump
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
|
|
||||||
This formula applies some customisations to the defaults, as outlined in the table below,
|
|
||||||
based upon the `type <https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#type>`_ of the commit:
|
|
||||||
|
|
||||||
.. list-table::
|
|
||||||
:name: commit-type-vs-version-bump
|
|
||||||
:header-rows: 1
|
|
||||||
:stub-columns: 0
|
|
||||||
:widths: 1,2,3,1,1
|
|
||||||
|
|
||||||
* - Type
|
|
||||||
- Heading
|
|
||||||
- Description
|
|
||||||
- Bump (default)
|
|
||||||
- Bump (custom)
|
|
||||||
* - ``build``
|
|
||||||
- Build System
|
|
||||||
- Changes related to the build system
|
|
||||||
- –
|
|
||||||
-
|
|
||||||
* - ``chore``
|
|
||||||
- –
|
|
||||||
- Changes to the build process or auxiliary tools and libraries such as
|
|
||||||
documentation generation
|
|
||||||
- –
|
|
||||||
-
|
|
||||||
* - ``ci``
|
|
||||||
- Continuous Integration
|
|
||||||
- Changes to the continuous integration configuration
|
|
||||||
- –
|
|
||||||
-
|
|
||||||
* - ``docs``
|
|
||||||
- Documentation
|
|
||||||
- Documentation only changes
|
|
||||||
- –
|
|
||||||
- 0.0.1
|
|
||||||
* - ``feat``
|
|
||||||
- Features
|
|
||||||
- A new feature
|
|
||||||
- 0.1.0
|
|
||||||
-
|
|
||||||
* - ``fix``
|
|
||||||
- Bug Fixes
|
|
||||||
- A bug fix
|
|
||||||
- 0.0.1
|
|
||||||
-
|
|
||||||
* - ``perf``
|
|
||||||
- Performance Improvements
|
|
||||||
- A code change that improves performance
|
|
||||||
- 0.0.1
|
|
||||||
-
|
|
||||||
* - ``refactor``
|
|
||||||
- Code Refactoring
|
|
||||||
- A code change that neither fixes a bug nor adds a feature
|
|
||||||
- –
|
|
||||||
- 0.0.1
|
|
||||||
* - ``revert``
|
|
||||||
- Reverts
|
|
||||||
- A commit used to revert a previous commit
|
|
||||||
- –
|
|
||||||
- 0.0.1
|
|
||||||
* - ``style``
|
|
||||||
- Styles
|
|
||||||
- Changes that do not affect the meaning of the code (white-space,
|
|
||||||
formatting, missing semi-colons, etc.)
|
|
||||||
- –
|
|
||||||
- 0.0.1
|
|
||||||
* - ``test``
|
|
||||||
- Tests
|
|
||||||
- Adding missing or correcting existing tests
|
|
||||||
- –
|
|
||||||
- 0.0.1
|
|
||||||
|
|
||||||
Use ``BREAKING CHANGE`` to trigger a ``major`` version change
|
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
||||||
|
|
||||||
Adding ``BREAKING CHANGE`` to the footer of the extended description of the commit message will **always** trigger a ``major`` version change, no matter which type has been used.
|
|
||||||
This will be appended to the changelog and release notes as well.
|
|
||||||
To preserve good formatting of these notes, the following format is prescribed:
|
|
||||||
|
|
||||||
* ``BREAKING CHANGE: <explanation in paragraph format>.``
|
|
||||||
|
|
||||||
An example of that:
|
|
||||||
|
|
||||||
.. code-block:: git
|
|
||||||
|
|
||||||
...
|
|
||||||
|
|
||||||
BREAKING CHANGE: With the removal of all of the `.sls` files under
|
|
||||||
`template package`, this formula no longer supports the installation of
|
|
||||||
packages.
|
|
||||||
|
|
@ -37,7 +37,7 @@ Contributing to this repo
|
|||||||
|
|
||||||
**Commit message formatting is significant!!**
|
**Commit message formatting is significant!!**
|
||||||
|
|
||||||
Please see :ref:`How to contribute <CONTRIBUTING>` for more details.
|
Please see `How to contribute <https://github.com/saltstack-formulas/.github/blob/master/CONTRIBUTING.rst>`_ for more details.
|
||||||
|
|
||||||
Available states
|
Available states
|
||||||
----------------
|
----------------
|
||||||
@ -57,6 +57,11 @@ Installs the keepalived package.
|
|||||||
^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^
|
||||||
This state manages the file ``keepalived.conf`` under ``/etc/keepalived`` (template found in "keepalived/files"). The configuration is populated by values in "keepalived/map.jinja" based on the package's default values (and RedHat, Debian, Suse and Arch family distribution specific values), which can then be overridden by values of the same name in pillar.
|
This state manages the file ``keepalived.conf`` under ``/etc/keepalived`` (template found in "keepalived/files"). The configuration is populated by values in "keepalived/map.jinja" based on the package's default values (and RedHat, Debian, Suse and Arch family distribution specific values), which can then be overridden by values of the same name in pillar.
|
||||||
|
|
||||||
|
``keepalived.scripts``
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
Put arbitrary helper scripts on the minion. Default scripts location: ``/etc/keepalived``
|
||||||
|
This state can deploy script, set its permissions like file mode, user and group, but it won't create new user / group if they do not exist.
|
||||||
|
|
||||||
``keepalived.service``
|
``keepalived.service``
|
||||||
^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^
|
||||||
This state ensures that keepalived service is running.
|
This state ensures that keepalived service is running.
|
||||||
|
@ -64,7 +64,7 @@ Example: NTP before applying TOFS
|
|||||||
|
|
||||||
Let's work with the NTP example. A basic formula that follows the `design guidelines <http://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html>`_ has the following files and directories tree:
|
Let's work with the NTP example. A basic formula that follows the `design guidelines <http://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html>`_ has the following files and directories tree:
|
||||||
|
|
||||||
.. code-block::
|
.. code-block:: console
|
||||||
|
|
||||||
/srv/saltstack/salt-formulas/ntp-saltstack-formula/
|
/srv/saltstack/salt-formulas/ntp-saltstack-formula/
|
||||||
ntp/
|
ntp/
|
||||||
@ -226,7 +226,7 @@ We can make different templates coexist for different minions, classified by any
|
|||||||
|
|
||||||
If we decide that we want ``os_family`` as switch, then we could provide the formula template variants for both the ``RedHat`` and ``Debian`` families.
|
If we decide that we want ``os_family`` as switch, then we could provide the formula template variants for both the ``RedHat`` and ``Debian`` families.
|
||||||
|
|
||||||
.. code-block::
|
.. code-block:: console
|
||||||
|
|
||||||
/srv/saltstack/salt-formulas/ntp-saltstack-formula/ntp/files/
|
/srv/saltstack/salt-formulas/ntp-saltstack-formula/ntp/files/
|
||||||
default/
|
default/
|
||||||
@ -449,7 +449,7 @@ Using sub-directories for ``components``
|
|||||||
|
|
||||||
If your formula is composed of several components, you may prefer to provides files under sub-directories, like in the `systemd-formula <https://github.com/saltstack-formulas/systemd-formula>`_.
|
If your formula is composed of several components, you may prefer to provides files under sub-directories, like in the `systemd-formula <https://github.com/saltstack-formulas/systemd-formula>`_.
|
||||||
|
|
||||||
.. code-block::
|
.. code-block:: console
|
||||||
|
|
||||||
/srv/saltstack/systemd-formula/
|
/srv/saltstack/systemd-formula/
|
||||||
systemd/
|
systemd/
|
||||||
|
13
keepalived/_mapdata/_mapdata.jinja
Normal file
13
keepalived/_mapdata/_mapdata.jinja
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# yamllint disable rule:indentation rule:line-length
|
||||||
|
# {{ grains.get("osfinger", grains.os) }}
|
||||||
|
---
|
||||||
|
{#- use salt.slsutil.serialize to avoid encoding errors on some platforms #}
|
||||||
|
{{ salt["slsutil.serialize"](
|
||||||
|
"yaml",
|
||||||
|
map,
|
||||||
|
default_flow_style=False,
|
||||||
|
allow_unicode=True,
|
||||||
|
)
|
||||||
|
| regex_replace("^\s+'$", "'", multiline=True)
|
||||||
|
| trim
|
||||||
|
}}
|
22
keepalived/_mapdata/init.sls
Normal file
22
keepalived/_mapdata/init.sls
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# vim: ft=sls
|
||||||
|
---
|
||||||
|
{#- Get the `tplroot` from `tpldir` #}
|
||||||
|
{%- set tplroot = tpldir.split("/")[0] %}
|
||||||
|
{%- from tplroot ~ "/map.jinja" import keepalived with context %}
|
||||||
|
|
||||||
|
{%- set _mapdata = {
|
||||||
|
"values": keepalived,
|
||||||
|
} %}
|
||||||
|
{%- 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 }}
|
@ -4,11 +4,13 @@
|
|||||||
{#- Get the `tplroot` from `tpldir` #}
|
{#- Get the `tplroot` from `tpldir` #}
|
||||||
{%- set tplroot = tpldir.split('/')[0] %}
|
{%- set tplroot = tpldir.split('/')[0] %}
|
||||||
{%- set sls_package_install = tplroot ~ '.package.install' %}
|
{%- set sls_package_install = tplroot ~ '.package.install' %}
|
||||||
|
{%- set sls_scripts_manage = tplroot ~ '.scripts.manage' %}
|
||||||
{%- from tplroot ~ "/map.jinja" import keepalived with context %}
|
{%- from tplroot ~ "/map.jinja" import keepalived with context %}
|
||||||
{%- from tplroot ~ "/libtofs.jinja" import files_switch with context %}
|
{%- from tplroot ~ "/libtofs.jinja" import files_switch with context %}
|
||||||
|
|
||||||
include:
|
include:
|
||||||
- {{ sls_package_install }}
|
- {{ sls_package_install }}
|
||||||
|
- {{ sls_scripts_manage }}
|
||||||
|
|
||||||
keepalived-config-file-file-managed:
|
keepalived-config-file-file-managed:
|
||||||
file.managed:
|
file.managed:
|
||||||
|
@ -9,3 +9,5 @@ keepalived:
|
|||||||
config:
|
config:
|
||||||
global_defs:
|
global_defs:
|
||||||
smtp_server: localhost
|
smtp_server: localhost
|
||||||
|
scripts_dir: /etc/keepalived
|
||||||
|
scripts: {}
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
########################################################################
|
########################################################################
|
||||||
|
|
||||||
{%- from "keepalived/macro.jinja" import print_config %}
|
{%- from "keepalived/macro.jinja" import print_config %}
|
||||||
{%- set sections = ['global_defs', 'vrrp_script', 'vrrp_instance', 'virtual_server'] %}
|
{%- set sections = ['global_defs', 'vrrp_sync_group', 'vrrp_script', 'vrrp_instance', 'virtual_server'] %}
|
||||||
{%- for section in sections %}
|
{%- for section in sections %}
|
||||||
{{ print_config({ section: config[section] }) }}
|
{{ print_config({ section: config[section]|d({}) }) }}
|
||||||
{%- endfor %}
|
{%- endfor %}
|
||||||
|
@ -3,5 +3,6 @@
|
|||||||
|
|
||||||
include:
|
include:
|
||||||
- .package
|
- .package
|
||||||
|
- .scripts
|
||||||
- .config
|
- .config
|
||||||
- .service
|
- .service
|
||||||
|
@ -1,40 +1,37 @@
|
|||||||
{%- macro files_switch(source_files,
|
{%- macro files_switch(
|
||||||
lookup=None,
|
source_files,
|
||||||
default_files_switch=['id', 'os_family'],
|
lookup=None,
|
||||||
indent_width=6,
|
default_files_switch=["id", "os_family"],
|
||||||
use_subpath=False) %}
|
indent_width=6,
|
||||||
{#-
|
use_subpath=False
|
||||||
|
) %}
|
||||||
|
{#-
|
||||||
Returns a valid value for the "source" parameter of a "file.managed"
|
Returns a valid value for the "source" parameter of a "file.managed"
|
||||||
state function. This makes easier the usage of the Template Override and
|
state function. This makes easier the usage of the Template Override and
|
||||||
Files Switch (TOFS) pattern.
|
Files Switch (TOFS) pattern.
|
||||||
|
|
||||||
Params:
|
Params:
|
||||||
* source_files: ordered list of files to look for
|
* source_files: ordered list of files to look for
|
||||||
* lookup: key under '<tplroot>:tofs:source_files' to prepend to the
|
* lookup: key under "<tplroot>:tofs:source_files" to prepend to the
|
||||||
list of source files
|
list of source files
|
||||||
* default_files_switch: if there's no config (e.g. pillar)
|
* default_files_switch: if there's no config (e.g. pillar)
|
||||||
'<tplroot>:tofs:files_switch' this is the ordered list of grains to
|
"<tplroot>:tofs:files_switch" this is the ordered list of grains to
|
||||||
use as selector switch of the directories under
|
use as selector switch of the directories under
|
||||||
"<path_prefix>/files"
|
"<path_prefix>/files"
|
||||||
* indent_witdh: indentation of the result value to conform to YAML
|
* indent_width: indentation of the result value to conform to YAML
|
||||||
* use_subpath: defaults to `False` but if set, lookup the source file
|
* use_subpath: defaults to `False` but if set, lookup the source file
|
||||||
recursively from the current state directory up to `tplroot`
|
recursively from the current state directory up to `tplroot`
|
||||||
|
|
||||||
Example (based on a `tplroot` of `xxx`):
|
Example (based on a `tplroot` of `xxx`):
|
||||||
|
|
||||||
If we have a state:
|
If we have a state:
|
||||||
|
|
||||||
Deploy configuration:
|
Deploy configuration:
|
||||||
file.managed:
|
file.managed:
|
||||||
- name: /etc/yyy/zzz.conf
|
- name: /etc/yyy/zzz.conf
|
||||||
- source: {{ files_switch(['/etc/yyy/zzz.conf', '/etc/yyy/zzz.conf.jinja'],
|
- source: {{ files_switch(
|
||||||
lookup='Deploy configuration'
|
["/etc/yyy/zzz.conf", "/etc/yyy/zzz.conf.jinja"],
|
||||||
) }}
|
lookup="Deploy configuration",
|
||||||
|
) }}
|
||||||
- template: jinja
|
- template: jinja
|
||||||
|
|
||||||
In a minion with id=theminion and os_family=RedHat, it's going to be
|
In a minion with id=theminion and os_family=RedHat, it's going to be
|
||||||
rendered as:
|
rendered as:
|
||||||
|
|
||||||
Deploy configuration:
|
Deploy configuration:
|
||||||
file.managed:
|
file.managed:
|
||||||
- name: /etc/yyy/zzz.conf
|
- name: /etc/yyy/zzz.conf
|
||||||
@ -46,67 +43,73 @@
|
|||||||
- salt://xxx/files/default/etc/yyy/zzz.conf
|
- salt://xxx/files/default/etc/yyy/zzz.conf
|
||||||
- salt://xxx/files/default/etc/yyy/zzz.conf.jinja
|
- salt://xxx/files/default/etc/yyy/zzz.conf.jinja
|
||||||
- template: jinja
|
- template: jinja
|
||||||
#}
|
#}
|
||||||
{#- Get the `tplroot` from `tpldir` #}
|
{#- Get the `tplroot` from `tpldir` #}
|
||||||
{%- set tplroot = tpldir.split('/')[0] %}
|
{%- set tplroot = tpldir.split("/")[0] %}
|
||||||
{%- set path_prefix = salt['config.get'](tplroot ~ ':tofs:path_prefix', tplroot) %}
|
{%- set path_prefix = salt["config.get"](tplroot ~ ":tofs:path_prefix", tplroot) %}
|
||||||
{%- set files_dir = salt['config.get'](tplroot ~ ':tofs:dirs:files', 'files') %}
|
{%- set files_dir = salt["config.get"](tplroot ~ ":tofs:dirs:files", "files") %}
|
||||||
{%- set files_switch_list = salt['config.get'](
|
{%- set files_switch_list = salt["config.get"](
|
||||||
tplroot ~ ':tofs:files_switch',
|
tplroot ~ ":tofs:files_switch", default_files_switch
|
||||||
default_files_switch
|
) %}
|
||||||
) %}
|
{#- Lookup source_files (v2), files (v1), or fallback to an empty list #}
|
||||||
{#- Lookup source_files (v2), files (v1), or fallback to an empty list #}
|
{%- set src_files = salt["config.get"](
|
||||||
{%- set src_files = salt['config.get'](
|
tplroot ~ ":tofs:source_files:" ~ lookup,
|
||||||
tplroot ~ ':tofs:source_files:' ~ lookup,
|
salt["config.get"](tplroot ~ ":tofs:files:" ~ lookup, []),
|
||||||
salt['config.get'](tplroot ~ ':tofs:files:' ~ lookup, [])
|
) %}
|
||||||
) %}
|
{#- Append the default source_files #}
|
||||||
{#- Append the default source_files #}
|
{%- set src_files = src_files + source_files %}
|
||||||
{%- set src_files = src_files + source_files %}
|
{#- Only add to [""] when supporting older TOFS implementations #}
|
||||||
{#- Only add to [''] when supporting older TOFS implementations #}
|
{%- set path_prefix_exts = [""] %}
|
||||||
{%- set path_prefix_exts = [''] %}
|
{%- if use_subpath and tplroot != tpldir %}
|
||||||
{%- if use_subpath and tplroot != tpldir %}
|
{#- Walk directory tree to find {{ files_dir }} #}
|
||||||
{#- Walk directory tree to find {{ files_dir }} #}
|
{%- set subpath_parts = tpldir.lstrip(tplroot).lstrip("/").split("/") %}
|
||||||
{%- set subpath_parts = tpldir.lstrip(tplroot).lstrip('/').split('/') %}
|
{%- for path in subpath_parts %}
|
||||||
{%- for path in subpath_parts %}
|
{%- set subpath = subpath_parts[0 : loop.index] | join("/") %}
|
||||||
{%- set subpath = subpath_parts[0:loop.index] | join('/') %}
|
{%- do path_prefix_exts.append("/" ~ subpath) %}
|
||||||
{%- do path_prefix_exts.append('/' ~ subpath) %}
|
{%- endfor %}
|
||||||
{%- endfor %}
|
{%- endif %}
|
||||||
{%- endif %}
|
{%- for path_prefix_ext in path_prefix_exts | reverse %}
|
||||||
{%- for path_prefix_ext in path_prefix_exts|reverse %}
|
{%- set path_prefix_inc_ext = path_prefix ~ path_prefix_ext %}
|
||||||
{%- set path_prefix_inc_ext = path_prefix ~ path_prefix_ext %}
|
{#- For older TOFS implementation, use `files_switch` from the config #}
|
||||||
{#- For older TOFS implementation, use `files_switch` from the config #}
|
{#- Use the default, new method otherwise #}
|
||||||
{#- Use the default, new method otherwise #}
|
{%- set fsl = salt["config.get"](
|
||||||
{%- set fsl = salt['config.get'](
|
tplroot ~ path_prefix_ext | replace("/", ":") ~ ":files_switch",
|
||||||
tplroot ~ path_prefix_ext|replace('/', ':') ~ ':files_switch',
|
files_switch_list,
|
||||||
files_switch_list
|
) %}
|
||||||
) %}
|
{#- Append an empty value to evaluate as `default` in the loop below #}
|
||||||
{#- Append an empty value to evaluate as `default` in the loop below #}
|
{%- if "" not in fsl %}
|
||||||
{%- if '' not in fsl %}
|
{%- set fsl = fsl + [""] %}
|
||||||
{%- do fsl.append('') %}
|
{%- endif %}
|
||||||
{%- endif %}
|
{%- for fs in fsl %}
|
||||||
{%- for fs in fsl %}
|
{%- for src_file in src_files %}
|
||||||
{%- for src_file in src_files %}
|
{%- if fs %}
|
||||||
{%- if fs %}
|
{%- set fs_dirs = salt["config.get"](fs, fs) %}
|
||||||
{%- set fs_dirs = salt['config.get'](fs, fs) %}
|
{%- else %}
|
||||||
{%- else %}
|
{%- set fs_dirs = salt["config.get"](
|
||||||
{%- set fs_dirs = salt['config.get'](tplroot ~ ':tofs:dirs:default', 'default') %}
|
tplroot ~ ":tofs:dirs:default", "default"
|
||||||
{%- endif %}
|
) %}
|
||||||
{#- Force the `config.get` lookup result as a list where necessary #}
|
{%- endif %}
|
||||||
{#- since we need to also handle grains that are lists #}
|
{#- Force the `config.get` lookup result as a list where necessary #}
|
||||||
{%- if fs_dirs is string %}
|
{#- since we need to also handle grains that are lists #}
|
||||||
{%- set fs_dirs = [fs_dirs] %}
|
{%- if fs_dirs is string %}
|
||||||
{%- endif %}
|
{%- set fs_dirs = [fs_dirs] %}
|
||||||
{%- for fs_dir in fs_dirs %}
|
{%- endif %}
|
||||||
{%- set url = [
|
{%- for fs_dir in fs_dirs %}
|
||||||
'- salt:/',
|
{#- strip empty elements by using a select #}
|
||||||
path_prefix_inc_ext.strip('/'),
|
{%- set url = (
|
||||||
files_dir.strip('/'),
|
[
|
||||||
fs_dir.strip('/'),
|
"- salt:/",
|
||||||
src_file.strip('/'),
|
path_prefix_inc_ext.strip("/"),
|
||||||
] | select | join('/') %}
|
files_dir.strip("/"),
|
||||||
|
fs_dir.strip("/"),
|
||||||
|
src_file.strip("/"),
|
||||||
|
]
|
||||||
|
| select
|
||||||
|
| join("/")
|
||||||
|
) %}
|
||||||
{{ url | indent(indent_width, true) }}
|
{{ url | indent(indent_width, true) }}
|
||||||
{%- endfor %}
|
{%- endfor %}
|
||||||
{%- endfor %}
|
{%- endfor %}
|
||||||
{%- endfor %}
|
{%- endfor %}
|
||||||
{%- endfor %}
|
{%- endfor %}
|
||||||
{%- endmacro %}
|
{%- endmacro %}
|
||||||
|
@ -30,7 +30,12 @@
|
|||||||
{%- if item[value] is string or item[value] is not iterable -%}
|
{%- if item[value] is string or item[value] is not iterable -%}
|
||||||
{%- set forwardIndent = 0 -%}
|
{%- set forwardIndent = 0 -%}
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
{{- item[key]|indent(carryIndent, True) }} {{ print_config(item[value], recurse=recurse, indent=forwardIndent) -}}
|
{%- if item[value] is sameas true %}
|
||||||
|
{#- If curent parameter is boolen type like nopreempt, dont_track_primary, etc. just print its name -#}
|
||||||
|
{{- item[key]|indent(carryIndent, True) }}{{ '\n' -}}
|
||||||
|
{%- else %}
|
||||||
|
{{- item[key]|indent(carryIndent, True) }} {{ print_config(item[value], recurse=recurse, indent=forwardIndent) -}}
|
||||||
|
{%- endif %}
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
{%- endfor -%}
|
{%- endfor -%}
|
||||||
{%- else -%}
|
{%- else -%}
|
||||||
|
@ -4,21 +4,46 @@
|
|||||||
{#- Get the `tplroot` from `tpldir` #}
|
{#- Get the `tplroot` from `tpldir` #}
|
||||||
{%- set tplroot = tpldir.split('/')[0] %}
|
{%- set tplroot = tpldir.split('/')[0] %}
|
||||||
{#- Start imports as #}
|
{#- Start imports as #}
|
||||||
{%- import_yaml tplroot ~ "/defaults.yaml" or {} as default_settings %}
|
{%- import_yaml tplroot ~ "/defaults.yaml" as default_settings %}
|
||||||
{%- import_yaml tplroot ~ "/osfamilymap.yaml" or {} as osfamilymap %}
|
{%- import_yaml tplroot ~ "/osarchmap.yaml" as osarchmap %}
|
||||||
{%- import_yaml tplroot ~ "/osmap.yaml" or {} as osmap %}
|
{%- import_yaml tplroot ~ "/osfamilymap.yaml" as osfamilymap %}
|
||||||
{%- import_yaml tplroot ~ "/osfingermap.yaml" or {} as osfingermap %}
|
{%- import_yaml tplroot ~ "/osmap.yaml" as osmap %}
|
||||||
|
{%- import_yaml tplroot ~ "/osfingermap.yaml" as osfingermap %}
|
||||||
|
|
||||||
{%- set defaults = salt['grains.filter_by'](default_settings,
|
{#- Retrieve the config dict only once #}
|
||||||
default='keepalived',
|
{%- set _config = salt['config.get'](tplroot, default={}) %}
|
||||||
merge=salt['grains.filter_by'](osfamilymap, grain='os_family',
|
|
||||||
merge=salt['grains.filter_by'](osmap, grain='os',
|
{%- set defaults = salt['grains.filter_by'](
|
||||||
merge=salt['grains.filter_by'](osfingermap, grain='osfinger',
|
default_settings,
|
||||||
merge=salt['pillar.get']('keepalived:lookup', default={})
|
default=tplroot,
|
||||||
|
merge=salt['grains.filter_by'](
|
||||||
|
osarchmap,
|
||||||
|
grain='osarch',
|
||||||
|
merge=salt['grains.filter_by'](
|
||||||
|
osfamilymap,
|
||||||
|
grain='os_family',
|
||||||
|
merge=salt['grains.filter_by'](
|
||||||
|
osmap,
|
||||||
|
grain='os',
|
||||||
|
merge=salt['grains.filter_by'](
|
||||||
|
osfingermap,
|
||||||
|
grain='osfinger',
|
||||||
|
merge=salt['grains.filter_by'](
|
||||||
|
_config,
|
||||||
|
default='lookup'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
%}
|
||||||
) %}
|
|
||||||
|
|
||||||
{#- Merge the keepalived pillar #}
|
{%- set config = salt['grains.filter_by'](
|
||||||
{%- set keepalived = salt['pillar.get']('keepalived', default=defaults, merge=True) %}
|
{'defaults': defaults},
|
||||||
|
default='defaults',
|
||||||
|
merge=_config
|
||||||
|
)
|
||||||
|
%}
|
||||||
|
|
||||||
|
{%- set keepalived = config %}
|
||||||
|
35
keepalived/osarchmap.yaml
Normal file
35
keepalived/osarchmap.yaml
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# vim: ft=yaml
|
||||||
|
#
|
||||||
|
# Setup variables using grains['osarch'] based logic.
|
||||||
|
# You just need to add the key:values for an `osarch` that differ
|
||||||
|
# from `defaults.yaml`.
|
||||||
|
# Only add an `osarch` which is/will be supported by the formula.
|
||||||
|
#
|
||||||
|
# If you do not need to provide defaults via the `osarch` grain,
|
||||||
|
# you will need to provide at least an empty dict in this file, e.g.
|
||||||
|
# osarch: {}
|
||||||
|
---
|
||||||
|
amd64:
|
||||||
|
arch: amd64
|
||||||
|
|
||||||
|
x86_64:
|
||||||
|
arch: amd64
|
||||||
|
|
||||||
|
386:
|
||||||
|
arch: 386
|
||||||
|
|
||||||
|
arm64:
|
||||||
|
arch: arm64
|
||||||
|
|
||||||
|
armv6l:
|
||||||
|
arch: armv6l
|
||||||
|
|
||||||
|
armv7l:
|
||||||
|
arch: armv7l
|
||||||
|
|
||||||
|
ppc64le:
|
||||||
|
arch: ppc64le
|
||||||
|
|
||||||
|
s390x:
|
||||||
|
arch: s390x
|
@ -1,6 +1,14 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# vim: ft=yaml
|
# vim: ft=yaml
|
||||||
|
#
|
||||||
|
# Setup variables using grains['os_family'] based logic.
|
||||||
|
# You just need to add the key:values for an `os_family` that differ
|
||||||
|
# from `defaults.yaml` + `osarch.yaml`.
|
||||||
|
# Only add an `os_family` which is/will be supported by the formula.
|
||||||
|
#
|
||||||
|
# If you do not need to provide defaults via the `os_family` grain,
|
||||||
|
# you will need to provide at least an empty dict in this file, e.g.
|
||||||
|
# osfamilymap: {}
|
||||||
---
|
---
|
||||||
Debian: {}
|
Gentoo:
|
||||||
RedHat: {}
|
package: sys-cluster/keepalived
|
||||||
Suse: {}
|
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# vim: ft=yaml
|
# vim: ft=yaml
|
||||||
|
#
|
||||||
|
# Setup variables using grains['osfinger'] based logic.
|
||||||
|
# You just need to add the key:values for an `osfinger` that differ
|
||||||
|
# from `defaults.yaml` + `osarch.yaml` + `os_family.yaml` + `osmap.yaml`.
|
||||||
|
# Only add an `osfinger` which is/will be supported by the formula.
|
||||||
|
#
|
||||||
|
# If you do not need to provide defaults via the `os_finger` grain,
|
||||||
|
# you will need to provide at least an empty dict in this file, e.g.
|
||||||
|
# osfingermap: {}
|
||||||
---
|
---
|
||||||
Debian-8: {}
|
osfingermap: {}
|
||||||
Debian-9: {}
|
|
||||||
Ubuntu-16.04: {}
|
|
||||||
Ubuntu-18.04: {}
|
|
||||||
Fedora-28: {}
|
|
||||||
Fedora-29: {}
|
|
||||||
CentOS-7: {}
|
|
||||||
openSUSE-4.23: {}
|
|
||||||
|
@ -1,8 +1,13 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# vim: ft=yaml
|
# vim: ft=yaml
|
||||||
|
#
|
||||||
|
# Setup variables using grains['os'] based logic.
|
||||||
|
# You just need to add the key:values for an `os` that differ
|
||||||
|
# from `defaults.yaml` + `osarch.yaml` + `os_family.yaml`.
|
||||||
|
# Only add an `os` which is/will be supported by the formula.
|
||||||
|
#
|
||||||
|
# If you do not need to provide defaults via the `os` grain,
|
||||||
|
# you will need to provide at least an empty dict in this file, e.g.
|
||||||
|
# osmap: {}
|
||||||
---
|
---
|
||||||
Debian: {}
|
osmap: {}
|
||||||
Ubuntu: {}
|
|
||||||
Fedora: {}
|
|
||||||
CentOS: {}
|
|
||||||
openSUSE: {}
|
|
||||||
|
5
keepalived/scripts/init.sls
Normal file
5
keepalived/scripts/init.sls
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# vim: ft=sls
|
||||||
|
|
||||||
|
include:
|
||||||
|
- .manage
|
48
keepalived/scripts/manage.sls
Normal file
48
keepalived/scripts/manage.sls
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# vim: ft=sls
|
||||||
|
|
||||||
|
{#- Get the `tplroot` from `tpldir` #}
|
||||||
|
{%- set tplroot = tpldir.split('/')[0] %}
|
||||||
|
{%- set sls_package_install = tplroot ~ '.package.install' %}
|
||||||
|
{%- from tplroot ~ "/map.jinja" import keepalived with context %}
|
||||||
|
{%- from tplroot ~ "/libtofs.jinja" import files_switch with context %}
|
||||||
|
|
||||||
|
include:
|
||||||
|
- {{ sls_package_install }}
|
||||||
|
|
||||||
|
{#- Don't create scripts_dir if no scripts defined #}
|
||||||
|
{%- if 'scripts' in keepalived and keepalived.scripts %}
|
||||||
|
keepalived-scripts-manage-file-directory:
|
||||||
|
file.directory:
|
||||||
|
- name: {{ keepalived.scripts_dir }}
|
||||||
|
- makedirs: true
|
||||||
|
- require:
|
||||||
|
- sls: {{ sls_package_install }}
|
||||||
|
{%- endif %}
|
||||||
|
|
||||||
|
{%- for script,data in keepalived.scripts|dictsort %}
|
||||||
|
{%- set ensure = data.get('ensure', present) %}
|
||||||
|
{%- if ensure == 'present' %}
|
||||||
|
keepalived-scripts-manage-file-managed-{{ script }}:
|
||||||
|
file.managed:
|
||||||
|
- name: {{ data.get('dst_file', keepalived.scripts_dir ~ '/' ~ script) }}
|
||||||
|
- user: {{ data.get('user', 'root') }}
|
||||||
|
- group: {{ data.get('group', 'root') }}
|
||||||
|
- mode: {{ data.get('mode', '755') }}
|
||||||
|
- template: {{ data.get('template_engine', 'jinja') }}
|
||||||
|
{%- if 'contents' in data %}
|
||||||
|
- contents: |
|
||||||
|
{{ data.contents|indent(width=8) }}
|
||||||
|
{%- elif 'template_file' in data %}
|
||||||
|
- source: {{ files_switch([data.template_file]) }}
|
||||||
|
- context:
|
||||||
|
data: {{ data.context|tojson }}
|
||||||
|
{%- endif %}
|
||||||
|
- require:
|
||||||
|
- sls: {{ sls_package_install }}
|
||||||
|
{%- elif ensure == 'absent' %}
|
||||||
|
keepalived-scripts-manage-file-absent-{{ script }}:
|
||||||
|
file.absent:
|
||||||
|
- name: {{ data.get('dst_file', keepalived.scripts_dir ~ '/' ~ script) }}
|
||||||
|
{%- endif %}
|
||||||
|
{%- endfor %}
|
@ -12,6 +12,9 @@ include:
|
|||||||
keepalived-service-running-service-running:
|
keepalived-service-running-service-running:
|
||||||
service.running:
|
service.running:
|
||||||
- name: {{ keepalived.service.name }}
|
- name: {{ keepalived.service.name }}
|
||||||
- enable: True
|
- watch:
|
||||||
- require:
|
|
||||||
- sls: {{ sls_config_file }}
|
- sls: {{ sls_config_file }}
|
||||||
|
|
||||||
|
keepalived-service-running-service-enabled:
|
||||||
|
service.enabled:
|
||||||
|
- name: {{ keepalived.service.name }}
|
||||||
|
338
kitchen.yml
338
kitchen.yml
@ -6,102 +6,11 @@ driver:
|
|||||||
name: docker
|
name: docker
|
||||||
use_sudo: false
|
use_sudo: false
|
||||||
privileged: true
|
privileged: true
|
||||||
run_command: /lib/systemd/systemd
|
run_command: /usr/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:
|
provisioner:
|
||||||
name: salt_solo
|
name: salt_solo
|
||||||
log_level: info
|
log_level: debug
|
||||||
salt_install: none
|
salt_install: none
|
||||||
require_chef: false
|
require_chef: false
|
||||||
formula: keepalived
|
formula: keepalived
|
||||||
@ -109,12 +18,252 @@ provisioner:
|
|||||||
- .kitchen
|
- .kitchen
|
||||||
- .git
|
- .git
|
||||||
|
|
||||||
|
platforms:
|
||||||
|
## SALT `tiamat`
|
||||||
|
- name: debian-11-tiamat-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-tiamat-py3:debian-11
|
||||||
|
run_command: /lib/systemd/systemd
|
||||||
|
- name: debian-10-tiamat-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-tiamat-py3:debian-10
|
||||||
|
run_command: /lib/systemd/systemd
|
||||||
|
- name: debian-9-tiamat-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-tiamat-py3:debian-9
|
||||||
|
run_command: /lib/systemd/systemd
|
||||||
|
- name: ubuntu-2204-tiamat-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-tiamat-py3:ubuntu-22.04
|
||||||
|
run_command: /lib/systemd/systemd
|
||||||
|
- name: ubuntu-2004-tiamat-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-tiamat-py3:ubuntu-20.04
|
||||||
|
run_command: /lib/systemd/systemd
|
||||||
|
- name: ubuntu-1804-tiamat-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-tiamat-py3:ubuntu-18.04
|
||||||
|
run_command: /lib/systemd/systemd
|
||||||
|
- name: centos-stream8-tiamat-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-tiamat-py3:centos-stream8
|
||||||
|
- name: centos-7-tiamat-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-tiamat-py3:centos-7
|
||||||
|
- name: amazonlinux-2-tiamat-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-tiamat-py3:amazonlinux-2
|
||||||
|
- name: oraclelinux-8-tiamat-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-tiamat-py3:oraclelinux-8
|
||||||
|
- name: oraclelinux-7-tiamat-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-tiamat-py3:oraclelinux-7
|
||||||
|
- name: almalinux-8-tiamat-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-tiamat-py3:almalinux-8
|
||||||
|
- name: rockylinux-8-tiamat-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-tiamat-py3:rockylinux-8
|
||||||
|
|
||||||
|
## SALT `master`
|
||||||
|
- name: debian-11-master-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-master-py3:debian-11
|
||||||
|
run_command: /lib/systemd/systemd
|
||||||
|
- name: debian-10-master-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-master-py3:debian-10
|
||||||
|
run_command: /lib/systemd/systemd
|
||||||
|
- name: debian-9-master-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-master-py3:debian-9
|
||||||
|
run_command: /lib/systemd/systemd
|
||||||
|
- name: ubuntu-2204-master-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-master-py3:ubuntu-22.04
|
||||||
|
run_command: /lib/systemd/systemd
|
||||||
|
- name: ubuntu-2004-master-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-master-py3:ubuntu-20.04
|
||||||
|
run_command: /lib/systemd/systemd
|
||||||
|
- name: ubuntu-1804-master-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-master-py3:ubuntu-18.04
|
||||||
|
run_command: /lib/systemd/systemd
|
||||||
|
- name: centos-stream8-master-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-master-py3:centos-stream8
|
||||||
|
- name: centos-7-master-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-master-py3:centos-7
|
||||||
|
- name: fedora-36-master-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-master-py3:fedora-36
|
||||||
|
- name: fedora-35-master-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-master-py3:fedora-35
|
||||||
|
- name: opensuse-leap-153-master-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-master-py3:opensuse-leap-15.3
|
||||||
|
# Workaround to avoid intermittent failures on `opensuse-leap-15.3`:
|
||||||
|
# => SCP did not finish successfully (255): (Net::SCP::Error)
|
||||||
|
transport:
|
||||||
|
max_ssh_sessions: 1
|
||||||
|
- name: opensuse-tmbl-latest-master-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-master-py3:opensuse-tumbleweed-latest
|
||||||
|
# Workaround to avoid intermittent failures on `opensuse-tumbleweed`:
|
||||||
|
# => SCP did not finish successfully (255): (Net::SCP::Error)
|
||||||
|
transport:
|
||||||
|
max_ssh_sessions: 1
|
||||||
|
- name: amazonlinux-2-master-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-master-py3:amazonlinux-2
|
||||||
|
- name: oraclelinux-8-master-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-master-py3:oraclelinux-8
|
||||||
|
- name: oraclelinux-7-master-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-master-py3:oraclelinux-7
|
||||||
|
- name: arch-base-latest-master-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-master-py3:arch-base-latest
|
||||||
|
- name: gentoo-stage3-latest-master-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-master-py3:gentoo-stage3-latest
|
||||||
|
run_command: /sbin/init
|
||||||
|
- name: gentoo-stage3-systemd-master-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-master-py3:gentoo-stage3-systemd
|
||||||
|
- name: almalinux-8-master-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-master-py3:almalinux-8
|
||||||
|
- name: rockylinux-8-master-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-master-py3:rockylinux-8
|
||||||
|
|
||||||
|
## SALT `3004.1`
|
||||||
|
- name: debian-11-3004-1-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-3004.1-py3:debian-11
|
||||||
|
run_command: /lib/systemd/systemd
|
||||||
|
- name: debian-10-3004-1-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-3004.1-py3:debian-10
|
||||||
|
run_command: /lib/systemd/systemd
|
||||||
|
- name: debian-9-3004-1-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-3004.1-py3:debian-9
|
||||||
|
run_command: /lib/systemd/systemd
|
||||||
|
- name: ubuntu-2204-3004-1-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-3004.1-py3:ubuntu-22.04
|
||||||
|
run_command: /lib/systemd/systemd
|
||||||
|
- name: ubuntu-2004-3004-1-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-3004.1-py3:ubuntu-20.04
|
||||||
|
run_command: /lib/systemd/systemd
|
||||||
|
- name: ubuntu-1804-3004-1-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-3004.1-py3:ubuntu-18.04
|
||||||
|
run_command: /lib/systemd/systemd
|
||||||
|
- name: centos-stream8-3004-1-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-3004.1-py3:centos-stream8
|
||||||
|
- name: centos-7-3004-1-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-3004.1-py3:centos-7
|
||||||
|
- name: fedora-36-3004-1-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-3004.1-py3:fedora-36
|
||||||
|
- name: fedora-35-3004-1-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-3004.1-py3:fedora-35
|
||||||
|
- name: amazonlinux-2-3004-1-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-3004.1-py3:amazonlinux-2
|
||||||
|
- name: oraclelinux-8-3004-1-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-3004.1-py3:oraclelinux-8
|
||||||
|
- name: oraclelinux-7-3004-1-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-3004.1-py3:oraclelinux-7
|
||||||
|
- name: arch-base-latest-3004-1-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-3004.1-py3:arch-base-latest
|
||||||
|
- name: gentoo-stage3-latest-3004-1-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-3004.1-py3:gentoo-stage3-latest
|
||||||
|
run_command: /sbin/init
|
||||||
|
- name: gentoo-stage3-systemd-3004-1-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-3004.1-py3:gentoo-stage3-systemd
|
||||||
|
- name: almalinux-8-3004-1-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-3004.1-py3:almalinux-8
|
||||||
|
- name: rockylinux-8-3004-1-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-3004.1-py3:rockylinux-8
|
||||||
|
|
||||||
|
## SALT `3004.0`
|
||||||
|
- name: opensuse-leap-153-3004-0-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-3004.0-py3:opensuse-leap-15.3
|
||||||
|
# Workaround to avoid intermittent failures on `opensuse-leap-15.3`:
|
||||||
|
# => SCP did not finish successfully (255): (Net::SCP::Error)
|
||||||
|
transport:
|
||||||
|
max_ssh_sessions: 1
|
||||||
|
- name: opensuse-tmbl-latest-3004-0-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-3004.0-py3:opensuse-tumbleweed-latest
|
||||||
|
# Workaround to avoid intermittent failures on `opensuse-tumbleweed`:
|
||||||
|
# => SCP did not finish successfully (255): (Net::SCP::Error)
|
||||||
|
transport:
|
||||||
|
max_ssh_sessions: 1
|
||||||
|
|
||||||
|
## SALT `3003.4`
|
||||||
|
- name: debian-10-3003-4-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-3003.4-py3:debian-10
|
||||||
|
run_command: /lib/systemd/systemd
|
||||||
|
- name: debian-9-3003-4-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-3003.4-py3:debian-9
|
||||||
|
run_command: /lib/systemd/systemd
|
||||||
|
- name: ubuntu-2004-3003-4-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-3003.4-py3:ubuntu-20.04
|
||||||
|
run_command: /lib/systemd/systemd
|
||||||
|
- name: ubuntu-1804-3003-4-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-3003.4-py3:ubuntu-18.04
|
||||||
|
run_command: /lib/systemd/systemd
|
||||||
|
- name: centos-stream8-3003-4-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-3003.4-py3:centos-stream8
|
||||||
|
- name: centos-7-3003-4-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-3003.4-py3:centos-7
|
||||||
|
- name: amazonlinux-2-3003-4-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-3003.4-py3:amazonlinux-2
|
||||||
|
- name: oraclelinux-8-3003-4-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-3003.4-py3:oraclelinux-8
|
||||||
|
- name: oraclelinux-7-3003-4-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-3003.4-py3:oraclelinux-7
|
||||||
|
- name: almalinux-8-3003-4-py3
|
||||||
|
driver:
|
||||||
|
image: saltimages/salt-3003.4-py3:almalinux-8
|
||||||
|
|
||||||
verifier:
|
verifier:
|
||||||
# https://www.inspec.io/
|
# https://www.inspec.io/
|
||||||
name: inspec
|
name: inspec
|
||||||
sudo: true
|
sudo: true
|
||||||
# cli, documentation, html, progress, json, json-min, json-rspec, junit
|
|
||||||
reporter:
|
reporter:
|
||||||
|
# cli, documentation, html, progress, json, json-min, json-rspec, junit
|
||||||
- cli
|
- cli
|
||||||
|
|
||||||
suites:
|
suites:
|
||||||
@ -123,6 +272,7 @@ suites:
|
|||||||
state_top:
|
state_top:
|
||||||
base:
|
base:
|
||||||
'*':
|
'*':
|
||||||
|
- keepalived._mapdata
|
||||||
- keepalived
|
- keepalived
|
||||||
pillars:
|
pillars:
|
||||||
top.sls:
|
top.sls:
|
||||||
|
@ -27,6 +27,11 @@ keepalived:
|
|||||||
smtp_server: 192.168.200.1
|
smtp_server: 192.168.200.1
|
||||||
smtp_connect_timeout: 30
|
smtp_connect_timeout: 30
|
||||||
router_id: LVS_DEVEL
|
router_id: LVS_DEVEL
|
||||||
|
vrrp_sync_group:
|
||||||
|
EXAMPLE_GROUP:
|
||||||
|
group:
|
||||||
|
- VI_IPV4
|
||||||
|
- VI_IPV6
|
||||||
vrrp_instance:
|
vrrp_instance:
|
||||||
VI_1:
|
VI_1:
|
||||||
state: MASTER
|
state: MASTER
|
||||||
@ -34,6 +39,10 @@ keepalived:
|
|||||||
virtual_router_id: 51
|
virtual_router_id: 51
|
||||||
priority: 100
|
priority: 100
|
||||||
advert_int: 1
|
advert_int: 1
|
||||||
|
# switch type parameters must be defined as boolean: true / false
|
||||||
|
# 1 / 0 values will be treated as numbers
|
||||||
|
# nopreempt: true
|
||||||
|
# dont_track_primary: true
|
||||||
authentication:
|
authentication:
|
||||||
auth_type: PASS
|
auth_type: PASS
|
||||||
auth_pass: 1111
|
auth_pass: 1111
|
||||||
@ -143,3 +152,34 @@ keepalived:
|
|||||||
script: '"killall -0 apache"'
|
script: '"killall -0 apache"'
|
||||||
interval: 2
|
interval: 2
|
||||||
weight: 10
|
weight: 10
|
||||||
|
# put helper scripts on the minon
|
||||||
|
# defaut directory where scripts will be saved if full path not specified
|
||||||
|
scripts_dir: /etc/keepalived
|
||||||
|
scripts:
|
||||||
|
# item name, will be used as file name if full path not specified
|
||||||
|
check_sshd.sh:
|
||||||
|
# present - create script
|
||||||
|
# absent - remove file
|
||||||
|
ensure: present
|
||||||
|
# user and group for script file, default is root:root
|
||||||
|
# note: it's required to use existing user and group
|
||||||
|
user: root
|
||||||
|
group: root
|
||||||
|
# file mode, default is 755
|
||||||
|
mode: '755'
|
||||||
|
# full path for script, optional
|
||||||
|
# if not defined "scripts_dir + '/' + script" will be used as file name
|
||||||
|
dst_file: /etc/keepalived/check_sshd.sh
|
||||||
|
# 'contents' have more priority than 'template_file',
|
||||||
|
# if 'contents' present, 'template_file' won't be used,
|
||||||
|
# but one of them is mandatory
|
||||||
|
contents: |
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
pidof sshd
|
||||||
|
# source template for script
|
||||||
|
template_file: check_sshd.sh
|
||||||
|
# template engine to use for rendering, default is jinja
|
||||||
|
template_engine: jinja
|
||||||
|
# dict with arbitrary data that will be passed to template as 'data' variable
|
||||||
|
context:
|
||||||
|
foo: bar
|
||||||
|
@ -7,16 +7,16 @@ sed -i -e "s_^\(version:\).*_\1 ${1}_" FORMULA
|
|||||||
|
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# (B) Use `m2r` to convert automatically produced `.md` docs to `.rst`
|
# (B) Use `m2r2` to convert automatically produced `.md` docs to `.rst`
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
# Install `m2r`
|
# Install `m2r2`
|
||||||
sudo -H pip install m2r
|
pip3 install m2r2
|
||||||
|
|
||||||
# Copy and then convert the `.md` docs
|
# Copy and then convert the `.md` docs
|
||||||
cp *.md docs/
|
cp ./*.md docs/
|
||||||
cd docs/
|
cd docs/ || exit
|
||||||
m2r --overwrite *.md
|
m2r2 --overwrite ./*.md
|
||||||
|
|
||||||
# Change excess `H1` headings to `H2` in converted `CHANGELOG.rst`
|
# Change excess `H1` headings to `H2` in converted `CHANGELOG.rst`
|
||||||
sed -i -e '/^=.*$/s/=/-/g' CHANGELOG.rst
|
sed -i -e '/^=.*$/s/=/-/g' CHANGELOG.rst
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
branch: 'master',
|
branch: 'master',
|
||||||
|
repositoryUrl: 'https://github.com/saltstack-formulas/keepalived-formula',
|
||||||
plugins: [
|
plugins: [
|
||||||
['@semantic-release/commit-analyzer', {
|
['@semantic-release/commit-analyzer', {
|
||||||
preset: 'angular',
|
preset: 'angular',
|
||||||
@ -63,7 +64,7 @@ module.exports = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (typeof commit.hash === `string`) {
|
if (typeof commit.hash === `string`) {
|
||||||
commit.hash = commit.hash.substring(0, 7)
|
commit.shortHash = commit.hash.substring(0, 7)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (typeof commit.subject === `string`) {
|
if (typeof commit.subject === `string`) {
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
control 'Keepalived configuration' do
|
control 'Keepalived configuration' do
|
||||||
title 'should match desired lines'
|
title 'should match desired lines'
|
||||||
|
|
||||||
@ -7,5 +9,11 @@ control 'Keepalived configuration' do
|
|||||||
|
|
||||||
# Custom config from pillar
|
# Custom config from pillar
|
||||||
its('content') { should include 'acassen@firewall.loc' }
|
its('content') { should include 'acassen@firewall.loc' }
|
||||||
|
|
||||||
|
# Check config from example pillar -- example vrrp sync group
|
||||||
|
its('content') { should include 'EXAMPLE_GROUP' }
|
||||||
|
|
||||||
|
# Check config from example pillar -- vrrp sync group item
|
||||||
|
its('content') { should include 'VI_IPV6' }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
control 'Keepalived package' do
|
control 'Keepalived package' do
|
||||||
title 'should be installed'
|
title 'should be installed'
|
||||||
|
|
||||||
|
11
test/integration/default/controls/service_spec.rb
Normal file
11
test/integration/default/controls/service_spec.rb
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
control 'Keepalived service' do
|
||||||
|
title 'should be installed'
|
||||||
|
|
||||||
|
describe service('keepalived') do
|
||||||
|
it { should be_installed }
|
||||||
|
it { should be_enabled }
|
||||||
|
it { should be_running }
|
||||||
|
end
|
||||||
|
end
|
@ -6,6 +6,9 @@ title: keepalived formula
|
|||||||
maintainer: SaltStack Formulas
|
maintainer: SaltStack Formulas
|
||||||
license: Apache-2.0
|
license: Apache-2.0
|
||||||
summary: Verify that the keepalived formula is setup and configured correctly
|
summary: Verify that the keepalived formula is setup and configured correctly
|
||||||
|
depends:
|
||||||
|
- name: share
|
||||||
|
path: test/integration/share
|
||||||
supports:
|
supports:
|
||||||
- platform-name: debian
|
- platform-name: debian
|
||||||
- platform-name: ubuntu
|
- platform-name: ubuntu
|
||||||
@ -14,4 +17,12 @@ supports:
|
|||||||
- platform-name: opensuse
|
- platform-name: opensuse
|
||||||
- platform-name: suse
|
- platform-name: suse
|
||||||
- platform-name: freebsd
|
- platform-name: freebsd
|
||||||
|
- platform-name: openbsd
|
||||||
- platform-name: amazon
|
- platform-name: amazon
|
||||||
|
- platform-name: oracle
|
||||||
|
- platform-name: arch
|
||||||
|
- platform-name: gentoo
|
||||||
|
- platform-name: almalinux
|
||||||
|
- platform-name: rocky
|
||||||
|
- platform-name: mac_os_x
|
||||||
|
- platform: windows
|
||||||
|
22
test/integration/share/README.md
Normal file
22
test/integration/share/README.md
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# InSpec Profile: `share`
|
||||||
|
|
||||||
|
This shows the implementation of the `share` InSpec [profile](https://github.com/inspec/inspec/blob/master/docs/profiles.md).
|
||||||
|
|
||||||
|
Its goal is to share the libraries between all profiles.
|
||||||
|
|
||||||
|
## Libraries
|
||||||
|
|
||||||
|
### `system`
|
||||||
|
|
||||||
|
The `system` library provides easy access to system dependent information:
|
||||||
|
|
||||||
|
- `system.platform`: based on `inspec.platform`, modify to values that are more consistent from a SaltStack perspective
|
||||||
|
- `system.platform[:family]` provide a family name for Arch and Gentoo
|
||||||
|
- `system.platform[:name]` append `linux` to both `amazon` and `oracle`; ensure Windows platforms are resolved as simply `windows`
|
||||||
|
- `system.platform[:release]` tweak Arch, Amazon Linux, Gentoo, openSUSE and Windows:
|
||||||
|
- `Arch` is always `base-latest`
|
||||||
|
- `Amazon Linux` release `2018` is resolved as `1`
|
||||||
|
- `Gentoo` release is trimmed to its major version number and then the init system is appended (i.e. `sysv` or `sysd`)
|
||||||
|
- `openSUSE` is resolved as `tumbleweed` if the `platform[:release]` is in date format
|
||||||
|
- `Windows` uses the widely-used release number (e.g. `8.1` or `2019-server`) in place of the actual system release version
|
||||||
|
- `system.platform[:finger]` is the concatenation of the name and the major release number (except for Ubuntu, which gives `ubuntu-20.04` for example)
|
25
test/integration/share/inspec.yml
Normal file
25
test/integration/share/inspec.yml
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# vim: ft=yaml
|
||||||
|
---
|
||||||
|
name: share
|
||||||
|
title: InSpec shared resources
|
||||||
|
maintainer: SaltStack Formulas
|
||||||
|
license: Apache-2.0
|
||||||
|
summary: shared resources
|
||||||
|
supports:
|
||||||
|
- platform-name: debian
|
||||||
|
- platform-name: ubuntu
|
||||||
|
- platform-name: centos
|
||||||
|
- platform-name: fedora
|
||||||
|
- platform-name: opensuse
|
||||||
|
- platform-name: suse
|
||||||
|
- platform-name: freebsd
|
||||||
|
- platform-name: openbsd
|
||||||
|
- platform-name: amazon
|
||||||
|
- platform-name: oracle
|
||||||
|
- platform-name: arch
|
||||||
|
- platform-name: gentoo
|
||||||
|
- platform-name: almalinux
|
||||||
|
- platform-name: rocky
|
||||||
|
- platform-name: mac_os_x
|
||||||
|
- platform: windows
|
138
test/integration/share/libraries/system.rb
Normal file
138
test/integration/share/libraries/system.rb
Normal file
@ -0,0 +1,138 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
# system.rb -- InSpec resources for system values
|
||||||
|
# Author: Daniel Dehennin <daniel.dehennin@ac-dijon.fr>
|
||||||
|
# Copyright (C) 2020 Daniel Dehennin <daniel.dehennin@ac-dijon.fr>
|
||||||
|
|
||||||
|
# rubocop:disable Metrics/ClassLength
|
||||||
|
class SystemResource < Inspec.resource(1)
|
||||||
|
name 'system'
|
||||||
|
|
||||||
|
attr_reader :platform
|
||||||
|
|
||||||
|
def initialize
|
||||||
|
super
|
||||||
|
@platform = build_platform
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def build_platform
|
||||||
|
{
|
||||||
|
family: build_platform_family,
|
||||||
|
name: build_platform_name,
|
||||||
|
release: build_platform_release,
|
||||||
|
finger: build_platform_finger,
|
||||||
|
codename: build_platform_codename
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
def build_platform_family
|
||||||
|
case inspec.platform[:name]
|
||||||
|
when 'arch', 'gentoo'
|
||||||
|
inspec.platform[:name]
|
||||||
|
else
|
||||||
|
inspec.platform[:family]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def build_platform_name
|
||||||
|
case inspec.platform[:name]
|
||||||
|
when 'amazon', 'oracle', 'rocky'
|
||||||
|
"#{inspec.platform[:name]}linux"
|
||||||
|
when /^windows_/
|
||||||
|
inspec.platform[:family]
|
||||||
|
else
|
||||||
|
inspec.platform[:name]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# rubocop:disable Metrics/MethodLength,Metrics/AbcSize,Metrics/CyclomaticComplexity
|
||||||
|
def build_platform_release
|
||||||
|
case inspec.platform[:name]
|
||||||
|
when 'amazon'
|
||||||
|
# `2018` relase is named `1` in `kitchen.yml`
|
||||||
|
inspec.platform[:release].gsub(/2018.*/, '1')
|
||||||
|
when 'arch'
|
||||||
|
'base-latest'
|
||||||
|
when 'gentoo'
|
||||||
|
"#{inspec.platform[:release].split('.')[0]}-#{derive_gentoo_init_system}"
|
||||||
|
when 'mac_os_x'
|
||||||
|
inspec.command('sw_vers -productVersion').stdout.to_s
|
||||||
|
when 'opensuse'
|
||||||
|
# rubocop:disable Style/NumericLiterals,Layout/LineLength
|
||||||
|
inspec.platform[:release].to_i > 20210101 ? 'tumbleweed' : inspec.platform[:release]
|
||||||
|
# rubocop:enable Style/NumericLiterals,Layout/LineLength
|
||||||
|
when 'windows_8.1_pro'
|
||||||
|
'8.1'
|
||||||
|
when 'windows_server_2022_datacenter'
|
||||||
|
'2022-server'
|
||||||
|
when 'windows_server_2019_datacenter'
|
||||||
|
'2019-server'
|
||||||
|
when 'windows_server_2016_datacenter'
|
||||||
|
'2016-server'
|
||||||
|
else
|
||||||
|
inspec.platform[:release]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
# rubocop:enable Metrics/MethodLength,Metrics/AbcSize,Metrics/CyclomaticComplexity
|
||||||
|
|
||||||
|
def derive_gentoo_init_system
|
||||||
|
inspec.command('systemctl').exist? ? 'sysd' : 'sysv'
|
||||||
|
end
|
||||||
|
|
||||||
|
def build_platform_finger
|
||||||
|
"#{build_platform_name}-#{build_finger_release}"
|
||||||
|
end
|
||||||
|
|
||||||
|
def build_finger_release
|
||||||
|
case inspec.platform[:name]
|
||||||
|
when 'ubuntu'
|
||||||
|
build_platform_release.split('.').slice(0, 2).join('.')
|
||||||
|
else
|
||||||
|
build_platform_release.split('.')[0]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# rubocop:disable Metrics/MethodLength,Metrics/CyclomaticComplexity
|
||||||
|
def build_platform_codename
|
||||||
|
case build_platform_finger
|
||||||
|
when 'ubuntu-22.04'
|
||||||
|
'jammy'
|
||||||
|
when 'ubuntu-20.04'
|
||||||
|
'focal'
|
||||||
|
when 'ubuntu-18.04'
|
||||||
|
'bionic'
|
||||||
|
when 'debian-11'
|
||||||
|
'bullseye'
|
||||||
|
when 'debian-10'
|
||||||
|
'buster'
|
||||||
|
when 'debian-9'
|
||||||
|
'stretch'
|
||||||
|
when 'almalinux-8'
|
||||||
|
"AlmaLinux #{build_platform_release} (Arctic Sphynx)"
|
||||||
|
when 'amazonlinux-2'
|
||||||
|
'Amazon Linux 2'
|
||||||
|
when 'arch-base-latest'
|
||||||
|
'Arch Linux'
|
||||||
|
when 'centos-7'
|
||||||
|
'CentOS Linux 7 (Core)'
|
||||||
|
when 'centos-8'
|
||||||
|
'CentOS Stream 8'
|
||||||
|
when 'opensuse-tumbleweed'
|
||||||
|
'openSUSE Tumbleweed'
|
||||||
|
when 'opensuse-15'
|
||||||
|
"openSUSE Leap #{build_platform_release}"
|
||||||
|
when 'oraclelinux-8', 'oraclelinux-7'
|
||||||
|
"Oracle Linux Server #{build_platform_release}"
|
||||||
|
when 'gentoo-2-sysd', 'gentoo-2-sysv'
|
||||||
|
'Gentoo/Linux'
|
||||||
|
when 'rockylinux-8'
|
||||||
|
"Rocky Linux #{build_platform_release} (Green Obsidian)"
|
||||||
|
else
|
||||||
|
''
|
||||||
|
end
|
||||||
|
end
|
||||||
|
# rubocop:enable Metrics/MethodLength,Metrics/CyclomaticComplexity
|
||||||
|
end
|
||||||
|
# rubocop:enable Metrics/ClassLength
|
Loading…
x
Reference in New Issue
Block a user