ntfy-alertmanager v0.5.0
# Added
- health endpoint at "/health"
# Fixed
- Set correct status code when no basic auth credentials are passed
Thorben Günther (12):
docker: Release 0.4.0
Upgrade dependencies
Bump Go version
Remove HTTP method checks
Use new go-scfg upstream
ci: Lint helm chart
justfile: Multiple changes for helm handling
ci: Fix working directory for helm linting
Add a "health" endpoint
Log IP, user-agent on basic auth failure
Log successful shutdown
docker: Add healthcheck
WrenIX (2):
feat(helm-chart): add my helm-chart (#5)
fix(helm): add option to override global image part and add docs
wrenix (1):
fix(authMiddleware): send 401 if no basicAuth is given
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
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
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
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