Egress Positionstack¶
Responsibility¶
Geocoding capability provider for Positionstack. Workflows call it via service_call steps and the capability registry — no orchestrator code changes required.
Capabilities:
egress.positionstack.forward— address → coordinatesegress.positionstack.reverse— coordinates → addresspositionstack.connection— workflow connection type (access_key)
Architecture¶
This is a capability provider (see Deploy integration contract):
- Registers with
capability-registryat startup - Orchestrator discovers endpoints dynamically
- No
EGRESS_*_URLenv var on orchestrator
Connection Model¶
name: positionstack
type: positionstack
access_key: "$secret:positionstack-access-key"
Reference file: flows/connections/positionstack.yaml.
The access key can also be set on the egress pod via POSITIONSTACK_ACCESS_KEY (Kubernetes secret meshflows-positionstack).
Example Workflow¶
- Workflow:
flows/workflows/positionstack_geocode_demo.yaml - HTTP trigger:
POST /v1/api/examples/positionstack-geocode - Payload (JSON or XML):
{"query": "1600 Pennsylvania Ave NW, Washington DC", "limit": 1}
<geocode>
<query>1600 Pennsylvania Ave NW, Washington DC</query>
<limit>1</limit>
</geocode>
Deploy¶
- Image:
meshflows/egress-positionstack - Deployment:
egress-positionstack - Optional secret (CI or manual):
meshflows-positionstackwith keyaccess_key - Example:
engine/deploy/k8s/egress-positionstack-secret.example.yaml
Health¶
GET /healthzGET /readyzGET /internal/capabilities