argoproj / argoproj/notifications-engine
Kafka notifications
- Dominant language
- Go
- Stars
- 334
- Forks
- 217
- PR merge metrics
- No merged PRs in 30d
Description
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:
```yaml
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
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with issue #302's requested Kafka record and CloudEvents YAML, then inspect the repository's existing notification entry points for generic applications. Determine how successful and unsuccessful sync events would be represented and emitted; done means the behavior and event contract are defined and covered by appropriate validation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kafka, kubernetes
- Domain
- backend-api-design, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100