Created
November 10, 2025 12:38
-
-
Save andmos/a041c342045f2f05e38a5bd4a36e503f to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| apiVersion: v1 | |
| kind: ConfigMap | |
| metadata: | |
| name: argocd-notifications-cm | |
| namespace: argocd | |
| labels: | |
| app.kubernetes.io/component: notifications-controller | |
| app.kubernetes.io/managed-by: argocd | |
| app.kubernetes.io/name: argocd-notifications-controller | |
| app.kubernetes.io/part-of: argocd | |
| data: | |
| context: 'argocdUrl: https://argo-dev.kartverket.dev' | |
| service.github: | | |
| appID: 304561 | |
| installationID: 35193564 | |
| privateKey: $github-privatekey | |
| service.slack: | | |
| token: $slack-token | |
| 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: | | |
| github: | |
| status: | |
| state: success | |
| label: "argocd/{{.app.metadata.name}}" | |
| targetURL: "{{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true" | |
| 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 }} ":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 }} | |
| }, | |
| { | |
| "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 }} ":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 }} | |
| }] | |
| }] | |
| themeColor: '#000080' | |
| title: New version of an application {{.app.metadata.name}} is up and running. | |
| template.app-health-degraded: | | |
| github: | |
| status: | |
| state: error | |
| label: "continuous-delivery/{{.app.metadata.name}}" | |
| targetURL: "{{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true" | |
| 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 }} ":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 }} | |
| } | |
| {{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 }} ":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 }} | |
| }] | |
| }] | |
| 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 }} ":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 }} | |
| } | |
| {{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 }} ":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 }} | |
| }] | |
| }] | |
| themeColor: '#FF0000' | |
| title: Failed to sync application {{.app.metadata.name}}. | |
| template.app-sync-running: | | |
| github: | |
| status: | |
| state: pending | |
| label: "continuous-delivery/{{.app.metadata.name}}" | |
| targetURL: "{{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true" | |
| 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 }} ":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 }} | |
| } | |
| {{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 }} ":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 }} | |
| }] | |
| }] | |
| title: Start syncing application {{.app.metadata.name}}. | |
| template.app-sync-status-unknown: | | |
| github: | |
| status: | |
| state: pending | |
| label: "continuous-delivery/{{.app.metadata.name}}" | |
| targetURL: "{{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true" | |
| 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 }} ":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 }} | |
| } | |
| {{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 }} ":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 }} | |
| }] | |
| }] | |
| title: Application {{.app.metadata.name}} sync status is 'Unknown' | |
| template.app-sync-succeeded: | | |
| github: | |
| status: | |
| state: success | |
| label: "continuous-delivery/{{.app.metadata.name}}" | |
| targetURL: "{{.context.argocdUrl}}/applications/{{.app.metadata.name}}?operation=true" | |
| 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 }} ":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 }} | |
| } | |
| {{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 }} ":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 }} | |
| }] | |
| }] | |
| 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-outofsync-one-day: | | |
| - description: Application is OutOfSync for one day | |
| when: app.status.sync.status == 'OutOfSync' and time.Now().Sub(repo.GetCommitMetadata(app.status.sync.revision).Date).Hours() >= 24 | |
| oncePer: app.status.operationState?.syncResult?.revision | |
| send: | |
| - app-sync-outdated-day | |
| trigger.on-outofsync-one-week: | | |
| - description: Application is OutOfSync for one week | |
| when: app.status.sync.status == 'OutOfSync' and time.Now().Sub(repo.GetCommitMetadata(app.status.sync.revision).Date).Hours() >= 168 | |
| oncePer: app.status.operationState?.syncResult?.revision | |
| send: | |
| - app-sync-outdated-week | |
| 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'] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment