Skip to content

CAMEL-25675: camel-hashicorp-vault - AWS IAM, Azure managed identity and GCP Compute Engine logins - #29708

Open
oscerd wants to merge 2 commits into
apache:mainfrom
oscerd:feature/CAMEL-25675-hashicorp-vault-cloud-logins
Open

oscerd wants to merge 2 commits into
apache:mainfrom
oscerd:feature/CAMEL-25675-hashicorp-vault-cloud-logins

Conversation

@oscerd

@oscerd oscerd commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Third and last PR for CAMEL-25675, after #29235 (AppRole, Kubernetes, JWT, token renewal) and #29619 (TLS and the cert login). It adds the cloud logins to the hashicorp-vault endpoint, the hashicorp: properties function and the secret refresh task, and the follow-ups of the review of #29619.

Cloud logins (authentication=), each with role and authMountPath:

  • aws-iam: Spring Vault's AwsIamAuthentication, with the credentials of the AWS SDK default chain (environment, system properties, web identity such as IRSA on EKS, profile, ECS container, EC2 instance profile). The AWS SDK is an optional dependency (software.amazon.awssdk:auth, ${aws-java-sdk2-version}): the login is in a class of its own, loaded only for aws-iam, and the validation says which dependency to add when it is missing. New options: awsRegion (the signing region), awsStsEndpoint (default the global https://sts.amazonaws.com/, which takes requests signed for us-east-1) and awsIamServerId (the X-Vault-AWS-IAM-Server-ID header). Without awsRegion and awsStsEndpoint, the request is signed for us-east-1, as vault login -method=aws does; with a regional endpoint and no awsRegion, for the region of the SDK default chain. role is optional: without it, Vault takes the role named as the IAM principal. A web identity token (IRSA on EKS) also needs software.amazon.awssdk:sts (an SSO profile sso and ssooidc): without it the SDK falls through to other credentials, so the validation fails when AWS_WEB_IDENTITY_TOKEN_FILE is set and the sts module is missing. The credentials provider is closed with the client.
  • azure-msi: Spring Vault's AzureMsiAuthentication, with the token of the managed identity for azureResource, which must be the resource of Vault's Azure login. The default is https://management.azure.com/, as in Vault's Azure login documentation, rather than Spring Vault's https://vault.hashicorp.com. azureClientId chooses a user-assigned identity. A pod of AKS with workload identity gets its identity as a token in a file rather than from the instance metadata service: the docs point it to the jwt login with jwtFile.
  • gcp-gce: Spring Vault's GcpComputeAuthentication, with the identity token of the default service account of the instance.
  • The Azure instance metadata service and the Compute Engine metadata server are called without a proxy, as both clouds require.

gcp-iam is left out: it needs google-cloud-iamcredentials (gRPC, not managed in the parent POM) and only works with a service account key file.

Follow-ups of the review of #29619

  • The role, authMountPath and keyStore option descriptions now cover cert and PKCS#1, and the cloud logins.
  • The TLS section says that the stores are read when the client is created, so a renewed client certificate is used after a restart.
  • A PKCS12 or JKS trust store that reads as empty fails with a hint about trustStorePassword: a keytool-made PKCS12 trust store read without its password does come back empty (tested).
  • A test with an EC key in PKCS#8, and the "Java 17" comment of HashicorpVaultTls.

Tests

  • HashicorpVaultCloudLoginTest: the aws-iam login against the fake Vault, with credentials and region from the AWS SDK system properties. It checks the request URL, the body, the server ID header and the region of the signature: us-east-1 with the global endpoint even when the SDK region is eu-west-1, the SDK region with a regional endpoint, and awsRegion when set. Also the login without role, and the validation error for a web identity token without the sts module. The azure-msi and gcp-gce options (token URI with resource and client ID, role, mount path, service account), and creating and closing their clients without reaching the cloud. The role is required by the three logins.
  • HashicorpVaultTlsTest: the EC key and the empty trust store. HashicorpVaultClientSettingsTest: the cloud settings from the environment variables and the configuration.
  • All 79 unit tests pass, and all 38 integration tests of the module pass against mirror.gcr.io/hashicorp/vault:2.2.1 (no new integration test: the cloud logins need a cloud identity). Full reactor build (mvn clean install -DskipTests -DskipITs) with the regenerated files committed.

CAMEL-25675 was resolved when #29619 was merged; it is reopened for this last PR.

Claude Code on behalf of oscerd

🤖 Generated with Claude Code

…and GCP Compute Engine logins

The endpoint, the hashicorp: properties function and the secret refresh task can log in with the
identity the cloud gives the application: aws-iam (the AWS SDK default credentials chain, with
awsRegion, awsStsEndpoint and awsIamServerId; the AWS SDK auth module is an optional dependency, used
only by this login), azure-msi (the managed identity token for azureResource, by default
https://management.azure.com/, and azureClientId for a user-assigned identity) and gcp-gce (the
service account of the Compute Engine instance). The metadata services are called without a proxy.

The review of the TLS change: the role, authMountPath and keyStore descriptions cover the cert login
and PKCS#1, the docs say the stores are read when the client is created, a trust store that reads as
empty fails with a hint about its password, and a test reads an EC key.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Andrea Cosentino <ancosen@gmail.com>
@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.

@gnodet-bot gnodet-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM. No issues found.

This review was generated by an AI agent, Hermès on behalf of @gnodet.

@davsclaus davsclaus left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

TL;DR: a clean finish to CAMEL-25675 and the library wiring checks out. Two aws-iam points (the IRSA dependency in the docs, and the default signing region) are worth fixing before merge, plus a couple of small suggestions.

