A Webhook sink allows you to send data to an external service via HTTP. This provides considerable flexibility for forwarding pipeline results to your application server, a third-party API, or a bot. Webhook sinks ensure at least once delivery and manage back-pressure, meaning data delivery adapts based on the responsiveness of your endpoints. The pipeline sends a POST request with a JSON payload to a specified URL, and the receiver only needs to return a 200 status code to confirm successful delivery. Here is a snippet of YAML that specifies a Webhook sink:Documentation Index
Fetch the complete documentation index at: https://docs.goldsky.com/llms.txt
Use this file to discover all available pages before exploring further.
Pipeline configuration
Key considerations
- Failure Handling: In case of failures, the pipeline retries requests indefinitely with exponential backoff.
- Networking & Performance: For optimal performance, deploy your webhook server in a region close to where the pipelines are deployed (we use aws
us-west-2). Aim to keep p95 latency under 100 milliseconds for best results. - Latency vs Throughput: Use lower batch_size/batch_flush_interval to achive low latency and higher values to achieve high throughput (useful when backfilling/bootstraping).
- Connection & Response times: The maximum allowed response time is 5 minutes and the maximum allowed time to establish a connection is 1 minute.
Secret creation
Create a httpauth secret with the following CLI command:httpauth as the secret type and then follow the prompts to finish creating your httpauth secret.