Skip to content

[Feature Request] GRPC Plugin Extensibility for Query Conversion #18513

@karenyrx

Description

@karenyrx

Is your feature request related to a problem? Please describe

Currently, third-party plugin authors have no ability to implement and expose custom GRPC APIs in OpenSearch. This restricts the flexibility and growth of the plugin ecosystem, as plugins cannot easily provide their own GRPC endpoints or leverage GRPC for advanced integrations.

Describe the solution you'd like

Enable external plugins (outside the core OpenSearch repo) to implement, register, and expose their own GRPC APIs. The ideal solution should support:

  • Custom GRPC Services: Allow plugins to register custom GRPC service implementations that will be available through the OpenSearch GRPC transport.
  • Flexible Proto Handling: Support plugins that provide their own proto files as well as those that rely on shared or existing specs. Both use cases should be well-documented and straightforward for plugin authors.
  • Dynamic Discovery & Registration: OpenSearch should dynamically discover GRPC services from installed plugins at startup or on plugin load, minimizing manual configuration.
  • Robust Error Handling & Validation: The system should validate proto compatibility, prevent duplicate service registration, and provide clear error messages/logs for troubleshooting.
  • Comprehensive Documentation: Provide clear guides, API references, and best practices for plugin authors, including example implementations for both proto scenarios.
  • Extensive Test Coverage: Include integration and unit tests covering plugin registration, service discovery, proto versioning, and backward compatibility.

Related component

Plugins

Describe alternatives you've considered

No response

Additional context

No response

Metadata

Metadata

Assignees

Labels

PluginsenhancementEnhancement or improvement to existing feature or request

Type

No type

Projects

Status

Done/Won't Do

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions