opensearch-project / terraform-provider-opensearch

https://registry.terraform.io/providers/opensearch-project/opensearch
Apache License 2.0
74 stars 57 forks source link

[PROPOSAL] Use OpenSearch go client #26

Open prudhvigodithi opened 1 year ago

prudhvigodithi commented 1 year ago

What/Why

What are you proposing?

The current setup is using olivere elastic go client, use official supported OpenSearch go client

What users have asked for this feature?

The project terraform-provider-opensearch since its being released and managed under opensearch-project org for ensuring long term compatibility it should using official supported OpenSearch go client

What problems are you trying to solve?

Since the project will be released as OpenSearch terraform provider the build and release should be using go client that is managed and fully compatible with OpenSearch. The existing code base uses olivere elastic go client that has more compatibility with elastic (FYI this analysis is based on project README doc)

What is the developer experience going to be?

The developers for contributing, building and testing should be moving forward with OpenSearch go client which could include change of certain client code methods and functionalities.

Are there any security considerations?

This would definitely improve the security scope as the OpenSearch go client is an umbrella project of OpenSearch project.

Are there any breaking changes to the API

Expected to have some go client methods and functionalities change in code.

What is the user experience going to be?

NO IMPACT

Are there breaking changes to the User Experience?

NO IMPACT

What will it take to execute?

The code should be modified and be using OpenSearch go client that refers olivere elastic go client,

Any remaining open questions?

Open for suggestions from the community :)

barryib commented 5 months ago

Furthermore the olivere elastic go client, sounds not maintained anymore. At the time of writing this, there is no release since on Mar 19, 2022.

In addition to that, I think it'll definitely simplify the overall code base, better handled errors, and ease the drop of Elasticsearch 7 support for future releases.