@go-to-k/cdkd 0.281.25 → 0.281.26
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-Cm5r4o8r.js → asg-provider-II3TmZ4t.js} +2 -2
- package/dist/{asg-provider-Cm5r4o8r.js.map → asg-provider-II3TmZ4t.js.map} +1 -1
- package/dist/cli.js +61 -12
- package/dist/cli.js.map +1 -1
- package/dist/{deploy-engine-C8Kq3Cei.js → deploy-engine-XC8HOR51.js} +3 -3
- package/dist/{deploy-engine-C8Kq3Cei.js.map → deploy-engine-XC8HOR51.js.map} +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { $ as configStringRefusal, $t as MIGRATE_TMP_PREFIX, A as green, At as validateContainerRepoName, B as slowCcOperationTimeoutMs, Bt as getDefaultStateBucketName, C as MULTI_REGION_RECREATE_BLOCKED_TYPES, Cn as PartialFailureError, Ct as rewriteTemplateAssetReferences, D as bold, Dn as StackHasActiveImportsError, Dt as getBootstrapMarkerKey, E as formatResourceLine, En as ResourceUpdateNotSupportedError, Et as ensureAssetStorage, F as clearOnUpdateRemoval, Ft as runDockerStreaming, G as getAccountInfo, Gt as resolveSkipPrefix, H as isTerminationProtectionPropagationError, Ht as resolveApp, I as ProviderRegistry, It as AssetManifestLoader, J as normalizeAwsTagsToCfn, Jt as resolveUseCdkBootstrapAssets, K as refStateLookupFromResource, Kt as resolveStateBucketWithDefault, L as findActionableSilentDrops, Lt as getDockerImageBySourceHash, M as yellow, Mt as formatDockerLoginError, N as IAMRoleProvider, Nn as normalizeAwsError, Nt as getDockerCmd, O as cyan, On as StackTerminationProtectionError, Ot as parseBootstrapMarker, P as collectInlinePolicyNamesManagedBySiblings, Pn as withErrorHandling, Pt as runDockerForeground, Q as configBooleanRefusal, Qt as CFN_TEMPLATE_URL_LIMIT, R as findSilentDropProperties, Rt as Synthesizer, S as extractDeploymentEventError, Sn as NestedStackChildDirectDestroyError, St as loadPublishableAssetManifest, T as renderStatefulReason, Tn as ResourceTimeoutError, Tt as BOOTSTRAP_MARKER_PREFIX, U as IntrinsicFunctionResolver, Ut as resolveAutoAssetStorage, V as disableInstanceApiTermination, Vt as getLegacyStateBucketName, W as cfnRefValueFromPhysicalId, Wt as resolveCaptureObservedState, X as assertRegionMatch, Xt as warnDeprecatedNoPrefixCliFlag, Y as resolveExplicitPhysicalId, Yt as stateBucketExistenceConfirmed, Z as coerceCfnBoolean, Zt as CFN_TEMPLATE_BODY_LIMIT, _ as createPreDeleteFinalSnapshot, _n as LocalInvokeBuildError$1, _t as AssetPublisher, a as DeploymentEventsStore, an as processStackMessages, at as applyRoleArnIfSet, b as unsupportedFinalSnapshotError, bt as buildAssetRedirectMap, c as replayFailedOperations, cn as AwsClients, ct as withRetry, d as IMPLICIT_DELETE_DEPENDENCIES, dn as setAwsClients, dt as DagBuilder, en as findLargeInlineResources, et as readConfigString, f as computeImplicitDeleteEdges, ft as TemplateParser, g as ccRoutedFinalSnapshotError, gn as DeployCancelledError, gt as shouldRetainResource, h as buildFinalSnapshotIdentifier, ht as rebuildClientForBucketRegion, i as DeploymentEventsReader, in as AssemblyReader, it as requireConfigString, j as red, jt as buildDockerImage, k as gray, kt as validateAssetBucketName, l as replayRollback, ln as getAwsClients, lt as isRetryableTransientError, m as PRE_DELETE_SNAPSHOT_TYPES, mt as S3StateBackend, n as DEFAULT_RESOURCE_WARN_AFTER_MS, nn as expectedOwnerParam, nt as requireConfigArray, o as planFailedOps, ot as DiffCalculator, p as ATOMIC_FINAL_SNAPSHOT_TYPES, pn as CdkdError, pt as LockManager, q as WAFv2WebACLProvider, qt as resolveStateBucketWithDefaultAndSource, r as DeployEngine, rn as derivePartitionAndUrlSuffix, rt as requireConfigObject, s as planRollback, sn as resolveBucketRegion, st as describeTypeWithThrottleRetry, t as DEFAULT_RESOURCE_TIMEOUT_MS, tn as uploadCfnTemplate, tt as replayWarn, u as withResourceDeadline, un as resetAwsClients, ut as isThrottlingError, v as isFinalSnapshotError, vn as LocalMigrateError, vt as stringifyValue, w as isStatefulRecreateTargetSync, wn as ProvisioningError, wt as AssetModeResolver, x as makeCanonicalizePropertiesFn, xn as MissingCdkCliError, xt as createAssetRedirectResolver, y as refusesFinalSnapshot, yn as LocalStartServiceError, yt as WorkGraph, z as CloudControlProvider, zt as synthesisStatusMessage } from "./deploy-engine-
|
|
2
|
+
import { $ as configStringRefusal, $t as MIGRATE_TMP_PREFIX, A as green, At as validateContainerRepoName, B as slowCcOperationTimeoutMs, Bt as getDefaultStateBucketName, C as MULTI_REGION_RECREATE_BLOCKED_TYPES, Cn as PartialFailureError, Ct as rewriteTemplateAssetReferences, D as bold, Dn as StackHasActiveImportsError, Dt as getBootstrapMarkerKey, E as formatResourceLine, En as ResourceUpdateNotSupportedError, Et as ensureAssetStorage, F as clearOnUpdateRemoval, Ft as runDockerStreaming, G as getAccountInfo, Gt as resolveSkipPrefix, H as isTerminationProtectionPropagationError, Ht as resolveApp, I as ProviderRegistry, It as AssetManifestLoader, J as normalizeAwsTagsToCfn, Jt as resolveUseCdkBootstrapAssets, K as refStateLookupFromResource, Kt as resolveStateBucketWithDefault, L as findActionableSilentDrops, Lt as getDockerImageBySourceHash, M as yellow, Mt as formatDockerLoginError, N as IAMRoleProvider, Nn as normalizeAwsError, Nt as getDockerCmd, O as cyan, On as StackTerminationProtectionError, Ot as parseBootstrapMarker, P as collectInlinePolicyNamesManagedBySiblings, Pn as withErrorHandling, Pt as runDockerForeground, Q as configBooleanRefusal, Qt as CFN_TEMPLATE_URL_LIMIT, R as findSilentDropProperties, Rt as Synthesizer, S as extractDeploymentEventError, Sn as NestedStackChildDirectDestroyError, St as loadPublishableAssetManifest, T as renderStatefulReason, Tn as ResourceTimeoutError, Tt as BOOTSTRAP_MARKER_PREFIX, U as IntrinsicFunctionResolver, Ut as resolveAutoAssetStorage, V as disableInstanceApiTermination, Vt as getLegacyStateBucketName, W as cfnRefValueFromPhysicalId, Wt as resolveCaptureObservedState, X as assertRegionMatch, Xt as warnDeprecatedNoPrefixCliFlag, Y as resolveExplicitPhysicalId, Yt as stateBucketExistenceConfirmed, Z as coerceCfnBoolean, Zt as CFN_TEMPLATE_BODY_LIMIT, _ as createPreDeleteFinalSnapshot, _n as LocalInvokeBuildError$1, _t as AssetPublisher, a as DeploymentEventsStore, an as processStackMessages, at as applyRoleArnIfSet, b as unsupportedFinalSnapshotError, bt as buildAssetRedirectMap, c as replayFailedOperations, cn as AwsClients, ct as withRetry, d as IMPLICIT_DELETE_DEPENDENCIES, dn as setAwsClients, dt as DagBuilder, en as findLargeInlineResources, et as readConfigString, f as computeImplicitDeleteEdges, ft as TemplateParser, g as ccRoutedFinalSnapshotError, gn as DeployCancelledError, gt as shouldRetainResource, h as buildFinalSnapshotIdentifier, ht as rebuildClientForBucketRegion, i as DeploymentEventsReader, in as AssemblyReader, it as requireConfigString, j as red, jt as buildDockerImage, k as gray, kt as validateAssetBucketName, l as replayRollback, ln as getAwsClients, lt as isRetryableTransientError, m as PRE_DELETE_SNAPSHOT_TYPES, mt as S3StateBackend, n as DEFAULT_RESOURCE_WARN_AFTER_MS, nn as expectedOwnerParam, nt as requireConfigArray, o as planFailedOps, ot as DiffCalculator, p as ATOMIC_FINAL_SNAPSHOT_TYPES, pn as CdkdError, pt as LockManager, q as WAFv2WebACLProvider, qt as resolveStateBucketWithDefaultAndSource, r as DeployEngine, rn as derivePartitionAndUrlSuffix, rt as requireConfigObject, s as planRollback, sn as resolveBucketRegion, st as describeTypeWithThrottleRetry, t as DEFAULT_RESOURCE_TIMEOUT_MS, tn as uploadCfnTemplate, tt as replayWarn, u as withResourceDeadline, un as resetAwsClients, ut as isThrottlingError, v as isFinalSnapshotError, vn as LocalMigrateError, vt as stringifyValue, w as isStatefulRecreateTargetSync, wn as ProvisioningError, wt as AssetModeResolver, x as makeCanonicalizePropertiesFn, xn as MissingCdkCliError, xt as createAssetRedirectResolver, y as refusesFinalSnapshot, yn as LocalStartServiceError, yt as WorkGraph, z as CloudControlProvider, zt as synthesisStatusMessage } from "./deploy-engine-XC8HOR51.js";
|
|
3
3
|
import { a as getLiveRenderer, c as PATTERN_B_RESOURCE_TYPES, d as generateResourceNameWithFallback, 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-II3TmZ4t.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";
|
|
@@ -63511,6 +63511,50 @@ function escapeRegExp(value) {
|
|
|
63511
63511
|
*/
|
|
63512
63512
|
const KEY_TERMINATORS = "[^\\s\"'?]";
|
|
63513
63513
|
/**
|
|
63514
|
+
* `(?:amazonaws\.com\.cn|amazonaws\.com|...)` — {@link AWS_URL_SUFFIXES} as a
|
|
63515
|
+
* non-capturing alternation, LONGEST FIRST so `amazonaws.com.cn` is tried
|
|
63516
|
+
* before its own `amazonaws.com` prefix instead of relying on backtracking.
|
|
63517
|
+
*
|
|
63518
|
+
* The `(?:` is load-bearing, not stylistic: every matcher below reads its
|
|
63519
|
+
* results by GROUP INDEX (`match[1]` is the S3 key / the ECR tag, `match[2]`
|
|
63520
|
+
* the ECR digest), and this alternation sits BEFORE those groups in all three
|
|
63521
|
+
* patterns. Making it capturing would shift every index by one and silently
|
|
63522
|
+
* collect the suffix as if it were a key.
|
|
63523
|
+
*/
|
|
63524
|
+
const URL_SUFFIX_ALTERNATION = `(?:${[...[
|
|
63525
|
+
"amazonaws.com",
|
|
63526
|
+
"amazonaws.com.cn",
|
|
63527
|
+
"amazonaws.eu",
|
|
63528
|
+
"c2s.ic.gov",
|
|
63529
|
+
"sc2s.sgov.gov",
|
|
63530
|
+
"cloud.adc-e.uk",
|
|
63531
|
+
"csp.hci.ic.gov"
|
|
63532
|
+
]].sort((a, b) => b.length - a.length).map(escapeRegExp).join("|")})`;
|
|
63533
|
+
/**
|
|
63534
|
+
* The HOST half of an ECR registry, as an alternation over the forms AWS
|
|
63535
|
+
* serves: `<acct>.dkr.ecr.<region>.<urlSuffix>`, its FIPS sibling
|
|
63536
|
+
* `<acct>.dkr.ecr-fips.<region>.<urlSuffix>`, and the short-form alias
|
|
63537
|
+
* `<acct>.dkr-ecr.<region>.on.aws`.
|
|
63538
|
+
*
|
|
63539
|
+
* Kept DELIBERATELY separate from the S3 matchers' shared
|
|
63540
|
+
* {@link URL_SUFFIX_ALTERNATION} rather than folded into it: `on.aws` is an
|
|
63541
|
+
* ECR-only endpoint, so adding it to the shared suffix set would also make
|
|
63542
|
+
* `https://<assetBucket>.s3.<region>.on.aws/<key>` a recognized S3 reference.
|
|
63543
|
+
* Widening either matcher only ever over-PROTECTS, but the two services' host
|
|
63544
|
+
* grammars genuinely differ and conflating them is how the next widening goes
|
|
63545
|
+
* wrong.
|
|
63546
|
+
*
|
|
63547
|
+
* Account and region are matched loosely on purpose (see the extractor doc):
|
|
63548
|
+
* collecting a reference from another account's or region's URI can only KEEP
|
|
63549
|
+
* more, never delete more — which is also why the two extra forms are worth
|
|
63550
|
+
* carrying even though cdkd's own publisher writes the plain one. Issue #1785
|
|
63551
|
+
* tracks deriving these host forms from ONE place shared with
|
|
63552
|
+
* `src/utils/ecr-uri.ts` instead of two hand-kept copies.
|
|
63553
|
+
*
|
|
63554
|
+
* Every group is non-capturing, for the {@link URL_SUFFIX_ALTERNATION} reason.
|
|
63555
|
+
*/
|
|
63556
|
+
const ECR_REGISTRY_HOST = `\\d{12}\\.(?:dkr\\.ecr(?:-fips)?\\.[a-z0-9-]+\\.${URL_SUFFIX_ALTERNATION}|dkr-ecr\\.[a-z0-9-]+\\.on\\.aws)`;
|
|
63557
|
+
/**
|
|
63514
63558
|
* cdkd's publishers write content-addressed keys (`<sha256>.<ext>`). A
|
|
63515
63559
|
* second, name-independent pass collects every such token from every
|
|
63516
63560
|
* scanned string — belt-and-braces against URL captures that ran through
|
|
@@ -63548,21 +63592,26 @@ function tryDecodeBase64Text(value) {
|
|
|
63548
63592
|
* ApiGateway BodyS3Location / SFN DefinitionS3Location, ...) — handled
|
|
63549
63593
|
* in the walk itself; every sibling string value is collected.
|
|
63550
63594
|
* - `s3://<assetBucket>/<key>` URIs.
|
|
63551
|
-
* - `https://<assetBucket>.s3[.<region>]
|
|
63595
|
+
* - `https://<assetBucket>.s3[.<region>].<urlSuffix>/<key>`
|
|
63552
63596
|
* (virtual-hosted style, region / dualstack variants included).
|
|
63553
|
-
* - `https://s3[.<region>]
|
|
63554
|
-
* - `<
|
|
63555
|
-
*
|
|
63556
|
-
* loosely on purpose: collecting a reference from another
|
|
63557
|
-
* region's URI can only over-protect (keep more), never
|
|
63597
|
+
* - `https://s3[.<region>].<urlSuffix>/<assetBucket>/<key>` (path style).
|
|
63598
|
+
* - `<ecrHost>/<containerRepo>:<tag>` and/or `...@sha256:<digest>` image
|
|
63599
|
+
* URIs, where `<ecrHost>` is {@link ECR_REGISTRY_HOST}. Account / region
|
|
63600
|
+
* are matched loosely on purpose: collecting a reference from another
|
|
63601
|
+
* account's or region's URI can only over-protect (keep more), never
|
|
63602
|
+
* delete more.
|
|
63603
|
+
*
|
|
63604
|
+
* `<urlSuffix>` in the two S3 shapes is {@link URL_SUFFIX_ALTERNATION}, i.e.
|
|
63605
|
+
* EVERY partition's suffix at once — see that constant for why a per-region
|
|
63606
|
+
* derived literal is the wrong shape here (issue #1781).
|
|
63558
63607
|
*/
|
|
63559
63608
|
function buildReferenceExtractors(marker) {
|
|
63560
63609
|
const bucket = escapeRegExp(marker.assetBucket);
|
|
63561
63610
|
const repo = escapeRegExp(marker.containerRepo);
|
|
63562
63611
|
const s3UriRe = new RegExp(`s3://${bucket}/(${KEY_TERMINATORS}+)`, "g");
|
|
63563
|
-
const virtualHostedRe = new RegExp(`https://${bucket}\\.s3[^/\\s]
|
|
63564
|
-
const pathStyleRe = new RegExp(`https://s3[^/\\s]
|
|
63565
|
-
const ecrRe = new RegExp(
|
|
63612
|
+
const virtualHostedRe = new RegExp(`https://${bucket}\\.s3[^/\\s]*\\.${URL_SUFFIX_ALTERNATION}/(${KEY_TERMINATORS}+)`, "g");
|
|
63613
|
+
const pathStyleRe = new RegExp(`https://s3[^/\\s]*\\.${URL_SUFFIX_ALTERNATION}/${bucket}/(${KEY_TERMINATORS}+)`, "g");
|
|
63614
|
+
const ecrRe = new RegExp(`${ECR_REGISTRY_HOST}/${repo}(?::([A-Za-z0-9_][A-Za-z0-9._-]{0,127}))?(?:@(sha256:[0-9a-f]{64}))?`, "g");
|
|
63566
63615
|
const extractOnce = (value, refs) => {
|
|
63567
63616
|
for (const re of [
|
|
63568
63617
|
s3UriRe,
|
|
@@ -75387,7 +75436,7 @@ function createMigrateCommand() {
|
|
|
75387
75436
|
*/
|
|
75388
75437
|
function buildProgram() {
|
|
75389
75438
|
const program = new Command();
|
|
75390
|
-
program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.281.
|
|
75439
|
+
program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.281.26");
|
|
75391
75440
|
program.hook("preAction", (_thisCommand, actionCommand) => {
|
|
75392
75441
|
const { profile } = actionCommand.optsWithGlobals();
|
|
75393
75442
|
if (profile !== void 0) process.env["AWS_PROFILE"] = profile;
|