I checked the wiring against Spring Vault 4.1.1 and AWS SDK 2.57.11: the VaultClient/RestClient constructors exist; the Azure token URI is passed as a URI, so the encoded resource/client_id values are not encoded twice; the role assertions of the Azure and GCP builders match our validation; and the credentials provider is closed on every path, including the failure paths of create(). The five new options are carried consistently through the endpoint, camel-api (with @since 4.24), camel-main, the env vars and the generated files, and none of them needs secret=true. Running the aws-iam test as a real signed login against the fake Vault is a nice touch.

1. IRSA needs the sts module (important). The Cloud logins section (hashicorp-vault-component.adoc around line 146) and the Javadoc of HashicorpVaultAwsIam list a web identity token (IRSA on EKS) in the default chain, with only software.amazon.awssdk:auth added. In the SDK, the web identity provider loads StsWebIdentityCredentialsProviderFactory from the sts module by reflection ("To use web identity tokens, the 'sts' service module must be on the class path"). Without software.amazon.awssdk:sts, the default chain skips web identity and continues to the container or instance-profile providers, so on EKS the app can log in to Vault as the node's role rather than the pod's. Could we document sts for web identity (and sso/ssooidc for SSO profiles)? Optionally, a hint in the validation when AWS_WEB_IDENTITY_TOKEN_FILE is set and the sts class is missing.

2. Default signing region vs the global endpoint (important / question). When awsRegion is not set, HashicorpVaultAwsIam.options keeps Spring Vault's default region provider chain, while the endpoint stays the global https://sts.amazonaws.com/. As the docs say, the global endpoint wants us-east-1 signatures. But AWS_REGION is set in exactly the places this login targets (the EKS IRSA webhook, ECS, Lambda), so the default config would sign for e.g. eu-west-1 and STS would refuse the login; where no region can be resolved, the chain throws at login. Vault's own vault login -method=aws defaults the region to us-east-1. What about signing for us-east-1 when neither awsRegion nor awsStsEndpoint is set? The default test (HashicorpVaultCloudLoginTest.java:113) sets aws.region=us-east-1, so it passes either way; a case with another SDK region would cover this. Changing the default after the release would need an upgrade-guide entry, so now is a good time.

3. aws-iam without a role (suggestion). HashicorpVaultClient.java:200 requires role for aws-iam, but Spring Vault leaves it out of the login body when empty, and Vault then uses the IAM principal's friendly name as the role. It could be optional, as for jwt. Azure and GCP do need it.

4. Docs example (suggestion). A short camel.vault.hashicorp.* example in the Cloud logins section (e.g. authentication = aws-iam, role, awsRegion) would match the TLS and kubernetes sections.

Nits: the kubernetes case at HashicorpVaultClient.java:178 could use the new validateRole helper; the env-var sentence around hashicorp-vault-component.adoc:461 is not wrapped like the rest of the page.

Claude Code on behalf of davsclaus. This review was generated by an AI agent and may contain inaccuracies; please verify all suggestions before applying.

@github-actions

Copy link
Copy Markdown
Contributor

🧪 CI tested the following changed modules:

  • catalog/camel-catalog
  • components/camel-hashicorp-vault
  • core/camel-api
  • core/camel-main
  • docs
  • dsl/camel-endpointdsl

ℹ️ Dependent modules were not tested because the total number of affected modules exceeded the threshold (50). Use the test-dependents label to force testing all dependents.


🔬 Scalpel shadow comparison — Scalpel: 587 of 723 tested, 0 compile-only — current: 587 all tested

Maveniverse Scalpel detected 587 affected modules (current approach: 587).

Skip-tests mode would test 587 modules (6 direct + 29 downstream), skip tests for 0 (generated code, meta-modules)

