mirror of
https://github.com/prometheus-community/ansible
synced 2025-02-16 12:48:26 +00:00
refactor(alertmanager): delegate common tasks to _common role
Signed-off-by: gardar <gardar@users.noreply.github.com>
This commit is contained in:
parent
8734f607db
commit
d05e3c23b5
10 changed files with 125 additions and 232 deletions
|
@ -1,10 +1,8 @@
|
||||||
---
|
---
|
||||||
alertmanager_version: 0.27.0
|
alertmanager_version: 0.27.0
|
||||||
alertmanager_binary_local_dir: ''
|
|
||||||
alertmanager_binary_url: "https://github.com/{{ _alertmanager_repo }}/releases/download/v{{ alertmanager_version }}/\
|
alertmanager_binary_url: "https://github.com/{{ _alertmanager_repo }}/releases/download/v{{ alertmanager_version }}/\
|
||||||
alertmanager-{{ alertmanager_version }}.linux-{{ go_arch }}.tar.gz"
|
alertmanager-{{ alertmanager_version }}.{{ ansible_system | lower }}-{{ _alertmanager_go_ansible_arch }}.tar.gz"
|
||||||
alertmanager_checksums_url: "https://github.com/{{ _alertmanager_repo }}/releases/download/v{{ alertmanager_version }}/sha256sums.txt"
|
alertmanager_checksums_url: "https://github.com/{{ _alertmanager_repo }}/releases/download/v{{ alertmanager_version }}/sha256sums.txt"
|
||||||
alertmanager_skip_install: false
|
|
||||||
|
|
||||||
alertmanager_config_dir: /etc/alertmanager
|
alertmanager_config_dir: /etc/alertmanager
|
||||||
alertmanager_db_dir: /var/lib/alertmanager
|
alertmanager_db_dir: /var/lib/alertmanager
|
||||||
|
@ -135,5 +133,10 @@ alertmanager_amtool_config_alertmanager_url: "{{ alertmanager_web_external_url }
|
||||||
# Extended output of `amtool` commands, use '' for less verbosity
|
# Extended output of `amtool` commands, use '' for less verbosity
|
||||||
alertmanager_amtool_config_output: 'extended'
|
alertmanager_amtool_config_output: 'extended'
|
||||||
|
|
||||||
|
alertmanager_binary_install_dir: '/usr/local/bin'
|
||||||
|
|
||||||
# Local path to stash the archive and its extraction
|
# Local path to stash the archive and its extraction
|
||||||
alertmanager_archive_path: /tmp
|
alertmanager_local_cache_path: "/tmp/alertmanager-{{ ansible_system | lower }}-{{ _alertmanager_go_ansible_arch }}/{{ alertmanager_version }}"
|
||||||
|
|
||||||
|
alertmanager_system_user: alertmanager
|
||||||
|
alertmanager_system_group: "{{ alertmanager_system_user }}"
|
||||||
|
|
|
@ -11,18 +11,9 @@ argument_specs:
|
||||||
alertmanager_version:
|
alertmanager_version:
|
||||||
description: "Alertmanager package version. Also accepts `latest` as parameter."
|
description: "Alertmanager package version. Also accepts `latest` as parameter."
|
||||||
default: 0.27.0
|
default: 0.27.0
|
||||||
alertmanager_skip_install:
|
|
||||||
description: "Alertmanager installation tasks gets skipped when set to true."
|
|
||||||
type: bool
|
|
||||||
default: false
|
|
||||||
alertmanager_binary_local_dir:
|
|
||||||
description:
|
|
||||||
- "Allows to use local packages instead of ones distributed on github."
|
|
||||||
- "As parameter it takes a directory where C(alertmanager) AND C(amtool) binaries are stored on host on which ansible is ran."
|
|
||||||
- "This overrides I(alertmanager_version) parameter"
|
|
||||||
alertmanager_binary_url:
|
alertmanager_binary_url:
|
||||||
description: "URL of the alertmanager binaries .tar.gz file"
|
description: "URL of the alertmanager binaries .tar.gz file"
|
||||||
default: "https://github.com/{{ _alertmanager_repo }}/releases/download/v{{ alertmanager_version }}/alertmanager-{{ alertmanager_version }}.linux-{{ go_arch }}.tar.gz"
|
default: "https://github.com/{{ _alertmanager_repo }}/releases/download/v{{ alertmanager_version }}/alertmanager-{{ alertmanager_version }}.{{ ansible_system | lower }}-{{ _alertmanager_go_ansible_arch }}.tar.gz"
|
||||||
alertmanager_checksums_url:
|
alertmanager_checksums_url:
|
||||||
description: "URL of the alertmanager checksums file"
|
description: "URL of the alertmanager checksums file"
|
||||||
default: "https://github.com/{{ _alertmanager_repo }}/releases/download/v{{ alertmanager_version }}/sha256sums.txt"
|
default: "https://github.com/{{ _alertmanager_repo }}/releases/download/v{{ alertmanager_version }}/sha256sums.txt"
|
||||||
|
@ -32,6 +23,11 @@ argument_specs:
|
||||||
alertmanager_web_external_url:
|
alertmanager_web_external_url:
|
||||||
description: "External address on which alertmanager is available. Useful when behind reverse proxy. Ex. example.org/alertmanager"
|
description: "External address on which alertmanager is available. Useful when behind reverse proxy. Ex. example.org/alertmanager"
|
||||||
default: "http://localhost:9093/"
|
default: "http://localhost:9093/"
|
||||||
|
alertmanager_binary_install_dir:
|
||||||
|
description:
|
||||||
|
- "I(Advanced)"
|
||||||
|
- "Directory to install binaries"
|
||||||
|
default: "/usr/local/bin"
|
||||||
alertmanager_config_dir:
|
alertmanager_config_dir:
|
||||||
description: "Path to directory with alertmanager configuration"
|
description: "Path to directory with alertmanager configuration"
|
||||||
default: "/etc/alertmanager"
|
default: "/etc/alertmanager"
|
||||||
|
@ -110,6 +106,16 @@ argument_specs:
|
||||||
alertmanager_amtool_config_output:
|
alertmanager_amtool_config_output:
|
||||||
description: 'Extended output, use C("") for simple output.'
|
description: 'Extended output, use C("") for simple output.'
|
||||||
default: "extended"
|
default: "extended"
|
||||||
alertmanager_archive_path:
|
alertmanager_local_cache_path:
|
||||||
description: 'Local path to stash the archive and its extraction'
|
description: 'Local path to stash the archive and its extraction'
|
||||||
default: "/tmp"
|
default: "/tmp/alertmanager-{{ ansible_system | lower }}-{{ _alertmanager_go_ansible_arch }}/{{ alertmanager_version }}"
|
||||||
|
alertmanager_system_user:
|
||||||
|
description:
|
||||||
|
- "I(Advanced)"
|
||||||
|
- "alertmanager system user"
|
||||||
|
default: alertmanager
|
||||||
|
alertmanager_system_group:
|
||||||
|
description:
|
||||||
|
- "I(Advanced)"
|
||||||
|
- "System group for alertmanager"
|
||||||
|
default: alertmanager
|
||||||
|
|
|
@ -5,7 +5,8 @@ provisioner:
|
||||||
inventory:
|
inventory:
|
||||||
group_vars:
|
group_vars:
|
||||||
all:
|
all:
|
||||||
alertmanager_binary_local_dir: '/tmp/alertmanager-linux-amd64'
|
alertmanager_version: 0.25.0
|
||||||
|
alertmanager_local_cache_path: "/tmp/alertmanager-linux-amd64/{{ alertmanager_version }}"
|
||||||
alertmanager_config_dir: /opt/am/etc
|
alertmanager_config_dir: /opt/am/etc
|
||||||
alertmanager_db_dir: /opt/am/lib
|
alertmanager_db_dir: /opt/am/lib
|
||||||
alertmanager_web_listen_address:
|
alertmanager_web_listen_address:
|
||||||
|
@ -35,6 +36,5 @@ provisioner:
|
||||||
peers:
|
peers:
|
||||||
- "127.0.0.1:6783"
|
- "127.0.0.1:6783"
|
||||||
- "alertmanager.demo.do.prometheus.io:6783"
|
- "alertmanager.demo.do.prometheus.io:6783"
|
||||||
alertmanager_version: 0.25.0
|
|
||||||
alertmanager_binary_url: "https://github.com/prometheus/alertmanager/releases/download/v{{ alertmanager_version\
|
alertmanager_binary_url: "https://github.com/prometheus/alertmanager/releases/download/v{{ alertmanager_version\
|
||||||
\ }}/alertmanager-{{ alertmanager_version }}.linux-amd64.tar.gz"
|
\ }}/alertmanager-{{ alertmanager_version }}.linux-amd64.tar.gz"
|
||||||
|
|
|
@ -1,44 +1,79 @@
|
||||||
---
|
---
|
||||||
|
- name: "Common configure"
|
||||||
|
ansible.builtin.include_role:
|
||||||
|
name: prometheus.prometheus._common
|
||||||
|
tasks_from: configure.yml
|
||||||
|
vars:
|
||||||
|
_common_system_user: "{{ alertmanager_system_user }}"
|
||||||
|
_common_system_group: "{{ alertmanager_system_group }}"
|
||||||
|
_common_config_dir: "{{ alertmanager_config_dir }}"
|
||||||
|
tags:
|
||||||
|
- alertmanager
|
||||||
|
- configure
|
||||||
|
- alertmanager_configure
|
||||||
|
|
||||||
|
- name: Create alertmanager directories
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
state: directory
|
||||||
|
owner: "{{ alertmanager_system_user }}"
|
||||||
|
group: "{{ alertmanager_system_group }}"
|
||||||
|
mode: 0755
|
||||||
|
loop:
|
||||||
|
- "{{ alertmanager_config_dir }}/templates"
|
||||||
|
- "{{ alertmanager_db_dir }}"
|
||||||
|
- "{{ _alertmanager_amtool_config_dir }}"
|
||||||
|
become: true
|
||||||
|
tags:
|
||||||
|
- alertmanager
|
||||||
|
- configure
|
||||||
|
- alertmanager_configure
|
||||||
|
|
||||||
- name: Copy amtool config
|
- name: Copy amtool config
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
force: true
|
force: true
|
||||||
src: "{{ alertmanager_amtool_config_file }}"
|
src: "{{ alertmanager_amtool_config_file }}"
|
||||||
dest: "{{ _alertmanager_amtool_config_dir }}/config.yml"
|
dest: "{{ _alertmanager_amtool_config_dir }}/config.yml"
|
||||||
owner: alertmanager
|
owner: "{{ alertmanager_system_user }}"
|
||||||
group: alertmanager
|
group: "{{ alertmanager_system_group }}"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
|
become: true
|
||||||
|
tags:
|
||||||
|
- alertmanager
|
||||||
|
- configure
|
||||||
|
- alertmanager_configure
|
||||||
|
|
||||||
- name: Copy alertmanager config
|
- name: Copy alertmanager config
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
force: true
|
force: true
|
||||||
src: "{{ alertmanager_config_file }}"
|
src: "{{ alertmanager_config_file }}"
|
||||||
dest: "{{ alertmanager_config_dir }}/alertmanager.yml"
|
dest: "{{ alertmanager_config_dir }}/alertmanager.yml"
|
||||||
owner: alertmanager
|
owner: "{{ alertmanager_system_user }}"
|
||||||
group: alertmanager
|
group: "{{ alertmanager_system_group }}"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
validate: "{{ _alertmanager_binary_install_dir }}/amtool check-config %s"
|
validate: "{{ alertmanager_binary_install_dir }}/amtool check-config %s"
|
||||||
no_log: "{{ false if (lookup('env', 'CI')) or (lookup('env', 'MOLECULE_PROVISIONER_NAME')) else true }}"
|
no_log: "{{ false if (lookup('env', 'CI')) or (lookup('env', 'MOLECULE_PROVISIONER_NAME')) else true }}"
|
||||||
|
become: true
|
||||||
notify:
|
notify:
|
||||||
- restart alertmanager
|
- restart alertmanager
|
||||||
|
tags:
|
||||||
- name: Create systemd service unit
|
- alertmanager
|
||||||
ansible.builtin.template:
|
- configure
|
||||||
src: alertmanager.service.j2
|
- alertmanager_configure
|
||||||
dest: /etc/systemd/system/alertmanager.service
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
mode: 0644
|
|
||||||
notify:
|
|
||||||
- restart alertmanager
|
|
||||||
|
|
||||||
- name: Copy alertmanager template files
|
- name: Copy alertmanager template files
|
||||||
ansible.builtin.copy:
|
ansible.builtin.copy:
|
||||||
src: "{{ item }}"
|
src: "{{ item }}"
|
||||||
dest: "{{ alertmanager_config_dir }}/templates/"
|
dest: "{{ alertmanager_config_dir }}/templates/"
|
||||||
force: true
|
force: true
|
||||||
owner: alertmanager
|
owner: "{{ alertmanager_system_user }}"
|
||||||
group: alertmanager
|
group: "{{ alertmanager_system_group }}"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
with_fileglob: "{{ alertmanager_template_files }}"
|
with_fileglob: "{{ alertmanager_template_files }}"
|
||||||
|
become: true
|
||||||
notify:
|
notify:
|
||||||
- restart alertmanager
|
- restart alertmanager
|
||||||
|
tags:
|
||||||
|
- alertmanager
|
||||||
|
- configure
|
||||||
|
- alertmanager_configure
|
||||||
|
|
|
@ -1,87 +0,0 @@
|
||||||
---
|
|
||||||
- name: Create alertmanager system group
|
|
||||||
ansible.builtin.group:
|
|
||||||
name: alertmanager
|
|
||||||
system: true
|
|
||||||
state: present
|
|
||||||
|
|
||||||
- name: Create alertmanager system user
|
|
||||||
ansible.builtin.user:
|
|
||||||
name: alertmanager
|
|
||||||
system: true
|
|
||||||
shell: "/usr/sbin/nologin"
|
|
||||||
group: alertmanager
|
|
||||||
createhome: false
|
|
||||||
|
|
||||||
- name: Create alertmanager directories
|
|
||||||
ansible.builtin.file:
|
|
||||||
path: "{{ item }}"
|
|
||||||
state: directory
|
|
||||||
owner: alertmanager
|
|
||||||
group: alertmanager
|
|
||||||
mode: 0755
|
|
||||||
with_items:
|
|
||||||
- "{{ alertmanager_config_dir }}"
|
|
||||||
- "{{ alertmanager_config_dir }}/templates"
|
|
||||||
- "{{ alertmanager_db_dir }}"
|
|
||||||
- "{{ _alertmanager_amtool_config_dir }}"
|
|
||||||
|
|
||||||
- name: Get binary
|
|
||||||
when:
|
|
||||||
- alertmanager_binary_local_dir | length == 0
|
|
||||||
- not alertmanager_skip_install
|
|
||||||
block:
|
|
||||||
|
|
||||||
- name: Download alertmanager binary to local folder
|
|
||||||
become: false
|
|
||||||
ansible.builtin.get_url:
|
|
||||||
url: "{{ alertmanager_binary_url }}"
|
|
||||||
dest: "{{ alertmanager_archive_path }}/alertmanager-{{ alertmanager_version }}.linux-{{ go_arch }}.tar.gz"
|
|
||||||
checksum: "sha256:{{ __alertmanager_checksum }}"
|
|
||||||
mode: 0644
|
|
||||||
register: _download_archive
|
|
||||||
until: _download_archive is succeeded
|
|
||||||
retries: 5
|
|
||||||
delay: 2
|
|
||||||
# run_once: true # <-- this can't be set due to multi-arch support
|
|
||||||
delegate_to: localhost
|
|
||||||
check_mode: false
|
|
||||||
|
|
||||||
- name: Unpack alertmanager binaries
|
|
||||||
become: false
|
|
||||||
ansible.builtin.unarchive:
|
|
||||||
src: "{{ alertmanager_archive_path }}/alertmanager-{{ alertmanager_version }}.linux-{{ go_arch }}.tar.gz"
|
|
||||||
dest: "{{ alertmanager_archive_path }}"
|
|
||||||
mode: 0755
|
|
||||||
creates: "{{ alertmanager_archive_path }}/alertmanager-{{ alertmanager_version }}.linux-{{ go_arch }}/alertmanager"
|
|
||||||
delegate_to: localhost
|
|
||||||
check_mode: false
|
|
||||||
|
|
||||||
- name: Propagate official alertmanager and amtool binaries
|
|
||||||
ansible.builtin.copy:
|
|
||||||
src: "{{ alertmanager_archive_path }}/alertmanager-{{ alertmanager_version }}.linux-{{ go_arch }}/{{ item }}"
|
|
||||||
dest: "{{ _alertmanager_binary_install_dir }}/{{ item }}"
|
|
||||||
mode: 0755
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
with_items:
|
|
||||||
- alertmanager
|
|
||||||
- amtool
|
|
||||||
notify:
|
|
||||||
- restart alertmanager
|
|
||||||
|
|
||||||
- name: Propagate locally distributed alertmanager and amtool binaries
|
|
||||||
ansible.builtin.copy:
|
|
||||||
src: "{{ alertmanager_binary_local_dir }}/{{ item }}"
|
|
||||||
dest: "{{ _alertmanager_binary_install_dir }}/{{ item }}"
|
|
||||||
mode: 0755
|
|
||||||
owner: root
|
|
||||||
group: root
|
|
||||||
with_items:
|
|
||||||
- alertmanager
|
|
||||||
- amtool
|
|
||||||
when:
|
|
||||||
- alertmanager_binary_local_dir | length > 0
|
|
||||||
- not alertmanager_skip_install
|
|
||||||
notify:
|
|
||||||
- restart alertmanager
|
|
|
@ -2,56 +2,48 @@
|
||||||
- name: Preflight
|
- name: Preflight
|
||||||
ansible.builtin.include_tasks:
|
ansible.builtin.include_tasks:
|
||||||
file: preflight.yml
|
file: preflight.yml
|
||||||
apply:
|
|
||||||
tags:
|
|
||||||
- alertmanager_install
|
|
||||||
- alertmanager_configure
|
|
||||||
- alertmanager_run
|
|
||||||
tags:
|
tags:
|
||||||
|
- alertmanager
|
||||||
|
- install
|
||||||
|
- configure
|
||||||
- alertmanager_install
|
- alertmanager_install
|
||||||
- alertmanager_configure
|
- alertmanager_configure
|
||||||
- alertmanager_run
|
|
||||||
|
|
||||||
- name: Install
|
- name: Install
|
||||||
ansible.builtin.include_tasks:
|
ansible.builtin.include_role:
|
||||||
file: install.yml
|
name: prometheus.prometheus._common
|
||||||
apply:
|
tasks_from: install.yml
|
||||||
become: true
|
vars:
|
||||||
tags:
|
_common_local_cache_path: "{{ alertmanager_local_cache_path }}"
|
||||||
- alertmanager_install
|
_common_binaries: "{{ _alertmanager_binaries }}"
|
||||||
|
_common_binary_install_dir: "{{ alertmanager_binary_install_dir }}"
|
||||||
|
_common_binary_url: "{{ alertmanager_binary_url }}"
|
||||||
|
_common_checksums_url: "{{ alertmanager_checksums_url }}"
|
||||||
|
_common_system_group: "{{ alertmanager_system_group }}"
|
||||||
|
_common_system_user: "{{ alertmanager_system_user }}"
|
||||||
|
_common_config_dir: "{{ alertmanager_config_dir }}"
|
||||||
|
_common_binary_unarchive_opts: ['--strip-components=1']
|
||||||
tags:
|
tags:
|
||||||
|
- alertmanager
|
||||||
|
- install
|
||||||
- alertmanager_install
|
- alertmanager_install
|
||||||
|
|
||||||
- name: SELinux
|
- name: SELinux
|
||||||
ansible.builtin.include_tasks:
|
ansible.builtin.include_role:
|
||||||
file: selinux.yml
|
name: prometheus.prometheus._common
|
||||||
apply:
|
tasks_from: selinux.yml
|
||||||
become: true
|
vars:
|
||||||
tags:
|
_common_selinux_port: "{{ alertmanager_web_listen_address | urlsplit('port') }}"
|
||||||
- alertmanager_configure
|
|
||||||
when: ansible_selinux.status == "enabled"
|
when: ansible_selinux.status == "enabled"
|
||||||
tags:
|
tags:
|
||||||
|
- alertmanager
|
||||||
|
- configure
|
||||||
- alertmanager_configure
|
- alertmanager_configure
|
||||||
|
|
||||||
- name: Configure
|
- name: Configure
|
||||||
ansible.builtin.include_tasks:
|
ansible.builtin.include_tasks:
|
||||||
file: configure.yml
|
file: configure.yml
|
||||||
apply:
|
|
||||||
become: true
|
|
||||||
tags:
|
|
||||||
- alertmanager_configure
|
|
||||||
tags:
|
tags:
|
||||||
|
- alertmanager
|
||||||
|
- configure
|
||||||
- alertmanager_configure
|
- alertmanager_configure
|
||||||
|
|
||||||
- name: Ensure alertmanager service is started and enabled
|
|
||||||
become: true
|
|
||||||
ansible.builtin.systemd:
|
|
||||||
daemon_reload: true
|
|
||||||
name: alertmanager
|
|
||||||
state: started
|
|
||||||
enabled: true
|
|
||||||
tags:
|
|
||||||
- alertmanager_run
|
|
||||||
|
|
||||||
- name: Flush alertmangaer handlers after run.
|
|
||||||
ansible.builtin.meta: flush_handlers
|
|
||||||
|
|
|
@ -1,24 +1,8 @@
|
||||||
---
|
---
|
||||||
- name: Assert usage of systemd as an init system
|
- name: Common preflight
|
||||||
ansible.builtin.assert:
|
ansible.builtin.include_role:
|
||||||
that: ansible_service_mgr == 'systemd'
|
name: prometheus.prometheus._common
|
||||||
msg: "This module only works with systemd"
|
tasks_from: preflight.yml
|
||||||
|
|
||||||
- name: Install package fact dependencies
|
|
||||||
become: true
|
|
||||||
ansible.builtin.package:
|
|
||||||
name: "{{ _pkg_fact_req }}"
|
|
||||||
state: present
|
|
||||||
when: (_pkg_fact_req)
|
|
||||||
vars:
|
|
||||||
_pkg_fact_req: "{% if (ansible_pkg_mgr == 'apt') %}\
|
|
||||||
{{ ('python-apt' if ansible_python_version is version('3', '<') else 'python3-apt') }}
|
|
||||||
{% else %}\
|
|
||||||
{% endif %}"
|
|
||||||
|
|
||||||
- name: Gather package facts
|
|
||||||
ansible.builtin.package_facts:
|
|
||||||
when: "not 'packages' in ansible_facts"
|
|
||||||
|
|
||||||
- name: Assert that used version supports listen address type
|
- name: Assert that used version supports listen address type
|
||||||
ansible.builtin.assert:
|
ansible.builtin.assert:
|
||||||
|
@ -50,28 +34,12 @@
|
||||||
retries: 10
|
retries: 10
|
||||||
when:
|
when:
|
||||||
- alertmanager_version == "latest"
|
- alertmanager_version == "latest"
|
||||||
- alertmanager_binary_local_dir | length == 0
|
tags:
|
||||||
- not alertmanager_skip_install
|
- alertmanager
|
||||||
|
- install
|
||||||
- name: Get alertmanager binary checksum
|
- alertmanager_install
|
||||||
when:
|
- download
|
||||||
- alertmanager_binary_local_dir | length == 0
|
- alertmanager_download
|
||||||
- not alertmanager_skip_install
|
|
||||||
block:
|
|
||||||
- name: "Get checksum list"
|
|
||||||
ansible.builtin.set_fact:
|
|
||||||
__alertmanager_checksums: "{{ lookup('url', alertmanager_checksums_url, headers=_github_api_headers, wantlist=True) | list }}"
|
|
||||||
run_once: true
|
|
||||||
until: __alertmanager_checksums is search('linux-' + go_arch + '.tar.gz')
|
|
||||||
retries: 10
|
|
||||||
|
|
||||||
- name: "Get checksum for {{ go_arch }}"
|
|
||||||
ansible.builtin.set_fact:
|
|
||||||
__alertmanager_checksum: "{{ item.split(' ')[0] }}"
|
|
||||||
with_items: "{{ __alertmanager_checksums }}"
|
|
||||||
when:
|
|
||||||
- "('linux-' + go_arch + '.tar.gz') in item"
|
|
||||||
|
|
||||||
|
|
||||||
- name: Fail when extra config flags are duplicating ansible variables
|
- name: Fail when extra config flags are duplicating ansible variables
|
||||||
ansible.builtin.fail:
|
ansible.builtin.fail:
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
---
|
|
||||||
- name: Install selinux python packages [RedHat]
|
|
||||||
ansible.builtin.package:
|
|
||||||
name: "{{ ['libselinux-python', 'policycoreutils-python']
|
|
||||||
if ansible_python_version is version('3', '<') else
|
|
||||||
['python3-libselinux', 'python3-policycoreutils'] }}"
|
|
||||||
state: present
|
|
||||||
register: _install_selinux_packages
|
|
||||||
until: _install_selinux_packages is success
|
|
||||||
retries: 5
|
|
||||||
delay: 2
|
|
||||||
when: ansible_os_family | lower == "redhat"
|
|
||||||
|
|
||||||
- name: Install selinux python packages [clearlinux]
|
|
||||||
ansible.builtin.package:
|
|
||||||
name: sysadmin-basic
|
|
||||||
state: present
|
|
||||||
register: _install_selinux_packages
|
|
||||||
until: _install_selinux_packages is success
|
|
||||||
retries: 5
|
|
||||||
delay: 2
|
|
||||||
when:
|
|
||||||
- ansible_distribution | lower == "clearlinux"
|
|
|
@ -21,7 +21,7 @@ PIDFile=/var/run/alertmanager.pid
|
||||||
User=alertmanager
|
User=alertmanager
|
||||||
Group=alertmanager
|
Group=alertmanager
|
||||||
ExecReload=/bin/kill -HUP $MAINPID
|
ExecReload=/bin/kill -HUP $MAINPID
|
||||||
ExecStart={{ _alertmanager_binary_install_dir }}/alertmanager \
|
ExecStart={{ alertmanager_binary_install_dir }}/alertmanager \
|
||||||
{% for option, value in (alertmanager_cluster.items() | sort) %}
|
{% for option, value in (alertmanager_cluster.items() | sort) %}
|
||||||
{% if option == "peers" %}
|
{% if option == "peers" %}
|
||||||
{% for peer in value %}
|
{% for peer in value %}
|
||||||
|
|
|
@ -1,15 +1,14 @@
|
||||||
---
|
---
|
||||||
go_arch_map:
|
_alertmanager_go_ansible_arch: "{{ {'i386': '386',
|
||||||
i386: '386'
|
'x86_64': 'amd64',
|
||||||
x86_64: 'amd64'
|
'aarch64': 'arm64',
|
||||||
aarch64: 'arm64'
|
'armv7l': 'armv7',
|
||||||
armv7l: 'armv7'
|
'armv6l': 'armv6'}.get(ansible_architecture, ansible_architecture) }}"
|
||||||
armv6l: 'armv6'
|
|
||||||
|
|
||||||
go_arch: "{{ go_arch_map[ansible_architecture] | default(ansible_architecture) }}"
|
|
||||||
_alertmanager_binary_install_dir: '/usr/local/bin'
|
|
||||||
|
|
||||||
# The expected location of the amtool configuration file
|
# The expected location of the amtool configuration file
|
||||||
_alertmanager_amtool_config_dir: '/etc/amtool'
|
_alertmanager_amtool_config_dir: '/etc/amtool'
|
||||||
_alertmanager_repo: "prometheus/alertmanager"
|
_alertmanager_repo: "prometheus/alertmanager"
|
||||||
_github_api_headers: "{{ {'GITHUB_TOKEN': lookup('ansible.builtin.env', 'GITHUB_TOKEN')} if (lookup('ansible.builtin.env', 'GITHUB_TOKEN')) else {} }}"
|
_github_api_headers: "{{ {'GITHUB_TOKEN': lookup('ansible.builtin.env', 'GITHUB_TOKEN')} if (lookup('ansible.builtin.env', 'GITHUB_TOKEN')) else {} }}"
|
||||||
|
_alertmanager_binaries:
|
||||||
|
- alertmanager
|
||||||
|
- amtool
|
||||||
|
|
Loading…
Add table
Reference in a new issue