argo-cd

Форк
0
/
argocd-notifications-cm.yaml 
95 строк · 3.4 Кб
1
apiVersion: v1
2
kind: ConfigMap
3
metadata:
4
  name: argocd-notifications-cm
5
data:
6
  # Triggers define the condition when the notification should be sent and list of templates required to generate the message
7
  # Recipients can subscribe to the trigger and specify the required message template and destination notification service.
8
  trigger.on-sync-status-unknown: |
9
    - when: app.status.sync.status == 'Unknown'
10
      send: [my-custom-template]
11

12
  # Optional 'oncePer' property ensure that notification is sent only once per specified field value
13
  # E.g. following is triggered once per sync revision
14
  trigger.on-deployed: |
15
    - when: app.status.operationState.phase in ['Succeeded'] and app.status.health.status == 'Healthy'
16
      oncePer: app.status.sync.revision
17
      send: [app-sync-succeeded]
18

19
  # Templates are used to generate the notification template message
20
  template.my-custom-template: |
21
    message: |
22
      Application details: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}.
23

24
  # Templates might have notification service specific fields. E.g. slack message might include annotations
25
  template.my-custom-template-slack-template: |
26
    message: |
27
      Application {{.app.metadata.name}} sync is {{.app.status.sync.status}}.
28
      Application details: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}.
29
    email:
30
      subject: Application {{.app.metadata.name}} sync status is {{.app.status.sync.status}}
31
    slack:
32
      attachments: |
33
        [{
34
          "title": "{{.app.metadata.name}}",
35
          "title_link": "{{.context.argocdUrl}}/applications/{{.app.metadata.name}}",
36
          "color": "#18be52"
37
        }]
38

39
  # Holds list of triggers that are used by default if trigger is not specified explicitly in the subscription
40
  defaultTriggers: |
41
    - on-sync-status-unknown
42

43
  # Notification services are used to deliver message.
44
  # Service definition might reference values from argocd-notifications-secret Secret using $my-key format
45
  # Service format key is: service.<type>.<optional-custom-name>
46
  #  Slack
47
  service.slack: |
48
    token: $slack-token
49
    username: <override-username> # optional username
50
    icon: <override-icon> # optional icon for the message (supports both emoij and url notation)
51

52
  #  Slack based notifier with name mattermost
53
  service.slack.mattermost: |
54
    apiURL: https://my-mattermost-url.com/api
55
    token: $slack-token
56
    username: <override-username> # optional username
57
    icon: <override-icon> # optional icon for the message (supports both emoij and url notation)
58

59
  #  Email
60
  service.email: |
61
    host: smtp.gmail.com
62
    port: 587
63
    from: <myemail>@gmail.com
64
    username: $email-username
65
    password: $email-password
66

67
  #  Opsgenie
68
  service.opsgenie: |
69
    apiUrl: api.opsgenie.com
70
    apiKeys:
71
      $opsgenie-team-id: $opsgenie-team-api-key
72
      ...
73

74
  #  Telegram
75
  service.telegram: |
76
    token: $telegram-token
77

78
  # Context holds list of variables that can be referenced in templates
79
  context: |
80
    argocdUrl: https://cd.apps.argoproj.io/
81

82
  # Contains centrally managed global application subscriptions
83
  subscriptions: |
84
    # subscription for on-sync-status-unknown trigger notifications
85
    - recipients:
86
      - slack:test2
87
      - email:test@gmail.com
88
      triggers:
89
      - on-sync-status-unknown
90
    # subscription restricted to applications with matching labels only
91
    - recipients:
92
      - slack:test3
93
      selector: test=true
94
      triggers:
95
      - on-sync-status-unknown

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.