Description
Similar to Prometheus SD integrations, Alertmanager struggles with an increasing demand for more notifier integrations. We can only maintain so many of them ourselves, contributed integrations are often not great in quality and/or have no long-term maintainers.
Many requested integrations are not designed for reliable alert delivery, yet there's an understandable demand by people with low-risk environments (personal websites etc.). As Alertmanager really is only about making single API calls, which are generally REST APIs using JSON, it's not too crazy think about templating such calls.
Jsonnet is a JSON data templating language by Google. In the past there was no Go implementation but now there's one open sourced.
From my understanding it has reasonably matured semantics (certainly better than us providing something on top of Go templating).
I'd like to consider it to allow people templating of JSON payloads with it. Combined with templating of request URLs, this should be sufficient to let people integrate with almost anything today.
I realize its throwing another templating language into the game and even nesting them if some JSON fields should be templated additionally.
But generally those would be write-once per integration and are easy to share among users without us having any maintenance burden. Ultimately, we could probably even implement a lot of the existing integrations with it.
I'd like to investigate this. Would definitely need a proposal doc though.