Skip to content

Egress Weatherstack

Responsibility

Weather data capability provider for Weatherstack. Workflows call it via service_call steps and the capability registry — no orchestrator code changes required.

Capabilities:

  • egress.weatherstack.current — current weather for a location
  • egress.weatherstack.historical — historical weather (historical_date required)
  • egress.weatherstack.forecast — forecast (forecast_days optional, up to 14)
  • weatherstack.connection — workflow connection type (access_key)

Architecture

This is a capability provider (see Deploy integration contract):

  • Registers with capability-registry at startup
  • Orchestrator discovers endpoints dynamically
  • No EGRESS_*_URL env var on orchestrator

Connection Model

name: weatherstack
type: weatherstack
access_key: "$secret:weatherstack-access-key"

Reference file: flows/connections/weatherstack.yaml.

The access key can also be set on the egress pod via WEATHERSTACK_ACCESS_KEY (Kubernetes secret meshflows-weatherstack).

Example Workflow

  • Workflow: flows/workflows/weatherstack_current_demo.yaml
  • HTTP trigger: POST /v1/api/examples/weatherstack-current
  • Payload (JSON or XML):
{"query": "Amsterdam", "units": "m"}
<weather>
  <query>Amsterdam</query>
  <units>m</units>
</weather>

Deploy

  • Image: meshflows/egress-weatherstack
  • Deployment: egress-weatherstack
  • Optional secret (CI or manual): meshflows-weatherstack with key access_key
  • Example: engine/deploy/k8s/egress-weatherstack-secret.example.yaml

Health

  • GET /healthz
  • GET /readyz
  • GET /internal/capabilities