Add a new custom resource to manage the argocd-notifications-cm
Closed this issue · 1 comments
Is your feature request related to a problem? Please describe.
Currently, Argo CD Operator supports Notifications
as Beta. One of the primary reasons for this is, Argo CD Operator does not manage the configuration(templates, triggers, services, subscriptions e.t.c.,.) of the the argocd-notifications-cm
.
Triggers, Templates, Services and Subscriptions can be so huge at times that it creates a bad user experience if they are added to the Argo CD CR and managed by the Argo CD Reconciler of the Argo CD Operator.
Describe the solution you'd like
- It is better to create a new CR -
NotificationsConfiguration
that can be used by the Users to update the their custom templates, triggers e.t.c.,. - A new reconciler will watch this CR to update the
argocd-notifications-cm
. argocd-notifications-cm
should be created with default triggers, templates e.t.c.,. OOTB.
Additional context
Sample NotificationsConfiguration resource
apiVersion: argoproj.io/v1alpha1
kind: NotificationsConfiguration
metadata:
name: default-notifications-configuration
spec:
triggers:
trigger.on-sync-status-unknown: |
- when: app.status.sync.status == 'Unknown'
send: [my-custom-template]
templates:
template.my-custom-template: |
message: |
Application details: {{.context.argocdUrl}}/applications/{{.app.metadata.name}}.
Sorry for replying on a close issue. But does this feature also work with extremely large created argocd notifications configmaps? We have a situation where we needed to do a server side apply of the configmap because it became large. Does the shift to CRD's still allow us for those large configmaps?