feat(alertmanager_receiver): add role

This commit is contained in:
2025-08-09 12:34:23 +02:00
parent d64a0edf12
commit 2898da2cb5
16 changed files with 332 additions and 0 deletions

View File

@@ -0,0 +1,52 @@
---
alertmanager_receiver_config_log_level: "info"
alertmanager_receiver_config_http_address: 127.0.0.1
alertmanager_receiver_config_http_port: 12345
alertmanager_receiver_config_http_alerts_path_prefix: "/alerts"
alertmanager_receiver_config_http_metrics_path: "/metrics"
alertmanager_receiver_config_http_metric_enabled: true
alertmanager_receiver_config_http_basic_username: "alertmanager"
alertmanager_receiver_config_http_basic_password: ~
alertmanager_receiver_config_http:
address: "{{ alertmanager_receiver_config_http_address }}"
port: "{{ alertmanager_receiver_config_http_port }}"
"alerts-path-prefix": "{{ alertmanager_receiver_config_http_alerts_path_prefix }}"
"metrics-path": "{{ alertmanager_receiver_config_http_metrics_path }}"
"metrics-enabled": "{{ alertmanager_receiver_config_http_metric_enabled }}"
"basic-username": "{{ alertmanager_receiver_config_http_basic_username }}"
"basic-password": "{{ alertmanager_receiver_config_http_basic_password }}"
alertmanager_receiver_config_matrix_homeserver_url: ~
alertmanager_receiver_config_matrix_user_id: ~
alertmanager_receiver_config_matrix_access_token: ~
alertmanager_receiver_config_matrix_proxy: ""
alertmanager_receiver_config_matrix_room_mapping: {}
alertmanager_receiver_config_matrix:
"homeserver-url": "{{ alertmanager_receiver_config_matrix_homeserver_url }}"
"user-id": "{{ alertmanager_receiver_config_matrix_user_id }}"
"access-token": "{{ alertmanager_receiver_config_matrix_access_token }}"
proxy: "{{ alertmanager_receiver_config_matrix_proxy }}"
"room-mapping": "{{ alertmanager_receiver_config_matrix_room_mapping }}"
alertmanager_receiver_config_templating_external_url_mapping: {}
alertmanager_receiver_config_templating_generator_url_mapping: {}
alertmanager_receiver_config_templating_computed_values: >-2
{{ alertmanager_receiver_config_templating_computed_values_default }}
alertmanager_receiver_config_templating_firing_template: >-2
{{ alertmanager_receiver_config_templating_firing_template_default }}
alertmanager_receiver_config_templating_resolved_template: >-2
{{ alertmanager_receiver_config_templating_resolved_template_default }}
alertmanager_receiver_config_templating:
"external-url-mapping": >-2
{{ alertmanager_receiver_config_templating_external_url_mapping }}
"generator-url-mapping": >-2
{{ alertmanager_receiver_config_templating_generator_url_mapping }}
"computed-values": "{{ alertmanager_receiver_config_templating_computed_values }}"
"firing-template": "{{ alertmanager_receiver_config_templating_firing_template }}"
"resolved-template": "{{ alertmanager_receiver_config_templating_resolved_template }}"
alertmanager_receiver_default_config:
http: "{{ alertmanager_receiver_config_http }}"
matrix: "{{ alertmanager_receiver_config_matrix }}"
templating: "{{ alertmanager_receiver_config_templating }}"
alertmanager_receiver_config: {}
alertmanager_receiver_merged_config: >-2
{{ (alertmanager_receiver_default_config | default({}))
| combine(alertmanager_receiver_config | default({}), recursive=True) }}

View File

@@ -0,0 +1,54 @@
---
alertmanager_receiver_container_image_registry: "docker.io"
alertmanager_receiver_container_image_namespace: "metio"
alertmanager_receiver_container_image_repository: "matrix-alertmanager-receiver"
alertmanager_receiver_container_image_name: >-2
{{ [
alertmanager_receiver_container_image_registry | default([]),
alertmanager_receiver_container_image_namespace | default([]),
alertmanager_receiver_container_image_repository
] | flatten | join('/') }}
alertmanager_receiver_container_image_tag: ~
alertmanager_receiver_container_image: >-2
{{ [
alertmanager_receiver_container_image_name,
(alertmanager_receiver_container_image_tag | default(
alertmanager_receiver_version, true
))
] | join(':') }}
alertmanager_receiver_container_image_source: "pull"
alertmanager_receiver_container_image_force_source: >-2
{{ alertmanager_receiver_container_image_tag | default(false, true) | bool }}
alertmanager_receiver_container_config_file_path: >-2
{{ alertmanager_receiver_config_file_path }}
alertmanager_receiver_container_name: "matrix-alertmanager-receiver"
alertmanager_receiver_container_env: ~
alertmanager_receiver_container_user: >-2
{{ alertmanager_receiver_user_uid }}:{{ alertmanager_receiver_user_gid }}
alertmanager_receiver_container_ports: ~
alertmanager_receiver_container_labels: ~
alertmanager_receiver_container_command:
# - "/matrix-alertmanager-receiver"
- "--config-path"
- "{{ alertmanager_receiver_container_config_file_path }}"
- "--log-level"
- "{{ alertmanager_receiver_config_log_level }}"
alertmanager_receiver_container_volumes: []
alertmanager_receiver_container_base_volumes:
- >-2
{{ [
alertmanager_receiver_config_file_path,
alertmanager_receiver_container_config_file_path,
'ro'
] | join(':') }}
alertmanager_receiver_container_merged_volumes: >-2
{{ (alertmanager_receiver_container_base_volumes | default([], true))
+ (alertmanager_receiver_container_volumes | default([], true)) }}
alertmanager_receiver_container_networks: ~
alertmanager_receiver_container_etc_hosts: ~
alertmanager_receiver_container_dns_servers: ~
alertmanager_receiver_container_restart_policy: "on-failure"
alertmanager_receiver_container_state: >-2
{{ (alertmanager_receiver_state == 'present') | ternary('started', 'absent') }}

View File

@@ -0,0 +1,9 @@
---
alertmanager_receiver_user: "matrix-alertmanager-receiver"
alertmanager_receiver_version: "2025.8.6"
alertmanager_receiver_config_file_path: "/etc/matrix-alertmanager-receiver/config.yaml"
alertmanager_receiver_config_path: >-2
{{ alertmanager_receiver_config_file_path | dirname }}
alertmanager_receiver_state: present
alertmanager_receiver_deployment_method: docker

View File

@@ -0,0 +1,51 @@
---
alertmanager_receiver_config_templating_computed_values_default:
- values: # always set 'color' to 'yellow'
color: yellow
- values: # set 'color' to 'orange' when alert label 'severity' is 'warning'
color: orange
when-matching-labels:
severity: warning
- values: # set 'color' to 'red' when alert label 'severity' is 'critical'
color: red
when-matching-labels:
severity: critical
- values: # set 'color' to 'green' when alert status is 'resolved'
color: green
when-matching-status: resolved
alertmanager_receiver_config_templating_firing_template_default: |+2
{% raw -%}
<p>
<strong><font color="{{ .ComputedValues.color }}">{{ .Alert.Status | ToUpper }}</font></strong>
{{ if .Alert.Labels.name }}
{{ .Alert.Labels.name }}
{{ else if .Alert.Labels.alertname }}
{{ .Alert.Labels.alertname }}
{{ end }}
>>
{{ if .Alert.Labels.severity }}
{{ .Alert.Labels.severity | ToUpper }}:
{{ end }}
{{ if .Alert.Annotations.description }}
{{ .Alert.Annotations.description }}
{{ else if .Alert.Annotations.summary }}
{{ .Alert.Annotations.summary }}
{{ end }}
>>
{{ if .Alert.Annotations.runbook }}
<a href="{{ .Alert.Annotations.runbook }}">Runbook</a> |
{{ end }}
{{ if .Alert.Annotations.dashboard }}
<a href="{{ .Alert.Annotations.dashboard }}">Dashboard</a> |
{{ end }}
<a href="{{ .SilenceURL }}">Silence</a>
</p>
{%- endraw %}
alertmanager_receiver_config_templating_resolved_template_default: |+2
{% raw -%}
<strong>
<font color="{{ .ComputedValues.color }}">{{ .Alert.Status | ToUpper }}</font>
</strong>{{ .Alert.Labels.name }}
{%- endraw %}

View File

@@ -0,0 +1,11 @@
---
alertmanager_receiver_user_create_home: false
alertmanager_receiver_user_system: true
alertmanager_receiver_user_groups: []
alertmanager_receiver_user_append: >-2
{{ alertmanager_receiver_user_groups | length > 0 }}
alertmanager_receiver_user_uid: >-2
{{ alertmanager_receiver_user_info.uid | default(alertmanager_receiver_user) }}
alertmanager_receiver_user_gid: >-2
{{ alertmanager_receiver_user_info.group | default(alertmanager_receiver_user) }}