github.com/argoproj/argo-events@v1.9.1/docs/eventsources/services.md (about) 1 # EventSource Services 2 3 Some of the EventSources (`webhook`, `github`, `gitlab`, `sns`, `slack`, 4 `Storage GRID` and `stripe`) start an HTTP service to receive the events, for 5 your convenience, there is a field named `service` within EventSource spec can 6 help you create a `ClusterIP` service for testing. 7 8 For example: 9 10 ```yaml 11 apiVersion: argoproj.io/v1alpha1 12 kind: EventSource 13 metadata: 14 name: webhook 15 spec: 16 service: 17 ports: 18 - port: 12000 19 targetPort: 12000 20 webhook: 21 example: 22 port: "12000" 23 endpoint: /example 24 method: POST 25 ``` 26 27 However, the generated service is **ONLY** for testing purpose, if you want to 28 expose the endpoint for external access, please manage it by using native K8s 29 objects (i.e. a Load Balancer type Service, or an Ingress), and remove `service` 30 field from the EventSource object. 31 32 For example, you can create a K8s service with the selector `eventsource-name: webhook` 33 to select pods created for the "webhook" event source, like the following: 34 35 ```yaml 36 apiVersion: v1 37 kind: Service 38 metadata: 39 name: webhook-eventsource 40 spec: 41 ports: 42 - port: 12000 43 protocol: TCP 44 targetPort: 12000 45 selector: 46 eventsource-name: webhook 47 type: NodePort 48 ``` 49 50 Then you can expose the service for external access using native K8s objects as mentioned above. 51 52 You can refer to [webhook heath check](webhook-health-check.md) if you need a 53 health check endpoint for LB Service or Ingress configuration.