Skip to content
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

Implement Proxy Indexer #770

Closed
jlind23 opened this issue Nov 16, 2021 · 7 comments
Closed

Implement Proxy Indexer #770

jlind23 opened this issue Nov 16, 2021 · 7 comments
Assignees
Labels
ci Milestone-2 Team:Ecosystem Label for the Packages Ecosystem team

Comments

@jlind23
Copy link
Contributor

jlind23 commented Nov 16, 2021

The goal of this issue is to implement a new indexing mode - Proxy Indexer.

Proxy Indexer combines results from the https://epr.elastic.co/ together with other indexers. This way users don't have to download all packages to expose it, but just "link it" with the remote endpoint.

The feature can be used together with elastic-package to decrease the size of the EPR Docker image.

@jlind23 jlind23 added ci Team:Ecosystem Label for the Packages Ecosystem team Milestone-2 labels Nov 16, 2021
@mtojek mtojek changed the title Automatically reflect updates in the local host storage (preloaded packages) Implement Proxy Indexer Aug 2, 2022
@mtojek
Copy link
Contributor

mtojek commented Aug 2, 2022

@jsoriano Please let me know what do you think about this idea.

@jsoriano
Copy link
Member

jsoriano commented Aug 2, 2022

I like this idea. In combination with a local indexer it can be also a way for real users to combine custom packages with the oficial registry. Or this proxy can include more features like a local cache, that could maybe help in some use cases.

@jsoriano
Copy link
Member

jsoriano commented Aug 2, 2022

We may need to revisit how we configure the registry now. How would we configure a registry that uses a proxy indexer plus a local one?

@mtojek
Copy link
Contributor

mtojek commented Aug 2, 2022

In combination with a local indexer it can be also a way for real users to combine custom packages with the oficial registry. Or this proxy can include more features like a local cache, that could maybe help in some use cases.

Yes, I was thinking about extensions and extra features, but maybe after MVP :)

We may need to revisit how we configure the registry now. How would we configure a registry that uses a proxy indexer plus a local one?

The original plan is to keep the local indexer enabled by default and make the proxy indexer switchable on a feature flag (similar to the storage indexer). I'm also fine with adjusting the configuration (YAML file).

@jsoriano
Copy link
Member

jsoriano commented Aug 3, 2022

Yeah, a --proxy-to https://epr.elastic.co flag may work by now 🙂

@mtojek mtojek self-assigned this Aug 3, 2022
@mtojek
Copy link
Contributor

mtojek commented Aug 4, 2022

After spending some time on implementation, I realized that it won't be a true indexer, as an indexer needs access to unexposed package properties (BasePath, semVer). Also, an indexer is not aware of the call context - all properties vs. base search ones.

I will give try a different approach - more like a proxy mode than an indexer.

@mtojek
Copy link
Contributor

mtojek commented Sep 7, 2022

Released, resolving.

@mtojek mtojek closed this as completed Sep 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci Milestone-2 Team:Ecosystem Label for the Packages Ecosystem team
Projects
None yet
Development

No branches or pull requests

3 participants