@go-to-k/cdkd 0.284.76 → 0.284.77
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-BjebXXKD.js → asg-provider-CDfupCgW.js} +2 -2
- package/dist/{asg-provider-BjebXXKD.js.map → asg-provider-CDfupCgW.js.map} +1 -1
- package/dist/cli.js +2 -2
- package/dist/{deploy-engine-Dm-MdFR-.js → deploy-engine-Ce3payPI.js} +194 -12
- package/dist/deploy-engine-Ce3payPI.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/{program-BVT169-W.js → program-SpnBYAoA.js} +54 -13
- package/dist/{program-BVT169-W.js.map → program-SpnBYAoA.js.map} +1 -1
- package/dist/{version-BMCefk9p.js → version-rsHq2qI3.js} +2 -2
- package/dist/{version-BMCefk9p.js.map → version-rsHq2qI3.js.map} +1 -1
- package/package.json +1 -1
- package/dist/deploy-engine-Dm-MdFR-.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fr as
|
|
1
|
+
import { Fr as SynthesisError, G as IAMRoleProvider, Ht as DagBuilder, Ir as formatError, J as ProviderRegistry, Lr as isCdkdError, Pr as StateError, Rr as normalizeAwsError, Rt as DiffCalculator, Tr as LockError, Ut as TemplateParser, _r as ConfigError, dr as AwsClients, fr as getAwsClients, gr as CdkdError, hr as AssetError, kr as ProvisioningError, ln as AssetPublisher, lr as clearBucketRegionCache, mr as setAwsClients, pr as resetAwsClients, r as DeployEngine, rn as S3StateBackend, sr as AssemblyReader, st as CloudControlProvider, tn as LockManager, ur as resolveBucketRegion, yr as DependencyError, zn as Synthesizer } from "./deploy-engine-Ce3payPI.js";
|
|
2
2
|
import { i as setLogger, n as getLogger, t as ConsoleLogger } from "./logger-C9-E73FI.js";
|
|
3
3
|
|
|
4
4
|
export { AssemblyReader, AssetError, AssetPublisher, AwsClients, CdkdError, CloudControlProvider, ConfigError, ConsoleLogger, DagBuilder, DependencyError, DeployEngine, DiffCalculator, IAMRoleProvider, LockError, LockManager, ProviderRegistry, ProvisioningError, S3StateBackend, StateError, SynthesisError, Synthesizer, TemplateParser, clearBucketRegionCache, formatError, getAwsClients, getLogger, isCdkdError, normalizeAwsError, resetAwsClients, resolveBucketRegion, setAwsClients, setLogger };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { $ as maskerOrIdentity, $n as
|
|
1
|
+
import { $ as maskerOrIdentity, $n as CFN_TEMPLATE_URL_LIMIT, $t as redactSecretsForState, A as renderStatefulReason, An as buildDockerImage, Ar as ResourceTimeoutError, At as classifyReplaySecretRegion, B as exportAliasCollisionScrubWarning, Bn as synthesisStatusMessage, Br as isMarkedNonRetryable, Bt as describeTypeWithThrottleRetry, C as isFinalSnapshotError, Cn as isCrossRegionRedirect, Cr as LocalMigrateError, Ct as configBooleanRefusal, D as extractDeploymentEventError, Dn as validateContainerRepoName, Dr as NestedStackChildDirectDestroyError, Dt as requireConfigArray, E as makeCanonicalizePropertiesFn, En as validateAssetBucketName, Er as MissingCdkCliError, Et as replayWarn, F as green, Fn as runDockerForeground, Ft as s3BucketRegionalDomainName, G as IAMRoleProvider, Gn as resolveCaptureObservedState, Gr as retryClassificationText, Gt as STATE_SOURCED_READBACK_RULES, H as secretBearingStateKeyWarning, Hn as getLegacyStateBucketName, Hr as isThrottlingError, Ht as DagBuilder, I as red, In as runDockerStreaming, It as s3BucketWebsiteUrl, J as ProviderRegistry, Jn as resolveStateBucketWithDefaultAndSource, Jt as dynamicReferenceTokens, K as collectInlinePolicyNamesManagedBySiblings, Kn as resolveSkipPrefix, Kt as TEMPLATE_SOURCED_RULES, L as yellow, Ln as AssetManifestLoader, Lt as applyRoleArnIfSet, M as bold, Mn as formatDockerLoginError, Mr as StackHasActiveImportsError, Mt as s3BucketArn, N as cyan, Nn as getDockerCmd, Nr as StackTerminationProtectionError, Nt as s3BucketDomainName, O as MULTI_REGION_RECREATE_BLOCKED_TYPES, On as buildDenyExternalAccessPolicy, Or as PartialFailureError, Ot as requireConfigObject, P as gray, Pn as partitionSensitiveEnv, Pt as s3BucketDualStackDomainName, Q as maskDeep, Qn as CFN_TEMPLATE_BODY_LIMIT, Qt as maskSecretsInText, R as collectDeclaredOutputNames, Rn as getDockerImageBySourceHash, Rr as normalizeAwsError, Rt as DiffCalculator, S as createPreDeleteFinalSnapshot, Sn as getBootstrapMarkerKey, Sr as LocalInvokeBuildError$1, St as coerceCfnBoolean, T as unsupportedFinalSnapshotError, Tn as readBootstrapMarkerBody, Tt as readConfigString, U as stateKeySecretExposure, Un as resolveApp, Ur as markNonRetryable, Ut as TemplateParser, V as isExportAliasCollision, Vn as getDefaultStateBucketName, Vr as isRetryableTransientError, Vt as withRetry, W as getCurrentResourceSecrets, Wn as resolveAutoAssetStorage, Wr as markRedactedCause, Wt as STATE_SOURCED_CROSS_GENERATION_RULES, X as findSilentDropProperties, Xn as stateBucketExistenceConfirmed, Xt as isSingleDynamicReferenceToken, Y as findActionableSilentDrops, Yn as resolveUseCdkBootstrapAssets, Yt as errorCauseChain, Z as createMaskedRetryLogger, Zn as warnDeprecatedNoPrefixCliFlag, Zt as maskSecretsInError, _ as computeImplicitDeleteEdges, _n as stripControlChars, _t as refStateLookupFromResource, a as DeploymentEventsStore, an as exportNamesCarriedFrom, ar as canonicalizeRegion, at as isInterruptedWaitError, b as buildFinalSnapshotIdentifier, bn as assertAssetBucketRegion, br as DeployCancelledError, bt as resolveExplicitPhysicalId, c as replayFailedOperations, cn as shouldRetainResource, cr as processStackMessages, ct as slowCcOperationTimeoutMs, d as updatePartialReason, dn as WorkGraph, dr as AwsClients, dt as IntrinsicFunctionResolver, en as scrubResourceRecord, er as MIGRATE_TMP_PREFIX, et as CUSTOM_RESOURCE_RESPONSE_PREFIX, f as UNSPECIFIED_SKIP_REASON, fn as buildAssetRedirectMap, fr as getAwsClients, ft as carriesDynamicReference, g as IMPLICIT_DELETE_DEPENDENCIES, gn as escapeRegExp, gr as CdkdError, gt as parameterTypeMayLoseSecretIdentity, h as maskingRetryLogger, hn as rewriteTemplateAssetReferences, ht as isUnboundTemplateParameter, i as DeploymentEventsReader, in as rebuildClientForBucketRegion, ir as PARTITION_TABLE, it as interruptWatchListenerCount, j as formatResourceLine, jn as dockerSpawnEnvWithSensitive, jr as ResourceUpdateNotSupportedError, jt as producerRegionsFromState, k as isStatefulRecreateTargetSync, kn as describeAwsFailure, kr as ProvisioningError, kt as requireConfigString, l as replayRollback, ln as AssetPublisher, lt as disableInstanceApiTermination, m as withResourceDeadline, mn as loadPublishableAssetManifest, mr as setAwsClients, mt as getAccountInfo, n as DEFAULT_RESOURCE_WARN_AFTER_MS, nn as displaySafe, nr as uploadCfnTemplate, nt as beginCommandInterruptScope, o as planFailedOps, on as importableOutputKeys, or as derivePartitionAndUrlSuffix, ot as startInterruptWatch, p as deleteSkipReason, pn as createAssetRedirectResolver, pr as resetAwsClients, pt as cfnRefValueFromPhysicalId, q as clearOnUpdateRemoval, qn as resolveStateBucketWithDefault, qt as createSecretMasker, r as DeployEngine, rn as S3StateBackend, rr as expectedOwnerParam, rt as endCommandInterruptScope, s as planRollback, sn as importableOutputs, sr as AssemblyReader, st as CloudControlProvider, t as DEFAULT_RESOURCE_TIMEOUT_MS, tn as LockManager, tr as findLargeInlineResources, tt as DEFAULT_STATE_PREFIX, u as updatePartialMessage, un as stringifyValue, ur as resolveBucketRegion, ut as isTerminationProtectionPropagationError, v as ATOMIC_FINAL_SNAPSHOT_TYPES, vn as AssetModeResolver, vr as CrossAccountSecretRefusalError, vt as WAFv2WebACLProvider, w as refusesFinalSnapshot, wn as parseBootstrapMarker, wr as LocalStartServiceError, wt as configStringRefusal, x as ccRoutedFinalSnapshotError, xn as ensureAssetStorage, xr as DynamicReferenceRegionAmbiguousError, xt as assertRegionMatch, y as PRE_DELETE_SNAPSHOT_TYPES, yn as BOOTSTRAP_MARKER_PREFIX, yt as normalizeAwsTagsToCfn, z as collectPublishedOutputNames, zn as Synthesizer, zr as withErrorHandling, zt as INTRINSIC_KEYS } from "./deploy-engine-Ce3payPI.js";
|
|
2
2
|
import { a as runStackBuffered, c as PATTERN_B_NAME_PROPERTIES, d as generateResourceName, f as generateResourceNameWithFallback, g as withStackName, h as withSkipPrefix, l as PATTERN_B_RESOURCE_TYPES, n as getLogger, o as getLiveRenderer, p as getCurrentStackName, r as reserveStdoutForPayload, s as PATTERN_B_NAME_OPTIONS } from "./logger-C9-E73FI.js";
|
|
3
|
-
import { t as getCdkdVersion } from "./version-
|
|
4
|
-
import { t as ASGProvider } from "./asg-provider-
|
|
3
|
+
import { t as getCdkdVersion } from "./version-rsHq2qI3.js";
|
|
4
|
+
import { t as ASGProvider } from "./asg-provider-CDfupCgW.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";
|
|
@@ -9139,8 +9139,7 @@ var S3BucketProvider = class S3BucketProvider {
|
|
|
9139
9139
|
...effectiveProperties ? { effectiveProperties } : {}
|
|
9140
9140
|
};
|
|
9141
9141
|
} catch (error) {
|
|
9142
|
-
|
|
9143
|
-
throw new ProvisioningError(`Failed to create S3 bucket ${logicalId}: ${error instanceof Error ? error.message : String(error)}`, resourceType, logicalId, bucketName, cause);
|
|
9142
|
+
throw this.wrapOperationError("create", logicalId, resourceType, bucketName, error);
|
|
9144
9143
|
}
|
|
9145
9144
|
}
|
|
9146
9145
|
/**
|
|
@@ -9174,8 +9173,7 @@ var S3BucketProvider = class S3BucketProvider {
|
|
|
9174
9173
|
...effectiveProperties ? { effectiveProperties } : {}
|
|
9175
9174
|
};
|
|
9176
9175
|
} catch (error) {
|
|
9177
|
-
|
|
9178
|
-
throw new ProvisioningError(`Failed to update S3 bucket ${logicalId}: ${error instanceof Error ? error.message : String(error)}`, resourceType, logicalId, physicalId, cause);
|
|
9176
|
+
throw this.wrapOperationError("update", logicalId, resourceType, physicalId, error);
|
|
9179
9177
|
}
|
|
9180
9178
|
}
|
|
9181
9179
|
/**
|
|
@@ -9196,9 +9194,52 @@ var S3BucketProvider = class S3BucketProvider {
|
|
|
9196
9194
|
this.logger.debug(`Bucket ${physicalId} does not exist, skipping deletion`);
|
|
9197
9195
|
return;
|
|
9198
9196
|
}
|
|
9199
|
-
|
|
9200
|
-
|
|
9201
|
-
|
|
9197
|
+
throw this.wrapOperationError("delete", logicalId, resourceType, physicalId, error);
|
|
9198
|
+
}
|
|
9199
|
+
}
|
|
9200
|
+
/**
|
|
9201
|
+
* Wrap whatever `create` / `update` / `delete` caught into the
|
|
9202
|
+
* `ProvisioningError` they throw, with the identity split done BEFORE the
|
|
9203
|
+
* throw (issue [#2302](https://github.com/go-to-k/cdkd/issues/2302)).
|
|
9204
|
+
*
|
|
9205
|
+
* All three sites used to interpolate `error.message` straight into the
|
|
9206
|
+
* thrown text. A thrown message is NOT the terminal-only surface the
|
|
9207
|
+
* identity warnings elsewhere in this file are: `extractDeploymentEventError`
|
|
9208
|
+
* captures it into `deployments/{runId}.jsonl`, which outlives the run and is
|
|
9209
|
+
* explicitly restricted to error plus metadata. So an `AccessDenied` on
|
|
9210
|
+
* `CreateBucket` / `PutBucket*` / `DeleteBucket` -- S3 words it `User:
|
|
9211
|
+
* arn:aws:sts::<account>:assumed-role/<role>/<session> is not authorized to
|
|
9212
|
+
* perform: ...` -- wrote the caller's account id, role name and session name
|
|
9213
|
+
* into that durable store. Splitting at a log call cannot help here; the
|
|
9214
|
+
* split has to happen before the `throw`.
|
|
9215
|
+
*
|
|
9216
|
+
* Both halves are emitted, for the reason PR
|
|
9217
|
+
* [#2290](https://github.com/go-to-k/cdkd/pull/2290) learned the expensive
|
|
9218
|
+
* way: AWS's text is what separates a missing IAM grant from a bucket-policy
|
|
9219
|
+
* `Deny`, and that distinction is the operator's next action. The class goes
|
|
9220
|
+
* in the thrown message and AWS's own wording goes to `logger.debug`.
|
|
9221
|
+
*
|
|
9222
|
+
* The redaction is NARROW on purpose, and these three sites are why. They are
|
|
9223
|
+
* BROAD catch blocks that capture cdkd's OWN refusals as readily as an SDK
|
|
9224
|
+
* failure: this file raises six cdkd-authored plain `Error`s inside them --
|
|
9225
|
+
* the `BucketEncryption` / `OwnershipControls` array refusals, the
|
|
9226
|
+
* EventBridge and inventory `Enabled` refusals, the destination-shape
|
|
9227
|
+
* refusal, and `deleteBucketWithEmptyRetry`'s non-empty-bucket refusal, whose
|
|
9228
|
+
* message IS the CloudFormation-parity remediation. `describeAwsFailure`
|
|
9229
|
+
* keys on the smithy marker fields rather than on "cdkd did not author it",
|
|
9230
|
+
* so every one of those passes through verbatim; the `redacted` gate then
|
|
9231
|
+
* suppresses a debug line that would only repeat the throw.
|
|
9232
|
+
*
|
|
9233
|
+
* `cause` still carries the raw error, deliberately: the persisted event
|
|
9234
|
+
* reads only the TOP-level `message` off it (plus `awsErrorCode` /
|
|
9235
|
+
* `requestId` from the chain), so keeping it costs nothing in that store
|
|
9236
|
+
* while retaining the retry classifiers' and `formatError`'s access to it.
|
|
9237
|
+
*/
|
|
9238
|
+
wrapOperationError(operation, logicalId, resourceType, physicalId, error) {
|
|
9239
|
+
const failure = describeAwsFailure(error);
|
|
9240
|
+
if (failure.redacted) this.logger.debug(`Failed to ${operation} S3 bucket ${logicalId} (${physicalId}): ${failure.detail}`);
|
|
9241
|
+
const wrapped = new ProvisioningError(`Failed to ${operation} S3 bucket ${logicalId}: ${failure.summary}`, resourceType, logicalId, physicalId, error instanceof Error ? error : void 0);
|
|
9242
|
+
return failure.redacted ? markRedactedCause(wrapped) : wrapped;
|
|
9202
9243
|
}
|
|
9203
9244
|
/**
|
|
9204
9245
|
* The `effectiveProperties` TWIN required by `.claude/rules/providers.md`
|
|
@@ -59849,8 +59890,8 @@ async function runDestroyForStack(stackName, state, ctx) {
|
|
|
59849
59890
|
break;
|
|
59850
59891
|
} catch (retryError) {
|
|
59851
59892
|
lastDeleteError = retryError;
|
|
59852
|
-
const
|
|
59853
|
-
if (!(!isMarkedNonRetryable(retryError) && (isRetryableTransientError(retryError,
|
|
59893
|
+
const classify = retryClassificationText(retryError);
|
|
59894
|
+
if (!(!isMarkedNonRetryable(retryError) && (isRetryableTransientError(retryError, classify) || classify.includes("Too Many Requests"))) || attempt >= maxAttempts) break;
|
|
59854
59895
|
const delay = 5e3 * Math.pow(2, attempt);
|
|
59855
59896
|
logger.debug(` ⏳ Retrying delete ${logicalId} in ${delay / 1e3}s (attempt ${attempt + 1}/${maxAttempts})`);
|
|
59856
59897
|
await new Promise((resolve) => setTimeout(resolve, delay));
|
|
@@ -88547,4 +88588,4 @@ function buildProgram() {
|
|
|
88547
88588
|
|
|
88548
88589
|
//#endregion
|
|
88549
88590
|
export { buildProgram };
|
|
88550
|
-
//# sourceMappingURL=program-
|
|
88591
|
+
//# sourceMappingURL=program-SpnBYAoA.js.map
|