icinga2-matrix-notification/README.md

65 lines
2.1 KiB
Markdown

# Icinga2 Matrix notifications
This is a [Go](https://go.dev/) implementation of a
[Icinga2](https://www.icinga.com/) notification command that sends
notifications to [Matrix](https://matrix.org/) chat rooms.
The implementation has been inspired by the [Shell script
implementation](https://github.com/linuxmail/icinga2-matrix_notification) which
has been built on the [E-Mail notifications by
sysadmama](https://github.com/sysadmama).
## Building the binaries
You can build binaries via `go build` or using [Goreleaser](https://goreleaser.com/intro/).
```shell
go build ./cmd/matrix-host-notification
go build ./cmd/matrix-service-notification
```
```shell
goreleaser build
```
You may have to add the `--snapshot` and `--clean` command line flags to `goreleaser` if
you are not building a tagged version
or have local modifications.
## Code quality checks
The repository contains a configuration for [golangci-lint](https://golangci-lint.run/). You can
run the linting via
```shell
golangci-lint run
```
## Usage
Copy the notification command binaries to the Icinga 2 systems you want to
send notifications from.
Use the configuration examples as a base for your own NotificationCommand and
Notification object definitions. See
[Notification](https://icinga.com/docs/icinga-2/latest/doc/09-object-types/#notification) and
[NotificationCommand](https://icinga.com/docs/icinga-2/latest/doc/09-object-types/#notificationcommand)
in the Icinga 2 documentation for reference.
## License
Icinga2 Matrix notifications
Copyright (C) Jan Dittberner
This program is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation, either version 3 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
details.
You should have received a copy of the GNU General Public License along with
this program. If not, see <https://www.gnu.org/licenses/>.