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

[PROPOSAL] Combine gems, extract opensearch-aws-sigv4 #133

Closed
dblock opened this issue Jan 8, 2023 · 9 comments · Fixed by #175
Closed

[PROPOSAL] Combine gems, extract opensearch-aws-sigv4 #133

dblock opened this issue Jan 8, 2023 · 9 comments · Fixed by #175
Assignees

Comments

@dblock
Copy link
Member

dblock commented Jan 8, 2023

What/Why

What are you proposing?

There are 5 gems in this repo:

  • opensearch-api
  • opensearch-dsl
  • opensearch-ruby
  • opensearch-aws-sigv4
  • opensearch-transport

All except opensearch-aws-sigv4 are always used by anyone wanting to call OpenSearch in Ruby.

  • Propose to merge them into opensearch-ruby.
  • Propose to extract opensearch-aws-sigv4 into a separate repo.

What users have asked for this feature?

Coming from #127.

What problems are you trying to solve?

  • I don't believe anyone ever uses opensearch-api, opensearch-dsl, opensearch-transport separately from opensearch-ruby. Seems like unnecessary overhead.
  • We have tags such as opensearch-api/2.1.2 and the number of tags will grow fast. Each tag only refers to a subset of the code, and may incorrectly imply some relationship between, say opensearch-ruby and opensearch-api in the tag. Theoretically they could even be incompatible.
  • Our 1.x, 2.x branching strategy forces to release all the gems at the same time or create more confusion.

What is the developer experience going to be?

Major increment opensearch-ruby and collapse the other 3 gems into it.

Extract code for opensearch-aws-sigv4 into a new repo called opensearch-ruby-aws-sigv4.

@dblock dblock changed the title [PROPOSAL] Split up repos or combine gems [PROPOSAL] Combine gems, extract opensearch-aws-sigv4 Jan 8, 2023
@nhtruong
Copy link
Collaborator

nhtruong commented Jan 9, 2023

This will solve a lot of our DevOps problems and bring Ruby inline with other languages.

@nhtruong
Copy link
Collaborator

nhtruong commented Apr 17, 2023

Should we keep opensearch-dsl separatedly in its own repo too? It's a supplemental gem to build queries. It's not always required, esp when the user want to build a micro-service to monitor a cluster for example.

@dblock
Copy link
Member Author

dblock commented Apr 18, 2023

Do we know if anyone is actually using opensearch-dsl separately? And are we just saving disk space?

@nhtruong
Copy link
Collaborator

nhtruong commented Apr 18, 2023

One of the applications I worked in the past didn't use dsl (I built an ORM framework specialized for the domain instead).
And yes it's to save space for micro-services that don't use dsl.

@dblock
Copy link
Member Author

dblock commented Apr 18, 2023

I don't have any strong opinions if you think it's useful!

@nhtruong
Copy link
Collaborator

@dblock Would you mind creating opensearch-ruby-dsl and opensearch-ruby-aws-sigv4 repos?

@nhtruong
Copy link
Collaborator

nhtruong commented Apr 20, 2023

@dblock: I've just discussed with @vamshin regarding dsl-py where we've merged it into the Python client instead of maintaining it as a standalone package like we planned to above. @vamshin brought up a valid point that addresses my micro-service concern: The footprint of the DSL library is minuscule. So, to reduce the overhead of maintaining another repo and keep it consistent with other clients, let's merge the DSL gem into the Ruby Client gem as well.

@RuslanHassonov
Copy link

Hi there, just a quick question: am I correct to assume that the merge hasn't been completed yet?

@nhtruong nhtruong mentioned this issue Jun 5, 2023
@nhtruong
Copy link
Collaborator

nhtruong commented Jun 5, 2023

@RuslanHassonov sorry I missed this. It's a WIP and almost done #175

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants