github.com/argoproj/argo-cd/v2@v2.10.9/notifications_catalog/install.yaml (about)

     1  apiVersion: v1
     2  data:
     3    template.app-created: |
     4      email:
     5        subject: Application {{.app.metadata.name}} has been created.
     6      message: Application {{.app.metadata.name}} has been created.
     7      teams:
     8        title: Application {{.app.metadata.name}} has been created.
     9    template.app-deleted: |
    10      email:
    11        subject: Application {{.app.metadata.name}} has been deleted.
    12      message: Application {{.app.metadata.name}} has been deleted.
    13      teams:
    14        title: Application {{.app.metadata.name}} has been deleted.
    15    template.app-deployed: |
    16      email:
    17        subject: New version of an application {{.app.metadata.name}} is up and running.
    18      message: |
    19        {{if eq .serviceType "slack"}}:white_check_mark:{{end}} Application {{.app.metadata.name}} is now running new version of deployments manifests.
    20      slack:
    21        attachments: |
    22          [{
    23            "title": "{{ .app.metadata.name}}",
    24            "title_link":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}",
    25            "color": "#18be52",
    26            "fields": [
    27            {
    28              "title": "Sync Status",
    29              "value": "{{.app.status.sync.status}}",
    30              "short": true
    31            },
    32            {
    33              "title": "Repository",
    34              "value": "{{.app.spec.source.repoURL}}",
    35              "short": true
    36            },
    37            {
    38              "title": "Revision",
    39              "value": "{{.app.status.sync.revision}}",
    40              "short": true
    41            }
    42            {{range $index, $c := .app.status.conditions}}
    43            {{if not $index}},{{end}}
    44            {{if $index}},{{end}}
    45            {
    46              "title": "{{$c.type}}",
    47              "value": "{{$c.message}}",
    48              "short": true
    49            }
    50            {{end}}
    51            ]
    52          }]
    53        deliveryPolicy: Post
    54        groupingKey: ""
    55        notifyBroadcast: false
    56      teams:
    57        facts: |
    58          [{
    59            "name": "Sync Status",
    60            "value": "{{.app.status.sync.status}}"
    61          },
    62          {
    63            "name": "Repository",
    64            "value": "{{.app.spec.source.repoURL}}"
    65          },
    66          {
    67            "name": "Revision",
    68            "value": "{{.app.status.sync.revision}}"
    69          }
    70          {{range $index, $c := .app.status.conditions}}
    71            {{if not $index}},{{end}}
    72            {{if $index}},{{end}}
    73            {
    74              "name": "{{$c.type}}",
    75              "value": "{{$c.message}}"
    76            }
    77          {{end}}
    78          ]
    79        potentialAction: |-
    80          [{
    81            "@type":"OpenUri",
    82            "name":"Operation Application",
    83            "targets":[{
    84              "os":"default",
    85              "uri":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}"
    86            }]
    87          },
    88          {
    89            "@type":"OpenUri",
    90            "name":"Open Repository",
    91            "targets":[{
    92              "os":"default",
    93              "uri":"{{.app.spec.source.repoURL | call .repo.RepoURLToHTTPS}}"
    94            }]
    95          }]
    96        themeColor: '#000080'
    97        title: New version of an application {{.app.metadata.name}} is up and running.
    98    template.app-health-degraded: |
    99      email:
   100        subject: Application {{.app.metadata.name}} has degraded.
   101      message: |
   102        {{if eq .serviceType "slack"}}:exclamation:{{end}} Application {{.app.metadata.name}} has degraded.
   103        Application details: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}.
   104      slack:
   105        attachments: |
   106          [{
   107            "title": "{{ .app.metadata.name}}",
   108            "title_link": "{{.context.argocdUrl}}/applications/{{.app.metadata.name}}",
   109            "color": "#f4c030",
   110            "fields": [
   111            {
   112              "title": "Health Status",
   113              "value": "{{.app.status.health.status}}",
   114              "short": true
   115            },
   116            {
   117              "title": "Repository",
   118              "value": "{{.app.spec.source.repoURL}}",
   119              "short": true
   120            }
   121            {{range $index, $c := .app.status.conditions}}
   122            {{if not $index}},{{end}}
   123            {{if $index}},{{end}}
   124            {
   125              "title": "{{$c.type}}",
   126              "value": "{{$c.message}}",
   127              "short": true
   128            }
   129            {{end}}
   130            ]
   131          }]
   132        deliveryPolicy: Post
   133        groupingKey: ""
   134        notifyBroadcast: false
   135      teams:
   136        facts: |
   137          [{
   138            "name": "Health Status",
   139            "value": "{{.app.status.health.status}}"
   140          },
   141          {
   142            "name": "Repository",
   143            "value": "{{.app.spec.source.repoURL}}"
   144          }
   145          {{range $index, $c := .app.status.conditions}}
   146            {{if not $index}},{{end}}
   147            {{if $index}},{{end}}
   148            {
   149              "name": "{{$c.type}}",
   150              "value": "{{$c.message}}"
   151            }
   152          {{end}}
   153          ]
   154        potentialAction: |
   155          [{
   156            "@type":"OpenUri",
   157            "name":"Open Application",
   158            "targets":[{
   159              "os":"default",
   160              "uri":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}"
   161            }]
   162          },
   163          {
   164            "@type":"OpenUri",
   165            "name":"Open Repository",
   166            "targets":[{
   167              "os":"default",
   168              "uri":"{{.app.spec.source.repoURL | call .repo.RepoURLToHTTPS}}"
   169            }]
   170          }]
   171        themeColor: '#FF0000'
   172        title: Application {{.app.metadata.name}} has degraded.
   173    template.app-sync-failed: |
   174      email:
   175        subject: Failed to sync application {{.app.metadata.name}}.
   176      message: |
   177        {{if eq .serviceType "slack"}}:exclamation:{{end}}  The sync operation of application {{.app.metadata.name}} has failed at {{.app.status.operationState.finishedAt}} with the following error: {{.app.status.operationState.message}}
   178        Sync operation details are available at: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true .
   179      slack:
   180        attachments: |
   181          [{
   182            "title": "{{ .app.metadata.name}}",
   183            "title_link":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}",
   184            "color": "#E96D76",
   185            "fields": [
   186            {
   187              "title": "Sync Status",
   188              "value": "{{.app.status.sync.status}}",
   189              "short": true
   190            },
   191            {
   192              "title": "Repository",
   193              "value": "{{.app.spec.source.repoURL}}",
   194              "short": true
   195            }
   196            {{range $index, $c := .app.status.conditions}}
   197            {{if not $index}},{{end}}
   198            {{if $index}},{{end}}
   199            {
   200              "title": "{{$c.type}}",
   201              "value": "{{$c.message}}",
   202              "short": true
   203            }
   204            {{end}}
   205            ]
   206          }]
   207        deliveryPolicy: Post
   208        groupingKey: ""
   209        notifyBroadcast: false
   210      teams:
   211        facts: |
   212          [{
   213            "name": "Sync Status",
   214            "value": "{{.app.status.sync.status}}"
   215          },
   216          {
   217            "name": "Failed at",
   218            "value": "{{.app.status.operationState.finishedAt}}"
   219          },
   220          {
   221            "name": "Repository",
   222            "value": "{{.app.spec.source.repoURL}}"
   223          }
   224          {{range $index, $c := .app.status.conditions}}
   225            {{if not $index}},{{end}}
   226            {{if $index}},{{end}}
   227            {
   228              "name": "{{$c.type}}",
   229              "value": "{{$c.message}}"
   230            }
   231          {{end}}
   232          ]
   233        potentialAction: |-
   234          [{
   235            "@type":"OpenUri",
   236            "name":"Open Operation",
   237            "targets":[{
   238              "os":"default",
   239              "uri":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true"
   240            }]
   241          },
   242          {
   243            "@type":"OpenUri",
   244            "name":"Open Repository",
   245            "targets":[{
   246              "os":"default",
   247              "uri":"{{.app.spec.source.repoURL | call .repo.RepoURLToHTTPS}}"
   248            }]
   249          }]
   250        themeColor: '#FF0000'
   251        title: Failed to sync application {{.app.metadata.name}}.
   252    template.app-sync-running: |
   253      email:
   254        subject: Start syncing application {{.app.metadata.name}}.
   255      message: |
   256        The sync operation of application {{.app.metadata.name}} has started at {{.app.status.operationState.startedAt}}.
   257        Sync operation details are available at: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true .
   258      slack:
   259        attachments: |
   260          [{
   261            "title": "{{ .app.metadata.name}}",
   262            "title_link":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}",
   263            "color": "#0DADEA",
   264            "fields": [
   265            {
   266              "title": "Sync Status",
   267              "value": "{{.app.status.sync.status}}",
   268              "short": true
   269            },
   270            {
   271              "title": "Repository",
   272              "value": "{{.app.spec.source.repoURL}}",
   273              "short": true
   274            }
   275            {{range $index, $c := .app.status.conditions}}
   276            {{if not $index}},{{end}}
   277            {{if $index}},{{end}}
   278            {
   279              "title": "{{$c.type}}",
   280              "value": "{{$c.message}}",
   281              "short": true
   282            }
   283            {{end}}
   284            ]
   285          }]
   286        deliveryPolicy: Post
   287        groupingKey: ""
   288        notifyBroadcast: false
   289      teams:
   290        facts: |
   291          [{
   292            "name": "Sync Status",
   293            "value": "{{.app.status.sync.status}}"
   294          },
   295          {
   296            "name": "Started at",
   297            "value": "{{.app.status.operationState.startedAt}}"
   298          },
   299          {
   300            "name": "Repository",
   301            "value": "{{.app.spec.source.repoURL}}"
   302          }
   303          {{range $index, $c := .app.status.conditions}}
   304            {{if not $index}},{{end}}
   305            {{if $index}},{{end}}
   306            {
   307              "name": "{{$c.type}}",
   308              "value": "{{$c.message}}"
   309            }
   310          {{end}}
   311          ]
   312        potentialAction: |-
   313          [{
   314            "@type":"OpenUri",
   315            "name":"Open Operation",
   316            "targets":[{
   317              "os":"default",
   318              "uri":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true"
   319            }]
   320          },
   321          {
   322            "@type":"OpenUri",
   323            "name":"Open Repository",
   324            "targets":[{
   325              "os":"default",
   326              "uri":"{{.app.spec.source.repoURL | call .repo.RepoURLToHTTPS}}"
   327            }]
   328          }]
   329        title: Start syncing application {{.app.metadata.name}}.
   330    template.app-sync-status-unknown: |
   331      email:
   332        subject: Application {{.app.metadata.name}} sync status is 'Unknown'
   333      message: |
   334        {{if eq .serviceType "slack"}}:exclamation:{{end}} Application {{.app.metadata.name}} sync is 'Unknown'.
   335        Application details: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}.
   336        {{if ne .serviceType "slack"}}
   337        {{range $c := .app.status.conditions}}
   338            * {{$c.message}}
   339        {{end}}
   340        {{end}}
   341      slack:
   342        attachments: |
   343          [{
   344            "title": "{{ .app.metadata.name}}",
   345            "title_link":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}",
   346            "color": "#E96D76",
   347            "fields": [
   348            {
   349              "title": "Sync Status",
   350              "value": "{{.app.status.sync.status}}",
   351              "short": true
   352            },
   353            {
   354              "title": "Repository",
   355              "value": "{{.app.spec.source.repoURL}}",
   356              "short": true
   357            }
   358            {{range $index, $c := .app.status.conditions}}
   359            {{if not $index}},{{end}}
   360            {{if $index}},{{end}}
   361            {
   362              "title": "{{$c.type}}",
   363              "value": "{{$c.message}}",
   364              "short": true
   365            }
   366            {{end}}
   367            ]
   368          }]
   369        deliveryPolicy: Post
   370        groupingKey: ""
   371        notifyBroadcast: false
   372      teams:
   373        facts: |
   374          [{
   375            "name": "Sync Status",
   376            "value": "{{.app.status.sync.status}}"
   377          },
   378          {
   379            "name": "Repository",
   380            "value": "{{.app.spec.source.repoURL}}"
   381          }
   382          {{range $index, $c := .app.status.conditions}}
   383            {{if not $index}},{{end}}
   384            {{if $index}},{{end}}
   385            {
   386              "name": "{{$c.type}}",
   387              "value": "{{$c.message}}"
   388            }
   389          {{end}}
   390          ]
   391        potentialAction: |-
   392          [{
   393            "@type":"OpenUri",
   394            "name":"Open Application",
   395            "targets":[{
   396              "os":"default",
   397              "uri":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}"
   398            }]
   399          },
   400          {
   401            "@type":"OpenUri",
   402            "name":"Open Repository",
   403            "targets":[{
   404              "os":"default",
   405              "uri":"{{.app.spec.source.repoURL | call .repo.RepoURLToHTTPS}}"
   406            }]
   407          }]
   408        title: Application {{.app.metadata.name}} sync status is 'Unknown'
   409    template.app-sync-succeeded: |
   410      email:
   411        subject: Application {{.app.metadata.name}} has been successfully synced.
   412      message: |
   413        {{if eq .serviceType "slack"}}:white_check_mark:{{end}} Application {{.app.metadata.name}} has been successfully synced at {{.app.status.operationState.finishedAt}}.
   414        Sync operation details are available at: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true .
   415      slack:
   416        attachments: |
   417          [{
   418            "title": "{{ .app.metadata.name}}",
   419            "title_link":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}",
   420            "color": "#18be52",
   421            "fields": [
   422            {
   423              "title": "Sync Status",
   424              "value": "{{.app.status.sync.status}}",
   425              "short": true
   426            },
   427            {
   428              "title": "Repository",
   429              "value": "{{.app.spec.source.repoURL}}",
   430              "short": true
   431            }
   432            {{range $index, $c := .app.status.conditions}}
   433            {{if not $index}},{{end}}
   434            {{if $index}},{{end}}
   435            {
   436              "title": "{{$c.type}}",
   437              "value": "{{$c.message}}",
   438              "short": true
   439            }
   440            {{end}}
   441            ]
   442          }]
   443        deliveryPolicy: Post
   444        groupingKey: ""
   445        notifyBroadcast: false
   446      teams:
   447        facts: |
   448          [{
   449            "name": "Sync Status",
   450            "value": "{{.app.status.sync.status}}"
   451          },
   452          {
   453            "name": "Synced at",
   454            "value": "{{.app.status.operationState.finishedAt}}"
   455          },
   456          {
   457            "name": "Repository",
   458            "value": "{{.app.spec.source.repoURL}}"
   459          }
   460          {{range $index, $c := .app.status.conditions}}
   461            {{if not $index}},{{end}}
   462            {{if $index}},{{end}}
   463            {
   464              "name": "{{$c.type}}",
   465              "value": "{{$c.message}}"
   466            }
   467          {{end}}
   468          ]
   469        potentialAction: |-
   470          [{
   471            "@type":"OpenUri",
   472            "name":"Operation Details",
   473            "targets":[{
   474              "os":"default",
   475              "uri":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true"
   476            }]
   477          },
   478          {
   479            "@type":"OpenUri",
   480            "name":"Open Repository",
   481            "targets":[{
   482              "os":"default",
   483              "uri":"{{.app.spec.source.repoURL | call .repo.RepoURLToHTTPS}}"
   484            }]
   485          }]
   486        themeColor: '#000080'
   487        title: Application {{.app.metadata.name}} has been successfully synced
   488    trigger.on-created: |
   489      - description: Application is created.
   490        oncePer: app.metadata.name
   491        send:
   492        - app-created
   493        when: "true"
   494    trigger.on-deleted: |
   495      - description: Application is deleted.
   496        oncePer: app.metadata.name
   497        send:
   498        - app-deleted
   499        when: app.metadata.deletionTimestamp != nil
   500    trigger.on-deployed: |
   501      - description: Application is synced and healthy. Triggered once per commit.
   502        oncePer: app.status.operationState?.syncResult?.revision
   503        send:
   504        - app-deployed
   505        when: app.status.operationState != nil and app.status.operationState.phase in ['Succeeded']
   506          and app.status.health.status == 'Healthy'
   507    trigger.on-health-degraded: |
   508      - description: Application has degraded
   509        send:
   510        - app-health-degraded
   511        when: app.status.health.status == 'Degraded'
   512    trigger.on-sync-failed: |
   513      - description: Application syncing has failed
   514        send:
   515        - app-sync-failed
   516        when: app.status.operationState != nil and app.status.operationState.phase in ['Error',
   517          'Failed']
   518    trigger.on-sync-running: |
   519      - description: Application is being synced
   520        send:
   521        - app-sync-running
   522        when: app.status.operationState != nil and app.status.operationState.phase in ['Running']
   523    trigger.on-sync-status-unknown: |
   524      - description: Application status is 'Unknown'
   525        send:
   526        - app-sync-status-unknown
   527        when: app.status.sync.status == 'Unknown'
   528    trigger.on-sync-succeeded: |
   529      - description: Application syncing has succeeded
   530        send:
   531        - app-sync-succeeded
   532        when: app.status.operationState != nil and app.status.operationState.phase in ['Succeeded']
   533  kind: ConfigMap
   534  metadata:
   535    creationTimestamp: null
   536    name: argocd-notifications-cm