localstack / localstack/aws-cdk-local
cdklocal does not respect AWS_ENDPOINT_URL env varibale, when asked to listen on remote localstack instance running within LAN.
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 305
- Forks
- 18
- PR merge metrics
- No merged PRs in 30d
Description
I have Localstack running on a different machine (my desktop) which is connected to same machine, the localstack instance is listening to 0.0.0.0:4566 , and is responding well to aws --endpoint=http://{ desktop-local-ip}:4566 commands when running from my laptop...
But when i am running cdklocal bootstrap i could see that in verbose mode that it is still making request to 127.0.0.1 and not my local desktop ip...
[15:50:21] Setting "CDK_DEFAULT_REGION" environment variable to ap-south-1
[15:50:21] Looking up default account ID from STS
[15:50:21] Unable to determine the default AWS account (UnknownEndpoint): Inaccessible host: '127.0.0.1' at port '4566'. This service may not be available in the `ap-south-1' region.
full verbose output is here:-
[15:50:20] CDK toolkit version: 2.162.1 (build 10aa526)
[15:50:20] Command line arguments: {
_: [ 'bootstrap' ],
v: 1,
verbose: 1,
lookups: true,
'ignore-errors': false,
ignoreErrors: false,
json: false,
j: false,
debug: false,
ec2creds: undefined,
i: undefined,
'version-reporting': undefined,
versionReporting: undefined,
'path-metadata': undefined,
pathMetadata: undefined,
'asset-metadata': undefined,
assetMetadata: undefined,
'role-arn': undefined,
r: undefined,
roleArn: undefined,
staging: true,
'no-color': false,
noColor: false,
ci: false,
'bootstrap-bucket-name': undefined,
b: undefined,
'toolkit-bucket-name': undefined,
toolkitBucketName: undefined,
bootstrapBucketName: undefined,
'bootstrap-kms-key-id': undefined,
bootstrapKmsKeyId: undefined,
'example-permissions-boundary': undefined,
epb: undefined,
examplePermissionsBoundary: undefined,
'custom-permissions-boundary': undefined,
cpb: undefined,
customPermissionsBoundary: undefined,
'bootstrap-customer-key': undefined,
bootstrapCustomerKey: undefined,
qualifier: undefined,
'public-access-block-configuration': undefined,
publicAccessBlockConfiguration: undefined,
tags: [],
t: [],
execute: true,
trust: [],
'trust-for-lookup': [],
trustForLookup: [],
'cloudformation-execution-policies': [],
cloudformationExecutionPolicies: [],
force: false,
f: false,
'termination-protection': undefined,
terminationProtection: undefined,
'show-template': false,
showTemplate: false,
'previous-parameters': true,
previousParameters: true,
'$0': 'C:\\Program Files\\nodejs\\node_modules\\aws-cdk-local\\bin\\cdklocal'
}
[15:50:20] cdk.json: {
"app": "npx ts-node --prefer-ts-exts bin/run_node_server.ts",
"watch": {
"include": [
"**"
],
"exclude": [
"README.md",
"cdk*.json",
"**/*.d.ts",
"**/*.js",
"tsconfig.json",
"package*.json",
"yarn.lock",
"node_modules",
"test"
]
},
"context": {
"@aws-cdk/aws-lambda:recognizeLayerVersion": true,
"@aws-cdk/core:checkSecretUsage": true,
"@aws-cdk/core:target-partitions": [
"aws",
"aws-cn"
],
"@aws-cdk-containers/ecs-service-extensions:enableDefaultLogDriver": true,
"@aws-cdk/aws-ec2:uniqueImdsv2TemplateName": true,
"@aws-cdk/aws-ecs:arnFormatIncludesClusterName": true,
"@aws-cdk/aws-iam:minimizePolicies": true,
"@aws-cdk/core:validateSnapshotRemovalPolicy": true,
"@aws-cdk/aws-codepipeline:crossAccountKeyAliasStackSafeResourceName": true,
"@aws-cdk/aws-s3:createDefaultLoggingPolicy": true,
"@aws-cdk/aws-sns-subscriptions:restrictSqsDescryption": true,
"@aws-cdk/aws-apigateway:disableCloudWatchRole": true,
"@aws-cdk/core:enablePartitionLiterals": true,
"@aws-cdk/aws-events:eventsTargetQueueSameAccount": true,
"@aws-cdk/aws-ecs:disableExplicitDeploymentControllerForCircuitBreaker": true,
"@aws-cdk/aws-iam:importedRoleStackSafeDefaultPolicyName": true,
"@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy": true,
"@aws-cdk/aws-route53-patters:useCertificate": true,
"@aws-cdk/customresources:installLatestAwsSdkDefault": false,
"@aws-cdk/aws-rds:databaseProxyUniqueResourceName": true,
"@aws-cdk/aws-codedeploy:removeAlarmsFromDeploymentGroup": true,
"@aws-cdk/aws-apigateway:authorizerChangeDeploymentLogicalId": true,
"@aws-cdk/aws-ec2:launchTemplateDefaultUserData": true,
"@aws-cdk/aws-secretsmanager:useAttachedSecretResourcePolicyForSecretTargetAttachments": true,
"@aws-cdk/aws-redshift:columnId": true,
"@aws-cdk/aws-stepfunctions-tasks:enableEmrServicePolicyV2": true,
"@aws-cdk/aws-ec2:restrictDefaultSecurityGroup": true,
"@aws-cdk/aws-apigateway:requestValidatorUniqueId": true,
"@aws-cdk/aws-kms:aliasNameRef": true,
"@aws-cdk/aws-autoscaling:generateLaunchTemplateInsteadOfLaunchConfig": true,
"@aws-cdk/core:includePrefixInUniqueNameGeneration": true,
"@aws-cdk/aws-efs:denyAnonymousAccess": true,
"@aws-cdk/aws-opensearchservice:enableOpensearchMultiAzWithStandby": true,
"@aws-cdk/aws-lambda-nodejs:useLatestRuntimeVersion": true,
"@aws-cdk/aws-efs:mountTargetOrderInsensitiveLogicalId": true,
"@aws-cdk/aws-rds:auroraClusterChangeScopeOfInstanceParameterGroupWithEachParameters": true,
"@aws-cdk/aws-appsync:useArnForSourceApiAssociationIdentifier": true,
"@aws-cdk/aws-rds:preventRenderingDeprecatedCredentials": true,
"@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource": true,
"@aws-cdk/aws-cloudwatch-actions:changeLambdaPermissionLogicalIdForLambdaAction": true,
"@aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse": true,
"@aws-cdk/aws-codepipeline:defaultPipelineTypeToV2": true,
"@aws-cdk/aws-kms:reduceCrossAccountRegionPolicyScope": true,
"@aws-cdk/aws-eks:nodegroupNameAttribute": true,
"@aws-cdk/aws-ec2:ebsDefaultGp3Volume": true,
"@aws-cdk/aws-ecs:removeDefaultDeploymentAlarm": true,
"@aws-cdk/custom-resources:logApiResponseDataPropertyTrueDefault": false,
"@aws-cdk/aws-s3:keepNotificationInImportedBucket": false,
"@aws-cdk/aws-ecs:reduceEc2FargateCloudWatchPermissions": true,
"@aws-cdk/aws-ec2:ec2SumTImeoutEnabled": true,
"@aws-cdk/aws-appsync:appSyncGraphQLAPIScopeLambdaPermission": true,
"@aws-cdk/aws-rds:setCorrectValueForDatabaseInstanceReadReplicaInstanceResourceId": true,
"@aws-cdk/core:cfnIncludeRejectComplexResourceUpdateCreatePolicyIntrinsics": true,
"@aws-cdk/aws-lambda-nodejs:sdkV3ExcludeSmithyPackages": true
}
}
[15:50:20] merged settings: {
versionReporting: true,
assetMetadata: true,
pathMetadata: true,
output: 'cdk.out',
app: 'npx ts-node --prefer-ts-exts bin/run_node_server.ts',
watch: {
include: [ '**' ],
exclude: [
'README.md',
'cdk*.json',
'**/*.d.ts',
'**/*.js',
'tsconfig.json',
'package*.json',
'yarn.lock',
'node_modules',
'test'
]
},
context: {
'@aws-cdk/aws-lambda:recognizeLayerVersion': true,
'@aws-cdk/core:checkSecretUsage': true,
'@aws-cdk/core:target-partitions': [ 'aws', 'aws-cn' ],
'@aws-cdk-containers/ecs-service-extensions:enableDefaultLogDriver': true,
'@aws-cdk/aws-ec2:uniqueImdsv2TemplateName': true,
'@aws-cdk/aws-ecs:arnFormatIncludesClusterName': true,
'@aws-cdk/aws-iam:minimizePolicies': true,
'@aws-cdk/core:validateSnapshotRemovalPolicy': true,
'@aws-cdk/aws-codepipeline:crossAccountKeyAliasStackSafeResourceName': true,
'@aws-cdk/aws-s3:createDefaultLoggingPolicy': true,
'@aws-cdk/aws-sns-subscriptions:restrictSqsDescryption': true,
'@aws-cdk/aws-apigateway:disableCloudWatchRole': true,
'@aws-cdk/core:enablePartitionLiterals': true,
'@aws-cdk/aws-events:eventsTargetQueueSameAccount': true,
'@aws-cdk/aws-ecs:disableExplicitDeploymentControllerForCircuitBreaker': true,
'@aws-cdk/aws-iam:importedRoleStackSafeDefaultPolicyName': true,
'@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy': true,
'@aws-cdk/aws-route53-patters:useCertificate': true,
'@aws-cdk/customresources:installLatestAwsSdkDefault': false,
'@aws-cdk/aws-rds:databaseProxyUniqueResourceName': true,
'@aws-cdk/aws-codedeploy:removeAlarmsFromDeploymentGroup': true,
'@aws-cdk/aws-apigateway:authorizerChangeDeploymentLogicalId': true,
'@aws-cdk/aws-ec2:launchTemplateDefaultUserData': true,
'@aws-cdk/aws-secretsmanager:useAttachedSecretResourcePolicyForSecretTargetAttachments': true,
'@aws-cdk/aws-redshift:columnId': true,
'@aws-cdk/aws-stepfunctions-tasks:enableEmrServicePolicyV2': true,
'@aws-cdk/aws-ec2:restrictDefaultSecurityGroup': true,
'@aws-cdk/aws-apigateway:requestValidatorUniqueId': true,
'@aws-cdk/aws-kms:aliasNameRef': true,
'@aws-cdk/aws-autoscaling:generateLaunchTemplateInsteadOfLaunchConfig': true,
'@aws-cdk/core:includePrefixInUniqueNameGeneration': true,
'@aws-cdk/aws-efs:denyAnonymousAccess': true,
'@aws-cdk/aws-opensearchservice:enableOpensearchMultiAzWithStandby': true,
'@aws-cdk/aws-lambda-nodejs:useLatestRuntimeVersion': true,
'@aws-cdk/aws-efs:mountTargetOrderInsensitiveLogicalId': true,
'@aws-cdk/aws-rds:auroraClusterChangeScopeOfInstanceParameterGroupWithEachParameters': true,
'@aws-cdk/aws-appsync:useArnForSourceApiAssociationIdentifier': true,
'@aws-cdk/aws-rds:preventRenderingDeprecatedCredentials': true,
'@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource': true,
'@aws-cdk/aws-cloudwatch-actions:changeLambdaPermissionLogicalIdForLambdaAction': true,
'@aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse': true,
'@aws-cdk/aws-codepipeline:defaultPipelineTypeToV2': true,
'@aws-cdk/aws-kms:reduceCrossAccountRegionPolicyScope': true,
'@aws-cdk/aws-eks:nodegroupNameAttribute': true,
'@aws-cdk/aws-ec2:ebsDefaultGp3Volume': true,
'@aws-cdk/aws-ecs:removeDefaultDeploymentAlarm': true,
'@aws-cdk/custom-resources:logApiResponseDataPropertyTrueDefault': false,
'@aws-cdk/aws-s3:keepNotificationInImportedBucket': false,
'@aws-cdk/aws-ecs:reduceEc2FargateCloudWatchPermissions': true,
'@aws-cdk/aws-ec2:ec2SumTImeoutEnabled': true,
'@aws-cdk/aws-appsync:appSyncGraphQLAPIScopeLambdaPermission': true,
'@aws-cdk/aws-rds:setCorrectValueForDatabaseInstanceReadReplicaInstanceResourceId': true,
'@aws-cdk/core:cfnIncludeRejectComplexResourceUpdateCreatePolicyIntrinsics': true,
'@aws-cdk/aws-lambda-nodejs:sdkV3ExcludeSmithyPackages': true
},
debug: false,
toolkitBucket: {},
staging: true,
bundlingStacks: [],
lookups: true
}
[15:50:20] Reading cached notices from C:\Users\hrtsa\.cdk\cache\notices.json
[15:50:21] Determining if we're on an EC2 instance.
[15:50:21] Does not look like an EC2 instance.
[15:50:21] Toolkit stack: CDKToolkit
[15:50:21] Setting "CDK_DEFAULT_REGION" environment variable to ap-south-1
[15:50:21] Looking up default account ID from STS
[15:50:21] Unable to determine the default AWS account (UnknownEndpoint): Inaccessible host: `127.0.0.1' at port `4566'. This service may not be available in the `ap-south-1' region.
[15:50:21] context: {
'@aws-cdk/aws-lambda:recognizeLayerVersion': true,
'@aws-cdk/core:checkSecretUsage': true,
'@aws-cdk/core:target-partitions': [ 'aws', 'aws-cn' ],
'@aws-cdk-containers/ecs-service-extensions:enableDefaultLogDriver': true,
'@aws-cdk/aws-ec2:uniqueImdsv2TemplateName': true,
'@aws-cdk/aws-ecs:arnFormatIncludesClusterName': true,
'@aws-cdk/aws-iam:minimizePolicies': true,
'@aws-cdk/core:validateSnapshotRemovalPolicy': true,
'@aws-cdk/aws-codepipeline:crossAccountKeyAliasStackSafeResourceName': true,
'@aws-cdk/aws-s3:createDefaultLoggingPolicy': true,
'@aws-cdk/aws-sns-subscriptions:restrictSqsDescryption': true,
'@aws-cdk/aws-apigateway:disableCloudWatchRole': true,
'@aws-cdk/core:enablePartitionLiterals': true,
'@aws-cdk/aws-events:eventsTargetQueueSameAccount': true,
'@aws-cdk/aws-ecs:disableExplicitDeploymentControllerForCircuitBreaker': true,
'@aws-cdk/aws-iam:importedRoleStackSafeDefaultPolicyName': true,
'@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy': true,
'@aws-cdk/aws-route53-patters:useCertificate': true,
'@aws-cdk/customresources:installLatestAwsSdkDefault': false,
'@aws-cdk/aws-rds:databaseProxyUniqueResourceName': true,
'@aws-cdk/aws-codedeploy:removeAlarmsFromDeploymentGroup': true,
'@aws-cdk/aws-apigateway:authorizerChangeDeploymentLogicalId': true,
'@aws-cdk/aws-ec2:launchTemplateDefaultUserData': true,
'@aws-cdk/aws-secretsmanager:useAttachedSecretResourcePolicyForSecretTargetAttachments': true,
'@aws-cdk/aws-redshift:columnId': true,
'@aws-cdk/aws-stepfunctions-tasks:enableEmrServicePolicyV2': true,
'@aws-cdk/aws-ec2:restrictDefaultSecurityGroup': true,
'@aws-cdk/aws-apigateway:requestValidatorUniqueId': true,
'@aws-cdk/aws-kms:aliasNameRef': true,
'@aws-cdk/aws-autoscaling:generateLaunchTemplateInsteadOfLaunchConfig': true,
'@aws-cdk/core:includePrefixInUniqueNameGeneration': true,
'@aws-cdk/aws-efs:denyAnonymousAccess': true,
'@aws-cdk/aws-opensearchservice:enableOpensearchMultiAzWithStandby': true,
'@aws-cdk/aws-lambda-nodejs:useLatestRuntimeVersion': true,
'@aws-cdk/aws-efs:mountTargetOrderInsensitiveLogicalId': true,
'@aws-cdk/aws-rds:auroraClusterChangeScopeOfInstanceParameterGroupWithEachParameters': true,
'@aws-cdk/aws-appsync:useArnForSourceApiAssociationIdentifier': true,
'@aws-cdk/aws-rds:preventRenderingDeprecatedCredentials': true,
'@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource': true,
'@aws-cdk/aws-cloudwatch-actions:changeLambdaPermissionLogicalIdForLambdaAction': true,
'@aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse': true,
'@aws-cdk/aws-codepipeline:defaultPipelineTypeToV2': true,
'@aws-cdk/aws-kms:reduceCrossAccountRegionPolicyScope': true,
'@aws-cdk/aws-eks:nodegroupNameAttribute': true,
'@aws-cdk/aws-ec2:ebsDefaultGp3Volume': true,
'@aws-cdk/aws-ecs:removeDefaultDeploymentAlarm': true,
'@aws-cdk/custom-resources:logApiResponseDataPropertyTrueDefault': false,
'@aws-cdk/aws-s3:keepNotificationInImportedBucket': false,
'@aws-cdk/aws-ecs:reduceEc2FargateCloudWatchPermissions': true,
'@aws-cdk/aws-ec2:ec2SumTImeoutEnabled': true,
'@aws-cdk/aws-appsync:appSyncGraphQLAPIScopeLambdaPermission': true,
'@aws-cdk/aws-rds:setCorrectValueForDatabaseInstanceReadReplicaInstanceResourceId': true,
'@aws-cdk/core:cfnIncludeRejectComplexResourceUpdateCreatePolicyIntrinsics': true,
'@aws-cdk/aws-lambda-nodejs:sdkV3ExcludeSmithyPackages': true,
'aws:cdk:enable-path-metadata': true,
'aws:cdk:enable-asset-metadata': true,
'aws:cdk:version-reporting': true,
'aws:cdk:bundling-stacks': []
}
[15:50:21] outdir: cdk.out
[15:50:21] env: {
CDK_DEFAULT_REGION: 'ap-south-1',
CDK_OUTDIR: 'cdk.out',
CDK_CLI_ASM_VERSION: '38.0.1',
CDK_CLI_VERSION: '2.162.1'
}
[15:50:29] Reading cached notices from C:\Users\hrtsa\.cdk\cache\notices.json
Unable to resolve AWS account to use. It must be either configured when you define your CDK Stack, or through the environment
[15:50:30] Error: Unable to resolve AWS account to use. It must be either configured when you define your CDK Stack, or through the environment
at SdkProvider.resolveEnvironment (C:\Users\hrtsa\AppData\Roaming\nvm\v20.18.0\node_modules\aws-cdk\lib\index.js:450:661598)
at async globEnvironmentsFromStacks (C:\Users\hrtsa\AppData\Roaming\nvm\v20.18.0\node_modules\aws-cdk\lib\index.js:493:195323)
at async CdkToolkit.bootstrap (C:\Users\hrtsa\AppData\Roaming\nvm\v20.18.0\node_modules\aws-cdk\lib\index.js:496:2090)
at async exec4 (C:\Users\hrtsa\AppData\Roaming\nvm\v20.18.0\node_modules\aws-cdk\lib\index.js:548:55313)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the cdklocal bootstrap entry point and trace how AWS_ENDPOINT_URL is read when the toolkit looks up the account. Compare that configuration with the endpoint used by the AWS SDK, then verify that bootstrap targets the remote LocalStack address instead of 127.0.0.1.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, javascript
- Domain
- cli, cloud
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100