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
|
- pushgateway
|
||||||
- node_explorer
|
- node_explorer
|
||||||
|
|
||||||
|
use_upstream_repo: False
|
||||||
use_upstream_archive: True
|
use_upstream_archive: True
|
||||||
|
|
||||||
pkg:
|
pkg:
|
||||||
prometheus:
|
prometheus:
|
||||||
archive_version: 2.10.0
|
archive_version: 2.10.0
|
||||||
archive_hash: f4233783826f18606b79e5cef0686e4a9c2030146a3c7ce134f0add09f5adcb7
|
archive_hash: f4233783826f18606b79e5cef0686e4a9c2030146a3c7ce134f0add09f5adcb7
|
||||||
|
repo: {}
|
||||||
alertmanager:
|
alertmanager:
|
||||||
archive_version: '0.17.0'
|
archive_version: '0.17.0'
|
||||||
archive_hash: ec171b13976baceace193461f8a1e61021ab9657df5ba45157cd0095aee7d569
|
archive_hash: ec171b13976baceace193461f8a1e61021ab9657df5ba45157cd0095aee7d569
|
||||||
@ -148,4 +151,3 @@ prometheus:
|
|||||||
linux:
|
linux:
|
||||||
#'Alternatives system' priority: zero disables (default)
|
#'Alternatives system' priority: zero disables (default)
|
||||||
altpriority: 0
|
altpriority: 0
|
||||||
|
|
||||||
|
@ -5,6 +5,8 @@ prometheus:
|
|||||||
rootgroup: root
|
rootgroup: root
|
||||||
kernel: {{ grains.kernel | lower }}
|
kernel: {{ grains.kernel | lower }}
|
||||||
arch: {{ grains.osarch }}
|
arch: {{ grains.osarch }}
|
||||||
|
use_upstream_repo: False
|
||||||
|
use_upstream_archive: False
|
||||||
|
|
||||||
wanted:
|
wanted:
|
||||||
- prometheus
|
- prometheus
|
||||||
@ -35,6 +37,13 @@ prometheus:
|
|||||||
binaries:
|
binaries:
|
||||||
- prometheus
|
- prometheus
|
||||||
- promtool
|
- promtool
|
||||||
|
repo:
|
||||||
|
humanname: prometheus
|
||||||
|
name: prometheus
|
||||||
|
comments:
|
||||||
|
- installed by salt
|
||||||
|
enabled: 1
|
||||||
|
gpgcheck: 1
|
||||||
alertmanager:
|
alertmanager:
|
||||||
archive_version: '0.17.0'
|
archive_version: '0.17.0'
|
||||||
archive_hash: 7c8d2cfeb021c80881ae9904d959131091b8785b6fda9800f84ddef148fe0a4f
|
archive_hash: 7c8d2cfeb021c80881ae9904d959131091b8785b6fda9800f84ddef148fe0a4f
|
||||||
@ -87,7 +96,6 @@ prometheus:
|
|||||||
binaries:
|
binaries:
|
||||||
- statsd_exporter
|
- statsd_exporter
|
||||||
|
|
||||||
use_upstream_archive: False
|
|
||||||
archive:
|
archive:
|
||||||
uri: https://github.com/prometheus
|
uri: https://github.com/prometheus
|
||||||
suffix: tar.gz
|
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
|
# Collection of common macros
|
||||||
|
|
||||||
{%- macro format_kwargs(kwarg) -%}
|
{%- macro format_kwargs(kwarg) -%}
|
||||||
|
|
||||||
{%- filter indent(4) %}
|
{%- filter indent(4) %}
|
||||||
{%- for k, v in kwarg|dictsort() %}
|
{%- for k, v in kwarg|dictsort() %}
|
||||||
- {{ k }}: {{ v }}
|
- {{ k }}: {{ v }}
|
||||||
{%- endfor %}
|
{%- endfor %}
|
||||||
{%- endfilter %}
|
{%- endfilter %}
|
||||||
|
|
||||||
{%- endmacro %}
|
{%- endmacro %}
|
||||||
|
@ -11,14 +11,19 @@
|
|||||||
# osfamilymap: {}
|
# osfamilymap: {}
|
||||||
---
|
---
|
||||||
{%- if grains.os == 'MacOS' %}
|
{%- 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") %}
|
{% set macos_group = salt['cmd.run']("stat -f '%Sg' /dev/console") %}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
|
||||||
Debian: {}
|
Debian: {}
|
||||||
|
|
||||||
RedHat:
|
RedHat:
|
||||||
## remove when https://github.com/saltstack-formulas/prometheus-formula/pull/4 is merged
|
pkg:
|
||||||
use_upstream_archive: True
|
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: {}
|
Suse: {}
|
||||||
|
|
||||||
@ -109,6 +114,7 @@ Windows:
|
|||||||
archive_hash: 9362b7482e74792f111c4bb1a372b18a88f6354c78f24713bacfbcb050883556
|
archive_hash: 9362b7482e74792f111c4bb1a372b18a88f6354c78f24713bacfbcb050883556
|
||||||
|
|
||||||
MacOS:
|
MacOS:
|
||||||
|
rootuser: {{ macos_user | d('') }}
|
||||||
rootgroup: {{ macos_group | d('') }}
|
rootgroup: {{ macos_group | d('') }}
|
||||||
kernel: darwin
|
kernel: darwin
|
||||||
pkg:
|
pkg:
|
||||||
|
@ -5,10 +5,18 @@
|
|||||||
{%- set tplroot = tpldir.split('/')[0] %}
|
{%- set tplroot = tpldir.split('/')[0] %}
|
||||||
{%- from tplroot ~ "/map.jinja" import prometheus with context %}
|
{%- from tplroot ~ "/map.jinja" import prometheus with context %}
|
||||||
|
|
||||||
|
{%- if prometheus.pkg.use_upstream_repo %}
|
||||||
|
|
||||||
|
include:
|
||||||
|
- .repo
|
||||||
|
|
||||||
|
{%- endif %}
|
||||||
{%- for name in prometheus.wanted %}
|
{%- for name in prometheus.wanted %}
|
||||||
|
{%- if name in prometheus.pkg %}
|
||||||
|
|
||||||
prometheus-package-install-{{ name }}-installed:
|
prometheus-package-install-{{ name }}-installed:
|
||||||
pkg.installed:
|
pkg.installed:
|
||||||
- name: {{ name }}
|
- name: {{ name }}
|
||||||
|
|
||||||
|
{%- endif %}
|
||||||
{%- endfor %}
|
{%- 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