cdk-local 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { i as createLocalInvokeCommand, n as createLocalRunTaskCommand, r as createLocalStartApiCommand, t as createLocalStartServiceCommand } from "./local-start-service-
|
|
2
|
+
import { i as createLocalInvokeCommand, n as createLocalRunTaskCommand, r as createLocalStartApiCommand, t as createLocalStartServiceCommand } from "./local-start-service-DDjMUt0E.js";
|
|
3
3
|
import { Command } from "commander";
|
|
4
4
|
|
|
5
5
|
//#region src/cli/index.ts
|
|
6
6
|
const program = new Command();
|
|
7
|
-
program.name("cdkl").description("Run AWS CDK stacks locally with Docker.").version("0.
|
|
7
|
+
program.name("cdkl").description("Run AWS CDK stacks locally with Docker.").version("0.7.0");
|
|
8
8
|
program.addCommand(createLocalInvokeCommand());
|
|
9
9
|
program.addCommand(createLocalStartApiCommand());
|
|
10
10
|
program.addCommand(createLocalRunTaskCommand());
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/types/state.ts","../src/local/state-resolver.ts","../src/local/local-state-provider.ts","../src/cli/commands/local-state-source.ts","../src/local/embed-config.ts","../src/cli/commands/local-invoke.ts","../src/cli/commands/local-start-api.ts","../src/cli/commands/local-run-task.ts","../src/cli/commands/local-start-service.ts","../src/local/cfn-local-state-provider.ts"],"mappings":";;;;UAuLiB,aAAA;EAEf,UAAA;EAGA,YAAA;EAGA,UAAA,EAAY,MAAA;EAcZ,kBAAA,GAAqB,MAAA;EAGrB,UAAA,GAAa,MAAA;EAGb,YAAA;EAGA,QAAA,GAAW,MAAA;EAmBX,cAAA;EAMA,mBAAA;EAyBA,aAAA;AAAA;;;UCxIe,gBAAA;EACf,SAAA;EACA,MAAA;EACA,SAAA;EACA,SAAA;AAAA;AAAA,UAqBe,kBAAA;EAOf,aAAA,CAAc,UAAA,WAAqB,OAAA;EAQnC,qBAAA,CACE,aAAA,UACA,cAAA,UACA,UAAA,WACC,OAAA;AAAA;AAAA,UAGY,mBAAA;EAEf,SAAA,EAAW,MAAA,SAAe,aAAA;EAE1B,gBAAA,GAAmB,gBAAA;EAOnB,kBAAA,GAAqB,kBAAA;EAOrB,cAAA;AAAA;;;UCrJe,gBAAA;EAQf,SAAA,EAAW,MAAA,SAAe,aAAA;EAO1B,OAAA,EAAS,MAAA;EAOT,MAAA;AAAA;AAAA,UAsBe,kBAAA;EAAA,SAMN,KAAA;EAQT,IAAA,CAAK,SAAA,UAAmB,WAAA,uBAAkC,OAAA,CAAQ,gBAAA;EAalE,uBAAA,CAAwB,cAAA,WAAyB,OAAA,CAAQ,kBAAA;EAKzD,OAAA;AAAA;;;UC9Ee,uBAAA;EAOf,YAAA;EAEA,MAAA;EAEA,OAAA;EAMA,WAAA;EAAA,CAEC,GAAA;AAAA;AAAA,KAQS,yBAAA,IAA6B,OAAA,EAAS,uBAAA,KAA4B,kBAAA;AAAA,KAUlE,mBAAA,GAAsB,MAAA,SAAe,yBAAA;AAAA,iBAUjC,mBAAA,CAAoB,YAAA,oBAAgC,SAAA;AAAA,iBAapD,gBAAA,CAAiB,IAAA,EAAM,IAAA,CAAK,uBAAA;AAAA,iBAgB5B,gBAAA,CACd,OAAA,EAAS,IAAA,CAAK,uBAAA,6BACd,WAAA;AAAA,cAqBW,qBAAA,SAA8B,KAAA;cAC7B,OAAA;AAAA;AAAA,iBAkBE,wCAAA,CACd,OAAA,EAAS,IAAA,CAAK,uBAAA,mBACd,gBAAA;AAAA,iBAiCc,wBAAA,CACd,OAAA,EAAS,uBAAA,EACT,SAAA,UACA,WAAA,sBACA,mBAAA,GAAsB,mBAAA,GACrB,kBAAA;;;UCtLc,mBAAA;EAMf,OAAA;EAOA,UAAA;EAMA,WAAA;EAOA,kBAAA;EAMA,gBAAA;EAMA,SAAA;AAAA;;;UC8Ee,+BAAA;EACf,mBAAA,GAAsB,mBAAA;EAEtB,WAAA,GAAc,mBAAA;AAAA;AAAA,iBA22BA,wBAAA,CAAyB,IAAA,GAAM,+BAAA,GAAuC,OAAA;;;UCzvBrE,iCAAA;EACf,mBAAA,GAAsB,mBAAA;EAEtB,WAAA,GAAc,mBAAA;AAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/types/state.ts","../src/local/state-resolver.ts","../src/local/local-state-provider.ts","../src/cli/commands/local-state-source.ts","../src/local/embed-config.ts","../src/cli/commands/local-invoke.ts","../src/cli/commands/local-start-api.ts","../src/cli/commands/local-run-task.ts","../src/cli/commands/local-start-service.ts","../src/local/cfn-local-state-provider.ts"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { a as LocalStateSourceError, c as rejectExplicitCfnStackWithMultipleStacks, d as CfnLocalStateProvider, i as createLocalInvokeCommand, l as resolveCfnRegion, n as createLocalRunTaskCommand, o as createLocalStateProvider, r as createLocalStartApiCommand, s as isCfnFlagPresent, t as createLocalStartServiceCommand, u as resolveCfnStackName } from "./local-start-service-
|
|
1
|
+
import { a as LocalStateSourceError, c as rejectExplicitCfnStackWithMultipleStacks, d as CfnLocalStateProvider, i as createLocalInvokeCommand, l as resolveCfnRegion, n as createLocalRunTaskCommand, o as createLocalStateProvider, r as createLocalStartApiCommand, s as isCfnFlagPresent, t as createLocalStartServiceCommand, u as resolveCfnStackName } from "./local-start-service-DDjMUt0E.js";
|
|
2
2
|
|
|
3
3
|
export { CfnLocalStateProvider, LocalStateSourceError, createLocalInvokeCommand, createLocalRunTaskCommand, createLocalStartApiCommand, createLocalStartServiceCommand, createLocalStateProvider, isCfnFlagPresent, rejectExplicitCfnStackWithMultipleStacks, resolveCfnRegion, resolveCfnStackName };
|
|
@@ -14312,7 +14312,9 @@ async function localStartApiCommand(target, options, extraStateProviders) {
|
|
|
14312
14312
|
skipPull: options.pull === false,
|
|
14313
14313
|
...options.layerRoleArn !== void 0 && { layerRoleArn: options.layerRoleArn },
|
|
14314
14314
|
...profileCredentials && { profileCredentials },
|
|
14315
|
-
...profileCredsFile && { profileCredsFile }
|
|
14315
|
+
...profileCredsFile && { profileCredsFile },
|
|
14316
|
+
...profileCredentials?.region && { profileRegion: profileCredentials.region },
|
|
14317
|
+
...options.stackRegion && { stackRegionOverride: options.stackRegion }
|
|
14316
14318
|
});
|
|
14317
14319
|
specs.set(logicalId, spec);
|
|
14318
14320
|
}
|
|
@@ -14834,7 +14836,7 @@ function warnIamRoutes(routesWithAuth) {
|
|
|
14834
14836
|
* missing, runtime not supported).
|
|
14835
14837
|
*/
|
|
14836
14838
|
async function buildContainerSpec(args) {
|
|
14837
|
-
const { logicalId, stacks, overrides, assumeRole, containerHost, debugPort, stsRegion, inlineTmpDirs, layerTmpDirs, stateByStack, skipPull, layerRoleArn, profileCredentials, profileCredsFile } = args;
|
|
14839
|
+
const { logicalId, stacks, overrides, assumeRole, containerHost, debugPort, stsRegion, inlineTmpDirs, layerTmpDirs, stateByStack, skipPull, layerRoleArn, profileCredentials, profileCredsFile, profileRegion, stackRegionOverride } = args;
|
|
14838
14840
|
const lambda = resolveLambdaByLogicalId(logicalId, stacks);
|
|
14839
14841
|
let codeDir;
|
|
14840
14842
|
let optDir;
|
|
@@ -14895,6 +14897,14 @@ async function buildContainerSpec(args) {
|
|
|
14895
14897
|
dockerEnv["AWS_PROFILE"] = profileCredsFile.profileName;
|
|
14896
14898
|
}
|
|
14897
14899
|
}
|
|
14900
|
+
if (!dockerEnv["AWS_REGION"]) {
|
|
14901
|
+
const fallbackRegion = resolveContainerFallbackRegion({
|
|
14902
|
+
stackRegionOverride,
|
|
14903
|
+
synthRegion: lambda.stack.region,
|
|
14904
|
+
profileRegion
|
|
14905
|
+
});
|
|
14906
|
+
if (fallbackRegion) dockerEnv["AWS_REGION"] = fallbackRegion;
|
|
14907
|
+
}
|
|
14898
14908
|
if (debugPort !== void 0) dockerEnv["NODE_OPTIONS"] = `--inspect-brk=0.0.0.0:${debugPort}`;
|
|
14899
14909
|
const tmpfs = lambda.ephemeralStorageMb !== void 0 ? {
|
|
14900
14910
|
target: "/tmp",
|
|
@@ -15296,6 +15306,18 @@ function forwardAwsEnv(env) {
|
|
|
15296
15306
|
* common dev session; long-running `--watch` sessions that outlive
|
|
15297
15307
|
* the creds need a cdk-local restart (deferred refresh out of scope for
|
|
15298
15308
|
* v1, see issue #654).
|
|
15309
|
+
*
|
|
15310
|
+
* Also resolves the profile's configured `region` (from `~/.aws/config`'s
|
|
15311
|
+
* `region = ...` for this profile) off the same client config. The
|
|
15312
|
+
* synthesized credentials file we mount into the container carries only
|
|
15313
|
+
* the credential triple — no `region =` — so without this the container
|
|
15314
|
+
* boots with creds but no region, and a handler's ambient-region SDK call
|
|
15315
|
+
* (`new XxxClient({})`) fails with "Region is missing". The caller seeds
|
|
15316
|
+
* the container's `AWS_REGION` fallback with it (see
|
|
15317
|
+
* {@link resolveContainerFallbackRegion}). Region resolution is
|
|
15318
|
+
* best-effort: a profile with no region (or any resolution failure)
|
|
15319
|
+
* yields `region: undefined` rather than throwing — a missing region is
|
|
15320
|
+
* not a missing-credentials error.
|
|
15299
15321
|
*/
|
|
15300
15322
|
async function resolveProfileCredentials(profile) {
|
|
15301
15323
|
const { STSClient } = await import("@aws-sdk/client-sts");
|
|
@@ -15304,16 +15326,52 @@ async function resolveProfileCredentials(profile) {
|
|
|
15304
15326
|
const credsProvider = sts.config.credentials;
|
|
15305
15327
|
const creds = typeof credsProvider === "function" ? await credsProvider() : credsProvider;
|
|
15306
15328
|
if (!creds || !creds.accessKeyId || !creds.secretAccessKey) throw new Error(`--profile '${profile}': credential provider chain resolved without usable credentials. Check \`aws sso login --profile ` + profile + "` for SSO profiles, or `~/.aws/credentials` / `~/.aws/config` for regular profiles.");
|
|
15329
|
+
let region;
|
|
15330
|
+
try {
|
|
15331
|
+
const regionProvider = sts.config.region;
|
|
15332
|
+
const resolved = typeof regionProvider === "function" ? await regionProvider() : regionProvider;
|
|
15333
|
+
if (typeof resolved === "string" && resolved.length > 0) region = resolved;
|
|
15334
|
+
} catch {
|
|
15335
|
+
region = void 0;
|
|
15336
|
+
}
|
|
15307
15337
|
return {
|
|
15308
15338
|
accessKeyId: creds.accessKeyId,
|
|
15309
15339
|
secretAccessKey: creds.secretAccessKey,
|
|
15310
|
-
...creds.sessionToken && { sessionToken: creds.sessionToken }
|
|
15340
|
+
...creds.sessionToken && { sessionToken: creds.sessionToken },
|
|
15341
|
+
...region && { region }
|
|
15311
15342
|
};
|
|
15312
15343
|
} finally {
|
|
15313
15344
|
sts.destroy();
|
|
15314
15345
|
}
|
|
15315
15346
|
}
|
|
15316
15347
|
/**
|
|
15348
|
+
* Resolve the fallback `AWS_REGION` for a Lambda container when neither
|
|
15349
|
+
* the assume-role STS region nor a forwarded `AWS_REGION` /
|
|
15350
|
+
* `AWS_DEFAULT_REGION` env var already set one.
|
|
15351
|
+
*
|
|
15352
|
+
* Precedence mirrors where the deployed function would actually run, so a
|
|
15353
|
+
* handler's ambient-region SDK call (`new XxxClient({})`) reaches the same
|
|
15354
|
+
* region locally as the resources it is bound to:
|
|
15355
|
+
*
|
|
15356
|
+
* 1. `--stack-region` — explicit; also drives the `--from-cfn-stack` CFn
|
|
15357
|
+
* client, so the container matches the region the bound stack was read
|
|
15358
|
+
* from.
|
|
15359
|
+
* 2. the synth-derived stack region — `env.region` on the CDK stack, read
|
|
15360
|
+
* from the cloud assembly manifest (`StackInfo.region`). Previously
|
|
15361
|
+
* used only host-side for the `--from-cfn-stack` CFn client; never
|
|
15362
|
+
* injected into the container.
|
|
15363
|
+
* 3. the `--profile`'s configured region — `~/.aws/config`'s `region =`
|
|
15364
|
+
* for the profile. `--profile` injected credentials but not this.
|
|
15365
|
+
*
|
|
15366
|
+
* Returns `undefined` when none is known; the caller leaves `AWS_REGION`
|
|
15367
|
+
* unset so the SDK's own "Region is missing" surfaces (the correct signal
|
|
15368
|
+
* for a region-agnostic stack with no profile region and no `AWS_REGION`
|
|
15369
|
+
* env).
|
|
15370
|
+
*/
|
|
15371
|
+
function resolveContainerFallbackRegion(args) {
|
|
15372
|
+
return args.stackRegionOverride ?? args.synthRegion ?? args.profileRegion;
|
|
15373
|
+
}
|
|
15374
|
+
/**
|
|
15317
15375
|
* Issue an STS AssumeRole and return temporary credentials. Mirrors
|
|
15318
15376
|
* `cdkl invoke`'s helper byte-for-byte; lifted here so the
|
|
15319
15377
|
* start-api command stays self-contained.
|
|
@@ -18226,4 +18284,4 @@ function createLocalStartServiceCommand(opts = {}) {
|
|
|
18226
18284
|
|
|
18227
18285
|
//#endregion
|
|
18228
18286
|
export { LocalStateSourceError as a, rejectExplicitCfnStackWithMultipleStacks as c, CfnLocalStateProvider as d, createLocalInvokeCommand as i, resolveCfnRegion as l, createLocalRunTaskCommand as n, createLocalStateProvider as o, createLocalStartApiCommand as r, isCfnFlagPresent as s, createLocalStartServiceCommand as t, resolveCfnStackName as u };
|
|
18229
|
-
//# sourceMappingURL=local-start-service-
|
|
18287
|
+
//# sourceMappingURL=local-start-service-DDjMUt0E.js.map
|