Skip to content

Conversation

@kezhenxu94
Copy link
Member

  • If this pull request closes/resolves/fixes an existing issue, replace the issue number. Closes #.
  • Update the CHANGES log.

@kezhenxu94 kezhenxu94 force-pushed the opensearchclientauth branch 3 times, most recently from 1ec3604 to efcc81a Compare December 31, 2025 11:37
@kezhenxu94 kezhenxu94 force-pushed the opensearchclientauth branch 2 times, most recently from 46557ba to 64d5ece Compare January 4, 2026 06:28
@kezhenxu94 kezhenxu94 force-pushed the opensearchclientauth branch from 64d5ece to 5b6b4dd Compare January 4, 2026 06:32
@kezhenxu94 kezhenxu94 marked this pull request as ready for review January 4, 2026 14:09
Copilot AI review requested due to automatic review settings January 4, 2026 14:09
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds support for client certificate authentication (mutual TLS) for OpenSearch and Elasticsearch storage backends, enabling more secure connections where clients present certificates to authenticate.

Key Changes:

  • Adds keyStorePath and keyStorePass configuration options for client certificate keystore (PKCS12/JKS formats)
  • Implements SSL/TLS configuration with mutual TLS support in ElasticSearchBuilder
  • Updates Armeria dependency from 1.32.0 to 1.34.2 to support enhanced SSL/TLS features
  • Includes comprehensive E2E test infrastructure with OpenSearch SSL configuration and certificate generation

Reviewed changes

Copilot reviewed 26 out of 28 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
test/e2e-v2/java-test-service/pom.xml Updates Lombok and Maven compiler plugin versions for compatibility
test/e2e-v2/cases/storage/opensearch/opensearch.yml Configures OpenSearch SSL/TLS with client certificate authentication
test/e2e-v2/cases/storage/opensearch/internal_users.yml Defines internal admin user for OpenSearch security
test/e2e-v2/cases/storage/opensearch/generate-certs.sh Shell script to generate test certificates (CA, node, admin, client)
test/e2e-v2/cases/storage/opensearch/docker-compose.yml E2E test setup with SSL-enabled OpenSearch and client certificate configuration
test/e2e-v2/cases/storage/opensearch/clientcert_config.yml OpenSearch security configuration for client certificate authentication
test/e2e-v2/cases/storage/opensearch/certs/*.pem Generated SSL certificates and keystores for testing
oap-server/server-storage-plugin/.../StorageModuleElasticsearchProvider.java Adds keystore validation and file monitoring for client certificates
oap-server/server-storage-plugin/.../StorageModuleElasticsearchConfig.java Adds keyStorePath and keyStorePass configuration properties
oap-server/server-starter/src/main/resources/application.yml Exposes new keystore configuration with environment variable support
oap-server/server-library/library-elasticsearch-client/.../ElasticSearchIT.java Adds test for ElasticSearch client builder functionality
oap-server/server-library/library-elasticsearch-client/.../ElasticSearchBuilder.java Implements mutual TLS with keystore/truststore loading and certificate logging
oap-server/server-library/library-client/.../ElasticSearchIT.java Updates test constructor calls with new keystore parameters
oap-server/server-library/library-client/.../ElasticSearchClient.java Adds keystore parameters and conditional configuration logic
oap-server-bom/pom.xml Upgrades Armeria to 1.34.2 for enhanced SSL/TLS support
dist-material/release-docs/LICENSE Updates license attributions for upgraded dependencies
.licenserc.yaml Updates dependency versions in license configuration
.github/workflows/skywalking.yaml Removes OpenSearch 1.1.0 from E2E tests (likely due to SSL incompatibility)

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@wu-sheng
Copy link
Member

wu-sheng commented Jan 4, 2026

Please update the elastic/opensearch storage docs about how to use different auth in different servers.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 27 out of 29 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

We support and tested the following versions of OpenSearch:

- 1.1.0, 1.3.10
- 1.3.10
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we remove the support of 1.1.0, or just because of not been tested?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we remove the support of 1.1.0, or just because of not been tested?

We just remove it from the test matrix

@wu-sheng wu-sheng added feature New feature dependencies Pull requests that update a dependency file labels Jan 5, 2026
@wu-sheng wu-sheng added this to the 10.4.0 milestone Jan 5, 2026
@wu-sheng wu-sheng changed the title feat: support open search client cert auth feat: support opensearch client cert auth Jan 5, 2026
@wu-sheng wu-sheng merged commit 5328e3c into apache:master Jan 5, 2026
349 of 352 checks passed
@kezhenxu94 kezhenxu94 deleted the opensearchclientauth branch January 5, 2026 08:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file feature New feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants