Skip to content

[FEATURE] [DISCUSS] Implement Proxy Actions #525

@dbwiddis

Description

@dbwiddis

Is your feature request related to a problem?

The getActions() extension point has been implemented and allows an extension to execute its own actions. On OpenSearch, the ProxyAction handlers have been implemented to register these actions and forward requests to extensions. However, there is no handling of these actions on the SDK.

What solution would you like?

  • Change ExtensionsRunner to always instantiate SDKActionModule. Move the ActionExtension conditional into the module where the getActions() extension point is read.
  • Create a new action in the SDK to send a ProxyAction to OpenSearch to be executed on another extension. Handle the response.
  • Always register the action created in the step above in the SDKActionModule
  • Add handling of proxy actions received from OpenSearch, the handler should look up the SDKActionModule's getActions() to find the action to execute. Send the appropriate response.
  • (Not needed) Update SDKClient handling of actions exceptions: there will never be a null action map; and change the "this action isn't registered in this extension" to a fallback where the action is sent to OpenSearch via the (registered) action from the steps above.
    • Removed; there will always be a ProxyAction for this purpose so no fallback is needed/desired

What alternatives have you considered?

Forward requests to OpenSearch in a way other than sending an action.

Do you have any additional context?

See #107 for long term improvements on this approach.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions