Go to file
Daniel Rodríguez 1ae8918f1e fix(service): service restart handling with watch requisite
Previously, the state for the keepalived service included the enable
attribute. This would prevent the watch requisite to restart the service
if the service was already running but not enabled.

For reference, https://docs.saltproject.io/en/latest/ref/states/requisites.html#watch

Split service handling in service.enabled and service.running.
2021-06-04 15:43:40 +02:00
.github/workflows ci(workflows/commitlint): add to repo [skip ci] 2020-05-04 09:29:06 +01:00
bin ci(pre-commit): add to formula [skip ci] 2020-10-03 10:33:29 +01:00
docs chore(release): 0.6.0 [skip ci] 2020-12-16 08:04:49 +00:00
keepalived fix(service): service restart handling with watch requisite 2021-06-04 15:43:40 +02:00
test/integration test: standardise use of share suite & _mapdata state [skip ci] 2021-03-23 21:29:20 +00:00
.gitignore chore: standardise structure (.gitignore & _mapdata.rb) [skip ci] 2021-02-11 11:50:11 +00:00
.gitlab-ci.yml ci: add arch-master to matrix and update .travis.yml [skip ci] 2021-05-09 22:30:42 +01:00
.pre-commit-config.yaml chore(pre-commit): use info report level for rstcheck [skip ci] 2021-05-20 14:07:40 +01:00
.rstcheck.cfg chore(pre-commit): use info report level for rstcheck [skip ci] 2021-05-20 14:07:40 +01:00
.rubocop.yml test: standardise use of share suite & _mapdata state [skip ci] 2021-03-23 21:29:20 +00:00
.salt-lint ci(travis): update salt-lint config for v0.0.10 [skip ci] 2019-10-23 17:36:36 +01:00
.travis.yml ci: add arch-master to matrix and update .travis.yml [skip ci] 2021-05-09 22:30:42 +01:00
.yamllint chore: update CODEOWNERS & .yamllint re: kitchen-vagrant [skip ci] 2021-04-05 18:19:03 +01:00
AUTHORS.md chore(release): 0.6.0 [skip ci] 2020-12-16 08:04:49 +00:00
CHANGELOG.md chore(release): 0.6.0 [skip ci] 2020-12-16 08:04:49 +00:00
CODEOWNERS chore: update CODEOWNERS & .yamllint re: kitchen-vagrant [skip ci] 2021-04-05 18:19:03 +01:00
commitlint.config.js chore(commitlint): add {body,footer,header}-max(-line)-length [skip ci] 2020-10-07 09:06:39 +01:00
FORMULA chore(release): 0.6.0 [skip ci] 2020-12-16 08:04:49 +00:00
Gemfile test: standardise use of share suite & _mapdata state [skip ci] 2021-03-23 21:29:20 +00:00
Gemfile.lock ci(gemfile+lock): use ssf customised kitchen-docker repo [skip ci] 2021-02-17 13:50:23 +00:00
kitchen.yml ci: add arch-master to matrix and update .travis.yml [skip ci] 2021-05-09 22:30:42 +01:00
LICENSE feat(semantic-release): implement an automated changelog 2019-05-13 16:16:29 +02:00
pillar.example Merge pull request #44 from hatifnatt/scripts 2020-12-06 18:12:07 +03:00
pre-commit_semantic-release.sh ci(gitlab-ci): use GitLab CI as Travis CI replacement 2020-12-16 06:34:27 +00:00
release-rules.js feat(semantic-release): implement an automated changelog 2019-05-13 16:16:29 +02:00
release.config.js ci(gitlab-ci): use GitLab CI as Travis CI replacement 2020-12-16 06:34:27 +00:00

keepalived-formula

Travis CI Build Status Semantic Release

Formula to set up and configure keepalived

Table of Contents

General notes

See the full SaltStack Formulas installation and usage instructions.

If you are interested in writing or contributing to formulas, please pay attention to the Writing Formula Section.

If you want to use this formula, please pay attention to the FORMULA file and/or git tag, which contains the currently released version. This formula is versioned according to Semantic Versioning.

See Formula Versioning Section for more details.

Contributing to this repo

Commit message formatting is significant!!

Please see How to contribute for more details.

Available states

keepalived

Installs and configures the keepalived package.

keepalived.package

Installs the keepalived package.

keepalived.config

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.

Testing

Linux testing is done with kitchen-salt.

Requirements

  • Ruby
  • Docker
$ gem install bundler
$ bundle install
$ bin/kitchen test [platform]

Where [platform] is the platform name defined in kitchen.yml, e.g. debian-9-2019-2-py3.

bin/kitchen converge

Creates the docker instance and runs the keepalived main state, ready for testing.

bin/kitchen verify

Runs the inspec tests on the actual instance.

bin/kitchen destroy

Removes the docker instance.

bin/kitchen test

Runs all of the stages above in one go: i.e. destroy + converge + verify + destroy.

bin/kitchen login

Gives you SSH access to the instance for manual testing.