1
0
Fork 0

Add priority

This commit is contained in:
Pablo Ovelleiro Corral 2022-11-03 11:14:36 +01:00
parent 1beeb0a7b6
commit 911bf2fa92
No known key found for this signature in database
GPG key ID: F7C1D57C8464E825
3 changed files with 25 additions and 8 deletions

View file

@ -9,12 +9,13 @@ Configuration is done with environment variables.
| Variable | Description | Example | | Variable | Description | Example |
|--------------|------------------------------|------------------------| |---------------|------------------------------|------------------------|
| HTTP_ADDRESS | Adress to listen on | `localhost` | | HTTP_ADDRESS | Adress to listen on | `localhost` |
| HTTP_PORT | Port to listen on | `8080` | | HTTP_PORT | Port to listen on | `8080` |
| NTFY_TOPIC | ntfy topic to send to | `https://ntfy.sh/test` | | NTFY_TOPIC | ntfy topic to send to | `https://ntfy.sh/test` |
| NTFY_USER | ntfy user for basic auth | `myuser` | | NTFY_USER | ntfy user for basic auth | `myuser` |
| NTFY_PASS | ntfy password for basic auth | `supersecret` | | NTFY_PASS | ntfy password for basic auth | `supersecret` |
| NTFY_PRIORITY | Priority of ntfy messages | `high` |
# Nix # Nix
@ -60,6 +61,7 @@ services.alertmanager-ntfy = {
httpAddress = "localhost"; httpAddress = "localhost";
httpPort = "9999"; httpPort = "9999";
ntfyTopic = "https://ntfy.sh/test"; ntfyTopic = "https://ntfy.sh/test";
ntfyPriority = "high";
envFile = "/var/src/secrets/alertmanager-ntfy/envfile"; envFile = "/var/src/secrets/alertmanager-ntfy/envfile";
}; };
``` ```

View file

@ -39,8 +39,15 @@ func WebhookHandler(w http.ResponseWriter, r *http.Request) {
return return
} }
// Title
req.Header.Set("Title", fmt.Sprintf("[%s] %s", alert.Labels["instance"], alert.Labels["alertname"])) req.Header.Set("Title", fmt.Sprintf("[%s] %s", alert.Labels["instance"], alert.Labels["alertname"]))
// req.Header.Set("Priority", "urgent") //TODO broken on ios
// Priority (if set)
if priority := os.Getenv("NTFY_PRIORITY"); len(strings.TrimSpace(os.Getenv(priority))) != 0 {
req.Header.Set("Priority", priority)
}
// Tags
req.Header.Set("Tags", strings.Join(maps.Values(alert.Labels), ",")) req.Header.Set("Tags", strings.Join(maps.Values(alert.Labels), ","))
req.SetBasicAuth(os.Getenv("NTFY_USER"), os.Getenv("NTFY_PASS")) req.SetBasicAuth(os.Getenv("NTFY_USER"), os.Getenv("NTFY_PASS"))

View file

@ -29,6 +29,13 @@ in {
example = "https://ntfy.sh/test"; example = "https://ntfy.sh/test";
}; };
ntfyPriority = mkOption {
type = types.str;
default = "";
description = "ntfy.sh message priority";
example = "urgent";
};
envFile = mkOption { envFile = mkOption {
type = types.str; type = types.str;
default = null; default = null;
@ -64,6 +71,7 @@ in {
"HTTP_ADDRESS='${cfg.httpAddress}'" "HTTP_ADDRESS='${cfg.httpAddress}'"
"HTTP_PORT='${cfg.httpPort}'" "HTTP_PORT='${cfg.httpPort}'"
"NTFY_TOPIC='${cfg.ntfyTopic}'" "NTFY_TOPIC='${cfg.ntfyTopic}'"
"NTFY_PRIORITY='${cfg.ntfyPriority}'"
]; ];
User = "alertmanager-ntfy"; User = "alertmanager-ntfy";