~xenrox/ntfy-alertmanager

v0.4.0 4 months ago .tar.gz browse log

ntfy-alertmanager v0.4.0

# Added

- Support self-signed certificates for ntfy.
- Priority setting for resolved alerts.
- The config file can contain an "include" directive which will import the
  linked file into the main configuration.
- The alert's GeneratorURL can be displayed in the notification.
- A label can set its own ntfy topic.
- The topic can be set through URL query parameters as well.

# Changed

- Multiple logging improvements - structured logging with "log/slog".
- The docker compose file uses valkey instead of redis.
- The ntfy server is set separately from the topic in the config file.

Jackson Chen (1):
      implement priority for resolved alerts

Thorben Günther (47):
      docker: Release 0.3.0
      readme: Add aur package
      Bump Go version
      Upgrade dependencies
      Use slices.Contains from the standard library
      functions: Use slices package for sorting
      Use "log/slog" for logging
      Use Logger.With to create child loggers for the handlers
      Add option for setting the logging format
      Upgrade go-utils
      Add CORS middleware
      ci: Don't fail on staticcheck
      Revert "ci: Don't fail on staticcheck"
      Add support for self signed ntfy certificates
      publish: Improve certificate verification
      config.scfg: Add instructions to obtain cert fingerprint
      publish: Improve certificate fingerprint output
      publish: Move fingerprint conversion to config parsing
      Remove unnecessary Body.close() calls
      Send HTTP error code when failing to decode payload
      config: Fix test
      Run gofmt
      readme: Update explanation for resolved alerts
      docker: docker-compose.yml -> compose.yaml
      readme: Link Codeberg mirror
      config: Support "include" directive
      config: ReadConfig -> Read
      config: Use "example.com" domain
      config: Remove unused config field
      Improve example config
      Support logging to file
      ci: Push docker images to own registry as well
      ci: Install docker-buildx
      Try out just
      Add testing setup
      Add support for displaying the alert's GeneratorURL
      Let a label specify its own ntfy topic
      Limit number of ntfy actions
      docker: Recommend valkey
      Fix linter warnings
      config: Allow to separate the ntfy topic from the server
      Allow setting topic through URL query parameters
      docker: Fix warnings
      maxNTFYActions should be const
      Expose context to cache functions
      Mirror docker image to Codeberg
      Remove default ntfy server setting

v0.3.0 1 year, 8 months ago .tar.gz browse log

ntfy-alertmanager v0.3.0

This release contains a lot of internal refactoring/improvements and
adds support for newly released ntfy features.

Features:

- Add support for ntfy access-tokens and message icons, e-mails,
  phone calls
- A persistent cache with redis

Changes:
- By default grouped alerts will no longer be split apart (alert-mode
  multi) and the cache is deactivated (type disabled). With these
  changes the behaviour of this bridge is closer to what is configured
  in Alertmanager/Prometheus.

Thorben Günther (33):
      version: Use linker flag
      Move http.Client to receiver struct
      Add icon support
      Set default header for User-Agent
      tests: Remove comments from test config
      ntfy: Support authentication via access-tokens
      config: Forbid to set a user/password without the other
      Rename receiver to bridge
      Slightly improve logging
      multi mode: Simplify code
      Simplify outgoing Basic Authentication
      Sort labels alphabetically
      cache: Move to own interface package
      config: Add cache type
      cache: Support redis
      config: Add redis-url
      docker: Add redis section to docker-compose file
      readme: Add more contribution links
      Add ntfy email support
      Upgrade dependencies
      Add phone call support
      publish: Try to decode ntfy error string
      cache/redis: Try to ping redis on cache creation
      config: Move to own package
      cache: Move creation logic into cache package
      cache: Add a "disabled" cache
      config: Switch default values of alert mode and cache type
      http: Use own multiplexer
      http: Use own server
      cache/redis: Rig up timeout with context
      Implement graceful shutdown
      readme: Move example config out
      Simplify HTTP Basic Authentication middleware

v0.2.0 2 years ago .tar.gz browse log

ntfy-alertmanager v0.2.0

New features:

- alert-mode: Alerts which are grouped together can now be split apart.
  Those alerts will be cached to avoid repetitions.
- silence: A silence action can be added to the ntfy messages. This uses
  the (proxied) Alertmanger API to silence alerts by their labels.
- resolved: Add tags for resolved alerts

Thorben Günther (26):
      readme: Add CI status badge
      Add Dockerfile and publish image
      Move notification creation into new function
      Publish a dev docker image
      CI: Add missing secret for publishing docker images
      config: Load all label settings
      config: Add parsing test
      Add version flag
      config: Add alert-mode
      Support sending grouped alerts on their own
      single mode: Cache alert fingerprints
      cache: Add config options for duration and cleanup interval
      Log incoming, parsed alert
      cache: Take alert status (firing, resolved) into account
      config: Add required settings for silencing alerts
      Add ability to silence alerts with ntfy action
      alertmanager: Support basic auth
      silence: Add to multi alert-mode as well
      silence: Don't add silence action to resolved alerts
      Refactor structs to use map[string]string
      alertmanger: Add setting to overwrite URL
      silence: Parse Alertmanager API response
      silence: Fix broken ntfy action
      Upgrade dependencies
      cache: Only cache the alert if it was published successfully
      Add tags for resolved alerts

v0.1.0 2 years ago .tar.gz browse log

ntfy-alertmanager v0.1.0

Thorben Günther (20):
      Initial commit
      Format the alert message
      Add gitignore
      Check content type and method
      Read log level and bind address from config file
      Read topic from config
      Fix error message
      Support ntfy auth
      Support basic auth for the http endpoint
      Improve logging
      Use middleware for basic auth
      Set HTTP status codes when declining payload
      Set ntfy priority depending on Prometheus labels
      Support ntfy tags
      Upgrade dependencies
      Move notification publishing to own function
      basicAuthMiddleware: Protect against timing attacks
      Add package comment
      Add readme
      Add build manifest