SigNoz/signoz · error
gateway_unsupported
gateway_unsupported
Error message
unsupported call
What it means
The noop gateway provider implements the gateway.Gateway interface but every method is a stub returning an 'unsupported call' error. This one is returned by GetIngestionKeys when the noop provider is the configured ingestion-key gateway.
Source
Thrown at pkg/gateway/noopgateway/provider.go:27
"github.com/SigNoz/signoz/pkg/gateway"
"github.com/SigNoz/signoz/pkg/types/gatewaytypes"
"github.com/SigNoz/signoz/pkg/valuer"
)
type provider struct{}
func NewProviderFactory() factory.ProviderFactory[gateway.Gateway, gateway.Config] {
return factory.NewProviderFactory(factory.MustNewName("noop"), func(ctx context.Context, ps factory.ProviderSettings, c gateway.Config) (gateway.Gateway, error) {
return New(ctx, ps, c)
})
}
func New(_ context.Context, _ factory.ProviderSettings, _ gateway.Config) (gateway.Gateway, error) {
return &provider{}, nil
}
func (p *provider) GetIngestionKeys(_ context.Context, _ valuer.UUID, _, _ int) (*gatewaytypes.GettableIngestionKeys, error) {
return nil, errors.New(errors.TypeUnsupported, gateway.ErrCodeGatewayUnsupported, "unsupported call")
}
func (p *provider) SearchIngestionKeysByName(_ context.Context, _ valuer.UUID, _ string, _, _ int) (*gatewaytypes.GettableIngestionKeys, error) {
return nil, errors.New(errors.TypeUnsupported, gateway.ErrCodeGatewayUnsupported, "unsupported call")
}
func (p *provider) CreateIngestionKey(_ context.Context, _ valuer.UUID, _ string, _ []string, _ time.Time) (*gatewaytypes.GettableCreatedIngestionKey, error) {
return nil, errors.New(errors.TypeUnsupported, gateway.ErrCodeGatewayUnsupported, "unsupported call")
}
func (p *provider) UpdateIngestionKey(_ context.Context, _ valuer.UUID, _ string, _ string, _ []string, _ time.Time) error {
return errors.New(errors.TypeUnsupported, gateway.ErrCodeGatewayUnsupported, "unsupported call")
}
func (p *provider) DeleteIngestionKey(_ context.Context, _ valuer.UUID, _ string) error {
return errors.New(errors.TypeUnsupported, gateway.ErrCodeGatewayUnsupported, "unsupported call")
}
View on GitHub (pinned to 5069bf80b0)
Solutions
- Configure a real gateway provider in the gateway config (set the provider type for ingestion keys)
- If you don't need the feature, avoid the ingestion-key API routes
- Check config docs for the correct provider name/env vars
Example fix
// before
gateway:
ingestionKey:
provider: noop
// after
gateway:
ingestionKey:
provider: <supported-provider> Defensive patterns
Strategy: type-guard
Validate before calling
// before listing keys, confirm a non-noop gateway is configured
cfg, _ := settings.Gateway()
if cfg.Provider == "noop" { return errors.New("ingestion keys unavailable") } Type guard
func isNoopGateway(cfg gateway.Config) bool { return cfg.Provider == "noop" || cfg.Provider == "" } Try / catch
if err != nil && errors.Asc(err, gateway.ErrCodeGatewayUnsupported) { /* skip feature, don't retry */ } Prevention
- Fail fast at startup if features you need require a real gateway
- Document which API families depend on the gateway provider
When it happens
Trigger: Running signoz with the noop gateway selected (e.g. no external ingestion-key store configured) and hitting GET ingestion keys endpoints.
Common situations: Default/empty gateway config in dev or minimal installs; upgrading to a version where ingestion-key endpoints require an explicit gateway provider.
Related errors
- 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
- couldn't prepare request: %w
- CodeInvalidInput
AI-assisted analysis of SigNoz/signoz@5069bf80b0 (2026-08-28).
Data as JSON: /api/errors/e21b1cefe6531631.
Report an issue: GitHub.