mirror of
https://github.com/argoproj/argo-cd.git
synced 2026-02-20 01:28:45 +01:00
530 lines
21 KiB
YAML
530 lines
21 KiB
YAML
apiVersion: v1
|
|
data:
|
|
template.app-created: |
|
|
email:
|
|
subject: Application {{.app.metadata.name}} has been created.
|
|
message: Application {{.app.metadata.name}} has been created.
|
|
teams:
|
|
title: Application {{.app.metadata.name}} has been created.
|
|
template.app-deleted: |
|
|
email:
|
|
subject: Application {{.app.metadata.name}} has been deleted.
|
|
message: Application {{.app.metadata.name}} has been deleted.
|
|
teams:
|
|
title: Application {{.app.metadata.name}} has been deleted.
|
|
template.app-deployed: |
|
|
email:
|
|
subject: New version of an application {{.app.metadata.name}} is up and running.
|
|
message: |
|
|
{{if eq .serviceType "slack"}}:white_check_mark:{{end}} Application {{.app.metadata.name}} is now running new version of deployments manifests.
|
|
slack:
|
|
attachments: |
|
|
[{
|
|
"title": "{{ .app.metadata.name}}",
|
|
"title_link":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}",
|
|
"color": "#18be52",
|
|
"fields": [
|
|
{
|
|
"title": "Sync Status",
|
|
"value": "{{.app.status.sync.status}}",
|
|
"short": true
|
|
},
|
|
{
|
|
"title": {{- if .app.spec.source }} "Repository" {{- else if .app.spec.sources }} "Repositories" {{- end }},
|
|
"value": {{- if .app.spec.source }} ":arrow_heading_up: {{ .app.spec.source.repoURL }}" {{- else if .app.spec.sources }} "{{- range $index, $source := .app.spec.sources }}{{ if $index }}\n{{ end }}:arrow_heading_up: {{ $source.repoURL }}{{- end }}" {{- end }},
|
|
"short": true
|
|
},
|
|
{
|
|
"title": "Revision",
|
|
"value": "{{.app.status.sync.revision}}",
|
|
"short": true
|
|
}
|
|
{{range $index, $c := .app.status.conditions}}
|
|
,
|
|
{
|
|
"title": "{{$c.type}}",
|
|
"value": "{{$c.message}}",
|
|
"short": true
|
|
}
|
|
{{end}}
|
|
]
|
|
}]
|
|
deliveryPolicy: Post
|
|
groupingKey: ""
|
|
notifyBroadcast: false
|
|
teams:
|
|
facts: |
|
|
[{
|
|
"name": "Sync Status",
|
|
"value": "{{.app.status.sync.status}}"
|
|
},
|
|
{
|
|
"name": {{- if .app.spec.source }} "Repository" {{- else if .app.spec.sources }} "Repositories" {{- end }},
|
|
"value": {{- if .app.spec.source }} "⬆️ {{ .app.spec.source.repoURL }}" {{- else if .app.spec.sources }} "{{- range $index, $source := .app.spec.sources }}{{ if $index }}\n{{ end }}⬆️ {{ $source.repoURL }}{{- end }}" {{- end }}
|
|
},
|
|
{
|
|
"name": "Revision",
|
|
"value": "{{.app.status.sync.revision}}"
|
|
}
|
|
{{range $index, $c := .app.status.conditions}}
|
|
,
|
|
{
|
|
"name": "{{$c.type}}",
|
|
"value": "{{$c.message}}"
|
|
}
|
|
{{end}}
|
|
]
|
|
potentialAction: |
|
|
[{
|
|
"@type":"OpenUri",
|
|
"name":"Operation Application",
|
|
"targets":[{
|
|
"os":"default",
|
|
"uri":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}"
|
|
}]
|
|
},
|
|
{
|
|
"@type":"OpenUri",
|
|
"name":"Open Repository",
|
|
"targets":[{
|
|
"os":"default",
|
|
"uri":{{- if .app.spec.source }} "⬆️ {{ .app.spec.source.repoURL }}" {{- else if .app.spec.sources }} "{{- range $index, $source := .app.spec.sources }}{{ if $index }}\n{{ end }}⬆️ {{ $source.repoURL }}{{- end }}" {{- end }}
|
|
}]
|
|
}]
|
|
themeColor: '#000080'
|
|
title: New version of an application {{.app.metadata.name}} is up and running.
|
|
template.app-health-degraded: |
|
|
email:
|
|
subject: Application {{.app.metadata.name}} has degraded.
|
|
message: |
|
|
{{if eq .serviceType "slack"}}:exclamation:{{end}} Application {{.app.metadata.name}} has degraded.
|
|
Application details: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}.
|
|
slack:
|
|
attachments: |
|
|
[{
|
|
"title": "{{ .app.metadata.name}}",
|
|
"title_link": "{{.context.argocdUrl}}/applications/{{.app.metadata.name}}",
|
|
"color": "#f4c030",
|
|
"fields": [
|
|
{
|
|
"title": "Health Status",
|
|
"value": "{{.app.status.health.status}}",
|
|
"short": true
|
|
},
|
|
{
|
|
"title": {{- if .app.spec.source }} "Repository" {{- else if .app.spec.sources }} "Repositories" {{- end }},
|
|
"value": {{- if .app.spec.source }} ":arrow_heading_up: {{ .app.spec.source.repoURL }}" {{- else if .app.spec.sources }} "{{- range $index, $source := .app.spec.sources }}{{ if $index }}\n{{ end }}:arrow_heading_up: {{ $source.repoURL }}{{- end }}" {{- end }},
|
|
"short": true
|
|
}
|
|
{{range $index, $c := .app.status.conditions}}
|
|
,
|
|
{
|
|
"title": "{{$c.type}}",
|
|
"value": "{{$c.message}}",
|
|
"short": true
|
|
}
|
|
{{end}}
|
|
]
|
|
}]
|
|
deliveryPolicy: Post
|
|
groupingKey: ""
|
|
notifyBroadcast: false
|
|
teams:
|
|
facts: |
|
|
[{
|
|
"name": "Health Status",
|
|
"value": "{{.app.status.health.status}}"
|
|
},
|
|
{
|
|
"name": {{- if .app.spec.source }} "Repository" {{- else if .app.spec.sources }} "Repositories" {{- end }},
|
|
"value": {{- if .app.spec.source }} "⬆️ {{ .app.spec.source.repoURL }}" {{- else if .app.spec.sources }} "{{- range $index, $source := .app.spec.sources }}{{ if $index }}\n{{ end }}⬆️ {{ $source.repoURL }}{{- end }}" {{- end }}
|
|
}
|
|
{{range $index, $c := .app.status.conditions}}
|
|
,
|
|
{
|
|
"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":{{- if .app.spec.source }} "⬆️ {{ .app.spec.source.repoURL }}" {{- else if .app.spec.sources }} "{{- range $index, $source := .app.spec.sources }}{{ if $index }}\n{{ end }}⬆️ {{ $source.repoURL }}{{- end }}" {{- end }}
|
|
}]
|
|
}]
|
|
themeColor: '#FF0000'
|
|
title: Application {{.app.metadata.name}} has degraded.
|
|
template.app-sync-failed: |
|
|
email:
|
|
subject: Failed to sync application {{.app.metadata.name}}.
|
|
message: |
|
|
{{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}}
|
|
Sync operation details are available at: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true .
|
|
slack:
|
|
attachments: |
|
|
[{
|
|
"title": "{{ .app.metadata.name}}",
|
|
"title_link":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}",
|
|
"color": "#E96D76",
|
|
"fields": [
|
|
{
|
|
"title": "Sync Status",
|
|
"value": "{{.app.status.sync.status}}",
|
|
"short": true
|
|
},
|
|
{
|
|
"title": {{- if .app.spec.source }} "Repository" {{- else if .app.spec.sources }} "Repositories" {{- end }},
|
|
"value": {{- if .app.spec.source }} ":arrow_heading_up: {{ .app.spec.source.repoURL }}" {{- else if .app.spec.sources }} "{{- range $index, $source := .app.spec.sources }}{{ if $index }}\n{{ end }}:arrow_heading_up: {{ $source.repoURL }}{{- end }}" {{- end }},
|
|
"short": true
|
|
}
|
|
{{range $index, $c := .app.status.conditions}}
|
|
,
|
|
{
|
|
"title": "{{$c.type}}",
|
|
"value": "{{$c.message}}",
|
|
"short": true
|
|
}
|
|
{{end}}
|
|
]
|
|
}]
|
|
deliveryPolicy: Post
|
|
groupingKey: ""
|
|
notifyBroadcast: false
|
|
teams:
|
|
facts: |
|
|
[{
|
|
"name": "Sync Status",
|
|
"value": "{{.app.status.sync.status}}"
|
|
},
|
|
{
|
|
"name": "Failed at",
|
|
"value": "{{.app.status.operationState.finishedAt}}"
|
|
},
|
|
{
|
|
"name": {{- if .app.spec.source }} "Repository" {{- else if .app.spec.sources }} "Repositories" {{- end }},
|
|
"value": {{- if .app.spec.source }} "⬆️ {{ .app.spec.source.repoURL }}" {{- else if .app.spec.sources }} "{{- range $index, $source := .app.spec.sources }}{{ if $index }}\n{{ end }}⬆️ {{ $source.repoURL }}{{- end }}" {{- end }}
|
|
}
|
|
{{range $index, $c := .app.status.conditions}}
|
|
,
|
|
{
|
|
"name": "{{$c.type}}",
|
|
"value": "{{$c.message}}"
|
|
}
|
|
{{end}}
|
|
]
|
|
potentialAction: |
|
|
[{
|
|
"@type":"OpenUri",
|
|
"name":"Open Operation",
|
|
"targets":[{
|
|
"os":"default",
|
|
"uri":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true"
|
|
}]
|
|
},
|
|
{
|
|
"@type":"OpenUri",
|
|
"name":"Open Repository",
|
|
"targets":[{
|
|
"os":"default",
|
|
"uri":{{- if .app.spec.source }} "⬆️ {{ .app.spec.source.repoURL }}" {{- else if .app.spec.sources }} "{{- range $index, $source := .app.spec.sources }}{{ if $index }}\n{{ end }}{{ $source.repoURL }}⬆️ {{- end }}" {{- end }}
|
|
}]
|
|
}]
|
|
themeColor: '#FF0000'
|
|
title: Failed to sync application {{.app.metadata.name}}.
|
|
template.app-sync-running: |
|
|
email:
|
|
subject: Start syncing application {{.app.metadata.name}}.
|
|
message: |
|
|
The sync operation of application {{.app.metadata.name}} has started at {{.app.status.operationState.startedAt}}.
|
|
Sync operation details are available at: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true .
|
|
slack:
|
|
attachments: |
|
|
[{
|
|
"title": "{{ .app.metadata.name}}",
|
|
"title_link":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}",
|
|
"color": "#0DADEA",
|
|
"fields": [
|
|
{
|
|
"title": "Sync Status",
|
|
"value": "{{.app.status.sync.status}}",
|
|
"short": true
|
|
},
|
|
{
|
|
"title": {{- if .app.spec.source }} "Repository" {{- else if .app.spec.sources }} "Repositories" {{- end }},
|
|
"value": {{- if .app.spec.source }} ":arrow_heading_up: {{ .app.spec.source.repoURL }}" {{- else if .app.spec.sources }} "{{- range $index, $source := .app.spec.sources }}{{ if $index }}\n{{ end }}:arrow_heading_up: {{ $source.repoURL }}{{- end }}" {{- end }},
|
|
"short": true
|
|
}
|
|
{{range $index, $c := .app.status.conditions}}
|
|
,
|
|
{
|
|
"title": "{{$c.type}}",
|
|
"value": "{{$c.message}}",
|
|
"short": true
|
|
}
|
|
{{end}}
|
|
]
|
|
}]
|
|
deliveryPolicy: Post
|
|
groupingKey: ""
|
|
notifyBroadcast: false
|
|
teams:
|
|
facts: |
|
|
[{
|
|
"name": "Sync Status",
|
|
"value": "{{.app.status.sync.status}}"
|
|
},
|
|
{
|
|
"name": "Started at",
|
|
"value": "{{.app.status.operationState.startedAt}}"
|
|
},
|
|
{
|
|
"name": {{- if .app.spec.source }} "Repository" {{- else if .app.spec.sources }} "Repositories" {{- end }},
|
|
"value": {{- if .app.spec.source }} "⬆️ {{ .app.spec.source.repoURL }}" {{- else if .app.spec.sources }} "{{- range $index, $source := .app.spec.sources }}{{ if $index }}\n{{ end }}⬆️ {{ $source.repoURL }}{{- end }}" {{- end }}
|
|
}
|
|
{{range $index, $c := .app.status.conditions}}
|
|
,
|
|
{
|
|
"name": "{{$c.type}}",
|
|
"value": "{{$c.message}}"
|
|
}
|
|
{{end}}
|
|
]
|
|
potentialAction: |
|
|
[{
|
|
"@type":"OpenUri",
|
|
"name":"Open Operation",
|
|
"targets":[{
|
|
"os":"default",
|
|
"uri":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true"
|
|
}]
|
|
},
|
|
{
|
|
"@type":"OpenUri",
|
|
"name":"Open Repository",
|
|
"targets":[{
|
|
"os":"default",
|
|
"uri":{{- if .app.spec.source }} "⬆️ {{ .app.spec.source.repoURL }}" {{- else if .app.spec.sources }} "{{- range $index, $source := .app.spec.sources }}{{ if $index }}\n{{ end }}⬆️ {{ $source.repoURL }}{{- end }}" {{- end }}
|
|
}]
|
|
}]
|
|
title: Start syncing application {{.app.metadata.name}}.
|
|
template.app-sync-status-unknown: |
|
|
email:
|
|
subject: Application {{.app.metadata.name}} sync status is 'Unknown'
|
|
message: |
|
|
{{if eq .serviceType "slack"}}:exclamation:{{end}} Application {{.app.metadata.name}} sync is 'Unknown'.
|
|
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": "#E96D76",
|
|
"fields": [
|
|
{
|
|
"title": "Sync Status",
|
|
"value": "{{.app.status.sync.status}}",
|
|
"short": true
|
|
},
|
|
{
|
|
"title": {{- if .app.spec.source }} "Repository" {{- else if .app.spec.sources }} "Repositories" {{- end }},
|
|
"value": {{- if .app.spec.source }} ":arrow_heading_up: {{ .app.spec.source.repoURL }}" {{- else if .app.spec.sources }} "{{- range $index, $source := .app.spec.sources }}{{ if $index }}\n{{ end }}:arrow_heading_up: {{ $source.repoURL }}{{- end }}" {{- end }},
|
|
"short": true
|
|
}
|
|
{{range $index, $c := .app.status.conditions}}
|
|
,
|
|
{
|
|
"title": "{{$c.type}}",
|
|
"value": "{{$c.message}}",
|
|
"short": true
|
|
}
|
|
{{end}}
|
|
]
|
|
}]
|
|
deliveryPolicy: Post
|
|
groupingKey: ""
|
|
notifyBroadcast: false
|
|
teams:
|
|
facts: |
|
|
[{
|
|
"name": "Sync Status",
|
|
"value": "{{.app.status.sync.status}}"
|
|
},
|
|
{
|
|
"name": {{- if .app.spec.source }} "Repository" {{- else if .app.spec.sources }} "Repositories" {{- end }},
|
|
"value": {{- if .app.spec.source }} "⬆️ {{ .app.spec.source.repoURL }}" {{- else if .app.spec.sources }} "{{- range $index, $source := .app.spec.sources }}{{ if $index }}\n{{ end }}⬆️ {{ $source.repoURL }}{{- end }}" {{- end }}
|
|
}
|
|
{{range $index, $c := .app.status.conditions}}
|
|
,
|
|
{
|
|
"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":{{- if .app.spec.source }} "⬆️ {{ .app.spec.source.repoURL }}" {{- else if .app.spec.sources }} "{{- range $index, $source := .app.spec.sources }}{{ if $index }}\n{{ end }}⬆️ {{ $source.repoURL }}{{- end }}" {{- end }}
|
|
}]
|
|
}]
|
|
title: Application {{.app.metadata.name}} sync status is 'Unknown'
|
|
template.app-sync-succeeded: |
|
|
email:
|
|
subject: Application {{.app.metadata.name}} has been successfully synced.
|
|
message: |
|
|
{{if eq .serviceType "slack"}}:white_check_mark:{{end}} Application {{.app.metadata.name}} has been successfully synced at {{.app.status.operationState.finishedAt}}.
|
|
Sync operation details are available at: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true .
|
|
slack:
|
|
attachments: |
|
|
[{
|
|
"title": "{{ .app.metadata.name}}",
|
|
"title_link":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}",
|
|
"color": "#18be52",
|
|
"fields": [
|
|
{
|
|
"title": "Sync Status",
|
|
"value": "{{.app.status.sync.status}}",
|
|
"short": true
|
|
},
|
|
{
|
|
"title": {{- if .app.spec.source }} "Repository" {{- else if .app.spec.sources }} "Repositories" {{- end }},
|
|
"value": {{- if .app.spec.source }} ":arrow_heading_up: {{ .app.spec.source.repoURL }}" {{- else if .app.spec.sources }} "{{- range $index, $source := .app.spec.sources }}{{ if $index }}\n{{ end }}:arrow_heading_up: {{ $source.repoURL }}{{- end }}" {{- end }},
|
|
"short": true
|
|
}
|
|
{{range $index, $c := .app.status.conditions}}
|
|
,
|
|
{
|
|
"title": "{{$c.type}}",
|
|
"value": "{{$c.message}}",
|
|
"short": true
|
|
}
|
|
{{end}}
|
|
]
|
|
}]
|
|
deliveryPolicy: Post
|
|
groupingKey: ""
|
|
notifyBroadcast: false
|
|
teams:
|
|
facts: |
|
|
[{
|
|
"name": "Sync Status",
|
|
"value": "{{.app.status.sync.status}}"
|
|
},
|
|
{
|
|
"name": "Synced at",
|
|
"value": "{{.app.status.operationState.finishedAt}}"
|
|
},
|
|
{
|
|
"name": {{- if .app.spec.source }} "Repository" {{- else if .app.spec.sources }} "Repositories" {{- end }},
|
|
"value": {{- if .app.spec.source }} "⬆️ {{ .app.spec.source.repoURL }}" {{- else if .app.spec.sources }} "{{- range $index, $source := .app.spec.sources }}{{ if $index }}\n{{ end }}⬆️ {{ $source.repoURL }}{{- end }}" {{- end }}
|
|
}
|
|
{{range $index, $c := .app.status.conditions}}
|
|
,
|
|
{
|
|
"name": "{{$c.type}}",
|
|
"value": "{{$c.message}}"
|
|
}
|
|
{{end}}
|
|
]
|
|
potentialAction: |
|
|
[{
|
|
"@type":"OpenUri",
|
|
"name":"Operation Details",
|
|
"targets":[{
|
|
"os":"default",
|
|
"uri":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true"
|
|
}]
|
|
},
|
|
{
|
|
"@type":"OpenUri",
|
|
"name":"Open Repository",
|
|
"targets":[{
|
|
"os":"default",
|
|
"uri":{{- if .app.spec.source }} "⬆️ {{ .app.spec.source.repoURL }}" {{- else if .app.spec.sources }} "{{- range $index, $source := .app.spec.sources }}{{ if $index }}\n{{ end }}⬆️ {{ $source.repoURL }}{{- end }}" {{- end }}
|
|
}]
|
|
}]
|
|
themeColor: '#000080'
|
|
title: Application {{.app.metadata.name}} has been successfully synced
|
|
trigger.on-created: |
|
|
- description: Application is created.
|
|
oncePer: app.metadata.name
|
|
send:
|
|
- app-created
|
|
when: "true"
|
|
trigger.on-deleted: |
|
|
- description: Application is deleted.
|
|
oncePer: app.metadata.name
|
|
send:
|
|
- app-deleted
|
|
when: app.metadata.deletionTimestamp != nil
|
|
trigger.on-deployed: |
|
|
- description: Application is synced and healthy. Triggered once per commit.
|
|
oncePer: app.status.operationState?.syncResult?.revision
|
|
send:
|
|
- app-deployed
|
|
when: app.status.operationState != nil and app.status.operationState.phase in ['Succeeded']
|
|
and app.status.health.status == 'Healthy' and (!time.Parse(app.status.health.lastTransitionTime).Add(1
|
|
* time.Minute).Before(time.Parse(app.status.operationState.finishedAt)) or time.Parse(app.status.health.lastTransitionTime).Before(time.Parse(app.status.operationState.startedAt)))
|
|
trigger.on-health-degraded: |
|
|
- description: Application has degraded
|
|
oncePer: app.status.operationState?.syncResult?.revision
|
|
send:
|
|
- app-health-degraded
|
|
when: app.status.health.status == 'Degraded'
|
|
trigger.on-sync-failed: |
|
|
- description: Application syncing has failed
|
|
oncePer: app.status.operationState?.syncResult?.revision
|
|
send:
|
|
- app-sync-failed
|
|
when: app.status.operationState != nil and app.status.operationState.phase in ['Error',
|
|
'Failed']
|
|
trigger.on-sync-running: |
|
|
- description: Application is being synced
|
|
oncePer: app.status.operationState?.syncResult?.revision
|
|
send:
|
|
- app-sync-running
|
|
when: app.status.operationState != nil and app.status.operationState.phase in ['Running']
|
|
trigger.on-sync-status-unknown: |
|
|
- description: Application status is 'Unknown'
|
|
oncePer: app.status.operationState?.syncResult?.revision
|
|
send:
|
|
- app-sync-status-unknown
|
|
when: app.status.sync.status == 'Unknown'
|
|
trigger.on-sync-succeeded: |
|
|
- description: Application syncing has succeeded
|
|
oncePer: app.status.operationState?.syncResult?.revision
|
|
send:
|
|
- app-sync-succeeded
|
|
when: app.status.operationState != nil and app.status.operationState.phase in ['Succeeded']
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: argocd-notifications-cm
|