feat: enable ALTS hard bound token in DirectPath#3645
feat: enable ALTS hard bound token in DirectPath#3645olavloite merged 7 commits intogoogleapis:mainfrom
Conversation
|
@rahul2393 Can you help look at it or assign other reviewers? Thanks. I verified the flow internally that with this change, the ComputeEngineCredentials will craft correct the tokenUrl when getting tokens from the metadata server. |
| defaultChannelProviderBuilder.setAttemptDirectPath(true); | ||
| // This will let the credentials try to fetch a hard-bound access token if the runtime | ||
| // environment supports it. | ||
| defaultChannelProviderBuilder.setAllowHardBoundTokenTypes(Arrays.asList(InstantiatingGrpcChannelProvider.HardBoundTokenTypes.ALTS)); |
There was a problem hiding this comment.
nit: When you have single value, you can use Collections.singletonList
There was a problem hiding this comment.
format the code using the following command
mvn com.coveo:fmt-maven-plugin:format
There was a problem hiding this comment.
Thank you for the tips! Done.
|
Although this PR does no harm at this point, it'd be better to wait till googleapis/sdk-platform-java#3651 is released and used before this is merged. But just to confirm, is there anything else needed from me? I'm mainly confused with the multi-approvers failure. Supposedly there is at least one approval one but it still says this has "0 of 2...". |
|
@rahul2393 https://github.com/googleapis/sdk-platform-java/releases/tag/v2.54.0 is released and includes googleapis/sdk-platform-java#3651. Can you help review and merge this PR? Thanks. |
|
Hi, @olavloite could you PTAL this since you are in both yoshi-java and cloud-spanner GitHub teams? Thanks. |
| Package | Type | Package file | Manager | Update | Change | |---|---|---|---|---|---| | [com.google.cloud:google-cloud-spanner](https://github.com/googleapis/java-spanner) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `6.88.0` -> `6.89.0` | | [com.google.cloud:google-cloud-datastore](https://github.com/googleapis/java-datastore) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.27.0` -> `2.27.1` | | [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.4` -> `2.31.6` | | [software.amazon.awssdk:sqs](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.4` -> `2.31.6` | | [software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.4` -> `2.31.6` | | [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.4` -> `2.31.6` | | [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.4` -> `2.31.6` | | [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.4` -> `2.31.6` | | [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.4` -> `2.31.6` | --- ### Release Notes <details> <summary>googleapis/java-spanner (com.google.cloud:google-cloud-spanner)</summary> ### [`v6.89.0`](https://github.com/googleapis/java-spanner/blob/HEAD/CHANGELOG.md#6890-2025-03-20) ##### Features - Enable ALTS hard bound token in DirectPath ([#​3645](googleapis/java-spanner#3645)) ([42cc961](googleapis/java-spanner@42cc961)) - Next release from main branch is 6.89.0 ([#​3669](googleapis/java-spanner#3669)) ([7a8a29b](googleapis/java-spanner@7a8a29b)) - Support isolation level REPEATABLE_READ for R/W transactions ([#​3670](googleapis/java-spanner#3670)) ([e62f5ab](googleapis/java-spanner@e62f5ab)) ##### Bug Fixes - **deps:** Update the Java code generator (gapic-generator-java) to 2.55.1 ([b959f4c](googleapis/java-spanner@b959f4c)) - Revert the ALTS bound token enablement ([#​3679](googleapis/java-spanner#3679)) ([183c1f0](googleapis/java-spanner@183c1f0)) ##### Performance Improvements - Get database dialect using multiplexed session ([#​3684](googleapis/java-spanner#3684)) ([f641a40](googleapis/java-spanner@f641a40)) - Skip gRPC trailers for StreamingRead & ExecuteStreamingSql ([#​3661](googleapis/java-spanner#3661)) ([bd4b1f5](googleapis/java-spanner@bd4b1f5)) ##### Dependencies - Update dependency com.google.cloud:sdk-platform-java-config to v3.45.1 ([#​3689](googleapis/java-spanner#3689)) ([67188df](googleapis/java-spanner@67188df)) </details> <details> <summary>googleapis/java-datastore (com.google.cloud:google-cloud-datastore)</summary> ### [`v2.27.1`](https://github.com/googleapis/java-datastore/blob/HEAD/CHANGELOG.md#2271-2025-03-18) ##### Bug Fixes - **deps:** Update the Java code generator (gapic-generator-java) to 2.55.1 ([ba1ad98](googleapis/java-datastore@ba1ad98)) ##### Dependencies - Update dependency com.google.cloud:sdk-platform-java-config to v3.45.1 ([#​1791](googleapis/java-datastore#1791)) ([ab5ac8e](googleapis/java-datastore@ab5ac8e)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 6pm every weekday,before 2am every weekday" in timezone Australia/Melbourne, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Never, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). GitOrigin-RevId: 5b5b3e1fd7177ff56a483be663b20b28d243550c
This change will enable ALTS hard bound token in DirectPath, if the client runs in on GCE/GKE with ComputeEngineCredentials.
If for any reason the runtime environment doesn't support the issuance of such tokens, normal bearer access tokens will be used.