I'm trying to fill the Argo-Events Sensor Nats trigger payload with custom key value pairs. These values are not part of the dependency. Anyone knows a way to do this?
From docs:
Payload is the list of key-value extracted from an event payload to construct the request payload.
Sensor definition:
apiVersion: argoproj.io/v1alpha1
kind: Sensor
metadata:
name: minio-sensor
spec:
dependencies:
- name: test-dep
eventSourceName: minio
eventName: example
triggers:
- template:
name: nats-trigger
nats:
# NATS Server URL
url: nats.argo-events.svc:4222
# Name of the subject
subject: minio-events
payload:
- someKey: someValue
- src:
dependencyName: test-dep
dataKey: notification.0.s3.object.key
dest: fileName
Finally found a solution. Two actually. (Best use Argo-Events version >= 1.6.0)
apiVersion: argoproj.io/v1alpha1
kind: Sensor
metadata:
name: minio-sensor
spec:
dependencies:
- name: test-dep
eventSourceName: minio
eventName: example
transform:
script: |-
event.body.someKey='someValue'
return event
triggers:
- template:
name: nats-trigger
nats:
# NATS Server URL
url: nats.argo-events.svc:4222
# Name of the subject
subject: minio-events
payload:
- src:
dependencyName: test-dep
dataKey: body.someKey
dest: someKey
- src:
dependencyName: test-dep
dataKey: notification.0.s3.object.key
dest: fileName
apiVersion: argoproj.io/v1alpha1
kind: Sensor
metadata:
name: minio-sensor
spec:
dependencies:
- name: test-dep
eventSourceName: minio
eventName: example
triggers:
- template:
name: nats-trigger
nats:
# NATS Server URL
url: nats.argo-events.svc:4222
# Name of the subject
subject: minio-events
payload:
- src:
dependencyName: test-dep
dataKey: body.non-existing
value: someValue
dest: someKey
- src:
dependencyName: test-dep
dataKey: notification.0.s3.object.key
dest: fileName