SigNoz/signoz · error · basemodel.ApiError
deployment info response not in expected shape. couldn't det
Error message
deployment info response not in expected shape. couldn't determine region dns and deployment name
What it means
The deployment info JSON parsed successfully but the expected fields (cluster.region.dns and the top-level name) are empty. This is an explicit fail-early guard for divergence between the actual Zeus response shape and the struct expectation.
Source
Thrown at ee/query-service/app/api/cloudIntegrations.go:186
"couldn't query for deployment info: error: %w", err,
))
}
resp := new(deploymentResponse)
err = json.Unmarshal(respBytes, resp)
if err != nil {
return "", basemodel.InternalError(fmt.Errorf(
"couldn't unmarshal deployment info response: error: %w", err,
))
}
regionDns := resp.ClusterInfo.Region.DNS
deploymentName := resp.Name
if len(regionDns) < 1 || len(deploymentName) < 1 {
// Fail early if actual response structure and expectation here ever diverge
return "", basemodel.InternalError(fmt.Errorf(
"deployment info response not in expected shape. couldn't determine region dns and deployment name",
))
}
signozApiUrl := fmt.Sprintf("https://%s.%s", deploymentName, regionDns)
return signozApiUrl, nil
}
type ingestionKey struct {
Name string `json:"name"`
Value string `json:"value"`
// other attributes from gateway response not included here since they are not being used.
}
type ingestionKeysSearchResponse struct {
Status string `json:"status"`
Data []ingestionKey `json:"data"`View on GitHub (pinned to 5069bf80b0)
Solutions
- Log the parsed response to confirm which field (regionDns vs deploymentName) is empty
- Verify the deployment is fully provisioned in the SigNoz cloud console
- Confirm license key maps to an active deployment
- Report schema drift to SigNoz if the payload structure changed
Defensive patterns
Strategy: validation
Try / catch
Treat as a shape mismatch: capture the parsed response, alert on schema drift, and avoid retrying blindly since data is missing.
Prevention
- Add contract tests against a recorded Zeus response fixture
- Pin query-service and cloud versions that are known-compatible
When it happens
Trigger: Zeus returns a well-formed deployment payload where region DNS or deployment name is empty/missing — e.g. a deployment still provisioning, a new response schema, or a license resolving to a half-configured cluster.
Common situations: Cloud deployment not yet fully provisioned, upstream schema drift after a cloud-side update, or querying with a license tied to a deleted deployment.
Understand the failure class
Background: Schema validation failed / invalid input schema: payload rejected because its shape doesn't match the expected schema — this error's family across 28 libraries.
Related errors
- couldn't query for deployment info: error: %w
- couldn't unmarshal deployment info response: error: %w
- couldn't search for cloudprovider ingestion key: status: %s,
- ingestion keys search response not as expected
- couldn't create cloudprovider ingestion key: status: %s, err
AI-assisted analysis of SigNoz/signoz@5069bf80b0 (2026-08-28).
Data as JSON: /api/errors/c49728e1769ae9ef.
Report an issue: GitHub.