@go-to-k/cdkd 0.284.41 → 0.284.43
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/{asg-provider-D0lenV1M.js → asg-provider-DIKQ3APM.js} +2 -2
- package/dist/{asg-provider-D0lenV1M.js.map → asg-provider-DIKQ3APM.js.map} +1 -1
- package/dist/cli.js +33 -11
- package/dist/cli.js.map +1 -1
- package/dist/{deploy-engine-CCWl_tAH.js → deploy-engine-bFTrzeeu.js} +595 -41
- package/dist/deploy-engine-bFTrzeeu.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/dist/deploy-engine-CCWl_tAH.js.map +0 -1
package/dist/cli.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { $ as startInterruptWatch, $n as
|
|
2
|
+
import { $ as startInterruptWatch, $n as setAwsClients, $t as WorkGraph, A as renderStatefulReason, An as resolveCaptureObservedState, At as redactSecretsForState, B as exportAliasCollisionScrubWarning, Bn as findLargeInlineResources, Bt as DiffCalculator, C as isFinalSnapshotError, Cn as getDockerImageBySourceHash, Cr as normalizeAwsError, Ct as TEMPLATE_SOURCED_RULES, D as extractDeploymentEventError, Dn as getLegacyStateBucketName, Dr as isThrottlingError, Dt as isSingleDynamicReferenceToken, E as makeCanonicalizePropertiesFn, En as getDefaultStateBucketName, Er as isRetryableTransientError, Et as errorCauseChain, F as green, Fn as stateBucketExistenceConfirmed, Ft as s3BucketDomainName, G as collectInlinePolicyNamesManagedBySiblings, Gn as derivePartitionAndUrlSuffix, Gt as TemplateParser, H as secretBearingStateKeyWarning, Hn as expectedOwnerParam, Ht as describeTypeWithThrottleRetry, I as red, In as warnDeprecatedNoPrefixCliFlag, It as s3BucketDualStackDomainName, J as findActionableSilentDrops, Jt as S3StateBackend, K as clearOnUpdateRemoval, Kn as AssemblyReader, Kt as LockManager, L as yellow, Ln as CFN_TEMPLATE_BODY_LIMIT, Lt as s3BucketRegionalDomainName, M as bold, Mn as resolveStateBucketWithDefault, Mt as classifyReplaySecretRegion, N as cyan, Nn as resolveStateBucketWithDefaultAndSource, Nt as producerRegionsFromState, O as MULTI_REGION_RECREATE_BLOCKED_TYPES, On as resolveApp, Or as markNonRetryable, Ot as maskSecretsInError, P as gray, Pn as resolveUseCdkBootstrapAssets, Pt as s3BucketArn, Q as isInterruptedWaitError, Qn as resetAwsClients, Qt as stringifyValue, R as collectDeclaredOutputNames, Rn as CFN_TEMPLATE_URL_LIMIT, Rt as s3BucketWebsiteUrl, S as createPreDeleteFinalSnapshot, Sn as AssetManifestLoader, St as STATE_SOURCED_READBACK_RULES, T as unsupportedFinalSnapshotError, Tn as synthesisStatusMessage, Tr as isMarkedNonRetryable, Tt as dynamicReferenceTokens, U as stateKeySecretExposure, Un as PARTITION_TABLE, Ut as withRetry, V as isExportAliasCollision, Vn as uploadCfnTemplate, Vt as INTRINSIC_KEYS, W as IAMRoleProvider, Wn as canonicalizeRegion, Wt as DagBuilder, X as beginCommandInterruptScope, Xn as AwsClients, Xt as shouldRetainResource, Y as findSilentDropProperties, Yn as resolveBucketRegion, Yt as rebuildClientForBucketRegion, Z as endCommandInterruptScope, Zn as getAwsClients, Zt as AssetPublisher, _ as computeImplicitDeleteEdges, _n as formatDockerLoginError, _r as StackHasActiveImportsError, _t as replayWarn, a as DeploymentEventsStore, an as stripControlChars, ar as DeployCancelledError, at as carriesDynamicReference, b as buildFinalSnapshotIdentifier, bn as runDockerForeground, bt as requireConfigString, c as replayFailedOperations, cn as ensureAssetStorage, cr as LocalMigrateError, ct as refStateLookupFromResource, d as updatePartialReason, dn as readBootstrapMarkerBody, dr as MissingCdkCliError, dt as resolveExplicitPhysicalId, en as buildAssetRedirectMap, et as CloudControlProvider, f as UNSPECIFIED_SKIP_REASON, fn as validateAssetBucketName, fr as NestedStackChildDirectDestroyError, ft as assertRegionMatch, g as IMPLICIT_DELETE_DEPENDENCIES, gn as dockerSpawnEnvWithSensitive, gr as ResourceUpdateNotSupportedError, gt as readConfigString, h as maskingRetryLogger, hn as buildDockerImage, hr as ResourceTimeoutError, ht as configStringRefusal, i as DeploymentEventsReader, in as escapeRegExp, it as IntrinsicFunctionResolver, j as formatResourceLine, jn as resolveSkipPrefix, jt as scrubResourceRecord, k as isStatefulRecreateTargetSync, kn as resolveAutoAssetStorage, kt as maskSecretsInText, l as replayRollback, ln as getBootstrapMarkerKey, lr as LocalStartServiceError, lt as WAFv2WebACLProvider, m as withResourceDeadline, mn as buildDenyExternalAccessPolicy, mr as ProvisioningError, mt as configBooleanRefusal, n as DEFAULT_RESOURCE_WARN_AFTER_MS, nn as loadPublishableAssetManifest, nt as disableInstanceApiTermination, o as planFailedOps, on as AssetModeResolver, or as DynamicReferenceRegionAmbiguousError, ot as cfnRefValueFromPhysicalId, p as deleteSkipReason, pn as validateContainerRepoName, pr as PartialFailureError, pt as coerceCfnBoolean, q as ProviderRegistry, qn as processStackMessages, qt as displaySafe, r as DeployEngine, rn as rewriteTemplateAssetReferences, rr as CrossAccountSecretRefusalError, rt as isTerminationProtectionPropagationError, s as planRollback, sn as BOOTSTRAP_MARKER_PREFIX, sr as LocalInvokeBuildError$1, st as getAccountInfo, t as DEFAULT_RESOURCE_TIMEOUT_MS, tn as createAssetRedirectResolver, tr as CdkdError, tt as slowCcOperationTimeoutMs, u as updatePartialMessage, un as parseBootstrapMarker, ut as normalizeAwsTagsToCfn, v as ATOMIC_FINAL_SNAPSHOT_TYPES, vn as getDockerCmd, vr as StackTerminationProtectionError, vt as requireConfigArray, w as refusesFinalSnapshot, wn as Synthesizer, wr as withErrorHandling, wt as createSecretMasker, x as ccRoutedFinalSnapshotError, xn as runDockerStreaming, xt as STATE_SOURCED_CROSS_GENERATION_RULES, y as PRE_DELETE_SNAPSHOT_TYPES, yn as partitionSensitiveEnv, yt as requireConfigObject, z as collectPublishedOutputNames, zn as MIGRATE_TMP_PREFIX, zt as applyRoleArnIfSet } from "./deploy-engine-bFTrzeeu.js";
|
|
3
3
|
import { a as getLiveRenderer, c as PATTERN_B_RESOURCE_TYPES, d as generateResourceNameWithFallback, f as getCurrentStackName, h as withStackName, i as runStackBuffered, m as withSkipPrefix, n as getLogger, o as PATTERN_B_NAME_OPTIONS, s as PATTERN_B_NAME_PROPERTIES, u as generateResourceName } from "./logger-zRrlbaQt.js";
|
|
4
|
-
import { t as ASGProvider } from "./asg-provider-
|
|
4
|
+
import { t as ASGProvider } from "./asg-provider-DIKQ3APM.js";
|
|
5
5
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
6
6
|
import { createHash, randomBytes, randomUUID } from "node:crypto";
|
|
7
7
|
import { CopyObjectCommand, CreateBucketCommand, DeleteBucketAnalyticsConfigurationCommand, DeleteBucketCommand, DeleteBucketCorsCommand, DeleteBucketEncryptionCommand, DeleteBucketIntelligentTieringConfigurationCommand, DeleteBucketInventoryConfigurationCommand, DeleteBucketLifecycleCommand, DeleteBucketMetricsConfigurationCommand, DeleteBucketOwnershipControlsCommand, DeleteBucketPolicyCommand, DeleteBucketReplicationCommand, DeleteBucketTaggingCommand, DeleteBucketWebsiteCommand, DeleteObjectsCommand, GetBucketAccelerateConfigurationCommand, GetBucketCorsCommand, GetBucketEncryptionCommand, GetBucketLifecycleConfigurationCommand, GetBucketLocationCommand, GetBucketLoggingCommand, GetBucketNotificationConfigurationCommand, GetBucketOwnershipControlsCommand, GetBucketPolicyCommand, GetBucketReplicationCommand, GetBucketTaggingCommand, GetBucketVersioningCommand, GetBucketWebsiteCommand, GetObjectCommand, GetObjectLockConfigurationCommand, GetPublicAccessBlockCommand, HeadBucketCommand, ListBucketAnalyticsConfigurationsCommand, ListBucketIntelligentTieringConfigurationsCommand, ListBucketInventoryConfigurationsCommand, ListBucketMetricsConfigurationsCommand, ListObjectVersionsCommand, ListObjectsV2Command, NoSuchBucket, PutBucketAccelerateConfigurationCommand, PutBucketAnalyticsConfigurationCommand, PutBucketCorsCommand, PutBucketEncryptionCommand, PutBucketIntelligentTieringConfigurationCommand, PutBucketInventoryConfigurationCommand, PutBucketLifecycleConfigurationCommand, PutBucketLoggingCommand, PutBucketMetricsConfigurationCommand, PutBucketNotificationConfigurationCommand, PutBucketOwnershipControlsCommand, PutBucketPolicyCommand, PutBucketReplicationCommand, PutBucketTaggingCommand, PutBucketVersioningCommand, PutBucketWebsiteCommand, PutObjectCommand, PutObjectLockConfigurationCommand, PutPublicAccessBlockCommand, S3Client, S3ServiceException } from "@aws-sdk/client-s3";
|
|
@@ -58947,7 +58947,11 @@ async function runDestroyForStack(stackName, state, ctx) {
|
|
|
58947
58947
|
}
|
|
58948
58948
|
await saveChain;
|
|
58949
58949
|
logger.debug("Releasing lock...");
|
|
58950
|
-
|
|
58950
|
+
try {
|
|
58951
|
+
await ctx.lockManager.releaseLock(stackName, regionForState);
|
|
58952
|
+
} catch (releaseErr) {
|
|
58953
|
+
logger.warn(`Failed to release lock for stack '${stackName}': ${releaseErr instanceof Error ? releaseErr.message : String(releaseErr)}`);
|
|
58954
|
+
}
|
|
58951
58955
|
} finally {
|
|
58952
58956
|
process.removeListener("SIGINT", sigintHandler);
|
|
58953
58957
|
restoreBaseRegionAndClients();
|
|
@@ -81999,11 +82003,16 @@ async function createNetworkAndSidecar(args) {
|
|
|
81999
82003
|
if (credentials.sessionToken) sidecarEnv["AWS_SESSION_TOKEN"] = credentials.sessionToken;
|
|
82000
82004
|
}
|
|
82001
82005
|
if (cluster) sidecarEnv["CLUSTER"] = cluster;
|
|
82002
|
-
|
|
82006
|
+
const { flags: sidecarFlags, sensitiveEnv: sidecarSensitiveEnv, collisions: sidecarCollisions } = partitionSensitiveEnv(sidecarEnv, SENSITIVE_ENV_KEYS);
|
|
82007
|
+
sidecarArgs.push(...sidecarFlags);
|
|
82008
|
+
if (sidecarCollisions.length > 0) logger.warn(`Sidecar env var(s) ${sidecarCollisions.join(", ")} share a name with a docker-client environment variable and were NOT passed to the sidecar at all (they would hijack the docker client).`);
|
|
82003
82009
|
sidecarArgs.push(METADATA_ENDPOINT_IMAGE);
|
|
82004
82010
|
logger.info(`Starting ECS local-container-endpoints sidecar at ${sidecarIp}...`);
|
|
82005
82011
|
try {
|
|
82006
|
-
const { stdout } = await execFileAsync$3(getDockerCmd(), sidecarArgs, {
|
|
82012
|
+
const { stdout } = await execFileAsync$3(getDockerCmd(), sidecarArgs, {
|
|
82013
|
+
maxBuffer: 10 * 1024 * 1024,
|
|
82014
|
+
env: dockerSpawnEnvWithSensitive(sidecarSensitiveEnv)
|
|
82015
|
+
});
|
|
82007
82016
|
return stdout.trim();
|
|
82008
82017
|
} catch (err) {
|
|
82009
82018
|
await destroyNetworkOnly(networkName);
|
|
@@ -82324,10 +82333,11 @@ async function runEcsTask(task, options, state) {
|
|
|
82324
82333
|
const volumeByName = await realizeDockerVolumes(task.volumes, state);
|
|
82325
82334
|
const mergedAddHostFlags = mergeHostGatewayAddHostFlags(options.addHostFlags, options.hostGatewayExtraHosts);
|
|
82326
82335
|
const dockerCmds = /* @__PURE__ */ new Map();
|
|
82336
|
+
const dockerEnvs = /* @__PURE__ */ new Map();
|
|
82327
82337
|
for (const container of task.containers) {
|
|
82328
82338
|
const image = imagePlan.get(container.name);
|
|
82329
82339
|
if (!image) throw new EcsTaskRunnerError(`Internal: no resolved image for container '${container.name}'.`);
|
|
82330
|
-
|
|
82340
|
+
const built = buildDockerRunArgs({
|
|
82331
82341
|
task,
|
|
82332
82342
|
container,
|
|
82333
82343
|
image,
|
|
@@ -82344,7 +82354,10 @@ async function runEcsTask(task, options, state) {
|
|
|
82344
82354
|
...mergedAddHostFlags.length > 0 ? { addHostFlags: mergedAddHostFlags } : {},
|
|
82345
82355
|
...(options.networkAliasesByContainer?.get(container.name)?.length ?? 0) > 0 ? { networkAliases: options.networkAliasesByContainer.get(container.name) } : {},
|
|
82346
82356
|
...options.profileCredentialsFile && { profileCredentialsFile: options.profileCredentialsFile }
|
|
82347
|
-
})
|
|
82357
|
+
});
|
|
82358
|
+
dockerCmds.set(container.name, built.args);
|
|
82359
|
+
dockerEnvs.set(container.name, built.sensitiveEnv);
|
|
82360
|
+
if (built.collisions.length > 0) logger.warn(`Container '${container.name}': secret(s) ${built.collisions.join(", ")} share a name with a docker-client environment variable or have a malformed name (empty, or containing '=' / NUL), and were NOT passed to the container at all (a colliding name would hijack the docker client; a malformed name cannot form a valid environment variable). Rename the secret if the container needs it.`);
|
|
82348
82361
|
}
|
|
82349
82362
|
const startedByName = /* @__PURE__ */ new Map();
|
|
82350
82363
|
for (const containerName of startOrder) {
|
|
@@ -82354,7 +82367,11 @@ async function runEcsTask(task, options, state) {
|
|
|
82354
82367
|
logger.info(`Starting container '${container.name}' (image=${imagePlan.get(container.name)})`);
|
|
82355
82368
|
let id;
|
|
82356
82369
|
try {
|
|
82357
|
-
const
|
|
82370
|
+
const sensitiveEnv = dockerEnvs.get(container.name);
|
|
82371
|
+
const { stdout } = await execFileAsync$2(getDockerCmd(), args, {
|
|
82372
|
+
maxBuffer: 10 * 1024 * 1024,
|
|
82373
|
+
env: dockerSpawnEnvWithSensitive(sensitiveEnv)
|
|
82374
|
+
});
|
|
82358
82375
|
id = stdout.trim();
|
|
82359
82376
|
} catch (err) {
|
|
82360
82377
|
const e = err;
|
|
@@ -82708,7 +82725,8 @@ function buildDockerRunArgs(opts) {
|
|
|
82708
82725
|
applyOverrideMap(finalEnv, overrides["Parameters"]);
|
|
82709
82726
|
applyOverrideMap(finalEnv, overrides[container.name]);
|
|
82710
82727
|
}
|
|
82711
|
-
|
|
82728
|
+
const { flags, sensitiveEnv, collisions } = partitionSensitiveEnv(finalEnv, /* @__PURE__ */ new Set([...SENSITIVE_ENV_KEYS, ...secrets.map((s) => s.name)]));
|
|
82729
|
+
args.push(...flags);
|
|
82712
82730
|
if (container.user) args.push("--user", container.user);
|
|
82713
82731
|
if (container.privileged) args.push("--privileged");
|
|
82714
82732
|
if (container.readonlyRootFilesystem) args.push("--read-only");
|
|
@@ -82728,7 +82746,11 @@ function buildDockerRunArgs(opts) {
|
|
|
82728
82746
|
entryPointTail = container.entryPoint.slice(1);
|
|
82729
82747
|
}
|
|
82730
82748
|
args.push(image, ...entryPointTail, ...container.command ?? []);
|
|
82731
|
-
return
|
|
82749
|
+
return {
|
|
82750
|
+
args,
|
|
82751
|
+
sensitiveEnv,
|
|
82752
|
+
collisions
|
|
82753
|
+
};
|
|
82732
82754
|
}
|
|
82733
82755
|
function applyOverrideMap(acc, map) {
|
|
82734
82756
|
if (!map) return;
|
|
@@ -86619,7 +86641,7 @@ function createMigrateCommand() {
|
|
|
86619
86641
|
*/
|
|
86620
86642
|
function buildProgram() {
|
|
86621
86643
|
const program = new Command();
|
|
86622
|
-
program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.284.
|
|
86644
|
+
program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.284.43");
|
|
86623
86645
|
program.hook("preAction", (_thisCommand, actionCommand) => {
|
|
86624
86646
|
const { profile } = actionCommand.optsWithGlobals();
|
|
86625
86647
|
if (profile !== void 0) process.env["AWS_PROFILE"] = profile;
|