65 lines
2.1 KiB
Markdown
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/>.
|