-
Notifications
You must be signed in to change notification settings - Fork 58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FEATURE] Design/Discuss what goes into extensions.yml #65
[FEATURE] Design/Discuss what goes into extensions.yml #65
Comments
I'd prefer this configuration be minimal with the heavy lifting done by the extension registration: extensions:
- name: Hello World
description: Adds a header to all responses from the service hello:world
registrationUrl: 'https://127.0.0.1:4532/hello/register' During the extension registration needed data such as the minimum supported version(s) of OpenSearch, what extension points should be routed to this extension, extension versioning information, etc. |
It's good to have a name, but we should be aware there will probably be name collisions and not rely on this other than for friendly display/logging.
We do need a unique extension ID. We should document how to generate these. Will there be a registry somewhere where people can request a UUID from it?
Not sure we need both hostName and hostAddress. What purpose does it serve having both? If we have a hostName we can lookup the address. Do we want to allow both but specify one as primary? Or just have a hostName field in which an IP address is acceptable?
I do like separating the host and port in the config, so we don't need to deal with parsing them out of a URI later.
We shouldn't specify the version on the OS side, the extension knows its own version and should report that as part of the handshake.
Sure.
Doesn't OpenSearch already know its version and can send it as part of the handshake?
Not needed to know what version of Java (or any other language) is on the other end.
Not needed. Should be a standard className.
Where is this used? Is it part of the REST configuration? I'm thinking this or something needs to be here as part of #64.
Don't even know what this does. We need to add some other configurations such as:
|
Are the calls going to be processed in series? For your consideration 5x extensions with 200ms roundtrip each time means 1 sec for response time on the OpenSearch request, installing extensions linearly impacts your OpenSearch clusters performance, seems like a scaling bottleneck. |
Note that UUIDs don't have to come from a registry, they can be generated client-side (e.g. with |
In #95 I have proposed using reverse DNS names for these. Seems to work in the Java ecosystem for unique artifacts from the central repository, (most) package names (unenforced), JPMS module names (enforced), etc. |
@saratvemulapalli, @dbwiddis what is pending to finalize the decision on this issue and the next steps? |
As we have inherited lots of properties from plugins, I'll take this on as part of #346 and clean it up.
|
Is your feature request related to a problem?
Opening this as a follow up of #60 (comment)
The code reads all of this configuration today. We should get rid of the unnecessary parts of it which were inherited from plugins.
The text was updated successfully, but these errors were encountered: