some tests and reformating
This commit is contained in:
parent
2352626598
commit
8165f2b1c0
2 changed files with 26 additions and 8 deletions
|
@ -7,4 +7,22 @@ host: 127.0.0.1
|
||||||
alert_rooms:
|
alert_rooms:
|
||||||
- "#troy:matrix.org"
|
- "#troy:matrix.org"
|
||||||
- "#ithaca:matrix.org"
|
- "#ithaca:matrix.org"
|
||||||
|
templates:
|
||||||
|
"Test": |
|
||||||
|
{% if alert['labels']['severity'] == 'critical' and alert['status'] == 'firing' %}
|
||||||
|
@room<b><font color='red'>
|
||||||
|
{% elif alert['labels']['severity'] == 'warning' and alert['status'] == 'firing' %}
|
||||||
|
<b><font color='orange'>
|
||||||
|
{% elif alert['status'] == 'resolved' %}
|
||||||
|
<b><font color='green'> End of alert
|
||||||
|
{% else %}
|
||||||
|
<b><font>
|
||||||
|
{% endif %}
|
||||||
|
{{ alert['labels']['alertname'] }}: {{ alert['labels']['instance'] }} <br/>
|
||||||
|
</font></b>
|
||||||
|
{{ alert['annotations']['title'] }}<br/>
|
||||||
|
{{ alert['annotations']['description'] }}<br/>
|
||||||
|
|
||||||
|
But this is a custom template for Cassandre, so, here is a warning:<br/>
|
||||||
|
<blockquote>Beware of greeks bearing gifts</blockquote>
|
||||||
...
|
...
|
||||||
|
|
|
@ -14,7 +14,12 @@ from typing import (
|
||||||
from jinja2 import BaseLoader, Environment, Template
|
from jinja2 import BaseLoader, Environment, Template
|
||||||
from .config import Config
|
from .config import Config
|
||||||
|
|
||||||
default_template_raw = (
|
@dataclasses.dataclass
|
||||||
|
class Message:
|
||||||
|
body: str
|
||||||
|
formated_body: Optional[str]
|
||||||
|
|
||||||
|
DEFAULT_TEMPLATE_RAW: str = (
|
||||||
"{% if alert['labels']['severity'] == 'critical' and alert['status'] == 'firing' %}"
|
"{% if alert['labels']['severity'] == 'critical' and alert['status'] == 'firing' %}"
|
||||||
"@room<b><font color='red'>"
|
"@room<b><font color='red'>"
|
||||||
"{% elif alert['labels']['severity'] == 'warning' and alert['status'] == 'firing' %}"
|
"{% elif alert['labels']['severity'] == 'warning' and alert['status'] == 'firing' %}"
|
||||||
|
@ -30,24 +35,19 @@ default_template_raw = (
|
||||||
"{{ alert['annotations']['description'] }}<br/>"
|
"{{ alert['annotations']['description'] }}<br/>"
|
||||||
)
|
)
|
||||||
|
|
||||||
@dataclasses.dataclass
|
|
||||||
class Message:
|
|
||||||
body: str
|
|
||||||
formated_body: Optional[str]
|
|
||||||
|
|
||||||
def load_templates(
|
def load_templates(
|
||||||
config: Config
|
config: Config
|
||||||
)->defaultdict[str, Template]:
|
)->defaultdict[str, Template]:
|
||||||
"""
|
"""
|
||||||
Create a dict mapping alert names to the template to use from
|
Create a dict mapping alert names to the template to use from
|
||||||
the config, with a default template either from the config file
|
the config, with a default template either from the config file
|
||||||
or the default default_template_raw.
|
or the default DEFAULT_TEMPLATE_RAW.
|
||||||
"""
|
"""
|
||||||
if config.default_template is None:
|
if config.default_template is None:
|
||||||
default_template = Environment(
|
default_template = Environment(
|
||||||
loader=BaseLoader
|
loader=BaseLoader
|
||||||
).from_string(
|
).from_string(
|
||||||
default_template_raw
|
DEFAULT_TEMPLATE_RAW
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
default_template = Environment(
|
default_template = Environment(
|
||||||
|
|
Loading…
Reference in a new issue