summaryrefslogtreecommitdiffstats
path: root/src/health/notifications/matrix/metadata.yaml
blob: 770e0905ac558daf2826ac81e698ed326766503a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# yamllint disable rule:line-length
---
- id: 'notify-matrix'
  meta:
    name: 'Matrix'
    link: 'https://spec.matrix.org/unstable/push-gateway-api/'
    categories:
      - notify.agent
    icon_filename: 'matrix.svg'
  keywords:
    - Matrix
  overview:
    notification_description: |
      Send notifications to Matrix network rooms using Netdata's Agent alert notification feature, which supports dozens of endpoints, user roles, and more.
    notification_limitations: ''
  setup:
    prerequisites:
      list:
        - title: ''
          description: |
            - The url of the homeserver (`https://homeserver:port`).
            - Credentials for connecting to the homeserver, in the form of a valid access token for your account (or for a dedicated notification account). These tokens usually don't expire.
            - The Room ids that you want to sent the notification to.
            - Access to the terminal where Netdata Agent is running
    configuration:
      file:
        name: 'health_alarm_notify.conf'
      options:
        description: 'The following options can be defined for this notification'
        folding:
          title: 'Config Options'
          enabled: true
        list:
          - name: 'SEND_MATRIX'
            default_value: 'YES'
            description: "Set `SEND_MATRIX` to YES"
            required: true
          - name: 'MATRIX_HOMESERVER'
            default_value: ''
            description: "set `MATRIX_HOMESERVER` to the URL of the Matrix homeserver."
            required: true
          - name: 'MATRIX_ACCESSTOKEN'
            default_value: ''
            description: "Set `MATRIX_ACCESSTOKEN` to the access token from your Matrix account."
            required: true
            detailed_description: |
              To obtain the access token, you can use the following curl command:
              ```
              curl -XPOST -d '{"type":"m.login.password", "user":"example", "password":"wordpass"}' "https://homeserver:8448/_matrix/client/r0/login"
              ```
          - name: 'DEFAULT_RECIPIENT_MATRIX'
            default_value: ''
            description: "Set `DEFAULT_RECIPIENT_MATRIX`  to the Rooms you want the alert notifications to be sent to. The format is `!roomid:homeservername`."
            required: true
            detailed_description: |
              The Room ids are unique identifiers and can be obtained from the Room settings in a Matrix client (e.g. Riot).
              
              You can define multiple Rooms like this: `!roomid1:homeservername` `!roomid2:homeservername`.
              
              All roles will default to this variable if left unconfigured.

              You can have different Rooms per role, by editing `DEFAULT_RECIPIENT_MATRIX` with the `!roomid:homeservername` you want, in the following entries at the bottom of the same file:

              ```text
              role_recipients_matrix[sysadmin]="!roomid1:homeservername"
              role_recipients_matrix[domainadmin]="!roomid2:homeservername"
              role_recipients_matrix[dba]="!roomid3:homeservername"
              role_recipients_matrix[webmaster]="!roomid4:homeservername"
              role_recipients_matrix[proxyadmin]="!roomid5:homeservername"
              role_recipients_matrix[sitemgr]="!roomid6:homeservername"
              ```
      examples:
        folding:
          enabled: true
          title: ''
        list:
          - name: 'Basic Configuration'
            folding:
              enabled: false
            description: ''
            config: |
              #------------------------------------------------------------------------------
              # Matrix notifications

              SEND_MATRIX="YES"
              MATRIX_HOMESERVER="https://matrix.org:8448"
              MATRIX_ACCESSTOKEN="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
              DEFAULT_RECIPIENT_MATRIX="!XXXXXXXXXXXX:matrix.org"
  troubleshooting:
    problems:
      list: []