@go-to-k/cdkd 0.77.0 → 0.79.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 +26 -19
- package/dist/cli.js +19 -6
- package/dist/cli.js.map +2 -2
- package/dist/go-to-k-cdkd-0.79.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,17 @@ 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,
|
|
502
|
-
`
|
|
503
|
-
`python3.13` / `python3.14` / `ruby3.2` / `ruby3.3`
|
|
504
|
-
|
|
501
|
+
Requires Docker. Supports Node.js, Python, Ruby, Java, and .NET 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` / `dotnet6` / `dotnet8`);
|
|
505
|
+
other runtimes (Go / `provided.*`) are not yet supported. Java and .NET
|
|
506
|
+
Lambdas are **asset-backed only** — the Handler shape names a compiled
|
|
507
|
+
artifact (`package.Class::method` for Java's JVM class;
|
|
508
|
+
`Assembly::Namespace.Class::Method` for .NET's CLR assembly), so use
|
|
509
|
+
`lambda.Code.fromAsset(<dir>)` with a directory containing the compiled
|
|
510
|
+
output (`.class` hierarchy / `.jar` / `.dll`); inline `Code.ZipFile` is
|
|
511
|
+
rejected with a clear routing message.
|
|
505
512
|
|
|
506
513
|
**Container Lambdas** — `lambda.DockerImageFunction(...)` /
|
|
507
514
|
`Code.ImageUri` is supported alongside ZIP Lambdas. cdkd reads the
|
package/dist/cli.js
CHANGED
|
@@ -70573,7 +70573,13 @@ 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 },
|
|
70581
|
+
dotnet6: { image: "public.ecr.aws/lambda/dotnet:6", fileExtension: null },
|
|
70582
|
+
dotnet8: { image: "public.ecr.aws/lambda/dotnet:8", fileExtension: null }
|
|
70577
70583
|
};
|
|
70578
70584
|
var UnsupportedRuntimeError = class _UnsupportedRuntimeError extends Error {
|
|
70579
70585
|
constructor(runtime, message) {
|
|
@@ -70587,7 +70593,14 @@ function resolveRuntimeImage(runtime) {
|
|
|
70587
70593
|
return resolveRuntimeSpec(runtime).image;
|
|
70588
70594
|
}
|
|
70589
70595
|
function resolveRuntimeFileExtension(runtime) {
|
|
70590
|
-
|
|
70596
|
+
const spec = resolveRuntimeSpec(runtime);
|
|
70597
|
+
if (spec.fileExtension === null) {
|
|
70598
|
+
throw new UnsupportedRuntimeError(
|
|
70599
|
+
runtime,
|
|
70600
|
+
`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).`
|
|
70601
|
+
);
|
|
70602
|
+
}
|
|
70603
|
+
return spec.fileExtension;
|
|
70591
70604
|
}
|
|
70592
70605
|
function resolveRuntimeSpec(runtime) {
|
|
70593
70606
|
if (typeof runtime !== "string" || runtime.length === 0) {
|
|
@@ -70599,15 +70612,15 @@ function resolveRuntimeSpec(runtime) {
|
|
|
70599
70612
|
const spec = SUPPORTED_RUNTIMES[runtime];
|
|
70600
70613
|
if (spec)
|
|
70601
70614
|
return spec;
|
|
70602
|
-
if (runtime.startsWith("
|
|
70615
|
+
if (runtime.startsWith("go") || runtime.startsWith("provided")) {
|
|
70603
70616
|
throw new UnsupportedRuntimeError(
|
|
70604
70617
|
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.`
|
|
70618
|
+
`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), .NET (dotnet6 / dotnet8). Other runtimes follow in subsequent PRs.`
|
|
70606
70619
|
);
|
|
70607
70620
|
}
|
|
70608
70621
|
throw new UnsupportedRuntimeError(
|
|
70609
70622
|
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.`
|
|
70623
|
+
`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 / dotnet6 / dotnet8.`
|
|
70611
70624
|
);
|
|
70612
70625
|
}
|
|
70613
70626
|
|
|
@@ -77032,7 +77045,7 @@ function reorderArgs(argv) {
|
|
|
77032
77045
|
}
|
|
77033
77046
|
async function main() {
|
|
77034
77047
|
const program = new Command16();
|
|
77035
|
-
program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.
|
|
77048
|
+
program.name("cdkd").description("CDK Direct - Deploy AWS CDK apps directly via SDK/Cloud Control API").version("0.79.0");
|
|
77036
77049
|
program.addCommand(createBootstrapCommand());
|
|
77037
77050
|
program.addCommand(createSynthCommand());
|
|
77038
77051
|
program.addCommand(createListCommand());
|