Connectors / APIs & web

HTTP

sink

HTTP POST sink (individual or array batch)

Install

cargo install faucet-cli --features sink-http
faucet init --sink http
# Cargo.toml — use it as a library
cargo add faucet-sink-http

Starter config

sink:
  type: http
  config:
    url: ""    # REQUIRED — Target endpoint URL.
    # method: "POST"    # HTTP method (default: POST).
    # auth: { type: none }    # one of: none, bearer, basic, custom
      # --- Alternative variants — replace the block above with one of these ---
      # type: bearer
      # config:
        # token: ""    # REQUIRED
      #
      # type: basic
      # config:
        # username: ""    # REQUIRED
        # password: ""    # REQUIRED
      #
      # type: custom
      # config:
        # headers: {}    # REQUIRED
    # batch_mode: { type: Individual }    # one of: Individual, Array
      # --- Alternative variants — replace the block above with one of these ---
      # type: Array
    # max_retries: 0    # Number of retries on transient failures (default: 0).
    # concurrency: 10    # Maximum number of concurrent requests in Individual mode (default: 10).
    # batch_size: 1000    # Maximum number of records sent per outbound HTTP request.
    # timeout: 30    # Per-request timeout in seconds.
    # connect_timeout: 10    # Timeout for establishing a connection, in seconds.

Capabilities

Delivery At-least-once
Write modes append
Exactly-once writes No
Schema evolution No
Scoped cleanup No
Staged bulk load No
Run rollback No
Compression No

Config fields

FieldTypeDefaultDescription
url
required
string — Target endpoint URL.
method string POST HTTP method (default: POST).
auth object type: none Authentication: either inline ({ type, config }) or a { ref: <name> } pointer to a shared provider in the CLI's top-level auth: catalog. Defaults to no authentication.
batch_mode object type: Individual How to batch records in requests (default: Individual).
max_retries integer 0 Number of retries on transient failures (default: 0). A POST / PATCH is not retried after a timeout or a connection dropped mid-response, since the endpoint may already hold it.
concurrency integer 10 Maximum number of concurrent requests in Individual mode (default: 10). Above 1 the records of a page are sent in parallel and can reach the endpoint out of order — use 1 for a last-write-wins endpoint that receives several updates to one entity per page.
batch_size integer 1000 Maximum number of records sent per outbound HTTP request. Defaults to DEFAULT_BATCH_SIZE (1000).
timeout integer 30 Per-request timeout in seconds. Covers one HTTP request (a stalled peer fails the request, so retries and resilience can act), not the whole run. null disables it. Defaults to 30.
connect_timeout integer 10 Timeout for establishing a connection, in seconds. null disables it. Defaults to 10.
Get started

Your first pipeline runs in five minutes.

Install the CLI, scaffold a config, and move real data — nothing external to stand up.

curl -LsSf https://github.com/faucet-hq/faucet-stream/releases/latest/download/faucet-cli-installer.sh | sh
brew install faucet-hq/faucet-stream/faucet-cli