argoproj / notifications-engine

Affordable notifications for Kubernetes
Apache License 2.0
264 stars 134 forks source link

Kafka notifications #302

Open alexec opened 1 month ago

alexec commented 1 month ago

I want to know when an app successfully (or unsuccessfully) syncs for a generic app. We use Kafka to connect our apps, so this would be a Kafka record. We also standardize on CloudEvents (just like Argo Events). So the event that should be emitted should be something like this:

specversion: 1.0
type: argocd.app.statuschanged.v1
source: argocd.cluster.namespace
id: abc123
datacontenttype: json
data:
  project: api-management-event-gateway
  source:
    repoURL: 'https://github.intuit.com/api-management/event-gateway-deployment.git'
    path: environments/prf-usw2-eks
  destination:
    server: https://eksapi-ip-paas-ppd-usw2-k8s-4b2287f4b1224d2a.elb.us-west-2.amazonaws.com
    namespace: api-management-eventgateway-usw2-prf