This example illustrates how to write a service in NodeJS
that listens for Events and sends an automated email to the address in the Event payload.
- A Docker installation.
- Kyma as the target deployment environment.
-
Build the Docker image:
docker build . -t event-email-service:latest
-
Run the recently built image:
docker run -p 3000:3000 event-email-service:latest
-
Export your Namespace as a variable by replacing the {namespace} placeholder in the following command and running it:
export K8S_NAMESPACE="{namespace}"
-
Deploy the service:
kubectl apply -f deployment -n $K8S_NAMESPACE
-
Expose the service endpoint:
kubectl port-forward -n $K8S_NAMESPACE $(kubectl get pod -n $K8S_NAMESPACE -l example=event-email-service | grep event-email-service | awk '{print $1}') 3000
To test the service, simulate an Event using cURL:
curl -H "Content-Type: application/json" -d '{"event":{"customer":{"customerID": "1234", "uid": "[email protected]"}}}' http://localhost:3000/v1/events/register
After sending the Event, you should see a log entry either in your terminal (if running locally) or in the Pod's logs (if running on Kyma) confirming the Event reception.
Clean all deployed example resources from Kyma with the following command:
kubectl delete all -l example=event-email-service -n $K8S_NAMESPACE