pipeflow 0.0.4

A lightweight, configuration-driven data pipeline framework
Documentation
# =============================================================================
# HTTP Authentication Example
# =============================================================================
#
# This example demonstrates the various authentication methods supported by
# the http_client source and sink.
#
# Supported Auth Types:
#   - basic:   Username/Password (standard Basic Auth)
#   - bearer:  Bearer Token (e.g., JWT)
#   - api_key: Custom header key-value pair
#   - header:  Generic header key-value pair
#
# Usage:
#   pipeflow run examples/http_auth.yaml
#
# =============================================================================

pipeline:
  sources:
    # Example 1: Source with Basic Auth
    - id: basic_auth_source
      type: http_client
      config:
        url: "https://httpbin.org/basic-auth/user/pass"
        interval: "60s"
        auth:
          type: basic
          username: "user"
          password: "pass"

    # Example 2: Source with Bearer Token
    - id: bearer_auth_source
      type: http_client
      config:
        url: "https://httpbin.org/bearer"
        interval: "60s"
        auth:
          type: bearer
          token: "my-secret-token"

  transforms:
    # Pass-through transform
    - id: merge_streams
      inputs: [basic_auth_source, bearer_auth_source]
      outputs: [api_key_sink, custom_header_sink]

  sinks:
    # Example 3: Sink with API Key
    - id: api_key_sink
      type: http_client
      config:
        url: "https://httpbin.org/post"
        method: "POST"
        auth:
          type: api_key
          header: "X-API-Key"
          key: "demo-api-key-123"

    # Example 4: Sink with Custom Header Auth
    - id: custom_header_sink
      type: http_client
      config:
        url: "https://httpbin.org/post"
        method: "POST"
        auth:
          type: header
          name: "X-Custom-Auth"
          value: "custom-auth-value"