Compare commits
	
		
			No commits in common. "master" and "v0.4.2" have entirely different histories.
		
	
	
		
	
		
							
								
								
									
										16
									
								
								.github/workflows/commitlint.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								.github/workflows/commitlint.yml
									
									
									
									
										vendored
									
									
								
							| @ -1,16 +0,0 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
| # vim: ft=yaml | ||||
| --- | ||||
| name: Commitlint | ||||
| 'on': [pull_request] | ||||
| 
 | ||||
| jobs: | ||||
|   lint: | ||||
|     runs-on: ubuntu-latest | ||||
|     env: | ||||
|       GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
|     steps: | ||||
|       - uses: actions/checkout@v2 | ||||
|         with: | ||||
|           fetch-depth: 0 | ||||
|       - uses: wagoid/commitlint-github-action@v1 | ||||
							
								
								
									
										14
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -91,9 +91,6 @@ celerybeat-schedule | ||||
| venv/ | ||||
| ENV/ | ||||
| 
 | ||||
| # visual studio | ||||
| .vs/ | ||||
| 
 | ||||
| # Spyder project settings | ||||
| .spyderproject | ||||
| .spyproject | ||||
| @ -108,7 +105,7 @@ ENV/ | ||||
| .mypy_cache/ | ||||
| 
 | ||||
| # Bundler | ||||
| .bundle/ | ||||
| Gemfile.lock | ||||
| 
 | ||||
| # copied `.md` files used for conversion to `.rst` using `m2r` | ||||
| docs/*.md | ||||
| @ -123,12 +120,3 @@ docs/*.md | ||||
| Dockerfile.*_* | ||||
| ignore/ | ||||
| tmp/ | ||||
| 
 | ||||
| # `salt-formula` -- Vagrant Specific files | ||||
| .vagrant | ||||
| top.sls | ||||
| !test/salt/pillar/top.sls | ||||
| 
 | ||||
| # `suricata-formula` -- Platform binaries | ||||
| *.rpm | ||||
| *.deb | ||||
|  | ||||
							
								
								
									
										214
									
								
								.gitlab-ci.yml
									
									
									
									
									
								
							
							
						
						
									
										214
									
								
								.gitlab-ci.yml
									
									
									
									
									
								
							| @ -1,214 +0,0 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
| # vim: ft=yaml | ||||
| --- | ||||
| ############################################################################### | ||||
| # Define all YAML node anchors | ||||
| ############################################################################### | ||||
| .node_anchors: | ||||
|   # `only` (also used for `except` where applicable) | ||||
|   only_branch_master_parent_repo: &only_branch_master_parent_repo | ||||
|     - 'master@saltstack-formulas/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' | ||||
| @ -1,77 +0,0 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
| # vim: ft=yaml | ||||
| --- | ||||
| # See https://pre-commit.com for more information | ||||
| # See https://pre-commit.com/hooks.html for more hooks | ||||
| ci: | ||||
|   autofix_commit_msg: | | ||||
|     ci(pre-commit.ci): apply auto fixes from pre-commit.com hooks | ||||
| 
 | ||||
|     For more information, see https://pre-commit.ci | ||||
|   autofix_prs: true | ||||
|   autoupdate_branch: '' | ||||
|   autoupdate_commit_msg: | | ||||
|     ci(pre-commit.ci): perform `pre-commit` autoupdate | ||||
|   autoupdate_schedule: quarterly | ||||
|   skip: [] | ||||
|   submodules: false | ||||
| default_stages: [commit] | ||||
| repos: | ||||
|   - repo: https://github.com/dafyddj/commitlint-pre-commit-hook | ||||
|     rev: v2.3.0 | ||||
|     hooks: | ||||
|       - id: commitlint | ||||
|         name: Check commit message using commitlint | ||||
|         description: Lint commit message against @commitlint/config-conventional rules | ||||
|         stages: [commit-msg] | ||||
|         additional_dependencies: ['@commitlint/config-conventional@8.3.4'] | ||||
|       - id: commitlint-travis | ||||
|         stages: [manual] | ||||
|         additional_dependencies: ['@commitlint/config-conventional@8.3.4'] | ||||
|         always_run: true | ||||
|   - repo: https://github.com/rubocop-hq/rubocop | ||||
|     rev: v1.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] | ||||
| @ -1,4 +0,0 @@ | ||||
| [rstcheck] | ||||
| report=info | ||||
| ignore_language=rst | ||||
| ignore_messages=(Duplicate (ex|im)plicit target.*|Hyperlink target ".*" is not referenced\.$) | ||||
							
								
								
									
										23
									
								
								.rubocop.yml
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								.rubocop.yml
									
									
									
									
									
								
							| @ -1,23 +0,0 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
| # vim: ft=yaml | ||||
| --- | ||||
| # General overrides used across formulas in the org | ||||
| Layout/LineLength: | ||||
|   # Increase from default of `80` | ||||
|   # Based on https://github.com/PyCQA/flake8-bugbear#opinionated-warnings (`B950`) | ||||
|   Max: 88 | ||||
| Metrics/BlockLength: | ||||
|   IgnoredMethods: | ||||
|     - control | ||||
|     - describe | ||||
|   # Increase from default of `25` | ||||
|   Max: 30 | ||||
| Security/YAMLLoad: | ||||
|   Exclude: | ||||
|     - test/integration/**/_mapdata.rb | ||||
| 
 | ||||
| # General settings across all cops in this formula | ||||
| AllCops: | ||||
|   NewCops: enable | ||||
| 
 | ||||
| # Any offenses that should be fixed, e.g. collected via. `rubocop --auto-gen-config` | ||||
							
								
								
									
										14
									
								
								.salt-lint
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								.salt-lint
									
									
									
									
									
								
							| @ -1,14 +0,0 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
| # vim: ft=yaml | ||||
| --- | ||||
| exclude_paths: [] | ||||
| rules: {} | ||||
| skip_list: | ||||
|   # Using `salt-lint` for linting other files as well, such as Jinja macros/templates | ||||
|   - 205  # Use ".sls" as a Salt State file extension | ||||
|   # Skipping `207` and `208` because `210` is sufficient, at least for the time-being | ||||
|   # I.e. Allows 3-digit unquoted codes to still be used, such as `644` and `755` | ||||
|   - 207  # File modes should always be encapsulated in quotation marks | ||||
|   - 208  # File modes should always contain a leading zero | ||||
| tags: [] | ||||
| verbosity: 1 | ||||
							
								
								
									
										221
									
								
								.travis.yml
									
									
									
									
									
								
							
							
						
						
									
										221
									
								
								.travis.yml
									
									
									
									
									
								
							| @ -1,30 +1,20 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
| # vim: ft=yaml | ||||
| --- | ||||
| ################################################################################ | ||||
| # NOTE: This file is UNMAINTAINED; it is provided for references purposes only. | ||||
| #       No guarantees are tendered that this structure will work after 2020. | ||||
| ################################################################################ | ||||
| # * https://en.wikipedia.org/wiki/Travis_CI: | ||||
| #   - "... free open-source plans were removed in [sic] the end of 2020" | ||||
| #   - https://blog.travis-ci.com/2020-11-02-travis-ci-new-billing | ||||
| #   - https://ropensci.org/technotes/2020/11/19/moving-away-travis/ | ||||
| ################################################################################ | ||||
| ## Machine config | ||||
| os: 'linux' | ||||
| arch: 'amd64' | ||||
| dist: 'bionic' | ||||
| version: '~> 1.0' | ||||
| stages: | ||||
|   - test | ||||
|   - lint | ||||
|   - name: release | ||||
|     if: branch = master AND type != pull_request | ||||
| 
 | ||||
| ## Language and cache config | ||||
| language: 'ruby' | ||||
| cache: 'bundler' | ||||
| sudo: required | ||||
| cache: bundler | ||||
| language: ruby | ||||
| dist: xenial | ||||
| 
 | ||||
| ## Services config | ||||
| services: | ||||
|   - docker | ||||
| 
 | ||||
| ## Addons config | ||||
| # yamllint disable rule:indentation | ||||
| addons: | ||||
|   apt: | ||||
| @ -32,137 +22,56 @@ addons: | ||||
|     - ipvsadm | ||||
| # yamllint enable rule:indentation | ||||
| 
 | ||||
| ## Script to run for the test stage | ||||
| # Make sure the instances listed below match up with | ||||
| # the `platforms` defined in `kitchen.yml` | ||||
| env: | ||||
|   matrix: | ||||
|     - INSTANCE: default-debian-9-develop-py3 | ||||
|     # - INSTANCE: default-ubuntu-1804-develop-py3 | ||||
|     # - INSTANCE: default-centos-7-develop-py3 | ||||
|     # - INSTANCE: default-fedora-29-develop-py3 | ||||
|     # - INSTANCE: default-opensuse-leap-15-develop-py3 | ||||
|     # - INSTANCE: default-debian-9-2019-2-py3 | ||||
|     - INSTANCE: default-ubuntu-1804-2019-2-py3 | ||||
|     - INSTANCE: default-centos-7-2019-2-py3 | ||||
|     # - INSTANCE: default-fedora-29-2019-2-py3 | ||||
|     # - INSTANCE: default-opensuse-leap-15-2019-2-py3 | ||||
|     # - INSTANCE: default-debian-9-2018-3-py2 | ||||
|     # - INSTANCE: default-ubuntu-1604-2018-3-py2 | ||||
|     # - INSTANCE: default-centos-7-2018-3-py2 | ||||
|     - INSTANCE: default-fedora-29-2018-3-py2 | ||||
|     - INSTANCE: default-opensuse-leap-42-2018-3-py2 | ||||
|     # - INSTANCE: default-debian-8-2017-7-py2 | ||||
|     # - INSTANCE: default-ubuntu-1604-2017-7-py2 | ||||
|     - INSTANCE: default-centos-6-2017-7-py2 | ||||
|     # - INSTANCE: default-fedora-28-2017-7-py2 | ||||
|     # - INSTANCE: default-opensuse-leap-42-2017-7-py2 | ||||
| 
 | ||||
