Avoid this failure when installing the package:
```
Setting up prometheus (2.24.1+ds-1+b5) ...
adduser: The user `prometheus' already exists, but is not a system user. Exiting.
dpkg: error processing package prometheus (--configure):
installed prometheus package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
prometheus
```
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
Added inspec checks for environment files and specifically prometheus
and node_exporter args. Provided comments throughout the key reference
points for users to signpost the differing approaches to args used along
with more clearly identifying the difference between archive and repo
approach. Tests appear to be working on both approaches though updates
have been focused at repo install method.
Fixes: #59
Developed environ.sh.jinja and added test pillar data to default
Corrected prometheus.config.environ
Switched default test pillar to use none archive - due to deployment of custom service
Disabled a number of exporters following switch from archive due to failing - to be reviewed
Corrected prometheus environ_file location
Resolves: #59
* add offical pillar true(default) / false
to use raw source url in component:name:archive:source
* add tar pillar true(default) / false
to use file instead of tar, some repo provide only the binary
* update archive/install.sls and map.jinja
this commit makes `service name` to consider pillar provided values,
fallback to a consistent `service name` when {archive|package} is available
for the component, or to `service name == name` when no other value
is provided
BREAKING CHANGE: The golang clientib is not required for
the regular use of this formula but, if you already expected it to be
installed by default, you'll need to update your pillars to do so.
Running this version of the formula over previous ones won't break the
minions, only skip clientlibs.
BREAKING CHANGE: The data dictionary is simplified and expanded.
Retest your states and update pillar data accordingly.
For developer convenience, clientlibs states were introduced.
See pillar.example, defaults.yaml, and docs/README.