Skip to content

Commit 87869c8

Browse files
authored
fix(cdk-assets): propagate buildSsh flag to docker build (#26846)
A few weeks ago I added the --ssh flag to the constructs for building a cdk with that arg; However, I missed actually passing that arg to the docker.build in the cdk-assets container-images. This adds that arg where it should be. Closes 12062. ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
1 parent d5050ce commit 87869c8

File tree

4 files changed

+8
-1
lines changed

4 files changed

+8
-1
lines changed

packages/aws-cdk-lib/aws-lambda/test/code.test.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -334,13 +334,15 @@ describe('code', () => {
334334
const dockerfilePath = 'Dockerfile';
335335
const dockerBuildTarget = 'stage';
336336
const dockerBuildArgs = { arg1: 'val1', arg2: 'val2' };
337+
const dockerBuildSsh = 'default';
337338

338339
// when
339340
new lambda.Function(stack, 'Fn', {
340341
code: lambda.Code.fromAssetImage(path.join(__dirname, 'docker-lambda-handler'), {
341342
file: dockerfilePath,
342343
target: dockerBuildTarget,
343344
buildArgs: dockerBuildArgs,
345+
buildSsh: dockerBuildSsh,
344346
}),
345347
handler: lambda.Handler.FROM_IMAGE,
346348
runtime: lambda.Runtime.FROM_IMAGE,
@@ -349,9 +351,10 @@ describe('code', () => {
349351
// then
350352
Template.fromStack(stack).hasResource('AWS::Lambda::Function', {
351353
Metadata: {
352-
[cxapi.ASSET_RESOURCE_METADATA_PATH_KEY]: 'asset.a8922a1fd787021d071844bc2b1fe3622372bbdfda823528c00983a806ba0e26',
354+
[cxapi.ASSET_RESOURCE_METADATA_PATH_KEY]: 'asset.4d4e274f69ea222694c68ac0cea32b855247d6bdad3074a5987e3a7a907c4745',
353355
[cxapi.ASSET_RESOURCE_METADATA_DOCKERFILE_PATH_KEY]: dockerfilePath,
354356
[cxapi.ASSET_RESOURCE_METADATA_DOCKER_BUILD_ARGS_KEY]: dockerBuildArgs,
357+
[cxapi.ASSET_RESOURCE_METADATA_DOCKER_BUILD_SSH_KEY]: dockerBuildSsh,
355358
[cxapi.ASSET_RESOURCE_METADATA_DOCKER_BUILD_TARGET_KEY]: dockerBuildTarget,
356359
[cxapi.ASSET_RESOURCE_METADATA_PROPERTY_KEY]: 'Code.ImageUri',
357360
},

packages/aws-cdk-lib/core/lib/stack-synthesizers/asset-manifest-builder.ts

+1
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ export class AssetManifestBuilder {
6767
directory: asset.directoryName,
6868
dockerBuildArgs: asset.dockerBuildArgs,
6969
dockerBuildSecrets: asset.dockerBuildSecrets,
70+
dockerBuildSsh: asset.dockerBuildSsh,
7071
dockerBuildTarget: asset.dockerBuildTarget,
7172
dockerFile: asset.dockerFile,
7273
networkMode: asset.networkMode,

packages/aws-cdk-lib/core/lib/stack-synthesizers/legacy.ts

+2
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,8 @@ export class LegacyStackSynthesizer extends StackSynthesizer implements IReusabl
143143
path: asset.directoryName,
144144
sourceHash: asset.sourceHash,
145145
buildArgs: asset.dockerBuildArgs,
146+
buildSecrets: asset.dockerBuildSecrets,
147+
buildSsh: asset.dockerBuildSsh,
146148
target: asset.dockerBuildTarget,
147149
file: asset.dockerFile,
148150
networkMode: asset.networkMode,

packages/cdk-assets/lib/private/handlers/container-images.ts

+1
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,7 @@ class ContainerImageBuilder {
189189
tag: localTagName,
190190
buildArgs: source.dockerBuildArgs,
191191
buildSecrets: source.dockerBuildSecrets,
192+
buildSsh: source.dockerBuildSsh,
192193
target: source.dockerBuildTarget,
193194
file: source.dockerFile,
194195
networkMode: source.networkMode,

0 commit comments

Comments
 (0)