{"id":23465750,"url":"https://github.com/natrontech/alertmanager-uptime-kuma-push","last_synced_at":"2025-07-04T01:04:56.719Z","repository":{"id":131647436,"uuid":"610841603","full_name":"natrontech/alertmanager-uptime-kuma-push","owner":"natrontech","description":"Alertmanager Middleware for Uptime Kuma Push monitor","archived":false,"fork":false,"pushed_at":"2025-04-11T11:42:01.000Z","size":169,"stargazers_count":11,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-14T11:27:03.074Z","etag":null,"topics":["alertmanager","go","uptime-kuma"],"latest_commit_sha":null,"homepage":"https://natron.io","language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/natrontech.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY-INSIGHTS.yml","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-03-07T15:35:45.000Z","updated_at":"2025-04-11T10:46:19.000Z","dependencies_parsed_at":"2024-06-21T19:13:18.684Z","dependency_job_id":"38297d40-4008-466d-9c8b-09e297c2f941","html_url":"https://github.com/natrontech/alertmanager-uptime-kuma-push","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/natrontech/alertmanager-uptime-kuma-push","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/natrontech%2Falertmanager-uptime-kuma-push","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/natrontech%2Falertmanager-uptime-kuma-push/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/natrontech%2Falertmanager-uptime-kuma-push/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/natrontech%2Falertmanager-uptime-kuma-push/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/natrontech","download_url":"https://codeload.github.com/natrontech/alertmanager-uptime-kuma-push/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/natrontech%2Falertmanager-uptime-kuma-push/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263427303,"owners_count":23464842,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alertmanager","go","uptime-kuma"],"created_at":"2024-12-24T11:36:25.184Z","updated_at":"2025-07-04T01:04:56.663Z","avatar_url":"https://github.com/natrontech.png","language":"Makefile","funding_links":[],"categories":["Makefile"],"sub_categories":[],"readme":"# Alertmanager middleware for Uptime Kuma push monitor\n\n[![license](https://img.shields.io/github/license/natrontech/alertmanager-uptime-kuma-push)](https://github.com/natrontech/alertmanager-uptime-kuma-push/blob/main/LICENSE)\n[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/natrontech/alertmanager-uptime-kuma-push/badge)](https://securityscorecards.dev/viewer/?uri=github.com/natrontech/alertmanager-uptime-kuma-push)\n[![release](https://img.shields.io/github/v/release/natrontech/alertmanager-uptime-kuma-push)](https://github.com/natrontech/alertmanager-uptime-kuma-push/releases)\n[![go-version](https://img.shields.io/github/go-mod/go-version/natrontech/alertmanager-uptime-kuma-push)](https://github.com/natrontech/alertmanager-uptime-kuma-push/blob/main/go.mod)\n[![Go Report Card](https://goreportcard.com/badge/github.com/natrontech/alertmanager-uptime-kuma-push)](https://goreportcard.com/report/github.com/natrontech/alertmanager-uptime-kuma-push)\n[![SLSA 3](https://slsa.dev/images/gh-badge-level3.svg)](https://slsa.dev)\n\n## What is this?\n\nThis binary allows you to use Uptime Kuma as a [Dead Mans Snitch](https://deadmanssnitch.com/) for your Prometheus Alertmanager.\nIf your Alertmanager stops sending alerts, Uptime Kuma will send you a notification.\n\n## Why does this need an extra middleware?\n\nAlertmanager allows you to configure webhooks to send alerts to.\nAll webhook alerts from Alertmanager are sent using the HTTP POST method.\nUptime Kuma has a Push Monitor, that listens only for HTTP GET requests.\nThis middleware listens for POST requests on port 8081 and the `/push` path and forwards them to Uptime Kuma as plain GET requests.\n\n## How to use\n\nConfigure this middleware as a sidecar container in your Alertmanager deployment.\nThen send alerts to this middleware to forward them to Uptime Kuma.\n\nThe binary requires the following environment variables:\n\n| Variable          | Description                                                                    |\n| ----------------- | ------------------------------------------------------------------------------ |\n| `UPTIME_KUMA_URL` | The URL to your Uptime Kuma instance. This URL should be the push monitor URL. |\n| `GET_RETRIES`     | How often a GET request should be retried if it fails. Default is 3.           |\n\n### Example with kube-prometheus-stack\nConfigure a push monitor in your Uptime Kuma instance.\n\n![Uptime Kuma push monitor](assets/uptime_kuma_push.png)\n\nAdd a secret with the Uptime Kuma push URL.\n\n```yaml\napiVersion: v1\nkind: Secret\nmetadata:\n    name: uptime-kuma-url\n    namespace: monitoring\ntype: Opaque\nstringData:\n    # Required\n    UPTIME_KUMA_URL: \"https://uptime-kuma.example.com/api/push/XXXXXXX\"\n    # Optional\n    GET_RETRIES: 3\n```\n\nAdd this middleware as a sidecar container to your Alertmanager deployment.\nUse the secret as an environment variable.\n\n```yaml\nalertmanager:\n    alertmanagerSpec:\n    # Sidecar middleware to push watchdog alerts to uptime-kuma\n        containers:\n        - name: alertmanager-uptime-kuma-push\n            image: ghcr.io/natrontech/alertmanager-uptime-kuma-push:latest\n            ports:\n            - containerPort: 8081\n            envFrom:\n            - secretRef:\n                name: uptime-kuma-url\n```\n\nAdd a new receiver for the Watchdog alert to your Alertmanager configuration.\nWe don't send resolved because the Watchdog alert is always firing.\n\n```yaml\nroute:\n    routes:\n        - receiver: Dead Mans Snitch Uptime Kuma\n          matchers:\n            - alertname =~ \"InfoInhibitor|Watchdog\"\n          group_wait: 0s\n          group_interval: 50s\n          repeat_interval: 1m\nreceivers:\n    - name: Dead Mans Snitch Uptime Kuma\n      webhook_configs:\n        - url: http://localhost:8081/push\n          send_resolved: false\n```\n\n## Release\n\nEach release of the application includes Go-binary archives, checksums file, SBOMs and container images. \n\nThe release workflow creates provenance for its builds using the [SLSA standard](https://slsa.dev), which conforms to the [Level 3 specification](https://slsa.dev/spec/v1.0/levels#build-l3). Each artifact can be verified using the `slsa-verifier` or `cosign` tool (see [Release verification](SECURITY.md#release-verification)).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnatrontech%2Falertmanager-uptime-kuma-push","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnatrontech%2Falertmanager-uptime-kuma-push","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnatrontech%2Falertmanager-uptime-kuma-push/lists"}