Modules Scalpel would test (587)
  • archetypes ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-a2a ← depends on affected reactor module org.apache.camel:camel-platform-http-vertx
  • camel-activemq ← depends on affected reactor module org.apache.camel:camel-test-infra-artemis
  • camel-activemq6 ← depends on affected reactor module org.apache.camel:camel-test-infra-artemis
  • camel-ai-observability ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-ai-observability-api ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-ai-parent ← downstream of org.apache.camel:camel-core-model
  • camel-ai-prompt ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-ai-resource ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-ai-tool ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-alibaba-common ← depends on affected reactor module org.apache.camel:camel-support
  • camel-alibaba-eventbridge ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-alibaba-fc ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-alibaba-kms ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-alibaba-mns ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-alibaba-oss ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-alibaba-ots ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-alibaba-parent ← downstream of org.apache.camel:camel-core-model
  • camel-alibaba-sls ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-alibaba-sms ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-amqp ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-api ← core/camel-api/src/main/java/org/apache/camel/vault/HashicorpVaultConfiguration.java
  • camel-api-component-maven-plugin ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-apicurio-registry ← depends on affected reactor module org.apache.camel:camel-mock
  • camel-arangodb ← depends on affected reactor module org.apache.camel:camel-test-infra-core
  • camel-archetype-api-component ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-archetype-component ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-archetype-dataformat ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-archetype-java ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-archetype-main ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-as2 ← depends on affected reactor module org.apache.camel:camel-jetty
  • camel-as2-api ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-as2-parent ← downstream of org.apache.camel:camel-core-model
  • camel-asn1 ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-asterisk ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-atmosphere-websocket ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-atom ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-attachments ← depends on affected reactor module org.apache.camel:camel-bean
  • camel-avro ← depends on affected reactor module org.apache.camel:camel-spring-xml
  • camel-avro-rpc ← depends on affected reactor module org.apache.camel:camel-spring-xml
  • camel-avro-rpc-jetty ← depends on affected reactor module org.apache.camel:camel-api
  • camel-avro-rpc-parent ← downstream of org.apache.camel:camel-core-model
  • camel-avro-rpc-spi ← downstream of org.apache.camel:camel-core-model
  • camel-aws-bedrock ← depends on affected reactor module org.apache.camel:camel-base64
  • camel-aws-cloudtrail ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws-common ← depends on affected reactor module org.apache.camel:camel-support
  • camel-aws-config ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-aws-parameter-store ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws-parent ← downstream of org.apache.camel:camel-core-model
  • camel-aws-secrets-manager ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws-security-hub ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-athena ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-comprehend ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-cw ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-ddb ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-ec2 ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-ecs ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-eks ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-eventbridge ← depends on affected reactor module org.apache.camel:camel-aws2-sqs
  • camel-aws2-iam ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-kinesis ← depends on affected reactor module org.apache.camel:camel-core-catalog
  • camel-aws2-kms ← depends on affected reactor module org.apache.camel:camel-core-catalog
  • camel-aws2-lambda ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-mq ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-msk ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-polly ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-redshift ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-rekognition ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-s3 ← depends on affected reactor module org.apache.camel:camel-zip-deflater
  • camel-aws2-s3-vectors ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-ses ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-sns ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-sqs ← depends on affected reactor module org.apache.camel:camel-test-dst
  • camel-aws2-step-functions ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-sts ← depends on affected reactor module org.apache.camel:camel-core-catalog
  • camel-aws2-textract ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-timestream ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-aws2-transcribe ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-aws2-translate ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-azure-common ← downstream of org.apache.camel:camel-core-model
  • camel-azure-cosmosdb ← depends on affected reactor module org.apache.camel:camel-health
  • camel-azure-eventgrid ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-azure-eventhubs ← depends on affected reactor module org.apache.camel:camel-test-dst
  • camel-azure-files ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-azure-functions ← depends on affected reactor module org.apache.camel:camel-test-infra-core
  • camel-azure-iothub ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-azure-key-vault ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-azure-parent ← downstream of org.apache.camel:camel-core-model
  • camel-azure-schema-registry ← depends on affected reactor module org.apache.camel:camel-mock
  • camel-azure-servicebus ← depends on affected reactor module org.apache.camel:camel-test-infra-core
  • camel-azure-storage-blob ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-azure-storage-datalake ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-azure-storage-queue ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-barcode ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-base ← depends on affected reactor module org.apache.camel:camel-support
  • camel-base-engine ← depends on affected reactor module org.apache.camel:camel-support
  • camel-base64 ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-bean ← depends on affected reactor module org.apache.camel:camel-support
  • camel-bean-validator ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-beanio ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-bindy ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-bonita ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-box ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-box-api ← depends on affected reactor module org.apache.camel:camel-api
  • camel-box-parent ← downstream of org.apache.camel:camel-core-model
  • camel-braintree ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-browse ← depends on affected reactor module org.apache.camel:camel-support
  • camel-caffeine ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-camunda ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-cassandraql ← depends on affected reactor module org.apache.camel:camel-test-infra-core
  • camel-catalog-common ← depends on affected reactor module org.apache.camel:camel-support
  • camel-cbor ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-chaos ← depends on affected reactor module org.apache.camel:camel-sanitizer
  • camel-chatscript ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-chunk ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-cli-connector ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-cli-debug ← depends on affected reactor module org.apache.camel:camel-cli-connector
  • camel-clickhouse ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-clickup ← depends on affected reactor module org.apache.camel:camel-netty-http
  • camel-cloudevents ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-cluster ← depends on affected reactor module org.apache.camel:camel-support
  • camel-cm-sms ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-coap ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-cometd ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-console ← depends on affected reactor module org.apache.camel:camel-management
  • camel-consul ← depends on affected reactor module org.apache.camel:camel-spring-main
  • camel-controlbus ← depends on affected reactor module org.apache.camel:camel-support
  • camel-core ← depends on affected reactor module org.apache.camel:camel-sanitizer
  • camel-core-all ← depends on affected reactor module org.apache.camel:camel-xml-jaxp
  • camel-core-catalog ← depends on affected reactor module org.apache.camel:camel-api
  • camel-core-engine ← depends on affected reactor module org.apache.camel:camel-support
  • camel-core-languages ← depends on affected reactor module org.apache.camel:camel-support
  • camel-core-model ← depends on affected reactor module org.apache.camel:camel-support
  • camel-core-processor ← depends on affected reactor module org.apache.camel:camel-support
  • camel-core-reifier ← depends on affected reactor module org.apache.camel:camel-core-processor
  • camel-core-xml ← depends on affected reactor module org.apache.camel:camel-core-engine
  • camel-couchbase ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-couchdb ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-cron ← depends on affected reactor module org.apache.camel:camel-timer
  • camel-crypto ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-crypto-pgp ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-csv ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-cxf-common ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-cxf-parent ← downstream of org.apache.camel:camel-core-model
  • camel-cxf-rest ← depends on affected reactor module org.apache.camel:camel-undertow
  • camel-cxf-soap ← depends on affected reactor module org.apache.camel:camel-undertow
  • camel-cxf-spring-common ← depends on affected reactor module org.apache.camel:camel-http-base
  • camel-cxf-spring-rest ← depends on affected reactor module org.apache.camel:camel-undertow
  • camel-cxf-spring-soap ← depends on affected reactor module org.apache.camel:camel-undertow
  • camel-cxf-spring-transport ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-cxf-transport ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-cyberark-vault ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-dapr ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-dataformat ← depends on affected reactor module org.apache.camel:camel-support
  • camel-dataset ← depends on affected reactor module org.apache.camel:camel-mock
  • camel-datasonnet ← depends on affected reactor module org.apache.camel:camel-core
  • camel-dataweave ← downstream of org.apache.camel:camel-core-model
  • camel-debezium-common ← depends on affected reactor module org.apache.camel:camel-support
  • camel-debezium-common-parent ← depends on affected reactor module org.apache.camel:camel-support
  • camel-debezium-db2 ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-debezium-maven-plugin ← depends on affected reactor module org.apache.camel:camel-support
  • camel-debezium-mongodb ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-debezium-mysql ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-debezium-oracle ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-debezium-parent ← downstream of org.apache.camel:camel-core-model
  • camel-debezium-postgres ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-debezium-sqlserver ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-debug ← depends on affected reactor module org.apache.camel:camel-xml-io
  • camel-dfdl ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-dhis2 ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-dhis2-api ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-dhis2-parent ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-diagram ← depends on affected reactor module org.apache.camel:camel-management
  • camel-direct ← depends on affected reactor module org.apache.camel:camel-support
  • camel-disruptor ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-djl ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-dns ← depends on affected reactor module org.apache.camel:camel-log
  • camel-docker ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-docling ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-drill ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-dropbox ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-dsl-modeline ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-dsl-support ← depends on affected reactor module org.apache.camel:camel-core-model
  • camel-duckdb ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-dynamic-router ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-ehcache ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-elasticsearch ← depends on affected reactor module org.apache.camel:camel-core-catalog
  • camel-elasticsearch-rest-client ← depends on affected reactor module org.apache.camel:camel-core-catalog
  • camel-event ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-exec ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-fastjson ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-fhir ← depends on affected reactor module org.apache.camel:camel-hl7
  • camel-fhir-api ← depends on affected reactor module org.apache.camel:camel-support
  • camel-fhir-parent ← downstream of org.apache.camel:camel-core-model
  • camel-file ← depends on affected reactor module org.apache.camel:camel-core-engine
  • camel-file-watch ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-flatpack ← depends on affected reactor module org.apache.camel:camel-direct
  • camel-flink ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-flowable ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-fop ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-fory ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-freemarker ← depends on affected reactor module org.apache.camel:camel-management
  • camel-ftp ← depends on affected reactor module org.apache.camel:camel-spring-xml
  • camel-ftp-common ← depends on affected reactor module org.apache.camel:camel-core-catalog
  • camel-geocoder ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-git ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-github2 ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-google-bigquery ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-google-calendar ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-google-common ← depends on affected reactor module org.apache.camel:camel-core
  • camel-google-drive ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-google-firestore ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-google-functions ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-google-mail ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-google-parent ← downstream of org.apache.camel:camel-core-model
  • camel-google-pubsub ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-google-secret-manager ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-google-sheets ← depends on affected reactor module org.apache.camel:camel-mock
  • camel-google-speech-to-text ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-google-storage ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-google-text-to-speech ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-google-vertexai ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-google-vision ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-graphql ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-grok ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-groovy ← depends on affected reactor module org.apache.camel:camel-main
  • camel-grpc ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-gson ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-hashicorp-vault ← components/camel-hashicorp-vault/src/generated/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultEndpointConfigurer.java, components/camel-hashicorp-vault/src/generated/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultEndpointUriFactory.java, components/camel-hashicorp-vault/src/generated/resources/META-INF/org/apache/camel/component/hashicorp/vault/hashicorp-vault.json, components/camel-hashicorp-vault/src/main/docs/hashicorp-vault-component.adoc, components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultAuthentication.java, components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultAwsIam.java, components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultClient.java, components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultClientSettings.java, components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultConfiguration.java, components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultEndpoint.java, components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultPropertiesFunction.java, components/camel-hashicorp-vault/src/main/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultTls.java, components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultClientSettingsTest.java, components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultClientTest.java, components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultCloudLoginTest.java, components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/HashicorpVaultTlsTest.java, components/camel-hashicorp-vault/src/test/resources/org/apache/camel/component/hashicorp/vault/tls/client-ec.pem, own pom components/camel-hashicorp-vault/pom.xml changed
  • camel-hazelcast ← depends on affected reactor module org.apache.camel:camel-spring-main
  • camel-health ← depends on affected reactor module org.apache.camel:camel-support
  • camel-hibernate ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-hivemq ← depends on affected reactor module org.apache.camel:camel-test-infra-core
  • camel-hl7 ← depends on affected reactor module org.apache.camel:camel-core
  • camel-http ← depends on affected reactor module org.apache.camel:camel-rest
  • camel-http-base ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-http-common ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-huawei-parent ← downstream of org.apache.camel:camel-core-model
  • camel-huaweicloud-common ← depends on affected reactor module org.apache.camel:camel-support
  • camel-huaweicloud-dms ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-huaweicloud-frs ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-huaweicloud-functiongraph ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-huaweicloud-iam ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-huaweicloud-imagerecognition ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-huaweicloud-obs ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-huaweicloud-smn ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-huggingface ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-ibm-cos ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-ibm-parent ← downstream of org.apache.camel:camel-core-model
  • camel-ibm-secrets-manager ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-ibm-watson-discovery ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-ibm-watson-language ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-ibm-watson-speech-to-text ← depends on affected reactor module org.apache.camel:camel-ibm-watson-text-to-speech
  • camel-ibm-watson-text-to-speech ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-ibm-watsonx-ai ← depends on affected reactor module org.apache.camel:camel-vertx-websocket
  • camel-ibm-watsonx-data ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-ical ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-iggy ← depends on affected reactor module org.apache.camel:camel-test-infra-core
  • camel-ignite ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-infinispan ← depends on affected reactor module org.apache.camel:camel-stub
  • camel-infinispan-common ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-infinispan-embedded ← depends on affected reactor module org.apache.camel:camel-log
  • camel-infinispan-parent ← downstream of org.apache.camel:camel-core-model
  • camel-influxdb ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-influxdb2 ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-iso8583 ← depends on affected reactor module org.apache.camel:camel-groovy
  • camel-jackson ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-jackson-avro ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-jackson-protobuf ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-jackson3 ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-jackson3-avro ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-jackson3-protobuf ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-jackson3xml ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-jacksonxml ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-jactl ← depends on affected reactor module org.apache.camel:camel-core
  • camel-jandex ← depends on affected reactor module org.apache.camel:camel-mock
  • camel-jasypt ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-java-io ← depends on affected reactor module org.apache.camel:camel-direct
  • camel-java-joor-dsl ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-javascript ← depends on affected reactor module org.apache.camel:camel-core
  • camel-jaxb ← depends on affected reactor module org.apache.camel:camel-spring-xml
  • camel-jbang-console ← depends on affected reactor module org.apache.camel:camel-management
  • camel-jbang-mcp ← depends on affected reactor module org.apache.camel:camel-chaos
  • camel-jbang-plugin-mcp ← depends on affected reactor module org.apache.camel:camel-jbang-core
  • camel-jbang-plugin-tui ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-jbang-plugin-validate ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-jbang-run ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-jcache ← depends on affected reactor module org.apache.camel:camel-core-languages
  • camel-jcr ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-jdbc ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-jetty ← depends on affected reactor module org.apache.camel:camel-main
  • camel-jetty-common ← depends on affected reactor module org.apache.camel:camel-jaxb
  • camel-jfr ← depends on affected reactor module org.apache.camel:camel-mock
  • camel-jgroups ← depends on affected reactor module org.apache.camel:camel-master
  • camel-jgroups-raft ← depends on affected reactor module org.apache.camel:camel-master
  • camel-jira ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-jms ← depends on affected reactor module org.apache.camel:camel-test-infra-artemis
  • camel-jmx ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-jolt ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-jooq ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-joor ← depends on affected reactor module org.apache.camel:camel-core
  • camel-jpa ← depends on affected reactor module org.apache.camel:camel-spring-xml
  • camel-jq ← depends on affected reactor module org.apache.camel:camel-core
  • camel-jsch ← depends on affected reactor module org.apache.camel:camel-ssh
  • camel-jslt ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-json-validator ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-jsonapi ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-jsonata ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-jsonb ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-jsonpath ← depends on affected reactor module org.apache.camel:camel-core
  • camel-jsoup ← depends on affected reactor module org.apache.camel:camel-mock
  • camel-jt400 ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-jta ← depends on affected reactor module org.apache.camel:camel-sql
  • camel-jte ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-kafka ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-kafka-common ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-kafka-share ← depends on affected reactor module org.apache.camel:camel-test-dst
  • camel-kamelet ← depends on affected reactor module org.apache.camel:camel-main
  • camel-kamelet-main-support ← depends on affected reactor module org.apache.camel:camel-main
  • camel-keycloak ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-knative ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-knative-api ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-knative-http ← depends on affected reactor module org.apache.camel:camel-http
  • camel-knative-parent ← downstream of org.apache.camel:camel-core-model
  • camel-kserve ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-kubernetes ← depends on affected reactor module org.apache.camel:camel-log
  • camel-kudu ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-langchain4j-agent ← depends on affected reactor module org.apache.camel:camel-telemetry
  • camel-langchain4j-agent-api ← depends on affected reactor module org.apache.camel:camel-api
  • camel-langchain4j-chat ← depends on affected reactor module org.apache.camel:camel-telemetry
  • camel-langchain4j-core ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-langchain4j-embeddings ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-langchain4j-embeddingstore ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-langchain4j-embeddingstore-api ← depends on affected reactor module org.apache.camel:camel-api
  • camel-langchain4j-ingest ← depends on affected reactor module org.apache.camel:camel-docling
  • camel-langchain4j-tokenizer ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-langchain4j-web-search ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-language ← depends on affected reactor module org.apache.camel:camel-support
  • camel-launcher-container ← depends on affected reactor module org.apache.camel:camel-launcher
  • camel-ldap ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-ldif ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-log ← depends on affected reactor module org.apache.camel:camel-support
  • camel-lra ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-lucene ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-lumberjack ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-lzf ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-mail ← depends on affected reactor module org.apache.camel:camel-quartz
  • camel-mail-microsoft-oauth ← depends on affected reactor module org.apache.camel:camel-mail
  • camel-main ← core/camel-main/src/generated/java/org/apache/camel/main/HashicorpVaultConfigurationConfigurer.java, core/camel-main/src/generated/java/org/apache/camel/main/HashicorpVaultConfigurationPropertiesConfigurer.java, core/camel-main/src/generated/resources/META-INF/camel-main-configuration-metadata.json, core/camel-main/src/main/docs/main.adoc, core/camel-main/src/main/java/org/apache/camel/main/HashicorpVaultConfigurationProperties.java
  • camel-management ← depends on affected reactor module org.apache.camel:camel-sanitizer
  • camel-management-api ← depends on affected reactor module org.apache.camel:camel-api
  • camel-mapstruct ← depends on affected reactor module org.apache.camel:camel-mock
  • camel-master ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-maven-plugin ← depends on affected reactor module org.apache.camel:camel-spring-main
  • camel-mcp-server ← depends on affected reactor module org.apache.camel:camel-oauth
  • camel-mcp-server-api ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-mdc ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-metrics ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-micrometer ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-micrometer-observability ← depends on affected reactor module org.apache.camel:camel-undertow
  • camel-micrometer-prometheus ← depends on affected reactor module org.apache.camel:camel-platform-http-main
  • camel-microprofile-config ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-microprofile-fault-tolerance ← depends on affected reactor module org.apache.camel:camel-management
  • camel-microprofile-health ← depends on affected reactor module org.apache.camel:camel-main
  • camel-microprofile-parent ← downstream of org.apache.camel:camel-core-model
  • camel-milo ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-milvus ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-mina ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-mina-sftp ← depends on affected reactor module org.apache.camel:camel-core-languages
  • camel-minio ← depends on affected reactor module org.apache.camel:camel-core-catalog
  • camel-mllp ← depends on affected reactor module org.apache.camel:camel-test-infra-artemis
  • camel-mock ← depends on affected reactor module org.apache.camel:camel-support
  • camel-mongodb ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-mongodb-gridfs ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-mtconnect ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-mustache ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-mvel ← depends on affected reactor module org.apache.camel:camel-core
  • camel-mybatis ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-nats ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-neo4j ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-netty ← depends on affected reactor module org.apache.camel:camel-main
  • camel-netty-http ← depends on affected reactor module org.apache.camel:camel-jetty
  • camel-oaipmh ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-oauth ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-observability-services ← depends on affected reactor module org.apache.camel:camel-management
  • camel-observation ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-ocsf ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-odata ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-ognl ← depends on affected reactor module org.apache.camel:camel-core
  • camel-olingo2 ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-olingo2-api ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-olingo2-parent ← downstream of org.apache.camel:camel-core-model
  • camel-olingo4 ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-olingo4-api ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-olingo4-parent ← downstream of org.apache.camel:camel-core-model
  • camel-once ← depends on affected reactor module org.apache.camel:camel-groovy
  • camel-opa ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-openai ← depends on affected reactor module org.apache.camel:camel-jackson
  • camel-openapi-java ← depends on affected reactor module org.apache.camel:camel-management
  • camel-openapi-rest-dsl-generator ← depends on affected reactor module org.apache.camel:camel-core-engine
  • camel-openapi-validator ← depends on affected reactor module org.apache.camel:camel-platform-http-vertx
  • camel-openfeature ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-openfga ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-opensearch ← depends on affected reactor module org.apache.camel:camel-test-infra-core
  • camel-openstack ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-opentelemetry ← depends on affected reactor module org.apache.camel:camel-undertow
  • camel-opentelemetry-metrics ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-opentelemetry2 ← depends on affected reactor module org.apache.camel:camel-undertow
  • camel-optaplanner ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-paho ← depends on affected reactor module org.apache.camel:camel-test-infra-artemis
  • camel-paho-mqtt5 ← depends on affected reactor module org.apache.camel:camel-test-infra-artemis
  • camel-parquet-avro ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-pdf ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-pg-replication-slot ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-pgevent ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-pgvector ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-pinecone ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-platform-http ← depends on affected reactor module org.apache.camel:camel-http
  • camel-platform-http-jolokia ← depends on affected reactor module org.apache.camel:camel-core
  • camel-platform-http-main ← depends on affected reactor module org.apache.camel:camel-openapi-java
  • camel-platform-http-vertx ← depends on affected reactor module org.apache.camel:camel-vertx-http
  • camel-plc4x ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-pqc ← depends on affected reactor module org.apache.camel:camel-crypto
  • camel-printer ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-protobuf ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-pubnub ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-pulsar ← depends on affected reactor module org.apache.camel:camel-test-dst
  • camel-python ← depends on affected reactor module org.apache.camel:camel-core
  • camel-python3 ← depends on affected reactor module org.apache.camel:camel-core
  • camel-qdrant ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-quartz ← depends on affected reactor module org.apache.camel:camel-management
  • camel-quickfix ← depends on affected reactor module org.apache.camel:camel-jetty
  • camel-quickjs ← depends on affected reactor module org.apache.camel:camel-core
  • camel-reactive-streams ← depends on affected reactor module org.apache.camel:camel-management
  • camel-reactor ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-redis ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-ref ← depends on affected reactor module org.apache.camel:camel-support
  • camel-resilience4j ← depends on affected reactor module org.apache.camel:camel-management
  • camel-resilience4j-micrometer ← depends on affected reactor module org.apache.camel:camel-management
  • camel-resourceresolver-github ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-rest ← depends on affected reactor module org.apache.camel:camel-core-languages
  • camel-rest-openapi ← depends on affected reactor module org.apache.camel:camel-vertx-http
  • camel-rest-postman ← depends on affected reactor module org.apache.camel:camel-vertx-http
  • camel-restdsl-openapi-plugin ← depends on affected reactor module org.apache.camel:camel-jetty
  • camel-robotframework ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-rocketmq ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-rss ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-rxjava ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-saga ← depends on affected reactor module org.apache.camel:camel-support
  • camel-salesforce ← depends on affected reactor module org.apache.camel:camel-core-catalog
  • camel-salesforce-codegen ← depends on affected reactor module org.apache.camel:camel-salesforce
  • camel-salesforce-maven-plugin ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-salesforce-parent ← downstream of org.apache.camel:camel-core-model
  • camel-sanitizer ← depends on affected reactor module org.apache.camel:camel-core-model
  • camel-sap-netweaver ← depends on affected reactor module org.apache.camel:camel-velocity
  • camel-saxon ← depends on affected reactor module org.apache.camel:camel-core
  • camel-scheduler ← depends on affected reactor module org.apache.camel:camel-support
  • camel-schematron ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-seda ← depends on affected reactor module org.apache.camel:camel-support
  • camel-semantic ← depends on affected reactor module org.apache.camel:camel-management
  • camel-semantic-openai ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-semantic-typesafe-ai ← depends on affected reactor module org.apache.camel:camel-xml-io-dsl
  • camel-semantic-wolf-defender ← depends on affected reactor module org.apache.camel:camel-main
  • camel-servicenow ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-servicenow-maven-plugin ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-servicenow-parent ← downstream of org.apache.camel:camel-core-model
  • camel-servlet ← depends on affected reactor module org.apache.camel:camel-gson
  • camel-shell ← depends on affected reactor module org.apache.camel:camel-test-junit5
  • camel-shiro ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-sjms ← depends on affected reactor module org.apache.camel:camel-test-infra-artemis
  • camel-sjms2 ← depends on affected reactor module org.apache.camel:camel-test-infra-artemis
  • camel-slack ← depends on affected reactor module org.apache.camel:camel-test-dst
  • camel-smb ← depends on affected reactor module org.apache.camel:camel-test-infra-smb
  • camel-smooks ← depends on affected reactor module org.apache.camel:camel-attachments
  • camel-smpp ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-snakeyaml ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-snmp ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-soap ← depends on affected reactor module org.apache.camel:camel-cxf-soap
  • camel-solr ← depends on affected reactor module org.apache.camel:camel-test-infra-core
  • camel-spiffe ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-splunk-hec ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-spring ← depends on affected reactor module org.apache.camel:camel-cron
  • camel-spring-ai-chat ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-spring-ai-embeddings ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-spring-ai-image ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-spring-ai-parent ← downstream of org.apache.camel:camel-core-model
  • camel-spring-ai-vector-store ← depends on affected reactor module org.apache.camel:camel-spring-ai-embeddings
  • camel-spring-batch ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-spring-cloud-config ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-spring-jdbc ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-spring-ldap ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-spring-main ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-spring-parent ← downstream of org.apache.camel:camel-core-model
  • camel-spring-rabbitmq ← depends on affected reactor module org.apache.camel:camel-http
  • camel-spring-redis ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-spring-security ← depends on affected reactor module org.apache.camel:camel-core-xml
  • camel-spring-ws ← depends on affected reactor module org.apache.camel:camel-jaxb
  • camel-spring-xml ← depends on affected reactor module org.apache.camel:camel-cron
  • camel-sql ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-ssh ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-state-store ← depends on affected reactor module org.apache.camel:camel-mock
  • camel-state-store-parent ← downstream of org.apache.camel:camel-core-model
  • camel-stax ← depends on affected reactor module org.apache.camel:camel-jaxb
  • camel-stitch ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-stream ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-streamcaching-test ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-stringtemplate ← depends on affected reactor module org.apache.camel:camel-management
  • camel-stripe ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-stub ← depends on affected reactor module org.apache.camel:camel-core-languages
  • camel-support ← depends on affected reactor module org.apache.camel:camel-management-api
  • camel-swift ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-syslog ← depends on affected reactor module org.apache.camel:camel-mina
  • camel-tahu ← depends on affected reactor module org.apache.camel:camel-test-infra-core
  • camel-tarfile ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-telegram ← depends on affected reactor module org.apache.camel:camel-netty-http
  • camel-telemetry ← depends on affected reactor module org.apache.camel:camel-undertow
  • camel-telemetry-dev ← depends on affected reactor module org.apache.camel:camel-undertow
  • camel-tensorflow-serving ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-test-citrus ← depends on affected reactor module org.apache.camel:camel-direct
  • camel-test-dst ← depends on affected reactor module org.apache.camel:camel-direct
  • camel-test-infra-all ← depends on affected reactor module org.apache.camel:camel-test-infra-smb
  • camel-test-infra-artemis ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-test-infra-cli ← depends on affected reactor module org.apache.camel:camel-support
  • camel-test-infra-core ← depends on affected reactor module org.apache.camel:camel-core
  • camel-test-infra-smb ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-test-junit5 ← depends on affected reactor module org.apache.camel:camel-xml-jaxb
  • camel-test-junit6 ← depends on affected reactor module org.apache.camel:camel-xml-jaxb
  • camel-test-main-junit5 ← depends on affected reactor module org.apache.camel:camel-yaml-io
  • camel-test-main-junit6 ← depends on affected reactor module org.apache.camel:camel-yaml-io
  • camel-test-parent ← downstream of org.apache.camel:camel-core-model
  • camel-test-spring-junit5 ← depends on affected reactor module org.apache.camel:camel-management
  • camel-test-spring-junit6 ← depends on affected reactor module org.apache.camel:camel-management
  • camel-thrift ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-thymeleaf ← depends on affected reactor module org.apache.camel:camel-management
  • camel-tika ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-timer ← depends on affected reactor module org.apache.camel:camel-support
  • camel-tooling-maven ← depends on affected reactor module org.apache.camel:camel-support
  • camel-toon ← depends on affected reactor module org.apache.camel:camel-test-junit5
  • camel-tracing ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-twilio ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-twitter ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-typesafe-ai ← depends on affected reactor module org.apache.camel:camel-xml-io-dsl
  • camel-ubl ← depends on affected reactor module org.apache.camel:camel-test-junit5
  • camel-undertow ← depends on affected reactor module org.apache.camel:camel-openapi-java
  • camel-undertow-spring-security ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-univocity-parsers ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-validator ← depends on affected reactor module org.apache.camel:camel-xml-jaxp
  • camel-velocity ← depends on affected reactor module org.apache.camel:camel-management
  • camel-vertx ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-vertx-common ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-vertx-http ← depends on affected reactor module org.apache.camel:camel-undertow
  • camel-vertx-mqtt ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-vertx-parent ← downstream of org.apache.camel:camel-core-model
  • camel-vertx-websocket ← depends on affected reactor module org.apache.camel:camel-main
  • camel-wal ← depends on affected reactor module org.apache.camel:camel-support
  • camel-wasm ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-weather ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-weaviate ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-web3j ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-webhook ← depends on affected reactor module org.apache.camel:camel-netty-http
  • camel-whatsapp ← depends on affected reactor module org.apache.camel:camel-netty-http
  • camel-wordpress ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-workday ← depends on affected reactor module org.apache.camel:camel-mock
  • camel-xchange ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-xj ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-xml-io ← depends on affected reactor module org.apache.camel:camel-core-model
  • camel-xml-io-dsl ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-xml-jaxb ← depends on affected reactor module org.apache.camel:camel-core-model
  • camel-xml-jaxb-dsl ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-xml-jaxb-dsl-test-definition ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-xml-jaxb-dsl-test-spring ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-xml-jaxp ← depends on affected reactor module org.apache.camel:camel-support
  • camel-xmlsecurity ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-xmpp ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-xpath ← depends on affected reactor module org.apache.camel:camel-xml-jaxp
  • camel-xslt ← depends on affected reactor module org.apache.camel:camel-xml-jaxp
  • camel-xslt-saxon ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-yaml-dsl-common ← depends on affected reactor module org.apache.camel:camel-core-engine
  • camel-yaml-dsl-validator ← depends on affected reactor module org.apache.camel:camel-xml-io
  • camel-yaml-dsl-validator-maven-plugin ← depends on affected reactor module org.apache.camel:camel-yaml-dsl-validator
  • camel-yaml-io ← depends on affected reactor module org.apache.camel:camel-xml-io
  • camel-zendesk ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-zip-deflater ← depends on affected reactor module org.apache.camel:camel-test-junit6
  • camel-zipfile ← depends on affected reactor module org.apache.camel:camel-test-spring-junit6
  • camel-zookeeper ← depends on affected reactor module org.apache.camel:camel-master
  • camel-zookeeper-master ← depends on affected reactor module org.apache.camel:camel-ftp
  • components ← downstream of org.apache.camel:camel-core-model

