@go-to-k/cdkd 0.77.0 → 0.78.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/README.md +24 -19
- package/dist/cli.js +17 -6
- package/dist/cli.js.map +2 -2
- package/dist/go-to-k-cdkd-0.78.0.tgz +0 -0
- package/package.json +1 -1
- package/dist/go-to-k-cdkd-0.77.0.tgz +0 -0
package/README.md
CHANGED
|
@@ -36,9 +36,9 @@ Numbers below are deploy-phase only (CDK app synthesis is identical between cdkd
|
|
|
36
36
|
|
|
37
37
|
Stack: S3 Bucket, DynamoDB Table, SQS Queue, SNS Topic, SSM Parameter (5 independent resources, fully parallelized by cdkd's DAG scheduler).
|
|
38
38
|
|
|
39
|
-
| |
|
|
39
|
+
| | AWS CDK (CFn) | cdkd | Speedup |
|
|
40
40
|
| --- | ---: | ---: | ---: |
|
|
41
|
-
| Deploy | **
|
|
41
|
+
| Deploy | **94.4s** | **17.0s** | **5.5x** |
|
|
42
42
|
|
|
43
43
|
### VPC + CloudFront + Lambda stack — **15x faster with `--no-wait`** (40s vs 599s)
|
|
44
44
|
|
|
@@ -54,9 +54,9 @@ The 15x figure requires `cdkd deploy --no-wait`, which returns as soon as each C
|
|
|
54
54
|
|
|
55
55
|
Stack: SSM Document × 3 + Athena WorkGroup × 2 (no SDK provider — CC API fallback).
|
|
56
56
|
|
|
57
|
-
| |
|
|
57
|
+
| | AWS CDK (CFn) | cdkd | Speedup |
|
|
58
58
|
| --- | ---: | ---: | ---: |
|
|
59
|
-
| Deploy | **
|
|
59
|
+
| Deploy | **64.9s** | **40.9s** | **1.6x** |
|
|
60
60
|
|
|
61
61
|
Reproduce the first two with `./tests/benchmark/run-benchmark.sh all`. See [tests/benchmark/README.md](tests/benchmark/README.md) for details.
|
|
62
62
|
|
|
@@ -99,21 +99,11 @@ For a step-by-step walkthrough of the full `cdkd deploy` pipeline (CLI
|
|
|
99
99
|
parsing → synthesis → asset publishing → per-stack deploy), see
|
|
100
100
|
[docs/architecture.md](docs/architecture.md#5-end-to-end-pipeline-walkthrough-cdkd-deploy).
|
|
101
101
|
|
|
102
|
-
## Supported Features
|
|
103
|
-
|
|
104
|
-
cdkd supports the standard CloudFormation surface — intrinsic functions,
|
|
105
|
-
pseudo parameters, parameters / conditions, cross-stack / cross-region
|
|
106
|
-
references, asset publishing, custom resources, and so on. See
|
|
107
|
-
**[docs/supported-features.md](docs/supported-features.md)** for the
|
|
108
|
-
full reference. For per-resource-type provisioning support (SDK Providers
|
|
109
|
-
vs Cloud Control API fallback), see
|
|
110
|
-
**[docs/supported-resources.md](docs/supported-resources.md)**.
|
|
111
|
-
|
|
112
102
|
## Prerequisites
|
|
113
103
|
|
|
114
104
|
- **Node.js** >= 20.0.0
|
|
115
105
|
- **AWS CDK Bootstrap**: You must run `cdk bootstrap` before using cdkd. cdkd uses CDK's bootstrap bucket (`cdk-hnb659fds-assets-*`) for asset uploads (Lambda code, Docker images). Custom bootstrap qualifiers are supported — CDK embeds the correct bucket/repo names in the asset manifest during synthesis.
|
|
116
|
-
- **AWS
|
|
106
|
+
- **AWS credentials with admin-equivalent permissions** for the resources being deployed. cdkd does NOT route through CloudFormation, so CDK CLI's `cdk-hnb659fds-deploy-role-*` is NOT sufficient — see [`--role-arn`](docs/cli-reference.md).
|
|
117
107
|
|
|
118
108
|
## Installation
|
|
119
109
|
|
|
@@ -322,6 +312,16 @@ cdkd state destroy --all -y # every stack in the bucket
|
|
|
322
312
|
cdkd state destroy MyStack --region us-east-1
|
|
323
313
|
```
|
|
324
314
|
|
|
315
|
+
## Compatibility
|
|
316
|
+
|
|
317
|
+
cdkd supports the standard CloudFormation surface — intrinsic functions,
|
|
318
|
+
pseudo parameters, parameters / conditions, cross-stack / cross-region
|
|
319
|
+
references, asset publishing, custom resources, and so on. See
|
|
320
|
+
**[docs/supported-features.md](docs/supported-features.md)** for the
|
|
321
|
+
full reference. For per-resource-type provisioning support (SDK Providers
|
|
322
|
+
vs Cloud Control API fallback), see
|
|
323
|
+
**[docs/supported-resources.md](docs/supported-resources.md)**.
|
|
324
|
+
|
|
325
325
|
## Rollback behavior
|
|
326
326
|
|
|
327
327
|
When a deploy fails mid-stack (e.g. a resource hits a validation error
|
|
@@ -498,10 +498,15 @@ Lambda Runtime Interface Emulator (RIE). Modeled on `sam local invoke`
|
|
|
498
498
|
but reusing cdkd's synthesis / asset / construct-path plumbing — no
|
|
499
499
|
`template.yaml` to maintain, no `cdk synth | sam ...` round-trip.
|
|
500
500
|
|
|
501
|
-
Requires Docker. Supports Node.js, Python, and
|
|
502
|
-
`
|
|
503
|
-
`python3.13` / `python3.14` / `ruby3.2` / `ruby3.3`
|
|
504
|
-
|
|
501
|
+
Requires Docker. Supports Node.js, Python, Ruby, and Java runtimes
|
|
502
|
+
(`nodejs18.x` / `nodejs20.x` / `nodejs22.x` / `nodejs24.x` / `python3.11` /
|
|
503
|
+
`python3.12` / `python3.13` / `python3.14` / `ruby3.2` / `ruby3.3` /
|
|
504
|
+
`java8.al2` / `java11` / `java17` / `java21`); other runtimes (.NET / Go /
|
|
505
|
+
`provided.*`) are not yet supported. Java Lambdas are **asset-backed only** —
|
|
506
|
+
the Handler shape `package.Class::method` names a compiled class, so use
|
|
507
|
+
`lambda.Code.fromAsset(<dir>)` with a directory containing the compiled
|
|
508
|
+
output (`.class` hierarchy or `.jar`); inline `Code.ZipFile` is rejected
|
|
509
|
+
with a clear routing message.
|
|
505
510
|
|
|
506
511
|
**Container Lambdas** — `lambda.DockerImageFunction(...)` /
|
|
507
512
|
`Code.ImageUri` is supported alongside ZIP Lambdas. cdkd reads the
|
package/dist/cli.js
CHANGED
|
@@ -70573,7 +70573,11 @@ var SUPPORTED_RUNTIMES = {
|
|
|
70573
70573
|
"python3.13": { image: "public.ecr.aws/lambda/python:3.13", fileExtension: ".py" },
|
|
70574
70574
|
"python3.14": { image: "public.ecr.aws/lambda/python:3.14", fileExtension: ".py" },
|
|
70575
70575
|
"ruby3.2": { image: "public.ecr.aws/lambda/ruby:3.2", fileExtension: ".rb" },
|
|
70576
|
-
"ruby3.3": { image: "public.ecr.aws/lambda/ruby:3.3", fileExtension: ".rb" }
|
|
70576
|
+
"ruby3.3": { image: "public.ecr.aws/lambda/ruby:3.3", fileExtension: ".rb" },
|
|
70577
|
+
"java8.al2": { image: "public.ecr.aws/lambda/java:8.al2", fileExtension: null },
|
|
70578
|
+
java11: { image: "public.ecr.aws/lambda/java:11", fileExtension: null },
|
|
70579
|
+
java17: { image: "public.ecr.aws/lambda/java:17", fileExtension: null },
|
|
70580
|
+
java21: { image: "public.ecr.aws/lambda/java:21", fileExtension: null }
|
|
70577
70581
|
};
|
|
70578
70582
|
var UnsupportedRuntimeError = class _UnsupportedRuntimeError extends Error {
|
|
70579
70583
|
constructor(runtime, message) {
|
|
@@ -70587,7 +70591,14 @@ function resolveRuntimeImage(runtime) {
|
|
|
70587
70591
|
return resolveRuntimeSpec(runtime).image;
|
|
70588
70592
|
}
|
|
70589
70593
|
function resolveRuntimeFileExtension(runtime) {
|
|
70590
|
-
|
|
70594
|
+
const spec = resolveRuntimeSpec(runtime);
|
|
70595
|
+
if (spec.fileExtension === null) {
|
|
70596
|
+
throw new UnsupportedRuntimeError(
|
|
70597
|
+
runtime,
|
|
70598
|
+
`Inline 'Code.ZipFile' is not supported for runtime '${runtime}'. The Lambda Handler shape for this runtime names a compiled artifact (a JVM class, a .NET assembly, or a native binary) that cannot be expressed as a single inline source file. Use \`lambda.Code.fromAsset(<dir>)\` with a directory containing the compiled output (.class hierarchy / JAR / DLL / binary).`
|
|
70599
|
+
);
|
|
70600
|
+
}
|
|
70601
|
+
return spec.fileExtension;
|
|
70591
70602
|
}
|
|
70592
70603
|
function resolveRuntimeSpec(runtime) {
|
|
70593
70604
|
if (typeof runtime !== "string" || runtime.length === 0) {
|
|
@@ -70599,15 +70610,15 @@ function resolveRuntimeSpec(runtime) {
|
|
|
70599
70610
|
const spec = SUPPORTED_RUNTIMES[runtime];
|
|
70600
70611
|
if (spec)
|
|
70601
70612
|
return spec;
|
|
70602
|
-
if (runtime.startsWith("
|
|
70613
|
+
if (runtime.startsWith("dotnet") || runtime.startsWith("go") || runtime.startsWith("provided")) {
|
|
70603
70614
|
throw new UnsupportedRuntimeError(
|
|
70604
70615
|
runtime,
|
|
70605
|
-
`Runtime '${runtime}' is not yet supported in cdkd local invoke. Supported runtimes: Node.js (nodejs18.x / nodejs20.x / nodejs22.x / nodejs24.x), Python (python3.11 / python3.12 / python3.13 / python3.14), Ruby (ruby3.2 / ruby3.3). Other runtimes follow in subsequent PRs.`
|
|
70616
|
+
`Runtime '${runtime}' is not yet supported in cdkd local invoke. Supported runtimes: Node.js (nodejs18.x / nodejs20.x / nodejs22.x / nodejs24.x), Python (python3.11 / python3.12 / python3.13 / python3.14), Ruby (ruby3.2 / ruby3.3), Java (java8.al2 / java11 / java17 / java21). Other runtimes follow in subsequent PRs.`
|
|
70606
70617
|
);
|
|
70607
70618
|
}
|
|
70608
70619
|
throw new UnsupportedRuntimeError(
|
|
70609
70620
|
runtime,
|
|
70610
|
-
`Unknown runtime '${runtime}'. cdkd local invoke supports nodejs18.x / nodejs20.x / nodejs22.x / nodejs24.x / python3.11 / python3.12 / python3.13 / python3.14 / ruby3.2 / ruby3.3.`
|
|
70621
|
+
`Unknown runtime '${runtime}'. cdkd local invoke supports nodejs18.x / nodejs20.x / nodejs22.x / nodejs24.x / python3.11 / python3.12 / python3.13 / python3.14 / ruby3.2 / ruby3.3 / java8.al2 / java11 / java17 / java21.`
|
|
70611
70622
|
);
|
|
70612
70623
|
}
|
|
70613
70624
|
|
|
@@ -77032,7 +77043,7 @@ function reorderArgs(argv) {
|
|
|
77032
77043
|
}
|
|
77033
77044
|
async function main() {
|
|
77034
77045
|
const program = new Command16();
|
|
77035
|
-
program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.
|
|
77046
|
+
program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.78.0");
|
|
77036
77047
|
program.addCommand(createBootstrapCommand());
|
|
77037
77048
|
program.addCommand(createSynthCommand());
|
|
77038
77049
|
program.addCommand(createListCommand());
|