Merge branch 'master' of https://github.com/saltstack-formulas/prometheus-formula into archives
This commit is contained in:
commit
665e116cee
@ -7,11 +7,14 @@ prometheus:
|
||||
- pushgateway
|
||||
- node_explorer
|
||||
|
||||
use_upstream_repo: False
|
||||
use_upstream_archive: True
|
||||
|
||||
pkg:
|
||||
prometheus:
|
||||
archive_version: 2.10.0
|
||||
archive_hash: f4233783826f18606b79e5cef0686e4a9c2030146a3c7ce134f0add09f5adcb7
|
||||
repo: {}
|
||||
alertmanager:
|
||||
archive_version: '0.17.0'
|
||||
archive_hash: ec171b13976baceace193461f8a1e61021ab9657df5ba45157cd0095aee7d569
|
||||
@ -148,4 +151,3 @@ prometheus:
|
||||
linux:
|
||||
#'Alternatives system' priority: zero disables (default)
|
||||
altpriority: 0
|
||||
|
||||
|
@ -5,6 +5,8 @@ prometheus:
|
||||
rootgroup: root
|
||||
kernel: {{ grains.kernel | lower }}
|
||||
arch: {{ grains.osarch }}
|
||||
use_upstream_repo: False
|
||||
use_upstream_archive: False
|
||||
|
||||
wanted:
|
||||
- prometheus
|
||||
@ -35,6 +37,13 @@ prometheus:
|
||||
binaries:
|
||||
- prometheus
|
||||
- promtool
|
||||
repo:
|
||||
humanname: prometheus
|
||||
name: prometheus
|
||||
comments:
|
||||
- installed by salt
|
||||
enabled: 1
|
||||
gpgcheck: 1
|
||||
alertmanager:
|
||||
archive_version: '0.17.0'
|
||||
archive_hash: 7c8d2cfeb021c80881ae9904d959131091b8785b6fda9800f84ddef148fe0a4f
|
||||
@ -87,7 +96,6 @@ prometheus:
|
||||
binaries:
|
||||
- statsd_exporter
|
||||
|
||||
use_upstream_archive: False
|
||||
archive:
|
||||
uri: https://github.com/prometheus
|
||||
suffix: tar.gz
|
||||
|
28
prometheus/exporters/node/clean.sls
Normal file
28
prometheus/exporters/node/clean.sls
Normal file
@ -0,0 +1,28 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# vim: ft=sls
|
||||
|
||||
{#- Get the `tplroot` from `tpldir` #}
|
||||
{%- set tplroot = tpldir.split('/')[0] %}
|
||||
{%- from tplroot ~ "/map.jinja" import prometheus with context %}
|
||||
|
||||
prometheus-exporters-node-service-dead:
|
||||
service.dead:
|
||||
- name: {{ prometheus.exporters.node.service }}
|
||||
- enable: False
|
||||
|
||||
prometheus-exporters-node-pkg-removed:
|
||||
pkg.removed:
|
||||
- name: {{ prometheus.exporters.node.pkg.name }}
|
||||
- require:
|
||||
- service: prometheus-exporters-node-service-dead
|
||||
|
||||
{# FreeBSD #}
|
||||
{%- if salt['grains.get']('os_family') == 'FreeBSD' %}
|
||||
{%- for parameter in ['args', 'listen_address', 'textfile_dir'] %}
|
||||
prometheus-exporters-node-args-{{ parameter }}:
|
||||
sysrc.absent:
|
||||
- name: node_exporter_{{ parameter }}
|
||||
- require:
|
||||
- service: prometheus-exporters-node-service-dead
|
||||
{%- endfor %}
|
||||
{%- endif %}
|
64
prometheus/exporters/node/init.sls
Normal file
64
prometheus/exporters/node/init.sls
Normal file
@ -0,0 +1,64 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# vim: ft=sls
|
||||
|
||||
{#- Get the `tplroot` from `tpldir` #}
|
||||
{%- set tplroot = tpldir.split('/')[0] %}
|
||||
{%- from tplroot ~ "/map.jinja" import prometheus with context %}
|
||||
{%- from tplroot ~ "/map.jinja" import concat_args %}
|
||||
|
||||
prometheus-exporters-node-pkg-installed:
|
||||
pkg.installed:
|
||||
- name: {{ prometheus.exporters.node.pkg.name }}
|
||||
|
||||
{%- if 'args' in prometheus.exporters.node %}
|
||||
{%- set args = prometheus.exporters.node.get('args', {}) -%}
|
||||
|
||||
{# FreeBSD #}
|
||||
{%- if salt['grains.get']('os_family') == 'FreeBSD' %}
|
||||
{%- if 'web.listen-address' in args.keys() %}
|
||||
{%- set value = args.pop('web.listen-address') %}
|
||||
prometheus-exporters-node-args-web-listen-address:
|
||||
sysrc.managed:
|
||||
- name: node_exporter_listen_address
|
||||
- value: {{ value }}
|
||||
- watch_in:
|
||||
- service: prometheus-exporters-node-service-running
|
||||
{%- endif %}
|
||||
|
||||
{%- if 'collector.textfile.directory' in args.keys() %}
|
||||
{%- set value = args.pop('collector.textfile.directory') %}
|
||||
prometheus-exporters-node-args-collector-textfile-directory:
|
||||
sysrc.managed:
|
||||
- name: node_exporter_textfile_dir
|
||||
- value: {{ value }}
|
||||
- watch_in:
|
||||
- service: prometheus-exporters-node-service-running
|
||||
{%- endif %}
|
||||
|
||||
prometheus-exporters-node-args:
|
||||
sysrc.managed:
|
||||
- name: node_exporter_args
|
||||
# service node_exporter restart tended to hang on FreeBSD
|
||||
# https://github.com/saltstack/salt/issues/44848#issuecomment-487016414
|
||||
- value: "{{ concat_args(args) }} >/dev/null 2>&1"
|
||||
- watch_in:
|
||||
- service: prometheus-exporters-node-service-running
|
||||
|
||||
{# Debian #}
|
||||
{%- elif salt['grains.get']('os_family') == 'Debian'%}
|
||||
prometheus-exporters-node-args:
|
||||
file.managed:
|
||||
- name: {{ prometheus.exporters.node.config_file }}
|
||||
- contents: |
|
||||
ARGS="{{ concat_args(args) }}"
|
||||
- watch_in:
|
||||
- service: prometheus-exporters-node-service-running
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
|
||||
prometheus-exporters-node-service-running:
|
||||
service.running:
|
||||
- name: {{ prometheus.exporters.node.service }}
|
||||
- enable: True
|
||||
- watch:
|
||||
- pkg: prometheus-exporters-node-pkg-installed
|
@ -4,9 +4,11 @@
|
||||
# Collection of common macros
|
||||
|
||||
{%- macro format_kwargs(kwarg) -%}
|
||||
|
||||
{%- filter indent(4) %}
|
||||
{%- for k, v in kwarg|dictsort() %}
|
||||
- {{ k }}: {{ v }}
|
||||
{%- endfor %}
|
||||
{%- endfilter %}
|
||||
|
||||
{%- endmacro %}
|
||||
|
@ -11,14 +11,19 @@
|
||||
# osfamilymap: {}
|
||||
---
|
||||
{%- if grains.os == 'MacOS' %}
|
||||
{% set macos_user = salt['cmd.run']("stat -f '%Su' /dev/console") %}
|
||||
{% set macos_group = salt['cmd.run']("stat -f '%Sg' /dev/console") %}
|
||||
{%- endif %}
|
||||
|
||||
Debian: {}
|
||||
|
||||
RedHat:
|
||||
## remove when https://github.com/saltstack-formulas/prometheus-formula/pull/4 is merged
|
||||
use_upstream_archive: True
|
||||
pkg:
|
||||
prometheus:
|
||||
repo:
|
||||
baseurl: 'https://packagecloud.io/prometheus-rpm/release/el/$releasever/$basearch'
|
||||
gpgkey: 'https://packagecloud.io/prometheus-rpm/release/gpgkey gpgkey2=https://raw.githubusercontent.com/lest/prometheus-rpm/master/RPM-GPG-KEY-prometheus-rpm'
|
||||
metadata_expire: 300
|
||||
|
||||
Suse: {}
|
||||
|
||||
@ -109,6 +114,7 @@ Windows:
|
||||
archive_hash: 9362b7482e74792f111c4bb1a372b18a88f6354c78f24713bacfbcb050883556
|
||||
|
||||
MacOS:
|
||||
rootuser: {{ macos_user | d('') }}
|
||||
rootgroup: {{ macos_group | d('') }}
|
||||
kernel: darwin
|
||||
pkg:
|
||||
|
@ -4,11 +4,19 @@
|
||||
{#- Get the `tplroot` from `tpldir` #}
|
||||
{%- set tplroot = tpldir.split('/')[0] %}
|
||||
{%- from tplroot ~ "/map.jinja" import prometheus with context %}
|
||||
|
||||
{%- if prometheus.pkg.use_upstream_repo %}
|
||||
|
||||
include:
|
||||
- .repo
|
||||
|
||||
{%- endif %}
|
||||
{%- for name in prometheus.wanted %}
|
||||
{%- if name in prometheus.pkg %}
|
||||
|
||||
prometheus-package-install-{{ name }}-installed:
|
||||
pkg.installed:
|
||||
- name: {{ name }}
|
||||
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
||||
|
16
prometheus/package/repo/clean.sls
Normal file
16
prometheus/package/repo/clean.sls
Normal file
@ -0,0 +1,16 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# vim: ft=sls
|
||||
|
||||
{#- Get the `tplroot` from `tpldir` #}
|
||||
{%- set tplroot = tpldir.split('/')[0] %}
|
||||
{%- from tplroot ~ "/map.jinja" import prometheus with context %}
|
||||
|
||||
{%- for name in prometheus.wanted %}
|
||||
{%- if name in prometheus.pkg and 'repo' in prometheus.pkg[name] and prometheus.pkg[name]['repo'] %}
|
||||
|
||||
prometheus-package-repo-clean-{{ name }}-pkgrepo-absent:
|
||||
pkgrepo.absent:
|
||||
- name: {{ prometheus.pkg[name]['repo']['name'] }}
|
||||
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
5
prometheus/package/repo/init.sls
Normal file
5
prometheus/package/repo/init.sls
Normal file
@ -0,0 +1,5 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# vim: ft=sls
|
||||
|
||||
include:
|
||||
- .install
|
26
prometheus/package/repo/install.sls
Normal file
26
prometheus/package/repo/install.sls
Normal file
@ -0,0 +1,26 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# vim: ft=sls
|
||||
|
||||
{#- Get the `tplroot` from `tpldir` #}
|
||||
{%- set tplroot = tpldir.split('/')[0] %}
|
||||
{%- from tplroot ~ "/map.jinja" import prometheus with context %}
|
||||
|
||||
{%- for name in prometheus.wanted %}
|
||||
{%- if name in prometheus.pkg and 'repo' in prometheus.pkg[name] and prometheus.pkg[name]['repo'] %}
|
||||
{%- from tplroot ~ "/jinja/macros.jinja" import format_kwargs with context %}
|
||||
|
||||
prometheus-package-repo-install-{{ name }}-pkgrepo-managed:
|
||||
pkgrepo.managed:
|
||||
{{- format_kwargs(prometheus.pkg[name]['repo']) }}
|
||||
|
||||
prometheus-package-repo-install-{{ name }}-file-replace:
|
||||
# redhat workaround for salt issue #51494
|
||||
file.replace:
|
||||
- name: /etc/yum.repos.d/{{ name }}.repo
|
||||
- pattern: ' gpgkey2='
|
||||
- repl: '\n '
|
||||
- ignore_if_missing: True
|
||||
- onlyif: {{ grains.os_family == 'RedHat' }}
|
||||
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
Loading…
Reference in New Issue
Block a user