ℹ️ Shadow mode — Scalpel observes but does not affect test execution. Learn more

Build reactor — dependencies compiled but only changed modules were tested (6 modules, 2m 14s total)

Total reactor time: 2m 14s

Module Duration Status
Camel :: Main 37.7s SUCCESS
Camel :: HashiCorp :: Key Vault 36.2s SUCCESS
Camel :: Catalog :: Camel Catalog 28.7s SUCCESS
Camel :: Docs 19.7s SUCCESS
Camel :: API 11.9s SUCCESS
Camel :: Endpoint DSL n/a

Top 20 slowest modules:

  • Camel :: Main (37.7s)
  • Camel :: HashiCorp :: Key Vault (36.2s)
  • Camel :: Catalog :: Camel Catalog (28.7s)
  • Camel :: Docs (19.7s)
  • Camel :: API (11.9s)

⚙️ View full build and test results

…ws-iam login

Without awsRegion and awsStsEndpoint, the aws-iam login signs its request for us-east-1, which the
global STS endpoint needs, as vault login -method=aws does. The role is optional for aws-iam: Vault then
takes the role named as the IAM principal. A web identity token (such as IRSA on EKS) needs the sts
module of the AWS SDK, without which the SDK falls through to other credentials: the docs say so, and
the validation fails when AWS_WEB_IDENTITY_TOKEN_FILE is set and the sts module is missing. The Cloud
logins section has an aws-iam example; the kubernetes validation uses validateRole.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Andrea Cosentino <ancosen@gmail.com>
@oscerd

