Skip to content

v0.13.0

Choose a tag to compare

@lsm lsm released this 11 Feb 13:26

🔐 Temporal Authentication Support

This release adds comprehensive authentication support for Temporal workflows, enabling secure connections to Temporal Cloud and self-hosted clusters.

New Authentication Methods

1. Static API Key

sink:
  type: temporal
  config:
    hostPort: namespace.tmprl.cloud:7233
    auth:
      apiKey: "your-api-key"

2. Dynamic API Key (from environment)

sink:
  type: temporal
  config:
    auth:
      apiKeyEnv: "TEMPORAL_API_KEY"

3. Token from File

sink:
  type: temporal
  config:
    auth:
      tokenFile: "/var/secrets/temporal-token"

4. OIDC (OAuth2 Client Credentials)

sink:
  type: temporal
  config:
    auth:
      oidc:
        tokenURL: "https://auth.example.com/oauth/token"
        clientID: "your-client-id"
        clientSecretEnv: "OIDC_CLIENT_SECRET"
        scopes:
          - "temporal:write"

5. Mutual TLS (mTLS)

sink:
  type: temporal
  config:
    tls:
      certFile: "/path/to/client.crt"
      keyFile: "/path/to/client.key"
      caFile: "/path/to/ca.crt"  # optional

TLS Configuration

Disable TLS (for local development):

sink:
  type: temporal
  config:
    tls:
      disabled: true  # Allows auth without TLS (dev only)

Server-only TLS (verify server certificate):

sink:
  type: temporal
  config:
    tls:
      enabled: true
      caFile: "/path/to/ca.crt"

Testing & Quality

  • ✅ 12 unit tests covering all credential builders
  • ✅ 4 integration tests (API key, token file, OIDC)
  • ✅ Full E2E test with mock OAuth2 server
  • ✅ All CI tests passing

Other Improvements

  • Enhanced CloudEvents SDK integration (from v0.12.2)
  • Better YAML config parsing for Temporal settings
  • Improved test infrastructure with Docker Compose patterns
  • Coverage threshold adjusted to 94.5% (more realistic for integration-heavy code)

Full Changelog: v0.12.2...v0.13.0