257 lines
7.4 KiB
YAML
257 lines
7.4 KiB
YAML
# No longer needed with NotificationsConfig introduced in 1.12
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/managed-by: openshift-gitops
|
|
app.kubernetes.io/name: argocd-notifications-cm
|
|
app.kubernetes.io/part-of: argocd
|
|
annotation:
|
|
policy.open-cluster-management.io/disable-templates: "true"
|
|
name: argocd-notifications-cm
|
|
namespace: openshift-gitops
|
|
data:
|
|
service.slack: |
|
|
token: $slack-token
|
|
template.app-deployed: |-
|
|
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": "Repository",
|
|
"value": "{{.app.spec.source.repoURL}}",
|
|
"short": true
|
|
},
|
|
{
|
|
"title": "Revision",
|
|
"value": "{{.app.status.sync.revision}}",
|
|
"short": true
|
|
}
|
|
{{range $index, $c := .app.status.conditions}}
|
|
{{if not $index}},{{end}}
|
|
{{if $index}},{{end}}
|
|
{
|
|
"title": "{{$c.type}}",
|
|
"value": "{{$c.message}}",
|
|
"short": true
|
|
}
|
|
{{end}}
|
|
]
|
|
}]
|
|
deliveryPolicy: Post
|
|
groupingKey: ""
|
|
notifyBroadcast: false
|
|
template.app-health-degraded: |-
|
|
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": "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}}
|
|
]
|
|
}]
|
|
deliveryPolicy: Post
|
|
groupingKey: ""
|
|
notifyBroadcast: false
|
|
template.app-sync-failed: |-
|
|
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": "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}}
|
|
]
|
|
}]
|
|
deliveryPolicy: Post
|
|
groupingKey: ""
|
|
notifyBroadcast: false
|
|
template.app-sync-running: |-
|
|
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": "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}}
|
|
]
|
|
}]
|
|
deliveryPolicy: Post
|
|
groupingKey: ""
|
|
notifyBroadcast: false
|
|
template.app-sync-status-unknown: |-
|
|
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": "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}}
|
|
]
|
|
}]
|
|
deliveryPolicy: Post
|
|
groupingKey: ""
|
|
notifyBroadcast: false
|
|
template.app-sync-succeeded: |-
|
|
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": "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}}
|
|
]
|
|
}]
|
|
deliveryPolicy: Post
|
|
groupingKey: ""
|
|
notifyBroadcast: false
|
|
# 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.phase in ['Succeeded'] and app.status.health.status
|
|
== 'Healthy'
|
|
trigger.on-health-degraded: |-
|
|
- description: Application has degraded
|
|
send:
|
|
- app-health-degraded
|
|
when: app.status.health.status == 'Degraded'
|
|
trigger.on-sync-failed: |-
|
|
- description: Application syncing has failed
|
|
send:
|
|
- app-sync-failed
|
|
when: app.status.operationState.phase in ['Error', 'Failed']
|
|
trigger.on-sync-running: |-
|
|
- description: Application is being synced
|
|
send:
|
|
- app-sync-running
|
|
when: app.status.operationState.phase in ['Running']
|
|
trigger.on-sync-status-unknown: |-
|
|
- description: Application status is 'Unknown'
|
|
end:
|
|
- app-sync-status-unknown
|
|
when: app.status.sync.status == 'Unknown'
|
|
trigger.on-sync-succeeded: |-
|
|
- description: Application syncing has succeeded
|
|
send:
|
|
- app-sync-succeeded
|
|
when: app.status.operationState.phase in ['Succeeded']
|