Skip to content
Snippets Groups Projects
values-argocd-notifications.yaml 2.88 KiB
Newer Older
argocdUrl: https://@ARGOCD_URL@

secret:
  create: false

notifiers:
  service.slack: |
    token: $ncsa-slack-token
    signingSecret: $ncsa-slack-signing

triggers:
  defaultTriggers.slack: |
    - on-deployed
    - on-health-degraded
    - on-sync-failed
    - on-sync-status-unknown
    - on-sync-succeeded
    - on-sync-needs-update

#bots:
#  enabled: true

# templates/triggers inserted at the end
templates:
  template.app-sync-needs-update: |	
    email:	
      subject: Application {{.app.metadata.name}} is out of sync.	
    message: |	
      {{if eq .serviceType "slack"}}:warning:{{end}} Application {{.app.metadata.name}} is out of sync.	
      Application details: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}.	
      {{if ne .serviceType "slack"}}	
      {{range $c := .app.status.conditions}}	
          * {{$c.message}}	
      {{end}}	
      {{end}}	
    slack:	
      attachments: |	
        [{	
          "title": "{{ .app.metadata.name}}",	
          "title_link":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}",	
          "color": "#F4C030",	
          "fields": [	
          {	
            "title": "Sync Status",	
            "value": "{{.app.status.sync.status}}",	
            "short": true	
          },	
          {	
            "title": "Repository",	
            "value": "{{.app.spec.source.repoURL}}",	
            "short": true	
          }	
          {{range $index, $c := .app.status.conditions}}	
          {{if not $index}},{{end}}	
          {{if $index}},{{end}}	
          {	
            "title": "{{$c.type}}",	
            "value": "{{$c.message}}",	
            "short": true	
          }	
          {{end}}	
          ]	
        }]	
    teams:	
      facts: |	
        [{	
          "name": "Sync Status",	
          "value": "{{.app.status.sync.status}}"	
        },	
        {	
          "name": "Repository",	
          "value": "{{.app.spec.source.repoURL}}"	
        }	
        {{range $index, $c := .app.status.conditions}}	
          {{if not $index}},{{end}}	
          {{if $index}},{{end}}	
          {	
            "name": "{{$c.type}}",	
            "value": "{{$c.message}}",	
          }	
        {{end}}	
        ]	
      potentialAction: |-	
        [{	
          "@type":"OpenUri",	
          "name":"Open Application",	
          "targets":[{	
            "os":"default",	
            "uri":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}"	
          }]	
        },	
        {	
          "@type":"OpenUri",	
          "name":"Open Repository",	
          "targets":[{	
            "os":"default",	
            "uri":"{{.app.spec.source.repoURL | call .repo.RepoURLToHTTPS}}"	
          }]	
        }]	
      title: Application {{.app.metadata.name}} is out of sync.
  trigger.on-sync-needs-update: |	
    - description: Application is out of sync	
      send:	
      - app-sync-needs-update	
      when: app.status.sync.status == 'OutOfSync'