oscerd commented Nov 12, 2026

Copy link
Copy Markdown
Contributor Author

Thanks, all applied in f177c76:

  1. IRSA and the sts module. The Cloud logins section and the Javadoc now say that a web identity token needs software.amazon.awssdk:sts, and an SSO profile sso and ssooidc. The validation also fails when a web identity token file is set (AWS_WEB_IDENTITY_TOKEN_FILE or aws.webIdentityTokenFile, read with the SDK's own SdkSystemSetting) and StsWebIdentityCredentialsProviderFactory is missing, so a pod cannot fall through to the node's role. A test covers it: the test classpath has auth but not sts.
  2. Default signing region. Without awsRegion and awsStsEndpoint, the request is now signed for us-east-1, as vault login -method=aws does. With a regional awsStsEndpoint and no awsRegion, the region of the SDK default chain is kept. The tests set the SDK region to eu-west-1 (signed for us-east-1 with the global endpoint) and to eu-central-1 (signed for it with the regional endpoint).
  3. role is optional for aws-iam. Spring Vault leaves it out of the login body, and a test checks that it is not sent. Azure and GCP still require it.
  4. Docs example. The Cloud logins section has a camel.vault.hashicorp.* example with a regional endpoint.

Nits: the kubernetes case uses validateRole, and the environment variable paragraph is rewrapped.

Claude Code on behalf of oscerd

@gnodet-bot gnodet-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Following up on my earlier review — all previous findings have been addressed.

The second commit (f177c76) correctly resolves the 4 items raised:

  1. IRSA / sts module — validate() now fails fast when AWS_WEB_IDENTITY_TOKEN_FILE is set and StsWebIdentityCredentialsProviderFactory is absent; docs updated accordingly.
  2. Default signing region — global STS endpoint now defaults to us-east-1 signature (matching vault login -method=aws); regional endpoint without awsRegion uses the SDK chain. Three dedicated tests cover all three branches.
  3. role optional for aws-iam — validateRole removed from the AWS_IAM case; role conditionally set in options(). Test confirms role key is absent from the login body when not configured.
  4. Docs example — camel.vault.hashicorp.* example added in the Cloud logins section.

The nits are also addressed: kubernetes case uses the validateRole helper, env-var paragraph is rewrapped.

Test coverage for all new behaviour is thorough (8 new test methods for region signing, optional role, IRSA validation, Azure and GCP option construction). No new issues found.

This review was generated by an AI agent, Hermès on behalf of @gnodet.

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.

3 participants