| script: | ||||
|   - 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 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' | ||||
|     # Define the `lint` stage (runs `yamllint` and `commitlint`) | ||||
|     - stage: lint | ||||
|       language: node_js | ||||
|       node_js: lts/* | ||||
|       before_install: skip | ||||
|       script: | ||||
|         # Install and run `salt-lint` | ||||
|         - pip install --user salt-lint | ||||
|         - git ls-files -- '*.sls' '*.jinja' '*.j2' '*.tmpl' '*.tst' | ||||
|                         | xargs salt-lint | ||||
|         # Install and run `yamllint` | ||||
|         # Need at least `v1.17.0` for the `yaml-files` setting | ||||
|         - pip install --user yamllint>=1.17.0 | ||||
|         - yamllint -s . | ||||
|         # 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 | ||||
|         - pip install --user yamllint | ||||
|         # yamllint disable-line rule:line-length | ||||
|         - yamllint -s . .yamllint pillar.example | ||||
|         # Install and run `commitlint` | ||||
|         - npm i -D @commitlint/config-conventional | ||||
|                    @commitlint/travis-cli | ||||
|         - npm install @commitlint/config-conventional -D | ||||
|         - npm install @commitlint/travis-cli -D | ||||
|         - commitlint-travis | ||||
| 
 | ||||
|     # Run `pre-commit` linters in a single job | ||||
|     - language: 'python' | ||||
|       env: 'Lint_pre-commit' | ||||
|       name: 'Lint: pre-commit' | ||||
|       before_install: 'skip' | ||||
|       cache: | ||||
|         directories: | ||||
|           - $HOME/.cache/pre-commit | ||||
|       script: | ||||
|         # Install and run `pre-commit` | ||||
|         - pip install pre-commit==2.7.1 | ||||
|         - pre-commit run --all-files --color always --verbose | ||||
|         - pre-commit run --color always --hook-stage manual --verbose commitlint-travis | ||||
| 
 | ||||
|     ## Define the rest of the matrix based on Kitchen testing | ||||
|     # 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' | ||||
|     # Define the release stage that runs `semantic-release` | ||||
|     - stage: release | ||||
|       language: node_js | ||||
|       node_js: lts/* | ||||
|       before_install: skip | ||||
|       script: | ||||
|         # Update `AUTHORS.md` | ||||
|         - export MAINTAINER_TOKEN=${GH_TOKEN} | ||||
| @ -170,26 +79,12 @@ jobs: | ||||
|         - maintainer contributor | ||||
| 
 | ||||
|         # Install all dependencies required for `semantic-release` | ||||
|         - npm i -D @semantic-release/changelog@3 | ||||
|                    @semantic-release/exec@3 | ||||
|                    @semantic-release/git@7 | ||||
|         - npm install @semantic-release/changelog@3 -D | ||||
|         - npm install @semantic-release/exec@3 -D | ||||
|         - npm install @semantic-release/git@7 -D | ||||
|       deploy: | ||||
|         provider: 'script' | ||||
|         # Opt-in to `dpl v2` to complete the Travis build config validation (beta) | ||||
|         # * https://docs.travis-ci.com/user/build-config-validation | ||||
|         # Deprecated `skip_cleanup` can now be avoided, `cleanup: false` is by default | ||||
|         edge: true | ||||
|         # Run `semantic-release` | ||||
|         script: 'npx semantic-release@15.14' | ||||
| 
 | ||||
| # Notification options: `always`, `never` or `change` | ||||
| notifications: | ||||
|   webhooks: | ||||
|     if: 'repo = saltstack-formulas/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 | ||||
|         provider: script | ||||
|         skip_cleanup: true | ||||
|         script: | ||||
|           # Run `semantic-release` | ||||
|           - npx semantic-release@15 | ||||
|  | ||||
							
								
								
									
										32
									
								
								.yamllint
									
									
									
									
									
								
							
							
						
						
									
										32
									
								
								.yamllint
									
									
									
									
									
								
							| @ -2,43 +2,15 @@ | ||||
| # vim: ft=yaml | ||||
| --- | ||||
| # Extend the `default` configuration provided by `yamllint` | ||||
| extends: 'default' | ||||
| extends: default | ||||
| 
 | ||||
| # Files to ignore completely | ||||
| # 1. All YAML files under directory `.bundle/`, introduced if gems are installed locally | ||||
| # 2. All YAML files under directory `.cache/`, introduced during the CI run | ||||
| # 3. All YAML files under directory `.git/` | ||||
| # 4. All YAML files under directory `node_modules/`, introduced during the CI run | ||||
| # 5. Any SLS files under directory `test/`, which are actually state files | ||||
| # 6. Any YAML files under directory `.kitchen/`, introduced during local testing | ||||
| # 7. `kitchen.vagrant.yml`, which contains Embedded Ruby (ERB) template syntax | ||||
| # 1. All YAML files under directory `node_modules/`, introduced during the Travis run | ||||
| ignore: | | ||||
|   .bundle/ | ||||
|   .cache/ | ||||
|   .git/ | ||||
|   node_modules/ | ||||
|   test/**/states/**/*.sls | ||||
|   .kitchen/ | ||||
|   kitchen.vagrant.yml | ||||
| 
 | ||||
| yaml-files: | ||||
|   # Default settings | ||||
|   - '*.yaml' | ||||
|   - '*.yml' | ||||
|   - .salt-lint | ||||
|   - .yamllint | ||||
|   # SaltStack Formulas additional settings | ||||
|   - '*.example' | ||||
|   - test/**/*.sls | ||||
| 
 | ||||
| rules: | ||||
|   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,24 +4,20 @@ This list is sorted by the number of commits per contributor in _descending_ ord | ||||
| 
 | ||||
| Avatar|Contributor|Contributions | ||||
| :-:|---|:-: | ||||
| <img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/10231489?v=4' width='36' height='36' alt='@myii'>|[@myii](https://github.com/myii)|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 | ||||
| <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 | ||||
| 
 | ||||
| --- | ||||
| 
 | ||||
| Auto-generated by a [forked version](https://github.com/myii/maintainer) of [gaocegege/maintainer](https://github.com/gaocegege/maintainer) on 2021-06-04. | ||||
| Auto-generated by a [forked version](https://github.com/myii/maintainer) of [gaocegege/maintainer](https://github.com/gaocegege/maintainer) on 2019-08-25. | ||||
|  | ||||
							
								
								
									
										137
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										137
									
								
								CHANGELOG.md
									
									
									
									
									
								
							| @ -1,142 +1,5 @@ | ||||
| # 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
									
									
									
									
									
								
							
							
						
						
									
										54
									
								
								CODEOWNERS
									
									
									
									
									
								
							| @ -1,54 +0,0 @@ | ||||
| # https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners | ||||
| 
 | ||||
| # SECTION: Owner(s) for everything in the repo, unless a later match takes precedence | ||||
| #          ************************************************************************** | ||||
| #          ***                    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.6.1 | ||||
| version: 0.4.2 | ||||
| release: 0 | ||||
| minimum_version: 2016.11 | ||||
| summary: Rkhunter formula | ||||
|  | ||||
							
								
								
									
										21
									
								
								Gemfile
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								Gemfile
									
									
									
									
									
								
							| @ -1,19 +1,6 @@ | ||||
| # frozen_string_literal: true | ||||
| source "https://rubygems.org" | ||||
| 
 | ||||
| source ENV.fetch('PROXY_RUBYGEMSORG', 'https://rubygems.org') | ||||
| gem 'kitchen-docker', '>= 2.9' | ||||
| gem 'kitchen-salt', '>= 0.6.0' | ||||
| gem 'kitchen-inspec', '>= 1.1' | ||||
| 
 | ||||
| # Install the `inspec` gem using `git` because versions after `4.22.22` | ||||
| # suppress diff output; this version fixes this for our uses. | ||||
| # rubocop:disable Layout/LineLength | ||||
| gem 'inspec', git: 'https://gitlab.com/saltstack-formulas/infrastructure/inspec', branch: 'ssf' | ||||
| # rubocop:enable Layout/LineLength | ||||
| 
 | ||||
| # Install the `kitchen-docker` gem using `git` in order to gain a performance | ||||
| # improvement: avoid package installations which are already covered by the | ||||
| # `salt-image-builder` (i.e. the pre-salted images that we're using) | ||||
| # rubocop:disable Layout/LineLength | ||||
| gem 'kitchen-docker', git: 'https://gitlab.com/saltstack-formulas/infrastructure/kitchen-docker', branch: 'ssf' | ||||
| # rubocop:enable Layout/LineLength | ||||
| 
 | ||||
| gem 'kitchen-inspec', '>= 2.5.0' | ||||
| gem 'kitchen-salt', '>= 0.7.2' | ||||
|  | ||||
							
								
								
									
										675
									
								
								Gemfile.lock
									
									
									
									
									
								
							
							
						
						
									
										675
									
								
								Gemfile.lock
									
									
									
									
									
								
							| @ -1,675 +0,0 @@ | ||||
| GIT | ||||
|   remote: https://gitlab.com/saltstack-formulas/infrastructure/inspec | ||||
|   revision: aaef842906a5666f0fc0b4f186b4dd3498f5b28c | ||||
|   branch: ssf | ||||
|   specs: | ||||
|     inspec (5.18.15) | ||||
|       cookstyle | ||||
|       faraday_middleware (>= 0.12.2, < 1.1) | ||||
|       inspec-core (= 5.18.15) | ||||
|       mongo (= 2.13.2) | ||||
|       progress_bar (~> 1.3.3) | ||||
|       rake | ||||
|       train (~> 3.10) | ||||
|       train-aws (~> 0.2) | ||||
|       train-habitat (~> 0.1) | ||||
|       train-winrm (~> 0.2) | ||||
|     inspec-core (5.18.15) | ||||
|       addressable (~> 2.4) | ||||
|       chef-telemetry (~> 1.0, >= 1.0.8) | ||||
|       faraday (>= 0.9.0, < 1.5) | ||||
|       faraday_middleware (~> 1.0) | ||||
|       hashie (>= 3.4, < 5.0) | ||||
|       license-acceptance (>= 0.2.13, < 3.0) | ||||
|       method_source (>= 0.8, < 2.0) | ||||
|       mixlib-log (~> 3.0) | ||||
|       multipart-post (~> 2.0) | ||||
|       parallel (~> 1.9) | ||||
|       parslet (>= 1.5, < 2.0) | ||||
|       pry (~> 0.13) | ||||
|       rspec (>= 3.9, <= 3.11) | ||||
|       rspec-its (~> 1.2) | ||||
|       rubyzip (>= 1.2.2, < 3.0) | ||||
|       semverse (~> 3.0) | ||||
|       sslshake (~> 1.2) | ||||
|       thor (>= 0.20, < 2.0) | ||||
|       tomlrb (>= 1.2, < 2.1) | ||||
|       train-core (~> 3.10) | ||||
|       tty-prompt (~> 0.17) | ||||
|       tty-table (~> 0.10) | ||||
| 
 | ||||
| GIT | ||||
|   remote: https://gitlab.com/saltstack-formulas/infrastructure/kitchen-docker | ||||
|   revision: 9a09bc1e571e25f3ccabf4725ca2048d970fff82 | ||||
|   branch: ssf | ||||
|   specs: | ||||
|     kitchen-docker (2.12.0) | ||||
|       test-kitchen (>= 1.0.0) | ||||
| 
 | ||||
| GEM | ||||
|   remote: https://rubygems.org/ | ||||
|   specs: | ||||
|     activesupport (7.0.3.1) | ||||
|       concurrent-ruby (~> 1.0, >= 1.0.2) | ||||
|       i18n (>= 1.6, < 2) | ||||
|       minitest (>= 5.1) | ||||
|       tzinfo (~> 2.0) | ||||
|     addressable (2.8.0) | ||||
|       public_suffix (>= 2.0.2, < 5.0) | ||||
|     ast (2.4.2) | ||||
|     aws-eventstream (1.2.0) | ||||
|     aws-partitions (1.607.0) | ||||
|     aws-sdk-alexaforbusiness (1.56.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-amplify (1.32.0) | ||||
|       aws-sdk-core (~> 3, >= 3.120.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-apigateway (1.78.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-apigatewayv2 (1.42.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-applicationautoscaling (1.51.0) | ||||
|       aws-sdk-core (~> 3, >= 3.112.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-athena (1.55.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-autoscaling (1.63.0) | ||||
|       aws-sdk-core (~> 3, >= 3.112.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-batch (1.47.0) | ||||
|       aws-sdk-core (~> 3, >= 3.112.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-budgets (1.50.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-cloudformation (1.70.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-cloudfront (1.65.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-cloudhsm (1.39.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-cloudhsmv2 (1.42.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-cloudtrail (1.49.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-cloudwatch (1.64.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-cloudwatchevents (1.46.0) | ||||
|       aws-sdk-core (~> 3, >= 3.112.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-cloudwatchlogs (1.53.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-codecommit (1.51.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-codedeploy (1.49.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-codepipeline (1.53.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-cognitoidentity (1.31.0) | ||||
|       aws-sdk-core (~> 3, >= 3.112.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-cognitoidentityprovider (1.53.0) | ||||
|       aws-sdk-core (~> 3, >= 3.112.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-configservice (1.79.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-core (3.131.2) | ||||
|       aws-eventstream (~> 1, >= 1.0.2) | ||||
|       aws-partitions (~> 1, >= 1.525.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|       jmespath (~> 1, >= 1.6.1) | ||||
|     aws-sdk-costandusagereportservice (1.40.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-databasemigrationservice (1.53.0) | ||||
|       aws-sdk-core (~> 3, >= 3.112.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-dynamodb (1.75.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-ec2 (1.322.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-ecr (1.56.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-ecrpublic (1.12.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-ecs (1.100.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-efs (1.54.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-eks (1.75.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-elasticache (1.78.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-elasticbeanstalk (1.51.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-elasticloadbalancing (1.40.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-elasticloadbalancingv2 (1.78.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-elasticsearchservice (1.65.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-emr (1.53.0) | ||||
|       aws-sdk-core (~> 3, >= 3.121.2) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-eventbridge (1.24.0) | ||||
|       aws-sdk-core (~> 3, >= 3.112.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-firehose (1.48.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-glue (1.88.0) | ||||
|       aws-sdk-core (~> 3, >= 3.112.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-guardduty (1.58.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-iam (1.69.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-kafka (1.50.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-kinesis (1.41.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-kms (1.57.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-lambda (1.84.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-mq (1.40.0) | ||||
|       aws-sdk-core (~> 3, >= 3.120.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-networkfirewall (1.17.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-networkmanager (1.24.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-organizations (1.59.0) | ||||
|       aws-sdk-core (~> 3, >= 3.112.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-ram (1.26.0) | ||||
|       aws-sdk-core (~> 3, >= 3.112.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-rds (1.148.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-redshift (1.84.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-route53 (1.63.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-route53domains (1.40.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-route53resolver (1.37.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-s3 (1.114.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sdk-kms (~> 1) | ||||
|       aws-sigv4 (~> 1.4) | ||||
|     aws-sdk-s3control (1.43.0) | ||||
|       aws-sdk-core (~> 3, >= 3.122.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-secretsmanager (1.46.0) | ||||
|       aws-sdk-core (~> 3, >= 3.112.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-securityhub (1.67.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-servicecatalog (1.60.0) | ||||
|       aws-sdk-core (~> 3, >= 3.112.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-ses (1.41.0) | ||||
|       aws-sdk-core (~> 3, >= 3.120.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-shield (1.48.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-signer (1.32.0) | ||||
|       aws-sdk-core (~> 3, >= 3.120.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-simpledb (1.29.0) | ||||
|       aws-sdk-core (~> 3, >= 3.120.0) | ||||
|       aws-sigv2 (~> 1.0) | ||||
|     aws-sdk-sms (1.40.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-sns (1.53.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-sqs (1.51.1) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-ssm (1.137.0) | ||||
|       aws-sdk-core (~> 3, >= 3.127.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-states (1.39.0) | ||||
|       aws-sdk-core (~> 3, >= 3.112.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-synthetics (1.19.0) | ||||
|       aws-sdk-core (~> 3, >= 3.121.2) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-transfer (1.34.0) | ||||
|       aws-sdk-core (~> 3, >= 3.112.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sdk-waf (1.43.0) | ||||
|       aws-sdk-core (~> 3, >= 3.122.0) | ||||
|       aws-sigv4 (~> 1.1) | ||||
|     aws-sigv2 (1.1.0) | ||||
|     aws-sigv4 (1.5.0) | ||||
|       aws-eventstream (~> 1, >= 1.0.2) | ||||
|     azure_graph_rbac (0.17.2) | ||||
|       ms_rest_azure (~> 0.12.0) | ||||
|     azure_mgmt_key_vault (0.17.7) | ||||
|       ms_rest_azure (~> 0.12.0) | ||||
|     azure_mgmt_resources (0.18.2) | ||||
|       ms_rest_azure (~> 0.12.0) | ||||
|     azure_mgmt_security (0.19.0) | ||||
|       ms_rest_azure (~> 0.12.0) | ||||
|     azure_mgmt_storage (0.23.0) | ||||
|       ms_rest_azure (~> 0.12.0) | ||||
|     bcrypt_pbkdf (1.1.0) | ||||
|     bson (4.15.0) | ||||
|     builder (3.2.4) | ||||
|     chef-config (17.10.0) | ||||
|       addressable | ||||
|       chef-utils (= 17.10.0) | ||||
|       fuzzyurl | ||||
|       mixlib-config (>= 2.2.12, < 4.0) | ||||
|       mixlib-shellout (>= 2.0, < 4.0) | ||||
|       tomlrb (~> 1.2) | ||||
|     chef-telemetry (1.1.1) | ||||
|       chef-config | ||||
|       concurrent-ruby (~> 1.0) | ||||
|     chef-utils (17.10.0) | ||||
|       concurrent-ruby | ||||
|     coderay (1.1.3) | ||||
|     concurrent-ruby (1.1.10) | ||||
|     cookstyle (7.32.1) | ||||
|       rubocop (= 1.25.1) | ||||
|     declarative (0.0.20) | ||||
|     diff-lcs (1.5.0) | ||||
|     docker-api (2.2.0) | ||||
|       excon (>= 0.47.0) | ||||
|       multi_json | ||||
|     domain_name (0.5.20190701) | ||||
|       unf (>= 0.0.5, < 1.0.0) | ||||
|     ed25519 (1.3.0) | ||||
|     erubi (1.10.0) | ||||
|     excon (0.92.3) | ||||
|     faraday (1.4.3) | ||||
|       faraday-em_http (~> 1.0) | ||||
|       faraday-em_synchrony (~> 1.0) | ||||
|       faraday-excon (~> 1.1) | ||||
|       faraday-net_http (~> 1.0) | ||||
|       faraday-net_http_persistent (~> 1.1) | ||||
|       multipart-post (>= 1.2, < 3) | ||||
|       ruby2_keywords (>= 0.0.4) | ||||
|     faraday-cookie_jar (0.0.7) | ||||
|       faraday (>= 0.8.0) | ||||
|       http-cookie (~> 1.0.0) | ||||
|     faraday-em_http (1.0.0) | ||||
|     faraday-em_synchrony (1.0.0) | ||||
|     faraday-excon (1.1.0) | ||||
|     faraday-net_http (1.0.1) | ||||
|     faraday-net_http_persistent (1.2.0) | ||||
|     faraday_middleware (1.0.0) | ||||
|       faraday (~> 1.0) | ||||
|     ffi (1.15.5) | ||||
|     fuzzyurl (0.9.0) | ||||
|     google-api-client (0.52.0) | ||||
|       addressable (~> 2.5, >= 2.5.1) | ||||
|       googleauth (~> 0.9) | ||||
|       httpclient (>= 2.8.1, < 3.0) | ||||
|       mini_mime (~> 1.0) | ||||
|       representable (~> 3.0) | ||||
|       retriable (>= 2.0, < 4.0) | ||||
|       rexml | ||||
|       signet (~> 0.12) | ||||
|     googleauth (0.14.0) | ||||
|       faraday (>= 0.17.3, < 2.0) | ||||
|       jwt (>= 1.4, < 3.0) | ||||
|       memoist (~> 0.16) | ||||
|       multi_json (~> 1.11) | ||||
|       os (>= 0.9, < 2.0) | ||||
|       signet (~> 0.14) | ||||
|     gssapi (1.3.1) | ||||
|       ffi (>= 1.0.1) | ||||
|     gyoku (1.4.0) | ||||
|       builder (>= 2.1.2) | ||||
|       rexml (~> 3.0) | ||||
|     hashie (4.1.0) | ||||
|     highline (2.0.3) | ||||
|     http-cookie (1.0.5) | ||||
|       domain_name (~> 0.5) | ||||
|     httpclient (2.8.3) | ||||
|     i18n (1.12.0) | ||||
|       concurrent-ruby (~> 1.0) | ||||
|     inifile (3.0.0) | ||||
|     jmespath (1.6.1) | ||||
|     json (2.6.2) | ||||
|     jwt (2.4.1) | ||||
|     kitchen-inspec (2.6.1) | ||||
|       hashie (>= 3.4, <= 5.0) | ||||
|       inspec (>= 2.2.64, < 7.0) | ||||
|       test-kitchen (>= 2.7, < 4) | ||||
|     kitchen-salt (0.7.2) | ||||
|       hashie (>= 3.5) | ||||
|       test-kitchen (>= 1.4) | ||||
|     license-acceptance (2.1.13) | ||||
|       pastel (~> 0.7) | ||||
|       tomlrb (>= 1.2, < 3.0) | ||||
|       tty-box (~> 0.6) | ||||
|       tty-prompt (~> 0.20) | ||||
|     little-plugger (1.1.4) | ||||
|     logging (2.3.1) | ||||
|       little-plugger (~> 1.1) | ||||
|       multi_json (~> 1.14) | ||||
|     memoist (0.16.2) | ||||
|     method_source (1.0.0) | ||||
|     mini_mime (1.1.2) | ||||
|     minitest (5.16.2) | ||||
|     mixlib-config (3.0.27) | ||||
|       tomlrb | ||||
|     mixlib-install (3.12.19) | ||||
|       mixlib-shellout | ||||
|       mixlib-versioning | ||||
|       thor | ||||
|     mixlib-log (3.0.9) | ||||
|     mixlib-shellout (3.2.7) | ||||
|       chef-utils | ||||
|     mixlib-versioning (1.2.12) | ||||
|     mongo (2.13.2) | ||||
|       bson (>= 4.8.2, < 5.0.0) | ||||
|     ms_rest (0.7.6) | ||||
|       concurrent-ruby (~> 1.0) | ||||
|       faraday (>= 0.9, < 2.0.0) | ||||
|       timeliness (~> 0.3.10) | ||||
|     ms_rest_azure (0.12.0) | ||||
|       concurrent-ruby (~> 1.0) | ||||
|       faraday (>= 0.9, < 2.0.0) | ||||
|       faraday-cookie_jar (~> 0.0.6) | ||||
|       ms_rest (~> 0.7.6) | ||||
|     multi_json (1.15.0) | ||||
|     multipart-post (2.2.3) | ||||
|     net-scp (3.0.0) | ||||
|       net-ssh (>= 2.6.5, < 7.0.0) | ||||
|     net-ssh (6.1.0) | ||||
|     net-ssh-gateway (2.0.0) | ||||
|       net-ssh (>= 4.0.0) | ||||
|     nori (2.6.0) | ||||
|     options (2.3.2) | ||||
|     os (1.1.4) | ||||
|     parallel (1.22.1) | ||||
|     parser (3.1.2.0) | ||||
|       ast (~> 2.4.1) | ||||
|     parslet (1.8.2) | ||||
|     pastel (0.8.0) | ||||
|       tty-color (~> 0.5) | ||||
|     progress_bar (1.3.3) | ||||
|       highline (>= 1.6, < 3) | ||||
|       options (~> 2.3.0) | ||||
|     pry (0.14.1) | ||||
|       coderay (~> 1.1) | ||||
|       method_source (~> 1.0) | ||||
|     public_suffix (4.0.7) | ||||
|     rainbow (3.1.1) | ||||
|     rake (13.0.6) | ||||
|     regexp_parser (2.5.0) | ||||
|     representable (3.2.0) | ||||
|       declarative (< 0.1.0) | ||||
|       trailblazer-option (>= 0.1.1, < 0.2.0) | ||||
|       uber (< 0.2.0) | ||||
|     retriable (3.1.2) | ||||
|     rexml (3.2.5) | ||||
|     rspec (3.11.0) | ||||
|       rspec-core (~> 3.11.0) | ||||
|       rspec-expectations (~> 3.11.0) | ||||
|       rspec-mocks (~> 3.11.0) | ||||
|     rspec-core (3.11.0) | ||||
|       rspec-support (~> 3.11.0) | ||||
|     rspec-expectations (3.11.0) | ||||
|       diff-lcs (>= 1.2.0, < 2.0) | ||||
|       rspec-support (~> 3.11.0) | ||||
|     rspec-its (1.3.0) | ||||
|       rspec-core (>= 3.0.0) | ||||
|       rspec-expectations (>= 3.0.0) | ||||
|     rspec-mocks (3.11.1) | ||||
|       diff-lcs (>= 1.2.0, < 2.0) | ||||
|       rspec-support (~> 3.11.0) | ||||
|     rspec-support (3.11.0) | ||||
|     rubocop (1.25.1) | ||||
|       parallel (~> 1.10) | ||||
|       parser (>= 3.1.0.0) | ||||
|       rainbow (>= 2.2.2, < 4.0) | ||||
|       regexp_parser (>= 1.8, < 3.0) | ||||
|       rexml | ||||
|       rubocop-ast (>= 1.15.1, < 2.0) | ||||
|       ruby-progressbar (~> 1.7) | ||||
|       unicode-display_width (>= 1.4.0, < 3.0) | ||||
|     rubocop-ast (1.19.1) | ||||
|       parser (>= 3.1.1.0) | ||||
|     ruby-progressbar (1.11.0) | ||||
|     ruby2_keywords (0.0.5) | ||||
|     rubyntlm (0.6.3) | ||||
|     rubyzip (2.3.2) | ||||
|     semverse (3.0.2) | ||||
|     signet (0.17.0) | ||||
|       addressable (~> 2.8) | ||||
|       faraday (>= 0.17.5, < 3.a) | ||||
|       jwt (>= 1.5, < 3.0) | ||||
|       multi_json (~> 1.10) | ||||
|     sslshake (1.3.1) | ||||
|     strings (0.2.1) | ||||
|       strings-ansi (~> 0.2) | ||||
|       unicode-display_width (>= 1.5, < 3.0) | ||||
|       unicode_utils (~> 1.4) | ||||
|     strings-ansi (0.2.0) | ||||
|     test-kitchen (3.3.1) | ||||
|       bcrypt_pbkdf (~> 1.0) | ||||
|       chef-utils (>= 16.4.35) | ||||
|       ed25519 (~> 1.2) | ||||
|       license-acceptance (>= 1.0.11, < 3.0) | ||||
|       mixlib-install (~> 3.6) | ||||
|       mixlib-shellout (>= 1.2, < 4.0) | ||||
|       net-scp (>= 1.1, < 4.0) | ||||
|       net-ssh (>= 2.9, < 7.0) | ||||
|       net-ssh-gateway (>= 1.2, < 3.0) | ||||
|       thor (>= 0.19, < 2.0) | ||||
|       winrm (~> 2.0) | ||||
|       winrm-elevated (~> 1.0) | ||||
|       winrm-fs (~> 1.1) | ||||
|     thor (1.2.1) | ||||
|     timeliness (0.3.10) | ||||
|     tomlrb (1.3.0) | ||||
|     trailblazer-option (0.1.2) | ||||
|     train (3.10.1) | ||||
|       activesupport (>= 6.0.3.1) | ||||
|       azure_graph_rbac (~> 0.16) | ||||
|       azure_mgmt_key_vault (~> 0.17) | ||||
|       azure_mgmt_resources (~> 0.15) | ||||
|       azure_mgmt_security (~> 0.18) | ||||
|       azure_mgmt_storage (~> 0.18) | ||||
|       docker-api (>= 1.26, < 3.0) | ||||
|       google-api-client (>= 0.23.9, <= 0.52.0) | ||||
|       googleauth (>= 0.6.6, <= 0.14.0) | ||||
|       inifile (~> 3.0) | ||||
|       train-core (= 3.10.1) | ||||
|       train-winrm (~> 0.2) | ||||
|     train-aws (0.2.24) | ||||
|       aws-sdk-alexaforbusiness (~> 1.0) | ||||
|       aws-sdk-amplify (~> 1.32.0) | ||||
|       aws-sdk-apigateway (~> 1.0) | ||||
|       aws-sdk-apigatewayv2 (~> 1.0) | ||||
|       aws-sdk-applicationautoscaling (>= 1.46, < 1.52) | ||||
|       aws-sdk-athena (~> 1.0) | ||||
|       aws-sdk-autoscaling (>= 1.22, < 1.64) | ||||
|       aws-sdk-batch (>= 1.36, < 1.48) | ||||
|       aws-sdk-budgets (~> 1.0) | ||||
|       aws-sdk-cloudformation (~> 1.0) | ||||
|       aws-sdk-cloudfront (~> 1.0) | ||||
|       aws-sdk-cloudhsm (~> 1.0) | ||||
|       aws-sdk-cloudhsmv2 (~> 1.0) | ||||
|       aws-sdk-cloudtrail (~> 1.8) | ||||
|       aws-sdk-cloudwatch (~> 1.13) | ||||
|       aws-sdk-cloudwatchevents (>= 1.36, < 1.47) | ||||
|       aws-sdk-cloudwatchlogs (~> 1.13) | ||||
|       aws-sdk-codecommit (~> 1.0) | ||||
|       aws-sdk-codedeploy (~> 1.0) | ||||
|       aws-sdk-codepipeline (~> 1.0) | ||||
|       aws-sdk-cognitoidentity (>= 1.26, < 1.32) | ||||
|       aws-sdk-cognitoidentityprovider (>= 1.46, < 1.54) | ||||
|       aws-sdk-configservice (~> 1.21) | ||||
|       aws-sdk-core (~> 3.0) | ||||
|       aws-sdk-costandusagereportservice (~> 1.6) | ||||
|       aws-sdk-databasemigrationservice (>= 1.42, < 1.54) | ||||
|       aws-sdk-dynamodb (~> 1.31) | ||||
|       aws-sdk-ec2 (~> 1.70) | ||||
|       aws-sdk-ecr (~> 1.18) | ||||
|       aws-sdk-ecrpublic (~> 1.3) | ||||
|       aws-sdk-ecs (~> 1.30) | ||||
|       aws-sdk-efs (~> 1.0) | ||||
|       aws-sdk-eks (~> 1.9) | ||||
|       aws-sdk-elasticache (~> 1.0) | ||||
|       aws-sdk-elasticbeanstalk (~> 1.0) | ||||
|       aws-sdk-elasticloadbalancing (~> 1.8) | ||||
|       aws-sdk-elasticloadbalancingv2 (~> 1.0) | ||||
|       aws-sdk-elasticsearchservice (~> 1.0) | ||||
|       aws-sdk-emr (~> 1.53.0) | ||||
|       aws-sdk-eventbridge (~> 1.24.0) | ||||
|       aws-sdk-firehose (~> 1.0) | ||||
|       aws-sdk-glue (>= 1.71, < 1.89) | ||||
|       aws-sdk-guardduty (~> 1.31) | ||||
|       aws-sdk-iam (~> 1.13) | ||||
|       aws-sdk-kafka (~> 1.0) | ||||
|       aws-sdk-kinesis (~> 1.0) | ||||
|       aws-sdk-kms (~> 1.13) | ||||
|       aws-sdk-lambda (~> 1.0) | ||||
|       aws-sdk-mq (~> 1.40.0) | ||||
|       aws-sdk-networkfirewall (>= 1.6.0) | ||||
|       aws-sdk-networkmanager (>= 1.13.0) | ||||
|       aws-sdk-organizations (>= 1.17, < 1.60) | ||||
|       aws-sdk-ram (>= 1.21, < 1.27) | ||||
|       aws-sdk-rds (~> 1.43) | ||||
|       aws-sdk-redshift (~> 1.0) | ||||
|       aws-sdk-route53 (~> 1.0) | ||||
|       aws-sdk-route53domains (~> 1.0) | ||||
|       aws-sdk-route53resolver (~> 1.0) | ||||
|       aws-sdk-s3 (~> 1.30) | ||||
|       aws-sdk-s3control (~> 1.43.0) | ||||
|       aws-sdk-secretsmanager (>= 1.42, < 1.47) | ||||
|       aws-sdk-securityhub (~> 1.0) | ||||
|       aws-sdk-servicecatalog (>= 1.48, < 1.61) | ||||
|       aws-sdk-ses (~> 1.41.0) | ||||
|       aws-sdk-shield (~> 1.30) | ||||
|       aws-sdk-signer (~> 1.32.0) | ||||
|       aws-sdk-simpledb (~> 1.29.0) | ||||
|       aws-sdk-sms (~> 1.0) | ||||
|       aws-sdk-sns (~> 1.9) | ||||
|       aws-sdk-sqs (~> 1.10) | ||||
|       aws-sdk-ssm (~> 1.0) | ||||
|       aws-sdk-states (>= 1.35, < 1.40) | ||||
|       aws-sdk-synthetics (~> 1.19.0) | ||||
|       aws-sdk-transfer (>= 1.26, < 1.35) | ||||
|       aws-sdk-waf (~> 1.43.0) | ||||
|     train-core (3.10.1) | ||||
|       addressable (~> 2.5) | ||||
|       ffi (!= 1.13.0) | ||||
|       json (>= 1.8, < 3.0) | ||||
|       mixlib-shellout (>= 2.0, < 4.0) | ||||
|       net-scp (>= 1.2, < 4.0) | ||||
|       net-ssh (>= 2.9, < 7.0) | ||||
|     train-habitat (0.2.22) | ||||
|     train-winrm (0.2.13) | ||||
|       winrm (>= 2.3.6, < 3.0) | ||||
|       winrm-elevated (~> 1.2.2) | ||||
|       winrm-fs (~> 1.0) | ||||
|     tty-box (0.7.0) | ||||
|       pastel (~> 0.8) | ||||
|       strings (~> 0.2.0) | ||||
|       tty-cursor (~> 0.7) | ||||
|     tty-color (0.6.0) | ||||
|     tty-cursor (0.7.1) | ||||
|     tty-prompt (0.23.1) | ||||
|       pastel (~> 0.8) | ||||
|       tty-reader (~> 0.8) | ||||
|     tty-reader (0.9.0) | ||||
|       tty-cursor (~> 0.7) | ||||
|       tty-screen (~> 0.8) | ||||
|       wisper (~> 2.0) | ||||
|     tty-screen (0.8.1) | ||||
|     tty-table (0.12.0) | ||||
|       pastel (~> 0.8) | ||||
|       strings (~> 0.2.0) | ||||
|       tty-screen (~> 0.8) | ||||
|     tzinfo (2.0.4) | ||||
|       concurrent-ruby (~> 1.0) | ||||
|     uber (0.1.0) | ||||
|     unf (0.1.4) | ||||
|       unf_ext | ||||
|     unf_ext (0.0.8.2) | ||||
|     unicode-display_width (2.2.0) | ||||
|     unicode_utils (1.4.0) | ||||
|     winrm (2.3.6) | ||||
|       builder (>= 2.1.2) | ||||
|       erubi (~> 1.8) | ||||
|       gssapi (~> 1.2) | ||||
|       gyoku (~> 1.0) | ||||
|       httpclient (~> 2.2, >= 2.2.0.2) | ||||
|       logging (>= 1.6.1, < 3.0) | ||||
|       nori (~> 2.0) | ||||
|       rubyntlm (~> 0.6.0, >= 0.6.3) | ||||
|     winrm-elevated (1.2.3) | ||||
|       erubi (~> 1.8) | ||||
|       winrm (~> 2.0) | ||||
|       winrm-fs (~> 1.0) | ||||
|     winrm-fs (1.3.5) | ||||
|       erubi (~> 1.8) | ||||
|       logging (>= 1.6.1, < 3.0) | ||||
|       rubyzip (~> 2.0) | ||||
|       winrm (~> 2.0) | ||||
|     wisper (2.0.1) | ||||
| 
 | ||||
| PLATFORMS | ||||
|   ruby | ||||
| 
 | ||||
| DEPENDENCIES | ||||
|   inspec! | ||||
|   kitchen-docker! | ||||
|   kitchen-inspec (>= 2.5.0) | ||||
|   kitchen-salt (>= 0.7.2) | ||||
| 
 | ||||
| BUNDLED WITH | ||||
|    2.1.2 | ||||
| @ -1,16 +0,0 @@ | ||||
| #!/usr/bin/env sh | ||||
| set -o nounset # Treat unset variables as an error and immediately exit | ||||
| set -o errexit # If a command fails exit the whole script | ||||
| 
 | ||||
| if [ "${DEBUG:-false}" = "true" ]; then | ||||
|   set -x # Run the entire script in debug mode | ||||
| fi | ||||
| 
 | ||||
| if ! command -v pre-commit >/dev/null 2>&1; then | ||||
|   echo "pre-commit not found: please install or check your PATH" >&2 | ||||
|   echo "See https://pre-commit.com/#installation" >&2 | ||||
|   exit 1 | ||||
| fi | ||||
| 
 | ||||
| pre-commit install --install-hooks | ||||
| pre-commit install --hook-type commit-msg --install-hooks | ||||
							
								
								
									
										21
									
								
								bin/kitchen
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								bin/kitchen
									
									
									
									
									
								
							| @ -8,25 +8,22 @@ | ||||
| # this file is here to facilitate running it. | ||||
| # | ||||
| 
 | ||||
| require 'pathname' | ||||
| ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', | ||||
|                                            Pathname.new(__FILE__).realpath) | ||||
| require "pathname" | ||||
| ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", | ||||
|   Pathname.new(__FILE__).realpath) | ||||
| 
 | ||||
| bundle_binstub = File.expand_path('bundle', __dir__) | ||||
| bundle_binstub = File.expand_path("../bundle", __FILE__) | ||||
| 
 | ||||
| if File.file?(bundle_binstub) | ||||
|   if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/ | ||||
|     load(bundle_binstub) | ||||
|   else | ||||
|     abort( | ||||
|       'Your `bin/bundle` was not generated by Bundler, ' \ | ||||
|       'so this binstub cannot run.  Replace `bin/bundle` by running ' \ | ||||
|       '`bundle binstubs bundler --force`, then run this command again.' | ||||
|     ) | ||||
|     abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run. | ||||
| Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.") | ||||
|   end | ||||
| end | ||||
| 
 | ||||
| require 'rubygems' | ||||
| require 'bundler/setup' | ||||
| require "rubygems" | ||||
| require "bundler/setup" | ||||
| 
 | ||||
| load Gem.bin_path('test-kitchen', 'kitchen') | ||||
| load Gem.bin_path("test-kitchen", "kitchen") | ||||
|  | ||||
| @ -1,8 +1,3 @@ | ||||
| module.exports = { | ||||
|     extends: ['@commitlint/config-conventional'], | ||||
|     rules: { | ||||
|         'body-max-line-length': [2, 'always', 120], | ||||
|         'footer-max-line-length': [2, 'always', 120], | ||||
|         'header-max-length': [2, 'always', 72], | ||||
|     }, | ||||
| }; | ||||
|  | ||||
| @ -13,59 +13,47 @@ This list is sorted by the number of commits per contributor in *descending* ord | ||||
|    * - Avatar | ||||
|      - Contributor | ||||
|      - Contributions | ||||
|    * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/10231489?v=4' width='36' height='36' alt='@myii'>` | ||||
|      - `@myii <https://github.com/myii>`_ | ||||
|      - 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'>` | ||||
|    * - :raw-html-m2r:`<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 | ||||
|    * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1396878?v=4' width='36' height='36' alt='@gravyboat'>` | ||||
|    * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/1396878?v=4' width='36' height='36' alt='@gravyboat'>` | ||||
|      - `@gravyboat <https://github.com/gravyboat>`_ | ||||
|      - 12 | ||||
|    * - :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'>` | ||||
|    * - :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'>` | ||||
|      - `@n-rodriguez <https://github.com/n-rodriguez>`_ | ||||
|      - 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>`_ | ||||
|      - 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://avatars.githubusercontent.com/u/4195158?v=4' width='36' height='36' alt='@dafyddj'>` | ||||
|      - `@dafyddj <https://github.com/dafyddj>`_ | ||||
|    * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars0.githubusercontent.com/u/1800660?v=4' width='36' height='36' alt='@aboe76'>` | ||||
|      - `@aboe76 <https://github.com/aboe76>`_ | ||||
|      - 3 | ||||
|    * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/91293?v=4' width='36' height='36' alt='@whiteinge'>` | ||||
|    * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars2.githubusercontent.com/u/91293?v=4' width='36' height='36' alt='@whiteinge'>` | ||||
|      - `@whiteinge <https://github.com/whiteinge>`_ | ||||
|      - 3 | ||||
|    * - :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'>` | ||||
|    * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars1.githubusercontent.com/u/762280?v=4' width='36' height='36' alt='@asenci'>` | ||||
|      - `@asenci <https://github.com/asenci>`_ | ||||
|      - 1 | ||||
|    * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1484101?v=4' width='36' height='36' alt='@dglloyd'>` | ||||
|    * - :raw-html-m2r:`<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 | ||||
|    * - :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'>` | ||||
|    * - :raw-html-m2r:`<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 | ||||
|    * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/14904864?v=4' width='36' height='36' alt='@mpawlack'>` | ||||
|    * - :raw-html-m2r:`<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 | ||||
|    * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/48949?v=4' width='36' height='36' alt='@tampakrap'>` | ||||
|    * - :raw-html-m2r:`<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 | ||||
|    * - :raw-html-m2r:`<img class='float-left rounded-1' src='https://avatars.githubusercontent.com/u/1142066?v=4' width='36' height='36' alt='@bigbosst'>` | ||||
|    * - :raw-html-m2r:`<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 | ||||
| 
 | ||||
| 
 | ||||
| ---- | ||||
| 
 | ||||
| Auto-generated by a `forked version <https://github.com/myii/maintainer>`_ of `gaocegege/maintainer <https://github.com/gaocegege/maintainer>`_ on 2021-06-04. | ||||
| Auto-generated by a `forked version <https://github.com/myii/maintainer>`_ of `gaocegege/maintainer <https://github.com/gaocegege/maintainer>`_ on 2019-08-25. | ||||
|  | ||||
| @ -2,167 +2,6 @@ | ||||
| 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) | ||||
| ------------------------------------------------------------------------------------------------------------ | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										159
									
								
								docs/CONTRIBUTING.rst
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										159
									
								
								docs/CONTRIBUTING.rst
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,159 @@ | ||||
| .. _contributing: | ||||
| 
 | ||||
| How to contribute | ||||
| ================= | ||||
| 
 | ||||
| This document will eventually outline all aspects of guidance to make your contributing experience a fruitful and enjoyable one. | ||||
| What it already contains is information about *commit message formatting* and how that directly affects the numerous automated processes that are used for this repo. | ||||
| It also covers how to contribute to this *formula's documentation*. | ||||
| 
 | ||||
| .. contents:: **Table of Contents** | ||||
| 
 | ||||
| Overview | ||||
| -------- | ||||
| 
 | ||||
| Submitting a pull request is more than just code! | ||||
| To achieve a quality product, the *tests* and *documentation* need to be updated as well. | ||||
| An excellent pull request will include these in the changes, wherever relevant. | ||||
| 
 | ||||
| Commit message formatting | ||||
| ------------------------- | ||||
| 
 | ||||
| Since every type of change requires making Git commits, | ||||
| we will start by covering the importance of ensuring that all of your commit | ||||
| messages are in the correct format. | ||||
| 
 | ||||
| Automation of multiple processes | ||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||||
| 
 | ||||
| This formula uses `semantic-release <https://github.com/semantic-release/semantic-release>`_ for automating numerous processes such as bumping the version number appropriately, creating new tags/releases and updating the changelog. | ||||
| The entire process relies on the structure of commit messages to determine the version bump, which is then used for the rest of the automation. | ||||
| 
 | ||||
| Full details are available in the upstream docs regarding the `Angular Commit Message Conventions <https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#-git-commit-guidelines>`_. | ||||
| The key factor is that the first line of the commit message must follow this format: | ||||
| 
 | ||||
| .. code-block:: | ||||
| 
 | ||||
|    type(scope): subject | ||||
| 
 | ||||
| 
 | ||||
| * E.g. ``docs(contributing): add commit message formatting instructions``. | ||||
| 
 | ||||
| Besides the version bump, the changelog and release notes are formatted accordingly. | ||||
| So based on the example above: | ||||
| 
 | ||||
| .. | ||||
| 
 | ||||
|    .. raw:: html | ||||
| 
 | ||||
|       <h3>Documentation</h3> | ||||
| 
 | ||||
|    * **contributing:** add commit message formatting instructions | ||||
| 
 | ||||
| 
 | ||||
| * The ``type`` translates into a ``Documentation`` sub-heading. | ||||
| * The ``(scope):`` will be shown in bold text without the brackets. | ||||
| * The ``subject`` follows the ``scope`` as standard text. | ||||
| 
 | ||||
| Linting commit messages in Travis CI | ||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||||
| 
 | ||||
| This formula uses `commitlint <https://github.com/conventional-changelog/commitlint>`_ for checking commit messages during CI testing. | ||||
| This ensures that they are in accordance with the ``semantic-release`` settings. | ||||
| 
 | ||||
| For more details about the default settings, refer back to the ``commitlint`` `reference rules <https://conventional-changelog.github.io/commitlint/#/reference-rules>`_. | ||||
| 
 | ||||
| Relationship between commit type and version bump | ||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||||
| 
 | ||||
| This formula applies some customisations to the defaults, as outlined in the table below, | ||||
| based upon the `type <https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#type>`_ of the commit: | ||||
| 
 | ||||
| .. list-table:: | ||||
|    :name: commit-type-vs-version-bump | ||||
|    :header-rows: 1 | ||||
|    :stub-columns: 0 | ||||
|    :widths: 1,2,3,1,1 | ||||
| 
 | ||||
|    * - Type | ||||
|      - Heading | ||||
|      - Description | ||||
|      - Bump (default) | ||||
|      - Bump (custom) | ||||
|    * - ``build`` | ||||
|      - Build System | ||||
|      - Changes related to the build system | ||||
|      - – | ||||
|      - | ||||
|    * - ``chore`` | ||||
|      - – | ||||
|      - Changes to the build process or auxiliary tools and libraries such as | ||||
|        documentation generation | ||||
|      - – | ||||
|      - | ||||
|    * - ``ci`` | ||||
|      - Continuous Integration | ||||
|      - Changes to the continuous integration configuration | ||||
|      - – | ||||
|      - | ||||
|    * - ``docs`` | ||||
|      - Documentation | ||||
|      - Documentation only changes | ||||
|      - – | ||||
|      - 0.0.1 | ||||
|    * - ``feat`` | ||||
|      - Features | ||||
|      - A new feature | ||||
|      - 0.1.0 | ||||
|      - | ||||
|    * - ``fix`` | ||||
|      - Bug Fixes | ||||
|      - A bug fix | ||||
|      - 0.0.1 | ||||
|      - | ||||
|    * - ``perf`` | ||||
|      - Performance Improvements | ||||
|      - A code change that improves performance | ||||
|      - 0.0.1 | ||||
|      - | ||||
|    * - ``refactor`` | ||||
|      - Code Refactoring | ||||
|      - A code change that neither fixes a bug nor adds a feature | ||||
|      - – | ||||
|      - 0.0.1 | ||||
|    * - ``revert`` | ||||
|      - Reverts | ||||
|      - A commit used to revert a previous commit | ||||
|      - – | ||||
|      - 0.0.1 | ||||
|    * - ``style`` | ||||
|      - Styles | ||||
|      - Changes that do not affect the meaning of the code (white-space, | ||||
|        formatting, missing semi-colons, etc.) | ||||
|      - – | ||||
|      - 0.0.1 | ||||
|    * - ``test`` | ||||
|      - Tests | ||||
|      - Adding missing or correcting existing tests | ||||
|      - – | ||||
|      - 0.0.1 | ||||
| 
 | ||||
| Use ``BREAKING CHANGE`` to trigger a ``major`` version change | ||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||||
| 
 | ||||
| Adding ``BREAKING CHANGE`` to the footer of the extended description of the commit message will **always** trigger a ``major`` version change, no matter which type has been used. | ||||
| This will be appended to the changelog and release notes as well. | ||||
| To preserve good formatting of these notes, the following format is prescribed: | ||||
| 
 | ||||
| * ``BREAKING CHANGE: <explanation in paragraph format>.`` | ||||
| 
 | ||||
| An example of that: | ||||
| 
 | ||||
| .. code-block:: git | ||||
| 
 | ||||
|    ... | ||||
| 
 | ||||
|    BREAKING CHANGE: With the removal of all of the `.sls` files under | ||||
|    `template package`, this formula no longer supports the installation of | ||||
|    packages. | ||||
| 
 | ||||
| @ -37,7 +37,7 @@ Contributing to this repo | ||||
| 
 | ||||
| **Commit message formatting is significant!!** | ||||
| 
 | ||||
| Please see `How to contribute <https://github.com/saltstack-formulas/.github/blob/master/CONTRIBUTING.rst>`_ for more details. | ||||
| Please see :ref:`How to contribute <CONTRIBUTING>` for more details. | ||||
| 
 | ||||
| Available states | ||||
| ---------------- | ||||
| @ -57,11 +57,6 @@ 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:: console | ||||
| .. code-block:: | ||||
| 
 | ||||
|    /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:: console | ||||
| .. code-block:: | ||||
| 
 | ||||
|    /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:: console | ||||
| .. code-block:: | ||||
| 
 | ||||
|    /srv/saltstack/systemd-formula/ | ||||
|      systemd/ | ||||
|  | ||||
| @ -1,13 +0,0 @@ | ||||
| # yamllint disable rule:indentation rule:line-length | ||||
| # {{ grains.get("osfinger", grains.os) }} | ||||
| --- | ||||
| {#- use salt.slsutil.serialize to avoid encoding errors on some platforms #} | ||||
| {{ salt["slsutil.serialize"]( | ||||
|      "yaml", | ||||
|      map, | ||||
|      default_flow_style=False, | ||||
|      allow_unicode=True, | ||||
|    ) | ||||
|    | regex_replace("^\s+'$", "'", multiline=True) | ||||
|    | trim | ||||
| }} | ||||
| @ -1,22 +0,0 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
| # vim: ft=sls | ||||
| --- | ||||
| {#- Get the `tplroot` from `tpldir` #} | ||||
| {%- set tplroot = tpldir.split("/")[0] %} | ||||
| {%- from tplroot ~ "/map.jinja" import 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,13 +4,11 @@ | ||||
| {#- 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,5 +9,3 @@ 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_sync_group', 'vrrp_script', 'vrrp_instance', 'virtual_server'] %} | ||||
| {%- set sections = ['global_defs', 'vrrp_script', 'vrrp_instance', 'virtual_server'] %} | ||||
| {%- for section in sections %} | ||||
| {{ print_config({ section: config[section]|d({}) }) }} | ||||
| {{ print_config({ section: config[section] }) }} | ||||
| {%- endfor %} | ||||
|  | ||||
| @ -3,6 +3,5 @@ | ||||
| 
 | ||||
| include: | ||||
|   - .package | ||||
|   - .scripts | ||||
|   - .config | ||||
|   - .service | ||||
|  | ||||
| @ -1,37 +1,40 @@ | ||||
| {%- 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_width: indentation of the result value to conform to YAML | ||||
|       * indent_witdh: 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 | ||||
| @ -43,73 +46,67 @@ | ||||
|             - 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 %} | ||||
| {%-       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("/") | ||||
|               ) %} | ||||
|   #} | ||||
|   {#- 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('/') %} | ||||
| {{ url | indent(indent_width, true) }} | ||||
| {%-         endfor %} | ||||
| {%-       endfor %} | ||||
| {%-     endfor %} | ||||
| {%-   endfor %} | ||||
|         {%- endfor %} | ||||
|       {%- endfor %} | ||||
|     {%- endfor %} | ||||
|   {%- endfor %} | ||||
| {%- endmacro %} | ||||
|  | ||||
| @ -30,12 +30,7 @@ | ||||
|           {%- if item[value] is string or item[value] is not iterable -%} | ||||
|             {%- set forwardIndent = 0 -%} | ||||
|           {%- endif -%} | ||||
|           {%- 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 %} | ||||
|           {{- item[key]|indent(carryIndent, True) }} {{ print_config(item[value], recurse=recurse, indent=forwardIndent) -}} | ||||
|         {%- endif -%} | ||||
|       {%- endfor -%} | ||||
|     {%- else -%} | ||||
|  | ||||
| @ -4,46 +4,21 @@ | ||||
| {#- Get the `tplroot` from `tpldir` #} | ||||
| {%- set tplroot = tpldir.split('/')[0] %} | ||||
| {#- Start imports as #} | ||||
| {%- 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 %} | ||||
| {%- 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 %} | ||||
| 
 | ||||
| {#- 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' | ||||
|               ) | ||||
|             ) | ||||
|           ) | ||||
|         ) | ||||
| {%- 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={}) | ||||
|       ) | ||||
|     ) | ||||
| %} | ||||
|   ) | ||||
| ) %} | ||||
| 
 | ||||
| {%- set config = salt['grains.filter_by']( | ||||
|       {'defaults': defaults}, | ||||
|       default='defaults', | ||||
|       merge=_config | ||||
|     ) | ||||
| %} | ||||
| 
 | ||||
| {%- set keepalived = config %} | ||||
| {#- Merge the keepalived pillar #} | ||||
| {%- set keepalived = salt['pillar.get']('keepalived', default=defaults, merge=True) %} | ||||
|  | ||||
| @ -1,35 +0,0 @@ | ||||
| # -*- 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,14 +1,6 @@ | ||||
| # -*- 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: {} | ||||
| --- | ||||
| Gentoo: | ||||
|   package: sys-cluster/keepalived | ||||
| Debian: {} | ||||
| RedHat: {} | ||||
| Suse: {} | ||||
|  | ||||
| @ -1,13 +1,11 @@ | ||||
| # -*- 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: {} | ||||
| --- | ||||
| osfingermap: {} | ||||
| Debian-8: {} | ||||
| Debian-9: {} | ||||
| Ubuntu-16.04: {} | ||||
| Ubuntu-18.04: {} | ||||
| Fedora-28: {} | ||||
| Fedora-29: {} | ||||
| CentOS-7: {} | ||||
| openSUSE-4.23: {} | ||||
|  | ||||
| @ -1,13 +1,8 @@ | ||||
| # -*- 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: {} | ||||
| --- | ||||
| osmap: {} | ||||
| Debian: {} | ||||
| Ubuntu: {} | ||||
| Fedora: {} | ||||
| CentOS: {} | ||||
| openSUSE: {} | ||||
|  | ||||
| @ -1,5 +0,0 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
| # vim: ft=sls | ||||
| 
 | ||||
| include: | ||||
|   - .manage | ||||
| @ -1,48 +0,0 @@ | ||||
| # -*- 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,9 +12,6 @@ include: | ||||
| keepalived-service-running-service-running: | ||||
|   service.running: | ||||
|     - name: {{ keepalived.service.name }} | ||||
|     - watch: | ||||
|     - enable: True | ||||
|     - require: | ||||
|       - sls: {{ sls_config_file }} | ||||
| 
 | ||||
| keepalived-service-running-service-enabled: | ||||
|   service.enabled: | ||||
|     - name: {{ keepalived.service.name }} | ||||
|  | ||||
							
								
								
									
										338
									
								
								kitchen.yml
									
									
									
									
									
								
							
							
						
						
									
										338
									
								
								kitchen.yml
									
									
									
									
									
								
							| @ -6,11 +6,102 @@ driver: | ||||
|   name: docker | ||||
|   use_sudo: false | ||||
|   privileged: true | ||||
|   run_command: /usr/lib/systemd/systemd | ||||
|   run_command: /lib/systemd/systemd | ||||
| 
 | ||||
| # Make sure the platforms listed below match up with | ||||
| # the `env.matrix` instances defined in `.travis.yml` | ||||
| platforms: | ||||
|   ## SALT `develop` | ||||
|   - name: debian-9-develop-py3 | ||||
|     driver: | ||||
|       image: netmanagers/salt-develop-py3:debian-9 | ||||
|       provision_command: | ||||
|         - curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com | ||||
|         - sh bootstrap-salt.sh -XdPbfrq -x python3 git develop | ||||
|   - name: ubuntu-1804-develop-py3 | ||||
|     driver: | ||||
|       image: netmanagers/salt-develop-py3:ubuntu-18.04 | ||||
|       provision_command: | ||||
|         - curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com | ||||
|         - sh bootstrap-salt.sh -XdPbfrq -x python3 git develop | ||||
|   - name: centos-7-develop-py3 | ||||
|     driver: | ||||
|       image: netmanagers/salt-develop-py3:centos-7 | ||||
|       provision_command: | ||||
|         - curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com | ||||
|         - sh bootstrap-salt.sh -XdPbfrq -x python3 git develop | ||||
|   - name: fedora-29-develop-py3 | ||||
|     driver: | ||||
|       image: netmanagers/salt-develop-py3:fedora-29 | ||||
|       provision_command: | ||||
|         - curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com | ||||
|         - sh bootstrap-salt.sh -XdPbfrq -x python3 git develop | ||||
|   - name: opensuse-leap-15-develop-py3 | ||||
|     driver: | ||||
|       image: netmanagers/salt-develop-py3:opensuse-leap-15 | ||||
|       provision_command: | ||||
|         - curl -o bootstrap-salt.sh -L https://bootstrap.saltstack.com | ||||
|         - sh bootstrap-salt.sh -XdPbfrq -x python3 git develop | ||||
|       run_command: /usr/lib/systemd/systemd | ||||
| 
 | ||||
|   ## SALT `2019.2` | ||||
|   - name: debian-9-2019-2-py3 | ||||
|     driver: | ||||
|       image: netmanagers/salt-2019.2-py3:debian-9 | ||||
|   - name: ubuntu-1804-2019-2-py3 | ||||
|     driver: | ||||
|       image: netmanagers/salt-2019.2-py3:ubuntu-18.04 | ||||
|   - name: centos-7-2019-2-py3 | ||||
|     driver: | ||||
|       image: netmanagers/salt-2019.2-py3:centos-7 | ||||
|   - name: fedora-29-2019-2-py3 | ||||
|     driver: | ||||
|       image: netmanagers/salt-2019.2-py3:fedora-29 | ||||
|   - name: opensuse-leap-15-2019-2-py3 | ||||
|     driver: | ||||
|       image: netmanagers/salt-2019.2-py3:opensuse-leap-15 | ||||
|       run_command: /usr/lib/systemd/systemd | ||||
| 
 | ||||
|   ## SALT `2018.3` | ||||
|   - name: debian-9-2018-3-py2 | ||||
|     driver: | ||||
|       image: netmanagers/salt-2018.3-py2:debian-9 | ||||
|   - name: ubuntu-1604-2018-3-py2 | ||||
|     driver: | ||||
|       image: netmanagers/salt-2018.3-py2:ubuntu-16.04 | ||||
|   - name: centos-7-2018-3-py2 | ||||
|     driver: | ||||
|       image: netmanagers/salt-2018.3-py2:centos-7 | ||||
|   - name: fedora-29-2018-3-py2 | ||||
|     driver: | ||||
|       image: netmanagers/salt-2018.3-py2:fedora-29 | ||||
|   - name: opensuse-leap-42-2018-3-py2 | ||||
|     driver: | ||||
|       image: netmanagers/salt-2018.3-py2:opensuse-leap-42 | ||||
|       run_command: /usr/lib/systemd/systemd | ||||
| 
 | ||||
|   ## SALT `2017.7` | ||||
|   - name: debian-8-2017-7-py2 | ||||
|     driver: | ||||
|       image: netmanagers/salt-2017.7-py2:debian-8 | ||||
|   - name: ubuntu-1604-2017-7-py2 | ||||
|     driver: | ||||
|       image: netmanagers/salt-2017.7-py2:ubuntu-16.04 | ||||
|   - name: centos-6-2017-7-py2 | ||||
|     driver: | ||||
|       image: netmanagers/salt-2017.7-py2:centos-6 | ||||
|       run_command: /sbin/init | ||||
|   - name: fedora-28-2017-7-py2 | ||||
|     driver: | ||||
|       image: netmanagers/salt-2017.7-py2:fedora-28 | ||||
|   - name: opensuse-leap-42-2017-7-py2 | ||||
|     driver: | ||||
|       image: netmanagers/salt-2017.7-py2:opensuse-leap-42 | ||||
|       run_command: /usr/lib/systemd/systemd | ||||
| 
 | ||||
| provisioner: | ||||
|   name: salt_solo | ||||
|   log_level: debug | ||||
|   log_level: info | ||||
|   salt_install: none | ||||
|   require_chef: false | ||||
|   formula: keepalived | ||||
| @ -18,252 +109,12 @@ provisioner: | ||||
|     - .kitchen | ||||
|     - .git | ||||
| 
 | ||||
| platforms: | ||||
|   ## SALT `tiamat` | ||||
|   - name: debian-11-tiamat-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-tiamat-py3:debian-11 | ||||
|       run_command: /lib/systemd/systemd | ||||
|   - name: debian-10-tiamat-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-tiamat-py3:debian-10 | ||||
|       run_command: /lib/systemd/systemd | ||||
|   - name: debian-9-tiamat-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-tiamat-py3:debian-9 | ||||
|       run_command: /lib/systemd/systemd | ||||
|   - name: ubuntu-2204-tiamat-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-tiamat-py3:ubuntu-22.04 | ||||
|       run_command: /lib/systemd/systemd | ||||
|   - name: ubuntu-2004-tiamat-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-tiamat-py3:ubuntu-20.04 | ||||
|       run_command: /lib/systemd/systemd | ||||
|   - name: ubuntu-1804-tiamat-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-tiamat-py3:ubuntu-18.04 | ||||
|       run_command: /lib/systemd/systemd | ||||
|   - name: centos-stream8-tiamat-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-tiamat-py3:centos-stream8 | ||||
|   - name: centos-7-tiamat-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-tiamat-py3:centos-7 | ||||
|   - name: amazonlinux-2-tiamat-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-tiamat-py3:amazonlinux-2 | ||||
|   - name: oraclelinux-8-tiamat-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-tiamat-py3:oraclelinux-8 | ||||
|   - name: oraclelinux-7-tiamat-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-tiamat-py3:oraclelinux-7 | ||||
|   - name: almalinux-8-tiamat-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-tiamat-py3:almalinux-8 | ||||
|   - name: rockylinux-8-tiamat-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-tiamat-py3:rockylinux-8 | ||||
| 
 | ||||
|   ## SALT `master` | ||||
|   - name: debian-11-master-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-master-py3:debian-11 | ||||
|       run_command: /lib/systemd/systemd | ||||
|   - name: debian-10-master-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-master-py3:debian-10 | ||||
|       run_command: /lib/systemd/systemd | ||||
|   - name: debian-9-master-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-master-py3:debian-9 | ||||
|       run_command: /lib/systemd/systemd | ||||
|   - name: ubuntu-2204-master-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-master-py3:ubuntu-22.04 | ||||
|       run_command: /lib/systemd/systemd | ||||
|   - name: ubuntu-2004-master-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-master-py3:ubuntu-20.04 | ||||
|       run_command: /lib/systemd/systemd | ||||
|   - name: ubuntu-1804-master-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-master-py3:ubuntu-18.04 | ||||
|       run_command: /lib/systemd/systemd | ||||
|   - name: centos-stream8-master-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-master-py3:centos-stream8 | ||||
|   - name: centos-7-master-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-master-py3:centos-7 | ||||
|   - name: fedora-36-master-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-master-py3:fedora-36 | ||||
|   - name: fedora-35-master-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-master-py3:fedora-35 | ||||
|   - name: opensuse-leap-153-master-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-master-py3:opensuse-leap-15.3 | ||||
|     # Workaround to avoid intermittent failures on `opensuse-leap-15.3`: | ||||
|     # => SCP did not finish successfully (255):  (Net::SCP::Error) | ||||
|     transport: | ||||
|       max_ssh_sessions: 1 | ||||
|   - name: opensuse-tmbl-latest-master-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-master-py3:opensuse-tumbleweed-latest | ||||
|     # Workaround to avoid intermittent failures on `opensuse-tumbleweed`: | ||||
|     # => SCP did not finish successfully (255):  (Net::SCP::Error) | ||||
|     transport: | ||||
|       max_ssh_sessions: 1 | ||||
|   - name: amazonlinux-2-master-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-master-py3:amazonlinux-2 | ||||
|   - name: oraclelinux-8-master-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-master-py3:oraclelinux-8 | ||||
|   - name: oraclelinux-7-master-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-master-py3:oraclelinux-7 | ||||
|   - name: arch-base-latest-master-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-master-py3:arch-base-latest | ||||
|   - name: gentoo-stage3-latest-master-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-master-py3:gentoo-stage3-latest | ||||
|       run_command: /sbin/init | ||||
|   - name: gentoo-stage3-systemd-master-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-master-py3:gentoo-stage3-systemd | ||||
|   - name: almalinux-8-master-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-master-py3:almalinux-8 | ||||
|   - name: rockylinux-8-master-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-master-py3:rockylinux-8 | ||||
| 
 | ||||
|   ## SALT `3004.1` | ||||
|   - name: debian-11-3004-1-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-3004.1-py3:debian-11 | ||||
|       run_command: /lib/systemd/systemd | ||||
|   - name: debian-10-3004-1-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-3004.1-py3:debian-10 | ||||
|       run_command: /lib/systemd/systemd | ||||
|   - name: debian-9-3004-1-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-3004.1-py3:debian-9 | ||||
|       run_command: /lib/systemd/systemd | ||||
|   - name: ubuntu-2204-3004-1-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-3004.1-py3:ubuntu-22.04 | ||||
|       run_command: /lib/systemd/systemd | ||||
|   - name: ubuntu-2004-3004-1-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-3004.1-py3:ubuntu-20.04 | ||||
|       run_command: /lib/systemd/systemd | ||||
|   - name: ubuntu-1804-3004-1-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-3004.1-py3:ubuntu-18.04 | ||||
|       run_command: /lib/systemd/systemd | ||||
|   - name: centos-stream8-3004-1-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-3004.1-py3:centos-stream8 | ||||
|   - name: centos-7-3004-1-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-3004.1-py3:centos-7 | ||||
|   - name: fedora-36-3004-1-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-3004.1-py3:fedora-36 | ||||
|   - name: fedora-35-3004-1-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-3004.1-py3:fedora-35 | ||||
|   - name: amazonlinux-2-3004-1-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-3004.1-py3:amazonlinux-2 | ||||
|   - name: oraclelinux-8-3004-1-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-3004.1-py3:oraclelinux-8 | ||||
|   - name: oraclelinux-7-3004-1-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-3004.1-py3:oraclelinux-7 | ||||
|   - name: arch-base-latest-3004-1-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-3004.1-py3:arch-base-latest | ||||
|   - name: gentoo-stage3-latest-3004-1-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-3004.1-py3:gentoo-stage3-latest | ||||
|       run_command: /sbin/init | ||||
|   - name: gentoo-stage3-systemd-3004-1-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-3004.1-py3:gentoo-stage3-systemd | ||||
|   - name: almalinux-8-3004-1-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-3004.1-py3:almalinux-8 | ||||
|   - name: rockylinux-8-3004-1-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-3004.1-py3:rockylinux-8 | ||||
| 
 | ||||
|   ## SALT `3004.0` | ||||
|   - name: opensuse-leap-153-3004-0-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-3004.0-py3:opensuse-leap-15.3 | ||||
|     # Workaround to avoid intermittent failures on `opensuse-leap-15.3`: | ||||
|     # => SCP did not finish successfully (255):  (Net::SCP::Error) | ||||
|     transport: | ||||
|       max_ssh_sessions: 1 | ||||
|   - name: opensuse-tmbl-latest-3004-0-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-3004.0-py3:opensuse-tumbleweed-latest | ||||
|     # Workaround to avoid intermittent failures on `opensuse-tumbleweed`: | ||||
|     # => SCP did not finish successfully (255):  (Net::SCP::Error) | ||||
|     transport: | ||||
|       max_ssh_sessions: 1 | ||||
| 
 | ||||
|   ## SALT `3003.4` | ||||
|   - name: debian-10-3003-4-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-3003.4-py3:debian-10 | ||||
|       run_command: /lib/systemd/systemd | ||||
|   - name: debian-9-3003-4-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-3003.4-py3:debian-9 | ||||
|       run_command: /lib/systemd/systemd | ||||
|   - name: ubuntu-2004-3003-4-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-3003.4-py3:ubuntu-20.04 | ||||
|       run_command: /lib/systemd/systemd | ||||
|   - name: ubuntu-1804-3003-4-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-3003.4-py3:ubuntu-18.04 | ||||
|       run_command: /lib/systemd/systemd | ||||
|   - name: centos-stream8-3003-4-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-3003.4-py3:centos-stream8 | ||||
|   - name: centos-7-3003-4-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-3003.4-py3:centos-7 | ||||
|   - name: amazonlinux-2-3003-4-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-3003.4-py3:amazonlinux-2 | ||||
|   - name: oraclelinux-8-3003-4-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-3003.4-py3:oraclelinux-8 | ||||
|   - name: oraclelinux-7-3003-4-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-3003.4-py3:oraclelinux-7 | ||||
|   - name: almalinux-8-3003-4-py3 | ||||
|     driver: | ||||
|       image: saltimages/salt-3003.4-py3:almalinux-8 | ||||
| 
 | ||||
| verifier: | ||||
|   # https://www.inspec.io/ | ||||
|   name: inspec | ||||
|   sudo: true | ||||
|   # cli, documentation, html, progress, json, json-min, json-rspec, junit | ||||
|   reporter: | ||||
|     # cli, documentation, html, progress, json, json-min, json-rspec, junit | ||||
|     - cli | ||||
| 
 | ||||
| suites: | ||||
| @ -272,7 +123,6 @@ suites: | ||||
|       state_top: | ||||
|         base: | ||||
|           '*': | ||||
|             - keepalived._mapdata | ||||
|             - keepalived | ||||
|       pillars: | ||||
|         top.sls: | ||||
|  | ||||
| @ -27,11 +27,6 @@ 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 | ||||
| @ -39,10 +34,6 @@ 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 | ||||
| @ -152,34 +143,3 @@ 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 `m2r2` to convert automatically produced `.md` docs to `.rst` | ||||
| # (B) Use `m2r` to convert automatically produced `.md` docs to `.rst` | ||||
| ############################################################################### | ||||
| 
 | ||||
| # Install `m2r2` | ||||
| pip3 install m2r2 | ||||
| # Install `m2r` | ||||
| sudo -H pip install m2r | ||||
| 
 | ||||
| # Copy and then convert the `.md` docs | ||||
| cp ./*.md docs/ | ||||
| cd docs/ || exit | ||||
| m2r2 --overwrite ./*.md | ||||
| cp *.md docs/ | ||||
| cd docs/ | ||||
| m2r --overwrite *.md | ||||
| 
 | ||||
| # Change excess `H1` headings to `H2` in converted `CHANGELOG.rst` | ||||
| sed -i -e '/^=.*$/s/=/-/g' CHANGELOG.rst | ||||
|  | ||||
| @ -1,6 +1,5 @@ | ||||
| module.exports = { | ||||
|   branch: 'master', | ||||
|   repositoryUrl: 'https://github.com/saltstack-formulas/keepalived-formula', | ||||
|   plugins: [ | ||||
|       ['@semantic-release/commit-analyzer', { | ||||
|         preset: 'angular', | ||||
| @ -64,7 +63,7 @@ module.exports = { | ||||
|           } | ||||
| 
 | ||||
|           if (typeof commit.hash === `string`) { | ||||
|               commit.shortHash = commit.hash.substring(0, 7) | ||||
|               commit.hash = commit.hash.substring(0, 7) | ||||
|           } | ||||
| 
 | ||||
|           if (typeof commit.subject === `string`) { | ||||
|  | ||||
| @ -1,5 +1,3 @@ | ||||
| # frozen_string_literal: true | ||||
| 
 | ||||
| control 'Keepalived configuration' do | ||||
|   title 'should match desired lines' | ||||
| 
 | ||||
| @ -9,11 +7,5 @@ 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,5 +1,3 @@ | ||||
| # frozen_string_literal: true | ||||
| 
 | ||||
| control 'Keepalived package' do | ||||
|   title 'should be installed' | ||||
| 
 | ||||
|  | ||||
| @ -1,11 +0,0 @@ | ||||
| # 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,9 +6,6 @@ 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 | ||||
| @ -17,12 +14,4 @@ supports: | ||||
|   - platform-name: opensuse | ||||
|   - platform-name: suse | ||||
|   - platform-name: freebsd | ||||
|   - platform-name: openbsd | ||||
|   - platform-name: amazon | ||||
|   - platform-name: oracle | ||||
|   - platform-name: arch | ||||
|   - platform-name: gentoo | ||||
|   - platform-name: almalinux | ||||
|   - platform-name: rocky | ||||
|   - platform-name: mac_os_x | ||||
|   - platform: windows | ||||
|  | ||||
| @ -1,22 +0,0 @@ | ||||
| # InSpec Profile: `share` | ||||
| 
 | ||||
| This shows the implementation of the `share` InSpec [profile](https://github.com/inspec/inspec/blob/master/docs/profiles.md). | ||||
| 
 | ||||
| Its goal is to share the libraries between all profiles. | ||||
| 
 | ||||
| ## Libraries | ||||
| 
 | ||||
| ### `system` | ||||
| 
 | ||||
| The `system` library provides easy access to system dependent information: | ||||
| 
 | ||||
| - `system.platform`: based on `inspec.platform`, modify to values that are more consistent from a SaltStack perspective | ||||
|   - `system.platform[:family]` provide a family name for Arch and Gentoo | ||||
|   - `system.platform[:name]` append `linux` to both `amazon` and `oracle`; ensure Windows platforms are resolved as simply `windows` | ||||
|   - `system.platform[:release]` tweak Arch, Amazon Linux, Gentoo, openSUSE and Windows: | ||||
|     - `Arch` is always `base-latest` | ||||
|     - `Amazon Linux` release `2018` is resolved as `1` | ||||
|     - `Gentoo` release is trimmed to its major version number and then the init system is appended (i.e. `sysv` or `sysd`) | ||||
|     - `openSUSE` is resolved as `tumbleweed` if the `platform[:release]` is in date format | ||||
|     - `Windows` uses the widely-used release number (e.g. `8.1` or `2019-server`) in place of the actual system release version | ||||
|   - `system.platform[:finger]` is the concatenation of the name and the major release number (except for Ubuntu, which gives `ubuntu-20.04` for example) | ||||
| @ -1,25 +0,0 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
| # vim: ft=yaml | ||||
| --- | ||||
| name: share | ||||
| title: InSpec shared resources | ||||
| maintainer: SaltStack Formulas | ||||
| license: Apache-2.0 | ||||
| summary: shared resources | ||||
| supports: | ||||
|   - platform-name: debian | ||||
|   - platform-name: ubuntu | ||||
|   - platform-name: centos | ||||
|   - platform-name: fedora | ||||
|   - platform-name: opensuse | ||||
|   - platform-name: suse | ||||
|   - platform-name: freebsd | ||||
|   - platform-name: openbsd | ||||
|   - platform-name: amazon | ||||
|   - platform-name: oracle | ||||
|   - platform-name: arch | ||||
|   - platform-name: gentoo | ||||
|   - platform-name: almalinux | ||||
|   - platform-name: rocky | ||||
|   - platform-name: mac_os_x | ||||
|   - platform: windows | ||||
| @ -1,138 +0,0 @@ | ||||
| # frozen_string_literal: true | ||||
| 
 | ||||
| # system.rb -- InSpec resources for system values | ||||
| # Author: Daniel Dehennin <daniel.dehennin@ac-dijon.fr> | ||||
| # Copyright (C) 2020 Daniel Dehennin <daniel.dehennin@ac-dijon.fr> | ||||
| 
 | ||||
| # rubocop:disable Metrics/ClassLength | ||||
| class SystemResource < Inspec.resource(1) | ||||
|   name 'system' | ||||
| 
 | ||||
|   attr_reader :platform | ||||
| 
 | ||||
|   def initialize | ||||
|     super | ||||
|     @platform = build_platform | ||||
|   end | ||||
| 
 | ||||
|   private | ||||
| 
 | ||||
|   def build_platform | ||||
|     { | ||||
|       family: build_platform_family, | ||||
|       name: build_platform_name, | ||||
|       release: build_platform_release, | ||||
|       finger: build_platform_finger, | ||||
|       codename: build_platform_codename | ||||
|     } | ||||
|   end | ||||
| 
 | ||||
|   def build_platform_family | ||||
|     case inspec.platform[:name] | ||||
|     when 'arch', 'gentoo' | ||||
|       inspec.platform[:name] | ||||
|     else | ||||
|       inspec.platform[:family] | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   def build_platform_name | ||||
|     case inspec.platform[:name] | ||||
|     when 'amazon', 'oracle', 'rocky' | ||||
|       "#{inspec.platform[:name]}linux" | ||||
|     when /^windows_/ | ||||
|       inspec.platform[:family] | ||||
|     else | ||||
|       inspec.platform[:name] | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   # rubocop:disable Metrics/MethodLength,Metrics/AbcSize,Metrics/CyclomaticComplexity | ||||
|   def build_platform_release | ||||
|     case inspec.platform[:name] | ||||
|     when 'amazon' | ||||
|       # `2018` relase is named `1` in `kitchen.yml` | ||||
|       inspec.platform[:release].gsub(/2018.*/, '1') | ||||
|     when 'arch' | ||||
|       'base-latest' | ||||
|     when 'gentoo' | ||||
|       "#{inspec.platform[:release].split('.')[0]}-#{derive_gentoo_init_system}" | ||||
|     when 'mac_os_x' | ||||
|       inspec.command('sw_vers -productVersion').stdout.to_s | ||||
|     when 'opensuse' | ||||
|       # rubocop:disable Style/NumericLiterals,Layout/LineLength | ||||
|       inspec.platform[:release].to_i > 20210101 ? 'tumbleweed' : inspec.platform[:release] | ||||
|       # rubocop:enable Style/NumericLiterals,Layout/LineLength | ||||
|     when 'windows_8.1_pro' | ||||
|       '8.1' | ||||
|     when 'windows_server_2022_datacenter' | ||||
|       '2022-server' | ||||
|     when 'windows_server_2019_datacenter' | ||||
|       '2019-server' | ||||
|     when 'windows_server_2016_datacenter' | ||||
|       '2016-server' | ||||
|     else | ||||
|       inspec.platform[:release] | ||||
|     end | ||||
|   end | ||||
|   # rubocop:enable Metrics/MethodLength,Metrics/AbcSize,Metrics/CyclomaticComplexity | ||||
| 
 | ||||
|   def derive_gentoo_init_system | ||||
|     inspec.command('systemctl').exist? ? 'sysd' : 'sysv' | ||||
|   end | ||||
| 
 | ||||
|   def build_platform_finger | ||||
|     "#{build_platform_name}-#{build_finger_release}" | ||||
|   end | ||||
| 
 | ||||
|   def build_finger_release | ||||
|     case inspec.platform[:name] | ||||
|     when 'ubuntu' | ||||
|       build_platform_release.split('.').slice(0, 2).join('.') | ||||
|     else | ||||
|       build_platform_release.split('.')[0] | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   # rubocop:disable Metrics/MethodLength,Metrics/CyclomaticComplexity | ||||
|   def build_platform_codename | ||||
|     case build_platform_finger | ||||
|     when 'ubuntu-22.04' | ||||
|       'jammy' | ||||
|     when 'ubuntu-20.04' | ||||
|       'focal' | ||||
|     when 'ubuntu-18.04' | ||||
|       'bionic' | ||||
|     when 'debian-11' | ||||
|       'bullseye' | ||||
|     when 'debian-10' | ||||
|       'buster' | ||||
|     when 'debian-9' | ||||
|       'stretch' | ||||
|     when 'almalinux-8' | ||||
|       "AlmaLinux #{build_platform_release} (Arctic Sphynx)" | ||||
|     when 'amazonlinux-2' | ||||
|       'Amazon Linux 2' | ||||
|     when 'arch-base-latest' | ||||
|       'Arch Linux' | ||||
|     when 'centos-7' | ||||
|       'CentOS Linux 7 (Core)' | ||||
|     when 'centos-8' | ||||
|       'CentOS Stream 8' | ||||
|     when 'opensuse-tumbleweed' | ||||
|       'openSUSE Tumbleweed' | ||||
|     when 'opensuse-15' | ||||
|       "openSUSE Leap #{build_platform_release}" | ||||
|     when 'oraclelinux-8', 'oraclelinux-7' | ||||
|       "Oracle Linux Server #{build_platform_release}" | ||||
|     when 'gentoo-2-sysd', 'gentoo-2-sysv' | ||||
|       'Gentoo/Linux' | ||||
|     when 'rockylinux-8' | ||||
|       "Rocky Linux #{build_platform_release} (Green Obsidian)" | ||||
|     else | ||||
|       '' | ||||
|     end | ||||
|   end | ||||
|   # rubocop:enable Metrics/MethodLength,Metrics/CyclomaticComplexity | ||||
| end | ||||
| # rubocop:enable Metrics/ClassLength | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user