80 lines
2.8 KiB
YAML
80 lines
2.8 KiB
YAML
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
|
||
|
||
# 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 | default `n/a` | 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 | default `n/a` | 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 | default `n/a` | 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 | default `n/a` | 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
|