Go to file
BlueWolf 076869a8cd fix: added handle for alternative argument opts header
Centos and oraclelinux repositories for prometheus include bespoke headers
in the environment files (e.g. Debian: ARGS=, Centos: PROMETHEUS_OPTS=
ALERTMANAGER_OPTS=). This has been added as a default pillar with osmap
variances.
Additionally archlinux repo install was failing so added basic support -
an issue still remains for the prometheus app itself due to the service
file included in the arch repo hardcoding some config options - resulting
in the possibility to duplicate arguments resulting in a service error.
The prometheus service currently does not start due to permissions not being
applied to a data folder. The added config.storage begins to solve this and
ensures alignment on all platforms but would result in a duplicate config
entry as above. Prometheus on arch therefore needs more work but the exporter
installs now work.

Resolves: #59
2021-06-30 05:16:56 +01:00
.github/workflows ci(workflows/commitlint): add to repo [skip ci] 2020-05-04 09:31:36 +01:00
bin ci(pre-commit): add to formula [skip ci] 2020-10-03 10:52:33 +01:00
docs chore(release): 5.5.0 [skip ci] 2021-05-28 13:59:46 +00:00
prometheus fix: added handle for alternative argument opts header 2021-06-30 05:16:56 +01:00
test fix: added handle for alternative argument opts header 2021-06-30 05:16:56 +01:00
.gitignore chore: standardise structure (.gitignore & _mapdata.rb) [skip ci] 2021-02-11 11:52:54 +00:00
.gitlab-ci.yml ci(kitchen+gitlab): remove Ubuntu 16.04 & Fedora 32 (EOL) [skip ci] 2021-06-21 20:47:50 +01:00
.pre-commit-config.yaml chore(pre-commit): use info report level for rstcheck [skip ci] 2021-05-20 14:10:06 +01:00
.rstcheck.cfg chore(pre-commit): use info report level for rstcheck [skip ci] 2021-05-20 14:10:06 +01:00
.rubocop.yml test: standardise use of share suite & _mapdata state [skip ci] 2021-03-23 21:32:19 +00: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 ci(kitchen+gitlab): remove Ubuntu 16.04 & Fedora 32 (EOL) [skip ci] 2021-06-21 20:47:50 +01:00
.yamllint fix: rework to implement environment variables handling 2021-06-30 05:15:38 +01:00
AUTHORS.md chore(release): 5.5.0 [skip ci] 2021-05-28 13:59:46 +00:00
CHANGELOG.md chore(release): 5.5.0 [skip ci] 2021-05-28 13:59:46 +00:00
CODEOWNERS chore: update CODEOWNERS & .yamllint re: kitchen-vagrant [skip ci] 2021-04-05 18:21:18 +01:00
commitlint.config.js chore(commitlint): add {body,footer,header}-max(-line)-length [skip ci] 2020-10-07 09:09:20 +01:00
FORMULA chore(release): 5.5.0 [skip ci] 2021-05-28 13:59:46 +00:00
Gemfile test: standardise use of share suite & _mapdata state [skip ci] 2021-03-23 21:32:19 +00:00
Gemfile.lock ci(gemfile+lock): use ssf customised kitchen-docker repo [skip ci] 2021-02-17 13:52:57 +00:00
kitchen.yml fix: added guidance and reverted incorrected changes from prior commits 2021-06-30 05:16:56 +01:00
LICENSE refactor(all): align to template-formula; add clientlibs feature 2020-05-15 11:12:28 +01:00
pillar.example fix: added guidance and reverted incorrected changes from prior commits 2021-06-30 05:16:56 +01:00
pre-commit_semantic-release.sh ci(gitlab-ci): use GitLab CI as Travis CI replacement 2020-12-16 06:39:08 +00:00
release-rules.js ci(travis): use structure of template-formula 2019-04-25 22:14:39 +02:00
release.config.js ci(gitlab-ci): use GitLab CI as Travis CI replacement 2020-12-16 06:39:08 +00: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 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.