Skip to content

Commit 46eb061

Browse files
committed
feat: add Alertmanager web config
1 parent 577e108 commit 46eb061

File tree

3 files changed

+21
-2
lines changed

3 files changed

+21
-2
lines changed

ansible/roles/alertmanager/defaults/main.yml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,12 @@ alertmanager_route:
125125
# ----------------------------------
126126
alertmanager_env: "{{ docker_container_env}}"
127127

128+
# Alertmanager web config https://prometheus.io/docs/alerting/latest/https/
129+
alertmanager_web_config:
130+
tls_server_config: {}
131+
http_server_config: {}
132+
basic_auth_users: {}
133+
128134
# Container constructors
129135
# ----------------------
130136
alertmanager_services:
@@ -166,12 +172,15 @@ alertmanager_services:
166172
alertmanager_web_listen_address is not string %}
167173
{% for address in alertmanager_web_listen_address %}
168174
{{ pre }}-web.listen-address={{ address }}
169-
{% endfor %}
175+
{% endfor %}
170176
{% else %}
171177
{{ pre }}-web.listen-address={{ alertmanager_web_listen_address }}
178+
{% endif %}
179+
{% if alertmanager_web_config is defined and alertmanager_version is version('0.22.0', '>=') %}
180+
{{ pre }}--web.config.file=/etc/alertmanager/web.yml
172181
{% endif %}
173182
{{ pre }}-web.external-url={{ alertmanager_web_external_url }}
174-
{% for flag, flag_value in alertmanager_config_flags_extra.items() %}
183+
{% for flag, flag_value in alertmanager_config_flags_extra.items() %}\
175184
{{ pre }}-{{ flag }}={{ flag_value }}
176185
{% endfor %}
177186
log_driver: "{{ alertmanager_docker_log_driver }}"

ansible/roles/alertmanager/meta/argument_specs.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,3 +77,6 @@ argument_specs:
7777
description: "Environment variables for alertmanager container"
7878
type: "dict"
7979
default: "{{ docker_container_env }}"
80+
alertmanager_web_config:
81+
description: "A Alertmanager L(web config yaml,https://prometheus.io/docs/alerting/latest/https) for configuring TLS and auth."
82+
type: "dict"

ansible/roles/alertmanager/tasks/config.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,13 @@
3939
notify:
4040
- Reload alertmanager config
4141

42+
- name: Configure Alertmanager web
43+
ansible.builtin.copy:
44+
content: "{{ alertmanager_web_config | to_nice_yaml(indent=2, sort_keys=False) }}"
45+
dest: "{{ alertmanager_config_dir }}/web.yml"
46+
force: true
47+
mode: 0755
48+
4249
- name: Copying over alertmanager config file
4350
vars:
4451
service: "{{ alertmanager_services['alertmanager'] }}"

0 commit comments

Comments
 (0)