Overview
OpenSRE queries Temporal’s HTTP API to retrieve workflow executions, event history, task queue health, and namespace-level metrics — helping diagnose workflow failures, activity retries, and worker outages.OpenSRE connects to Temporal’s HTTP API (the
/api/v1/... REST interface served
by the frontend service). This is a self-hosted server feature, enabled with the
--http-port flag (dev server) or frontend.httpPort config.Temporal Cloud is not currently supported: Cloud exposes only gRPC/mTLS endpoints
for workflow data and an HTTP Ops API for control-plane management — neither is the
frontend HTTP API this integration uses. Point OpenSRE at a self-hosted Temporal
deployment.Prerequisites
- A self-hosted Temporal Server with the HTTP API enabled
- The HTTP API base URL (and an API key only if your deployment requires bearer auth)
Setup
Option 1: Interactive CLI
Option 2: Environment variables
Option 3: Persistent store
Credentials
Setbase_url / TEMPORAL_API_URL to the frontend’s HTTP API endpoint. Leave api_key empty for unauthenticated clusters.
Quick local test with Docker
Confirm the HTTP API answers:
temporal_namespace_info’s workflow_count: "0" on its own isn’t useful evidence. Run a real, deliberately failing workflow first:
opensre investigate only treats an integration as active once the store resolution has something to fall through to env vars with — an untouched ~/.opensre/integrations.json with an unrelated integration in it blocks env-var fallback entirely. Point OPENSRE_INTEGRATIONS_STORE_PATH at an empty, valid store instead, so your real config is never read or written and TEMPORAL_API_URL above is the only source of connection info:
mktemp alone.
Trigger a real investigation — this is the actual supported entrypoint, not an internal class:
opensre investigate fall through to env-var resolution for every integration, not just Temporal — if your shell or machine already resolves another integration from its own env vars, it rides along too (harmless, and unrelated to the Temporal tool calls below):
Investigation tools
Typical investigation flow
- Namespace info — how many workflows are running vs failed?
- Workflows — filter to failed/timed-out executions; note workflow type and task queue
- Workflow history — which activity failed and why?
- Task queue — are workers polling? Is backlog growing?
Verify
GET /api/v1/namespaces/{namespace}.
Troubleshooting
Security
- Use a read-only API key where your deployment supports scoped auth — OpenSRE never writes to Temporal.
- Restrict network access to the HTTP API to trusted IPs.
- Store credentials in
~/.opensre/integrations.jsonor environment variables, not in source code.