Go to file
2020-10-02 23:02:49 +01:00
.github/workflows ci(workflows/commitlint): add to repo [skip ci] 2020-05-04 09:31:36 +01:00
bin fix(pr): adopt pr comments 2020-07-19 23:33:28 +01:00
docs chore(release): 5.0.2 [skip ci] 2020-08-31 17:03:48 +00:00
prometheus chore: standardise structure [skip ci] 2020-10-02 23:02:49 +01:00
test chore: standardise structure [skip ci] 2020-10-02 23:02:49 +01:00
.gitignore ci(gemfile.lock): add to repo with updated Gemfile [skip ci] 2020-04-21 22:09:51 +01:00
.pre-commit-config.yaml ci(travis,kitchen): update matrix 2020-08-21 13:18:47 -03:00
.rstcheck.cfg ci(travis,kitchen): update matrix 2020-08-21 13:18:47 -03:00
.rubocop.yml chore(rubocop): use org-wide standard settings for Metrics/BlockLength [skip ci] 2020-04-18 13:46:00 +01:00
.salt-lint ci(travis): update salt-lint config for v0.0.10 [skip ci] 2019-10-23 17:36:29 +01:00
.travis.yml chore: standardise structure [skip ci] 2020-10-02 23:02:49 +01:00
.yamllint chore: standardise structure [skip ci] 2020-10-02 23:02:49 +01:00
AUTHORS.md chore(release): 5.0.2 [skip ci] 2020-08-31 17:03:48 +00:00
CHANGELOG.md chore(release): 5.0.2 [skip ci] 2020-08-31 17:03:48 +00:00
CODEOWNERS fix(pr): adopt pr comments 2020-07-19 23:33:28 +01:00
commitlint.config.js ci(travis): use structure of template-formula 2019-04-25 22:14:39 +02:00
FORMULA chore(release): 5.0.2 [skip ci] 2020-08-31 17:03:48 +00:00
Gemfile ci(gemfile.lock): add to repo with updated Gemfile [skip ci] 2020-04-21 22:09:51 +01:00
Gemfile.lock chore(gemfile.lock): update to latest gem versions (2020-W27) [skip ci] 2020-07-06 14:30:35 +01:00
kitchen.yml chore: standardise structure [skip ci] 2020-10-02 23:02:49 +01:00
LICENSE refactor(all): align to template-formula; add clientlibs feature 2020-05-15 11:12:28 +01:00
pillar.example docs(pillar.example): add some comments 2020-08-21 10:46:48 -03:00
pre-commit_semantic-release.sh chore: standardise structure [skip ci] 2020-10-02 23:02:49 +01:00
release-rules.js ci(travis): use structure of template-formula 2019-04-25 22:14:39 +02:00
release.config.js chore: standardise structure [skip ci] 2020-10-02 23:02:49 +01:00

prometheus-formula

Formula to manage Prometheus on GNU/Linux and MacOS.

Travis CI Build Status Semantic Release

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.

Special notes

None.

Contributing to this repo

Commit message formatting is significant!!

Please see How to contribute <CONTRIBUTING> for more details.

Available metastates

prometheus ^^^^^^^^^^^^

Meta-state (This is a state that includes other states).

This installs from prometheus solution.

prometheus.archive ^^^^^^^^^^^^^^^^^^^^

This state will install prometheus components on MacOS and GNU/Linux from archive.

prometheus.clientlibs ^^^^^^^^^^^^^^^^^^^^^^^

This state will install prometheus client libraries on MacOS and GNU/Linux from archive.

prometheus.package ^^^^^^^^^^^^^^^^^^^^

This state will install prometheus component packages from GNU/Linux.

prometheus.config ^^^^^^^^^^^^^^^^^^^

This state will apply prometheus service configuration (files).

prometheus.service ^^^^^^^^^^^^^^^^^^^^

This state will start prometheus component services.

prometheus.exporters ^^^^^^^^^^^^^^^^^^^^^^

This state will apply prometheus exporters configuration.

prometheus.exporters.clean ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

This state will remove prometheus exporters configuration.

prometheus.service.clean ^^^^^^^^^^^^^^^^^^^^^^^^^^

This state will stop prometheus component services.

prometheus.config.clean ^^^^^^^^^^^^^^^^^^^^^^^^^

This state will remove prometheus service configuration (files).

prometheus.package.clean ^^^^^^^^^^^^^^^^^^^^^^^^^^

This state will uninstall prometheus component packages from GNU/Linux.

prometheus.clientlibs.clean ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

This state will uninstall prometheus client libraries.

prometheus.archive.clean ^^^^^^^^^^^^^^^^^^^^^^^^^^^

This state will remove prometheus component archive (directories).

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 prometheus 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.