Skip to content

CAMEL-23314: camel-opensearch - add SSLContextParameters support for TLS configuration#22578

Merged
oscerd merged 3 commits intoapache:mainfrom
oscerd:ci-issue-CAMEL-23314
Apr 13, 2026
Merged

CAMEL-23314: camel-opensearch - add SSLContextParameters support for TLS configuration#22578
oscerd merged 3 commits intoapache:mainfrom
oscerd:ci-issue-CAMEL-23314

Conversation

@oscerd
Copy link
Copy Markdown
Contributor

@oscerd oscerd commented Apr 13, 2026

Summary

Adds SSLContextParameters support to camel-opensearch, following the same pattern as other Camel components that expose TLS configuration (camel-vertx-http, camel-kafka, etc.). Users can now configure TLS protocols, cipher suites, named groups, and signature schemes instead of relying solely on the CA certificate path.

Changes

  • OpensearchConfiguration - new sslContextParameters URI option (label security).
  • OpensearchComponent - now implements SSLContextParametersAware; exposes sslContextParameters and useGlobalSslContextParameters at component level. Propagates the component-level value to the endpoint configuration, falling back to the global SSLContextParameters when useGlobalSslContextParameters=true.
  • OpensearchProducer - the SSL setup in createClient() now prefers SSLContextParameters (via createSSLContext(camelContext)) when configured; falls back to certificatePath (existing behaviour), and finally to SSLContext.getDefault().

The existing certificate-path-only configuration continues to work as a fallback.

Acceptance Criteria (from CAMEL-23314)

  • Component supports SSLContextParameters configuration
  • Named groups and signature schemes from SSLContextParameters are applied to TLS connections (via the underlying SSLContext)
  • Existing certificate-path-only configuration still works as a fallback

Test plan

  • New `OpensearchSslContextParametersTest` (4 cases):
    • Configuration property round-trip
    • Component-level `SSLContextParameters` propagates to endpoint configuration
    • Global `SSLContextParameters` is used when `useGlobalSslContextParameters=true`
    • Component-level explicit value wins over the global one
  • `mvn test` - 4/4 pass
  • `mvn -DskipTests install` - catalog metadata regenerated (opensearch.json, configurers, endpoint URI factory)
  • CI will run the integration tests (require an OpenSearch container)

Claude Code on behalf of Andrea Cosentino

…TLS configuration

Signed-off-by: Andrea Cosentino <ancosen@gmail.com>
@oscerd oscerd requested review from orpiske and squakez April 13, 2026 08:39
@github-actions
Copy link
Copy Markdown
Contributor

🌟 Thank you for your contribution to the Apache Camel project! 🌟
🤖 CI automation will test this PR automatically.

🐫 Apache Camel Committers, please review the following items:

  • First-time contributors require MANUAL approval for the GitHub Actions to run
  • You can use the command /component-test (camel-)component-name1 (camel-)component-name2.. to request a test from the test bot although they are normally detected and executed by CI.
  • You can label PRs using skip-tests and test-dependents to fine-tune the checks executed by this PR.
  • Build and test logs are available in the summary page. Only Apache Camel committers have access to the summary.

⚠️ Be careful when sharing logs. Review their contents before sharing them publicly.

…tions

Signed-off-by: Andrea Cosentino <ancosen@gmail.com>
…tions

Signed-off-by: Andrea Cosentino <ancosen@gmail.com>
@github-actions
Copy link
Copy Markdown
Contributor

🧪 CI tested the following changed modules:

  • catalog/camel-catalog
  • components/camel-opensearch
  • dsl/camel-componentdsl
  • dsl/camel-endpointdsl
All tested modules (10 modules)
  • Camel :: Catalog :: Camel Catalog
  • Camel :: Component DSL
  • Camel :: Endpoint DSL
  • Camel :: JBang :: MCP
  • Camel :: JBang :: Plugin :: Route Parser
  • Camel :: JBang :: Plugin :: Validate
  • Camel :: Launcher :: Container
  • Camel :: OpenSearch Java API Client
  • Camel :: YAML DSL :: Validator
  • Camel :: YAML DSL :: Validator Maven Plugin

⚙️ View full build and test results

@oscerd oscerd merged commit c30964c into apache:main Apr 13, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants