global: domain: argocd.127.0.0.1.nip.io configs: secret: createSecret: true argocdServerAdminPassword: "$2b$12$Tmb1jH7ADvwWoUoNPXXsfOf6JqEluqhq8mL06a8DGT2AP1GzbNsCm" cm: application.resourceTrackingMethod: annotation timeout.reconciliation: 60s admin.enabled: "true" params: "server.insecure": true server: ingress: enabled: false ingressClassName: nginx extraArgs: - --insecure notifications: # Don't create secret via Helm - using SealedSecret instead secret: create: false # Shared context variables available in all templates context: clusterName: "dev-fd-no-svg1" # Define notification templates templates: template.app-syncing: | webhook: slack: method: POST body: | { "payload": "🖥️ {{ .context.clusterName }}: 🔄 *{{ .app.metadata.name }}* is syncing...\n📦 Revision: {{ .app.status.sync.revision | substr 0 7 }}" } template.app-sync-succeeded: | webhook: slack: method: POST body: | { "payload": "🖥️ {{ .context.clusterName }}: ✅ *{{ .app.metadata.name }}* sync succeeded\n📦 Revision: {{ .app.status.sync.revision | substr 0 7 }}{{ range .app.status.summary.images }}\n🏷️ Image: {{ . }}{{ end }}" } template.app-sync-failed: | webhook: slack: method: POST body: | { "payload": "🖥️ {{ .context.clusterName }}: ❌ *{{ .app.metadata.name }}* sync failed\n📦 Revision: {{ .app.status.sync.revision | substr 0 7 }}\n⚠️ Message: {{ .app.status.operationState.message }}" } template.app-degraded: | webhook: slack: method: POST body: | { "payload": "🖥️ {{ .context.clusterName }}: ⚠️ *{{ .app.metadata.name }}* is degraded\n🏥 Health: {{ .app.status.health.status }}\n📦 Revision: {{ .app.status.sync.revision | substr 0 7 }}{{ range .app.status.summary.images }}\n🏷️ Image: {{ . }}{{ end }}" } # Define notification triggers triggers: trigger.on-sync-running: | - when: app.status.operationState.phase in ['Running'] send: [app-syncing] trigger.on-sync-succeeded: | - when: app.status.operationState.phase in ['Succeeded'] and app.status.health.status == 'Healthy' send: [app-sync-succeeded] trigger.on-sync-failed: | - when: app.status.operationState.phase in ['Failed'] send: [app-sync-failed] trigger.on-degraded: | - when: app.status.health.status == 'Degraded' send: [app-degraded] # Define notification services (webhook for Slack) notifiers: service.webhook.slack: | url: $slack-webhook-url headers: - name: Content-Type value: application/json