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/
|
||||
ENV/
|
||||
|
||||
# visual studio
|
||||
.vs/
|
||||
|
||||
# Spyder project settings
|
||||
.spyderproject
|
||||
.spyproject
|
||||
@ -105,7 +108,7 @@ ENV/
|
||||
.mypy_cache/
|
||||
|
||||
# Bundler
|
||||
Gemfile.lock
|
||||
.bundle/
|
||||
|
||||
# copied `.md` files used for conversion to `.rst` using `m2r`
|
||||
docs/*.md
|
||||
@ -120,3 +123,12 @@ docs/*.md
|
||||
Dockerfile.*_*
|
||||
ignore/
|
||||
tmp/
|
||||
|
||||
# `salt-formula` -- Vagrant Specific files
|
||||
.vagrant
|
||||
top.sls
|
||||
!test/salt/pillar/top.sls
|
||||
|
||||
# `suricata-formula` -- Platform binaries
|
||||
*.rpm
|
||||
*.deb
|
||||
|
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 -*-
|
||||
# vim: ft=yaml
|
||||
---
|
||||
stages:
|
||||
- test
|
||||
- lint
|
||||
- name: release
|
||||
if: branch = master AND type != pull_request
|
||||
################################################################################
|
||||
# NOTE: This file is UNMAINTAINED; it is provided for references purposes only.
|
||||
# No guarantees are tendered that this structure will work after 2020.
|
||||
################################################################################
|
||||
# * https://en.wikipedia.org/wiki/Travis_CI:
|
||||
# - "... free open-source plans were removed in [sic] the end of 2020"
|
||||
# - https://blog.travis-ci.com/2020-11-02-travis-ci-new-billing
|
||||
# - https://ropensci.org/technotes/2020/11/19/moving-away-travis/
|
||||
################################################################################
|
||||
## Machine config
|
||||
os: 'linux'
|
||||
arch: 'amd64'
|
||||
dist: 'bionic'
|
||||
version: '~> 1.0'
|
||||
|
||||
sudo: required
|
||||
cache: bundler
|
||||
language: ruby
|
||||
dist: xenial
|
||||
## Language and cache config
|
||||
language: 'ruby'
|
||||
cache: 'bundler'
|
||||
|
||||
## Services config
|
||||
services:
|
||||
- docker
|
||||
|
||||
## Addons config
|
||||
# yamllint disable rule:indentation
|
||||
addons:
|
||||
apt:
|
||||
@ -22,56 +32,137 @@ addons:
|
||||
- ipvsadm
|
||||
# yamllint enable rule:indentation
|
||||
|
||||
# Make sure the instances listed below match up with
|
||||
# the `platforms` defined in `kitchen.yml`
|
||||
env:
|
||||
matrix:
|
||||
- INSTANCE: default-debian-9-develop-py3
|
||||
# - INSTANCE: default-ubuntu-1804-develop-py3
|
||||
# - INSTANCE: default-centos-7-develop-py3
|
||||
# - INSTANCE: default-fedora-29-develop-py3
|
||||
# - INSTANCE: default-opensuse-leap-15-develop-py3
|
||||
# - INSTANCE: default-debian-9-2019-2-py3
|
||||
- INSTANCE: default-ubuntu-1804-2019-2-py3
|
||||
- INSTANCE: default-centos-7-2019-2-py3
|
||||
# - INSTANCE: default-fedora-29-2019-2-py3
|
||||
# - INSTANCE: default-opensuse-leap-15-2019-2-py3
|
||||
# - INSTANCE: default-debian-9-2018-3-py2
|
||||
# - INSTANCE: default-ubuntu-1604-2018-3-py2
|
||||
# - INSTANCE: default-centos-7-2018-3-py2
|
||||
- INSTANCE: default-fedora-29-2018-3-py2
|
||||
- INSTANCE: default-opensuse-leap-42-2018-3-py2
|
||||
# - INSTANCE: default-debian-8-2017-7-py2
|
||||
# - INSTANCE: default-ubuntu-1604-2017-7-py2
|
||||
- INSTANCE: default-centos-6-2017-7-py2
|
||||
# - INSTANCE: default-fedora-28-2017-7-py2
|
||||
# - INSTANCE: default-opensuse-leap-42-2017-7-py2
|
||||
|
||||
## Script to run for the test stage
|
||||
script:
|
||||
- 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:
|
||||
include:
|
||||
# Define the `lint` stage (runs `yamllint` and `commitlint`)
|
||||
- stage: lint
|
||||
language: node_js
|
||||
node_js: lts/*
|
||||
before_install: skip
|
||||
## Define the test stage that runs the linters (and testing matrix, if applicable)
|
||||
|
||||
# Run all of the linters in a single job
|
||||
- language: 'node_js'
|
||||
node_js: 'lts/*'
|
||||
env: 'Lint'
|
||||
name: 'Lint: salt-lint, yamllint, rubocop, shellcheck & commitlint'
|
||||
before_install: 'skip'
|
||||
script:
|
||||
# Install and run `salt-lint`
|
||||
- pip install --user salt-lint
|
||||
- git ls-files -- '*.sls' '*.jinja' '*.j2' '*.tmpl' '*.tst'
|
||||
| xargs salt-lint
|
||||
# Install and run `yamllint`
|
||||
- pip install --user yamllint
|
||||
# yamllint disable-line rule:line-length
|
||||
- yamllint -s . .yamllint pillar.example
|
||||
# Need at least `v1.17.0` for the `yaml-files` setting
|
||||
- pip install --user yamllint>=1.17.0
|
||||
- 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`
|
||||
- npm install @commitlint/config-conventional -D
|
||||
- npm install @commitlint/travis-cli -D
|
||||
- npm i -D @commitlint/config-conventional
|
||||
@commitlint/travis-cli
|
||||
- commitlint-travis
|
||||
# Define the release stage that runs `semantic-release`
|
||||
- stage: release
|
||||
language: node_js
|
||||
node_js: lts/*
|
||||
before_install: skip
|
||||
|
||||
# Run `pre-commit` linters in a single job
|
||||
- language: 'python'
|
||||
env: 'Lint_pre-commit'
|
||||
name: 'Lint: pre-commit'
|
||||
before_install: 'skip'
|
||||
cache:
|
||||
directories:
|
||||
- $HOME/.cache/pre-commit
|
||||
script:
|
||||
# Install and run `pre-commit`
|
||||
- pip install pre-commit==2.7.1
|
||||
- pre-commit run --all-files --color always --verbose
|
||||
- pre-commit run --color always --hook-stage manual --verbose commitlint-travis
|
||||
|
||||
## Define the rest of the matrix based on Kitchen testing
|
||||
# Make sure the instances listed below match up with
|
||||
# the `platforms` defined in `kitchen.yml`
|
||||
# - env: INSTANCE=default-debian-11-tiamat-py3
|
||||
# - env: INSTANCE=default-debian-10-tiamat-py3
|
||||
# - env: INSTANCE=default-debian-9-tiamat-py3
|
||||
# - env: INSTANCE=default-ubuntu-2204-tiamat-py3
|
||||
# - env: INSTANCE=default-ubuntu-2004-tiamat-py3
|
||||
# - env: INSTANCE=default-ubuntu-1804-tiamat-py3
|
||||
# - env: INSTANCE=default-centos-stream8-tiamat-py3
|
||||
# - env: INSTANCE=default-centos-7-tiamat-py3
|
||||
# - env: INSTANCE=default-amazonlinux-2-tiamat-py3
|
||||
# - env: INSTANCE=default-oraclelinux-8-tiamat-py3
|
||||
# - env: INSTANCE=default-oraclelinux-7-tiamat-py3
|
||||
# - env: INSTANCE=default-almalinux-8-tiamat-py3
|
||||
# - env: INSTANCE=default-rockylinux-8-tiamat-py3
|
||||
- env: INSTANCE=default-debian-11-master-py3
|
||||
- env: INSTANCE=default-debian-10-master-py3
|
||||
- env: INSTANCE=default-debian-9-master-py3
|
||||
- env: INSTANCE=default-ubuntu-2204-master-py3
|
||||
- env: INSTANCE=default-ubuntu-2004-master-py3
|
||||
- env: INSTANCE=default-ubuntu-1804-master-py3
|
||||
- env: INSTANCE=default-centos-stream8-master-py3
|
||||
- env: INSTANCE=default-centos-7-master-py3
|
||||
- env: INSTANCE=default-fedora-36-master-py3
|
||||
- env: INSTANCE=default-fedora-35-master-py3
|
||||
- env: INSTANCE=default-opensuse-leap-153-master-py3
|
||||
# - env: INSTANCE=default-opensuse-tmbl-latest-master-py3
|
||||
- env: INSTANCE=default-amazonlinux-2-master-py3
|
||||
- env: INSTANCE=default-oraclelinux-8-master-py3
|
||||
- env: INSTANCE=default-oraclelinux-7-master-py3
|
||||
# - env: INSTANCE=default-arch-base-latest-master-py3
|
||||
- env: INSTANCE=default-gentoo-stage3-latest-master-py3
|
||||
- env: INSTANCE=default-gentoo-stage3-systemd-master-py3
|
||||
- env: INSTANCE=default-almalinux-8-master-py3
|
||||
- env: INSTANCE=default-rockylinux-8-master-py3
|
||||
# - env: INSTANCE=default-debian-11-3004-1-py3
|
||||
# - env: INSTANCE=default-debian-10-3004-1-py3
|
||||
# - env: INSTANCE=default-debian-9-3004-1-py3
|
||||
# - env: INSTANCE=default-ubuntu-2204-3004-1-py3
|
||||
# - env: INSTANCE=default-ubuntu-2004-3004-1-py3
|
||||
# - env: INSTANCE=default-ubuntu-1804-3004-1-py3
|
||||
# - env: INSTANCE=default-centos-stream8-3004-1-py3
|
||||
# - env: INSTANCE=default-centos-7-3004-1-py3
|
||||
# - env: INSTANCE=default-fedora-36-3004-1-py3
|
||||
# - env: INSTANCE=default-fedora-35-3004-1-py3
|
||||
# - env: INSTANCE=default-amazonlinux-2-3004-1-py3
|
||||
# - env: INSTANCE=default-oraclelinux-8-3004-1-py3
|
||||
# - env: INSTANCE=default-oraclelinux-7-3004-1-py3
|
||||
# - env: INSTANCE=default-arch-base-latest-3004-1-py3
|
||||
# - env: INSTANCE=default-gentoo-stage3-latest-3004-1-py3
|
||||
# - env: INSTANCE=default-gentoo-stage3-systemd-3004-1-py3
|
||||
# - env: INSTANCE=default-almalinux-8-3004-1-py3
|
||||
# - env: INSTANCE=default-rockylinux-8-3004-1-py3
|
||||
# - env: INSTANCE=default-opensuse-leap-153-3004-0-py3
|
||||
# - env: INSTANCE=default-opensuse-tmbl-latest-3004-0-py3
|
||||
# - env: INSTANCE=default-debian-10-3003-4-py3
|
||||
# - env: INSTANCE=default-debian-9-3003-4-py3
|
||||
# - env: INSTANCE=default-ubuntu-2004-3003-4-py3
|
||||
# - env: INSTANCE=default-ubuntu-1804-3003-4-py3
|
||||
# - env: INSTANCE=default-centos-stream8-3003-4-py3
|
||||
# - env: INSTANCE=default-centos-7-3003-4-py3
|
||||
# - env: INSTANCE=default-amazonlinux-2-3003-4-py3
|
||||
# - env: INSTANCE=default-oraclelinux-8-3003-4-py3
|
||||
# - env: INSTANCE=default-oraclelinux-7-3003-4-py3
|
||||
# - env: INSTANCE=default-almalinux-8-3003-4-py3
|
||||
|
||||
## Define the release stage that runs `semantic-release`
|
||||
- stage: 'release'
|
||||
language: 'node_js'
|
||||
node_js: 'lts/*'
|
||||
env: 'Release'
|
||||
name: 'Run semantic-release inc. file updates to AUTHORS, CHANGELOG & FORMULA'
|
||||
before_install: 'skip'
|
||||
script:
|
||||
# Update `AUTHORS.md`
|
||||
- export MAINTAINER_TOKEN=${GH_TOKEN}
|
||||
@ -79,12 +170,26 @@ jobs:
|
||||
- maintainer contributor
|
||||
|
||||
# Install all dependencies required for `semantic-release`
|
||||
- npm install @semantic-release/changelog@3 -D
|
||||
- npm install @semantic-release/exec@3 -D
|
||||
- npm install @semantic-release/git@7 -D
|
||||
- npm i -D @semantic-release/changelog@3
|
||||
@semantic-release/exec@3
|
||||
@semantic-release/git@7
|
||||
deploy:
|
||||
provider: script
|
||||
skip_cleanup: true
|
||||
script:
|
||||
# Run `semantic-release`
|
||||
- npx semantic-release@15
|
||||
provider: 'script'
|
||||
# Opt-in to `dpl v2` to complete the Travis build config validation (beta)
|
||||
# * https://docs.travis-ci.com/user/build-config-validation
|
||||
# Deprecated `skip_cleanup` can now be avoided, `cleanup: false` is by default
|
||||
edge: true
|
||||
# Run `semantic-release`
|
||||
script: 'npx semantic-release@15.14'
|
||||
|
||||
# Notification options: `always`, `never` or `change`
|
||||
notifications:
|
||||
webhooks:
|
||||
if: 'repo = saltstack-formulas/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
|
||||
---
|
||||
# Extend the `default` configuration provided by `yamllint`
|
||||
extends: default
|
||||
extends: 'default'
|
||||
|
||||
# Files to ignore completely
|
||||
# 1. All YAML files under directory `node_modules/`, introduced during the Travis run
|
||||
# 1. All YAML files under directory `.bundle/`, introduced if gems are installed locally
|
||||
# 2. All YAML files under directory `.cache/`, introduced during the CI run
|
||||
# 3. All YAML files under directory `.git/`
|
||||
# 4. All YAML files under directory `node_modules/`, introduced during the CI run
|
||||
# 5. Any SLS files under directory `test/`, which are actually state files
|
||||
# 6. Any YAML files under directory `.kitchen/`, introduced during local testing
|
||||
# 7. `kitchen.vagrant.yml`, which contains Embedded Ruby (ERB) template syntax
|
||||
ignore: |
|
||||
.bundle/
|
||||
.cache/
|
||||
.git/
|
||||
node_modules/
|
||||
test/**/states/**/*.sls
|
||||
.kitchen/
|
||||
kitchen.vagrant.yml
|
||||
|
||||
yaml-files:
|
||||
# Default settings
|
||||
- '*.yaml'
|
||||
- '*.yml'
|
||||
- .salt-lint
|
||||
- .yamllint
|
||||
# SaltStack Formulas additional settings
|
||||
- '*.example'
|
||||
- test/**/*.sls
|
||||
|
||||
rules:
|
||||
empty-values:
|
||||
forbid-in-block-mappings: true
|
||||
forbid-in-flow-mappings: true
|
||||
line-length:
|
||||
# Increase from default of `80`
|
||||
# Based on https://github.com/PyCQA/flake8-bugbear#opinionated-warnings (`B950`)
|
||||
max: 88
|
||||
octal-values:
|
||||
forbid-implicit-octal: true
|
||||
forbid-explicit-octal: true
|
||||
|
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
|
||||
:-:|---|:-:
|
||||
<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://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://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://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://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://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://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://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://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://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://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://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://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/10231489?v=4' width='36' height='36' alt='@myii'>|[@myii](https://github.com/myii)|82
|
||||
<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://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://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://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://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://avatars.githubusercontent.com/u/4195158?v=4' width='36' height='36' alt='@dafyddj'>|[@dafyddj](https://github.com/dafyddj)|3
|
||||
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/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/1920311?v=4' width='36' height='36' alt='@ricardoklein'>|[@ricardoklein](https://github.com/ricardoklein)|2
|
||||
<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://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://avatars.githubusercontent.com/u/1233212?v=4' width='36' height='36' alt='@baby-gnu'>|[@baby-gnu](https://github.com/baby-gnu)|1
|
||||
<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/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
|
||||
|
||||
## [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)
|
||||
|
||||
|
||||
|
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
|
||||
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
|
||||
version: 0.4.2
|
||||
version: 0.6.1
|
||||
release: 0
|
||||
minimum_version: 2016.11
|
||||
summary: Rkhunter formula
|
||||
|
21
Gemfile
21
Gemfile
@ -1,6 +1,19 @@
|
||||
source "https://rubygems.org"
|
||||
# frozen_string_literal: true
|
||||
|
||||
gem 'kitchen-docker', '>= 2.9'
|
||||
gem 'kitchen-salt', '>= 0.6.0'
|
||||
gem 'kitchen-inspec', '>= 1.1'
|
||||
source ENV.fetch('PROXY_RUBYGEMSORG', 'https://rubygems.org')
|
||||
|
||||
# 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.
|
||||
#
|
||||
|
||||
require "pathname"
|
||||
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
|
||||
Pathname.new(__FILE__).realpath)
|
||||
require 'pathname'
|
||||
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile',
|
||||
Pathname.new(__FILE__).realpath)
|
||||
|
||||
bundle_binstub = File.expand_path("../bundle", __FILE__)
|
||||
bundle_binstub = File.expand_path('bundle', __dir__)
|
||||
|
||||
if File.file?(bundle_binstub)
|
||||
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
|
||||
load(bundle_binstub)
|
||||
else
|
||||
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
|
||||
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
|
||||
abort(
|
||||
'Your `bin/bundle` was not generated by Bundler, ' \
|
||||
'so this binstub cannot run. Replace `bin/bundle` by running ' \
|
||||
'`bundle binstubs bundler --force`, then run this command again.'
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
require "rubygems"
|
||||
require "bundler/setup"
|
||||
require 'rubygems'
|
||||
require 'bundler/setup'
|
||||
|
||||
load Gem.bin_path("test-kitchen", "kitchen")
|
||||
load Gem.bin_path('test-kitchen', 'kitchen')
|
||||
|
@ -1,3 +1,8 @@
|
||||
module.exports = {
|
||||
extends: ['@commitlint/config-conventional'],
|
||||
rules: {
|
||||
'body-max-line-length': [2, 'always', 120],
|
||||
'footer-max-line-length': [2, 'always', 120],
|
||||
'header-max-length': [2, 'always', 72],
|
||||
},
|
||||
};
|
||||
|
@ -13,47 +13,59 @@ This list is sorted by the number of commits per contributor in *descending* ord
|
||||
* - Avatar
|
||||
- Contributor
|
||||
- Contributions
|
||||
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/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>`_
|
||||
- 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>`_
|
||||
- 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'>`
|
||||
- `@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'>`
|
||||
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/3433835?v=4' width='36' height='36' alt='@n-rodriguez'>`
|
||||
- `@n-rodriguez <https://github.com/n-rodriguez>`_
|
||||
- 5
|
||||
* - :raw-html-m2r:`<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
|
||||
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/1800660?v=4' width='36' height='36' alt='@aboe76'>`
|
||||
- 7
|
||||
* - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1800660?v=4' width='36' height='36' alt='@aboe76'>`
|
||||
- `@aboe76 <https://github.com/aboe76>`_
|
||||
- 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
|
||||
* - :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>`_
|
||||
- 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>`_
|
||||
- 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>`_
|
||||
- 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>`_
|
||||
- 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>`_
|
||||
- 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>`_
|
||||
- 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>`_
|
||||
- 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
|
||||
=========
|
||||
|
||||
`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)
|
||||
------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
@ -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!!**
|
||||
|
||||
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
|
||||
----------------
|
||||
@ -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.
|
||||
|
||||
``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``
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
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:
|
||||
|
||||
.. code-block::
|
||||
.. code-block:: console
|
||||
|
||||
/srv/saltstack/salt-formulas/ntp-saltstack-formula/
|
||||
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.
|
||||
|
||||
.. code-block::
|
||||
.. code-block:: console
|
||||
|
||||
/srv/saltstack/salt-formulas/ntp-saltstack-formula/ntp/files/
|
||||
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>`_.
|
||||
|
||||
.. code-block::
|
||||
.. code-block:: console
|
||||
|
||||
/srv/saltstack/systemd-formula/
|
||||
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` #}
|
||||
{%- set tplroot = tpldir.split('/')[0] %}
|
||||
{%- set sls_package_install = tplroot ~ '.package.install' %}
|
||||
{%- set sls_scripts_manage = tplroot ~ '.scripts.manage' %}
|
||||
{%- from tplroot ~ "/map.jinja" import keepalived with context %}
|
||||
{%- from tplroot ~ "/libtofs.jinja" import files_switch with context %}
|
||||
|
||||
include:
|
||||
- {{ sls_package_install }}
|
||||
- {{ sls_scripts_manage }}
|
||||
|
||||
keepalived-config-file-file-managed:
|
||||
file.managed:
|
||||
|
@ -9,3 +9,5 @@ keepalived:
|
||||
config:
|
||||
global_defs:
|
||||
smtp_server: localhost
|
||||
scripts_dir: /etc/keepalived
|
||||
scripts: {}
|
||||
|
@ -4,7 +4,7 @@
|
||||
########################################################################
|
||||
|
||||
{%- 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 %}
|
||||
{{ print_config({ section: config[section] }) }}
|
||||
{{ print_config({ section: config[section]|d({}) }) }}
|
||||
{%- endfor %}
|
||||
|
@ -3,5 +3,6 @@
|
||||
|
||||
include:
|
||||
- .package
|
||||
- .scripts
|
||||
- .config
|
||||
- .service
|
||||
|
@ -1,40 +1,37 @@
|
||||
{%- macro files_switch(source_files,
|
||||
lookup=None,
|
||||
default_files_switch=['id', 'os_family'],
|
||||
indent_width=6,
|
||||
use_subpath=False) %}
|
||||
{#-
|
||||
{%- macro files_switch(
|
||||
source_files,
|
||||
lookup=None,
|
||||
default_files_switch=["id", "os_family"],
|
||||
indent_width=6,
|
||||
use_subpath=False
|
||||
) %}
|
||||
{#-
|
||||
Returns a valid value for the "source" parameter of a "file.managed"
|
||||
state function. This makes easier the usage of the Template Override and
|
||||
Files Switch (TOFS) pattern.
|
||||
|
||||
Params:
|
||||
* 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
|
||||
* 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
|
||||
"<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
|
||||
recursively from the current state directory up to `tplroot`
|
||||
|
||||
Example (based on a `tplroot` of `xxx`):
|
||||
|
||||
If we have a state:
|
||||
|
||||
Deploy configuration:
|
||||
file.managed:
|
||||
- name: /etc/yyy/zzz.conf
|
||||
- source: {{ files_switch(['/etc/yyy/zzz.conf', '/etc/yyy/zzz.conf.jinja'],
|
||||
lookup='Deploy configuration'
|
||||
) }}
|
||||
- source: {{ files_switch(
|
||||
["/etc/yyy/zzz.conf", "/etc/yyy/zzz.conf.jinja"],
|
||||
lookup="Deploy configuration",
|
||||
) }}
|
||||
- template: jinja
|
||||
|
||||
In a minion with id=theminion and os_family=RedHat, it's going to be
|
||||
rendered as:
|
||||
|
||||
Deploy configuration:
|
||||
file.managed:
|
||||
- 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.jinja
|
||||
- template: jinja
|
||||
#}
|
||||
{#- Get the `tplroot` from `tpldir` #}
|
||||
{%- set tplroot = tpldir.split('/')[0] %}
|
||||
{%- set path_prefix = salt['config.get'](tplroot ~ ':tofs:path_prefix', tplroot) %}
|
||||
{%- set files_dir = salt['config.get'](tplroot ~ ':tofs:dirs:files', 'files') %}
|
||||
{%- set files_switch_list = salt['config.get'](
|
||||
tplroot ~ ':tofs:files_switch',
|
||||
default_files_switch
|
||||
) %}
|
||||
{#- Lookup source_files (v2), files (v1), or fallback to an empty list #}
|
||||
{%- set src_files = salt['config.get'](
|
||||
tplroot ~ ':tofs:source_files:' ~ lookup,
|
||||
salt['config.get'](tplroot ~ ':tofs:files:' ~ lookup, [])
|
||||
) %}
|
||||
{#- Append the default source_files #}
|
||||
{%- set src_files = src_files + source_files %}
|
||||
{#- Only add to [''] when supporting older TOFS implementations #}
|
||||
{%- set path_prefix_exts = [''] %}
|
||||
{%- if use_subpath and tplroot != tpldir %}
|
||||
{#- Walk directory tree to find {{ files_dir }} #}
|
||||
{%- set subpath_parts = tpldir.lstrip(tplroot).lstrip('/').split('/') %}
|
||||
{%- for path in subpath_parts %}
|
||||
{%- set subpath = subpath_parts[0:loop.index] | join('/') %}
|
||||
{%- do path_prefix_exts.append('/' ~ subpath) %}
|
||||
{%- endfor %}
|
||||
{%- endif %}
|
||||
{%- for path_prefix_ext in path_prefix_exts|reverse %}
|
||||
{%- set path_prefix_inc_ext = path_prefix ~ path_prefix_ext %}
|
||||
{#- For older TOFS implementation, use `files_switch` from the config #}
|
||||
{#- Use the default, new method otherwise #}
|
||||
{%- set fsl = salt['config.get'](
|
||||
tplroot ~ path_prefix_ext|replace('/', ':') ~ ':files_switch',
|
||||
files_switch_list
|
||||
) %}
|
||||
{#- Append an empty value to evaluate as `default` in the loop below #}
|
||||
{%- if '' not in fsl %}
|
||||
{%- do fsl.append('') %}
|
||||
{%- endif %}
|
||||
{%- for fs in fsl %}
|
||||
{%- for src_file in src_files %}
|
||||
{%- if fs %}
|
||||
{%- set fs_dirs = salt['config.get'](fs, fs) %}
|
||||
{%- else %}
|
||||
{%- set fs_dirs = salt['config.get'](tplroot ~ ':tofs:dirs:default', 'default') %}
|
||||
{%- endif %}
|
||||
{#- Force the `config.get` lookup result as a list where necessary #}
|
||||
{#- since we need to also handle grains that are lists #}
|
||||
{%- if fs_dirs is string %}
|
||||
{%- set fs_dirs = [fs_dirs] %}
|
||||
{%- endif %}
|
||||
{%- for fs_dir in fs_dirs %}
|
||||
{%- set url = [
|
||||
'- salt:/',
|
||||
path_prefix_inc_ext.strip('/'),
|
||||
files_dir.strip('/'),
|
||||
fs_dir.strip('/'),
|
||||
src_file.strip('/'),
|
||||
] | select | join('/') %}
|
||||
#}
|
||||
{#- Get the `tplroot` from `tpldir` #}
|
||||
{%- set tplroot = tpldir.split("/")[0] %}
|
||||
{%- set path_prefix = salt["config.get"](tplroot ~ ":tofs:path_prefix", tplroot) %}
|
||||
{%- set files_dir = salt["config.get"](tplroot ~ ":tofs:dirs:files", "files") %}
|
||||
{%- set files_switch_list = salt["config.get"](
|
||||
tplroot ~ ":tofs:files_switch", default_files_switch
|
||||
) %}
|
||||
{#- Lookup source_files (v2), files (v1), or fallback to an empty list #}
|
||||
{%- set src_files = salt["config.get"](
|
||||
tplroot ~ ":tofs:source_files:" ~ lookup,
|
||||
salt["config.get"](tplroot ~ ":tofs:files:" ~ lookup, []),
|
||||
) %}
|
||||
{#- Append the default source_files #}
|
||||
{%- set src_files = src_files + source_files %}
|
||||
{#- Only add to [""] when supporting older TOFS implementations #}
|
||||
{%- set path_prefix_exts = [""] %}
|
||||
{%- if use_subpath and tplroot != tpldir %}
|
||||
{#- Walk directory tree to find {{ files_dir }} #}
|
||||
{%- set subpath_parts = tpldir.lstrip(tplroot).lstrip("/").split("/") %}
|
||||
{%- for path in subpath_parts %}
|
||||
{%- set subpath = subpath_parts[0 : loop.index] | join("/") %}
|
||||
{%- do path_prefix_exts.append("/" ~ subpath) %}
|
||||
{%- endfor %}
|
||||
{%- endif %}
|
||||
{%- for path_prefix_ext in path_prefix_exts | reverse %}
|
||||
{%- set path_prefix_inc_ext = path_prefix ~ path_prefix_ext %}
|
||||
{#- For older TOFS implementation, use `files_switch` from the config #}
|
||||
{#- Use the default, new method otherwise #}
|
||||
{%- set fsl = salt["config.get"](
|
||||
tplroot ~ path_prefix_ext | replace("/", ":") ~ ":files_switch",
|
||||
files_switch_list,
|
||||
) %}
|
||||
{#- Append an empty value to evaluate as `default` in the loop below #}
|
||||
{%- if "" not in fsl %}
|
||||
{%- set fsl = fsl + [""] %}
|
||||
{%- endif %}
|
||||
{%- for fs in fsl %}
|
||||
{%- for src_file in src_files %}
|
||||
{%- if fs %}
|
||||
{%- set fs_dirs = salt["config.get"](fs, fs) %}
|
||||
{%- else %}
|
||||
{%- set fs_dirs = salt["config.get"](
|
||||
tplroot ~ ":tofs:dirs:default", "default"
|
||||
) %}
|
||||
{%- endif %}
|
||||
{#- Force the `config.get` lookup result as a list where necessary #}
|
||||
{#- since we need to also handle grains that are lists #}
|
||||
{%- if fs_dirs is string %}
|
||||
{%- set fs_dirs = [fs_dirs] %}
|
||||
{%- endif %}
|
||||
{%- for fs_dir in fs_dirs %}
|
||||
{#- strip empty elements by using a select #}
|
||||
{%- set url = (
|
||||
[
|
||||
"- salt:/",
|
||||
path_prefix_inc_ext.strip("/"),
|
||||
files_dir.strip("/"),
|
||||
fs_dir.strip("/"),
|
||||
src_file.strip("/"),
|
||||
]
|
||||
| select
|
||||
| join("/")
|
||||
) %}
|
||||
{{ url | indent(indent_width, true) }}
|
||||
{%- endfor %}
|
||||
{%- endfor %}
|
||||
{%- endfor %}
|
||||
{%- endfor %}
|
||||
{%- endfor %}
|
||||
{%- endfor %}
|
||||
{%- endfor %}
|
||||
{%- endfor %}
|
||||
{%- endmacro %}
|
||||
|
@ -30,7 +30,12 @@
|
||||
{%- if item[value] is string or item[value] is not iterable -%}
|
||||
{%- set forwardIndent = 0 -%}
|
||||
{%- 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 -%}
|
||||
{%- endfor -%}
|
||||
{%- else -%}
|
||||
|
@ -4,21 +4,46 @@
|
||||
{#- Get the `tplroot` from `tpldir` #}
|
||||
{%- set tplroot = tpldir.split('/')[0] %}
|
||||
{#- Start imports as #}
|
||||
{%- import_yaml tplroot ~ "/defaults.yaml" or {} as default_settings %}
|
||||
{%- import_yaml tplroot ~ "/osfamilymap.yaml" or {} as osfamilymap %}
|
||||
{%- import_yaml tplroot ~ "/osmap.yaml" or {} as osmap %}
|
||||
{%- import_yaml tplroot ~ "/osfingermap.yaml" or {} as osfingermap %}
|
||||
{%- import_yaml tplroot ~ "/defaults.yaml" as default_settings %}
|
||||
{%- import_yaml tplroot ~ "/osarchmap.yaml" as osarchmap %}
|
||||
{%- import_yaml tplroot ~ "/osfamilymap.yaml" as osfamilymap %}
|
||||
{%- import_yaml tplroot ~ "/osmap.yaml" as osmap %}
|
||||
{%- import_yaml tplroot ~ "/osfingermap.yaml" as osfingermap %}
|
||||
|
||||
{%- set defaults = salt['grains.filter_by'](default_settings,
|
||||
default='keepalived',
|
||||
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['pillar.get']('keepalived:lookup', default={})
|
||||
{#- Retrieve the config dict only once #}
|
||||
{%- set _config = salt['config.get'](tplroot, default={}) %}
|
||||
|
||||
{%- set defaults = salt['grains.filter_by'](
|
||||
default_settings,
|
||||
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 keepalived = salt['pillar.get']('keepalived', default=defaults, merge=True) %}
|
||||
{%- set config = salt['grains.filter_by'](
|
||||
{'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 -*-
|
||||
# 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: {}
|
||||
RedHat: {}
|
||||
Suse: {}
|
||||
Gentoo:
|
||||
package: sys-cluster/keepalived
|
||||
|
@ -1,11 +1,13 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# 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: {}
|
||||
Debian-9: {}
|
||||
Ubuntu-16.04: {}
|
||||
Ubuntu-18.04: {}
|
||||
Fedora-28: {}
|
||||
Fedora-29: {}
|
||||
CentOS-7: {}
|
||||
openSUSE-4.23: {}
|
||||
osfingermap: {}
|
||||
|
@ -1,8 +1,13 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# 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: {}
|
||||
Ubuntu: {}
|
||||
Fedora: {}
|
||||
CentOS: {}
|
||||
openSUSE: {}
|
||||
osmap: {}
|
||||
|
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:
|
||||
service.running:
|
||||
- name: {{ keepalived.service.name }}
|
||||
- enable: True
|
||||
- require:
|
||||
- watch:
|
||||
- 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
|
||||
use_sudo: false
|
||||
privileged: true
|
||||
run_command: /lib/systemd/systemd
|
||||
|
||||
# Make sure the platforms listed below match up with
|
||||
# the `env.matrix` instances defined in `.travis.yml`
|
||||
platforms:
|
||||
## SALT `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
|
||||
run_command: /usr/lib/systemd/systemd
|
||||
|
||||
provisioner:
|
||||
name: salt_solo
|
||||
log_level: info
|
||||
log_level: debug
|
||||
salt_install: none
|
||||
require_chef: false
|
||||
formula: keepalived
|
||||
@ -109,12 +18,252 @@ provisioner:
|
||||
- .kitchen
|
||||
- .git
|
||||
|
||||
platforms:
|
||||
## SALT `tiamat`
|
||||
- name: debian-11-tiamat-py3
|
||||
driver:
|
||||
image: saltimages/salt-tiamat-py3:debian-11
|
||||
run_command: /lib/systemd/systemd
|
||||
- name: debian-10-tiamat-py3
|
||||
driver:
|
||||
image: saltimages/salt-tiamat-py3:debian-10
|
||||
run_command: /lib/systemd/systemd
|
||||
- name: debian-9-tiamat-py3
|
||||
driver:
|
||||
image: saltimages/salt-tiamat-py3:debian-9
|
||||
run_command: /lib/systemd/systemd
|
||||
- name: ubuntu-2204-tiamat-py3
|
||||
driver:
|
||||
image: saltimages/salt-tiamat-py3:ubuntu-22.04
|
||||
run_command: /lib/systemd/systemd
|
||||
- name: ubuntu-2004-tiamat-py3
|
||||
driver:
|
||||
image: saltimages/salt-tiamat-py3:ubuntu-20.04
|
||||
run_command: /lib/systemd/systemd
|
||||
- name: ubuntu-1804-tiamat-py3
|
||||
driver:
|
||||
image: saltimages/salt-tiamat-py3:ubuntu-18.04
|
||||
run_command: /lib/systemd/systemd
|
||||
- name: centos-stream8-tiamat-py3
|
||||
driver:
|
||||
image: saltimages/salt-tiamat-py3:centos-stream8
|
||||
- name: centos-7-tiamat-py3
|
||||
driver:
|
||||
image: saltimages/salt-tiamat-py3:centos-7
|
||||
- name: amazonlinux-2-tiamat-py3
|
||||
driver:
|
||||
image: saltimages/salt-tiamat-py3:amazonlinux-2
|
||||
- name: oraclelinux-8-tiamat-py3
|
||||
driver:
|
||||
image: saltimages/salt-tiamat-py3:oraclelinux-8
|
||||
- name: oraclelinux-7-tiamat-py3
|
||||
driver:
|
||||
image: saltimages/salt-tiamat-py3:oraclelinux-7
|
||||
- name: almalinux-8-tiamat-py3
|
||||
driver:
|
||||
image: saltimages/salt-tiamat-py3:almalinux-8
|
||||
- name: rockylinux-8-tiamat-py3
|
||||
driver:
|
||||
image: saltimages/salt-tiamat-py3:rockylinux-8
|
||||
|
||||
## SALT `master`
|
||||
- name: debian-11-master-py3
|
||||
driver:
|
||||
image: saltimages/salt-master-py3:debian-11
|
||||
run_command: /lib/systemd/systemd
|
||||
- name: debian-10-master-py3
|
||||
driver:
|
||||
image: saltimages/salt-master-py3:debian-10
|
||||
run_command: /lib/systemd/systemd
|
||||
- name: debian-9-master-py3
|
||||
driver:
|
||||
image: saltimages/salt-master-py3:debian-9
|
||||
run_command: /lib/systemd/systemd
|
||||
- name: ubuntu-2204-master-py3
|
||||
driver:
|
||||
image: saltimages/salt-master-py3:ubuntu-22.04
|
||||
run_command: /lib/systemd/systemd
|
||||
- name: ubuntu-2004-master-py3
|
||||
driver:
|
||||
image: saltimages/salt-master-py3:ubuntu-20.04
|
||||
run_command: /lib/systemd/systemd
|
||||
- name: ubuntu-1804-master-py3
|
||||
driver:
|
||||
image: saltimages/salt-master-py3:ubuntu-18.04
|
||||
run_command: /lib/systemd/systemd
|
||||
- name: centos-stream8-master-py3
|
||||
driver:
|
||||
image: saltimages/salt-master-py3:centos-stream8
|
||||
- name: centos-7-master-py3
|
||||
driver:
|
||||
image: saltimages/salt-master-py3:centos-7
|
||||
- name: fedora-36-master-py3
|
||||
driver:
|
||||
image: saltimages/salt-master-py3:fedora-36
|
||||
- name: fedora-35-master-py3
|
||||
driver:
|
||||
image: saltimages/salt-master-py3:fedora-35
|
||||
- name: opensuse-leap-153-master-py3
|
||||
driver:
|
||||
image: saltimages/salt-master-py3:opensuse-leap-15.3
|
||||
# Workaround to avoid intermittent failures on `opensuse-leap-15.3`:
|
||||
# => SCP did not finish successfully (255): (Net::SCP::Error)
|
||||
transport:
|
||||
max_ssh_sessions: 1
|
||||
- name: opensuse-tmbl-latest-master-py3
|
||||
driver:
|
||||
image: saltimages/salt-master-py3:opensuse-tumbleweed-latest
|
||||
# Workaround to avoid intermittent failures on `opensuse-tumbleweed`:
|
||||
# => SCP did not finish successfully (255): (Net::SCP::Error)
|
||||
transport:
|
||||
max_ssh_sessions: 1
|
||||
- name: amazonlinux-2-master-py3
|
||||
driver:
|
||||
image: saltimages/salt-master-py3:amazonlinux-2
|
||||
- name: oraclelinux-8-master-py3
|
||||
driver:
|
||||
image: saltimages/salt-master-py3:oraclelinux-8
|
||||
- name: oraclelinux-7-master-py3
|
||||
driver:
|
||||
image: saltimages/salt-master-py3:oraclelinux-7
|
||||
- name: arch-base-latest-master-py3
|
||||
driver:
|
||||
image: saltimages/salt-master-py3:arch-base-latest
|
||||
- name: gentoo-stage3-latest-master-py3
|
||||
driver:
|
||||
image: saltimages/salt-master-py3:gentoo-stage3-latest
|
||||
run_command: /sbin/init
|
||||
- name: gentoo-stage3-systemd-master-py3
|
||||
driver:
|
||||
image: saltimages/salt-master-py3:gentoo-stage3-systemd
|
||||
- name: almalinux-8-master-py3
|
||||
driver:
|
||||
image: saltimages/salt-master-py3:almalinux-8
|
||||
- name: rockylinux-8-master-py3
|
||||
driver:
|
||||
image: saltimages/salt-master-py3:rockylinux-8
|
||||
|
||||
## SALT `3004.1`
|
||||
- name: debian-11-3004-1-py3
|
||||
driver:
|
||||
image: saltimages/salt-3004.1-py3:debian-11
|
||||
run_command: /lib/systemd/systemd
|
||||
- name: debian-10-3004-1-py3
|
||||
driver:
|
||||
image: saltimages/salt-3004.1-py3:debian-10
|
||||
run_command: /lib/systemd/systemd
|
||||
- name: debian-9-3004-1-py3
|
||||
driver:
|
||||
image: saltimages/salt-3004.1-py3:debian-9
|
||||
run_command: /lib/systemd/systemd
|
||||
- name: ubuntu-2204-3004-1-py3
|
||||
driver:
|
||||
image: saltimages/salt-3004.1-py3:ubuntu-22.04
|
||||
run_command: /lib/systemd/systemd
|
||||
- name: ubuntu-2004-3004-1-py3
|
||||
driver:
|
||||
image: saltimages/salt-3004.1-py3:ubuntu-20.04
|
||||
run_command: /lib/systemd/systemd
|
||||
- name: ubuntu-1804-3004-1-py3
|
||||
driver:
|
||||
image: saltimages/salt-3004.1-py3:ubuntu-18.04
|
||||
run_command: /lib/systemd/systemd
|
||||
- name: centos-stream8-3004-1-py3
|
||||
driver:
|
||||
image: saltimages/salt-3004.1-py3:centos-stream8
|
||||
- name: centos-7-3004-1-py3
|
||||
driver:
|
||||
image: saltimages/salt-3004.1-py3:centos-7
|
||||
- name: fedora-36-3004-1-py3
|
||||
driver:
|
||||
image: saltimages/salt-3004.1-py3:fedora-36
|
||||
- name: fedora-35-3004-1-py3
|
||||
driver:
|
||||
image: saltimages/salt-3004.1-py3:fedora-35
|
||||
- name: amazonlinux-2-3004-1-py3
|
||||
driver:
|
||||
image: saltimages/salt-3004.1-py3:amazonlinux-2
|
||||
- name: oraclelinux-8-3004-1-py3
|
||||
driver:
|
||||
image: saltimages/salt-3004.1-py3:oraclelinux-8
|
||||
- name: oraclelinux-7-3004-1-py3
|
||||
driver:
|
||||
image: saltimages/salt-3004.1-py3:oraclelinux-7
|
||||
- name: arch-base-latest-3004-1-py3
|
||||
driver:
|
||||
image: saltimages/salt-3004.1-py3:arch-base-latest
|
||||
- name: gentoo-stage3-latest-3004-1-py3
|
||||
driver:
|
||||
image: saltimages/salt-3004.1-py3:gentoo-stage3-latest
|
||||
run_command: /sbin/init
|
||||
- name: gentoo-stage3-systemd-3004-1-py3
|
||||
driver:
|
||||
image: saltimages/salt-3004.1-py3:gentoo-stage3-systemd
|
||||
- name: almalinux-8-3004-1-py3
|
||||
driver:
|
||||
image: saltimages/salt-3004.1-py3:almalinux-8
|
||||
- name: rockylinux-8-3004-1-py3
|
||||
driver:
|
||||
image: saltimages/salt-3004.1-py3:rockylinux-8
|
||||
|
||||
## SALT `3004.0`
|
||||
- name: opensuse-leap-153-3004-0-py3
|
||||
driver:
|
||||
image: saltimages/salt-3004.0-py3:opensuse-leap-15.3
|
||||
# Workaround to avoid intermittent failures on `opensuse-leap-15.3`:
|
||||
# => SCP did not finish successfully (255): (Net::SCP::Error)
|
||||
transport:
|
||||
max_ssh_sessions: 1
|
||||
- name: opensuse-tmbl-latest-3004-0-py3
|
||||
driver:
|
||||
image: saltimages/salt-3004.0-py3:opensuse-tumbleweed-latest
|
||||
# Workaround to avoid intermittent failures on `opensuse-tumbleweed`:
|
||||
# => SCP did not finish successfully (255): (Net::SCP::Error)
|
||||
transport:
|
||||
max_ssh_sessions: 1
|
||||
|
||||
## SALT `3003.4`
|
||||
- name: debian-10-3003-4-py3
|
||||
driver:
|
||||
image: saltimages/salt-3003.4-py3:debian-10
|
||||
run_command: /lib/systemd/systemd
|
||||
- name: debian-9-3003-4-py3
|
||||
driver:
|
||||
image: saltimages/salt-3003.4-py3:debian-9
|
||||
run_command: /lib/systemd/systemd
|
||||
- name: ubuntu-2004-3003-4-py3
|
||||
driver:
|
||||
image: saltimages/salt-3003.4-py3:ubuntu-20.04
|
||||
run_command: /lib/systemd/systemd
|
||||
- name: ubuntu-1804-3003-4-py3
|
||||
driver:
|
||||
image: saltimages/salt-3003.4-py3:ubuntu-18.04
|
||||
run_command: /lib/systemd/systemd
|
||||
- name: centos-stream8-3003-4-py3
|
||||
driver:
|
||||
image: saltimages/salt-3003.4-py3:centos-stream8
|
||||
- name: centos-7-3003-4-py3
|
||||
driver:
|
||||
image: saltimages/salt-3003.4-py3:centos-7
|
||||
- name: amazonlinux-2-3003-4-py3
|
||||
driver:
|
||||
image: saltimages/salt-3003.4-py3:amazonlinux-2
|
||||
- name: oraclelinux-8-3003-4-py3
|
||||
driver:
|
||||
image: saltimages/salt-3003.4-py3:oraclelinux-8
|
||||
- name: oraclelinux-7-3003-4-py3
|
||||
driver:
|
||||
image: saltimages/salt-3003.4-py3:oraclelinux-7
|
||||
- name: almalinux-8-3003-4-py3
|
||||
driver:
|
||||
image: saltimages/salt-3003.4-py3:almalinux-8
|
||||
|
||||
verifier:
|
||||
# https://www.inspec.io/
|
||||
name: inspec
|
||||
sudo: true
|
||||
# cli, documentation, html, progress, json, json-min, json-rspec, junit
|
||||
reporter:
|
||||
# cli, documentation, html, progress, json, json-min, json-rspec, junit
|
||||
- cli
|
||||
|
||||
suites:
|
||||
@ -123,6 +272,7 @@ suites:
|
||||
state_top:
|
||||
base:
|
||||
'*':
|
||||
- keepalived._mapdata
|
||||
- keepalived
|
||||
pillars:
|
||||
top.sls:
|
||||
|
@ -27,6 +27,11 @@ keepalived:
|
||||
smtp_server: 192.168.200.1
|
||||
smtp_connect_timeout: 30
|
||||
router_id: LVS_DEVEL
|
||||
vrrp_sync_group:
|
||||
EXAMPLE_GROUP:
|
||||
group:
|
||||
- VI_IPV4
|
||||
- VI_IPV6
|
||||
vrrp_instance:
|
||||
VI_1:
|
||||
state: MASTER
|
||||
@ -34,6 +39,10 @@ keepalived:
|
||||
virtual_router_id: 51
|
||||
priority: 100
|
||||
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:
|
||||
auth_type: PASS
|
||||
auth_pass: 1111
|
||||
@ -143,3 +152,34 @@ keepalived:
|
||||
script: '"killall -0 apache"'
|
||||
interval: 2
|
||||
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`
|
||||
sudo -H pip install m2r
|
||||
# Install `m2r2`
|
||||
pip3 install m2r2
|
||||
|
||||
# Copy and then convert the `.md` docs
|
||||
cp *.md docs/
|
||||
cd docs/
|
||||
m2r --overwrite *.md
|
||||
cp ./*.md docs/
|
||||
cd docs/ || exit
|
||||
m2r2 --overwrite ./*.md
|
||||
|
||||
# Change excess `H1` headings to `H2` in converted `CHANGELOG.rst`
|
||||
sed -i -e '/^=.*$/s/=/-/g' CHANGELOG.rst
|
||||
|
@ -1,5 +1,6 @@
|
||||
module.exports = {
|
||||
branch: 'master',
|
||||
repositoryUrl: 'https://github.com/saltstack-formulas/keepalived-formula',
|
||||
plugins: [
|
||||
['@semantic-release/commit-analyzer', {
|
||||
preset: 'angular',
|
||||
@ -63,7 +64,7 @@ module.exports = {
|
||||
}
|
||||
|
||||
if (typeof commit.hash === `string`) {
|
||||
commit.hash = commit.hash.substring(0, 7)
|
||||
commit.shortHash = commit.hash.substring(0, 7)
|
||||
}
|
||||
|
||||
if (typeof commit.subject === `string`) {
|
||||
|
@ -1,3 +1,5 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
control 'Keepalived configuration' do
|
||||
title 'should match desired lines'
|
||||
|
||||
@ -7,5 +9,11 @@ control 'Keepalived configuration' do
|
||||
|
||||
# Custom config from pillar
|
||||
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
|
||||
|
@ -1,3 +1,5 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
control 'Keepalived package' do
|
||||
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
|
||||
license: Apache-2.0
|
||||
summary: Verify that the keepalived formula is setup and configured correctly
|
||||
depends:
|
||||
- name: share
|
||||
path: test/integration/share
|
||||
supports:
|
||||
- platform-name: debian
|
||||
- platform-name: ubuntu
|
||||
@ -14,4 +17,12 @@ supports:
|
||||
- platform-name: opensuse
|
||||
- platform-name: suse
|
||||
- platform-name: freebsd
|
||||
- platform-name: openbsd
|
||||
- platform-name: amazon
|
||||
- platform-name: oracle
|
||||
- platform-name: arch
|
||||
- platform-name: gentoo
|
||||
- platform-name: almalinux
|
||||
- platform-name: rocky
|
||||
- platform-name: mac_os_x
|
||||
- platform: windows
|
||||
|
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