4de3ebd241
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 |
||
---|---|---|
.github/workflows | ||
bin | ||
docs | ||
prometheus | ||
test | ||
.gitignore | ||
.gitlab-ci.yml | ||
.pre-commit-config.yaml | ||
.rstcheck.cfg | ||
.rubocop.yml | ||
.salt-lint | ||
.travis.yml | ||
.yamllint | ||
AUTHORS.md | ||
CHANGELOG.md | ||
CODEOWNERS | ||
commitlint.config.js | ||
FORMULA | ||
Gemfile | ||
Gemfile.lock | ||
kitchen.yml | ||
LICENSE | ||
pillar.example | ||
pre-commit_semantic-release.sh | ||
release-rules.js | ||
release.config.js |
prometheus-formula
Formula to manage Prometheus on GNU/Linux and MacOS.
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.