From b276f1f7528b18f536c4f1236bc0e9e60e08b257 Mon Sep 17 00:00:00 2001 From: Thijs Daniels Date: Thu, 10 Sep 2026 18:31:02 +0200 Subject: [PATCH 1/2] fix(cdk-docker-cluster): move container-insights prop --- .changeset/nine-pants-rush.md | 5 ++++ .../src/constructs/DockerCluster.test.ts | 23 ++++++++++++++++++- .../src/constructs/DockerCluster.ts | 13 ++++++++++- .../src/constructs/NextApp.test.ts | 6 ++--- 4 files changed, 41 insertions(+), 6 deletions(-) create mode 100644 .changeset/nine-pants-rush.md diff --git a/.changeset/nine-pants-rush.md b/.changeset/nine-pants-rush.md new file mode 100644 index 00000000..04eb9c72 --- /dev/null +++ b/.changeset/nine-pants-rush.md @@ -0,0 +1,5 @@ +--- +"@codedazur/cdk-docker-cluster": patch +--- + +Promote `containerInsights` prop to top level. diff --git a/packages/cdk-docker-cluster/src/constructs/DockerCluster.test.ts b/packages/cdk-docker-cluster/src/constructs/DockerCluster.test.ts index dc358a1f..031f5690 100644 --- a/packages/cdk-docker-cluster/src/constructs/DockerCluster.test.ts +++ b/packages/cdk-docker-cluster/src/constructs/DockerCluster.test.ts @@ -20,7 +20,28 @@ describe("DockerCluster", () => { }); }); - it("enables container insights when configured", () => { + it("enables container insights when configured at top level", () => { + const app = new App(); + const stack = new Stack(app, "Test"); + + new DockerCluster(stack, "DockerCluster", { + source: ContainerImage.fromRegistry("nginx:alpine"), + containerInsights: true, + }); + + const template = Template.fromStack(stack); + + template.hasResourceProperties("AWS::ECS::Cluster", { + ClusterSettings: [ + { + Name: "containerInsights", + Value: "enabled", + }, + ], + }); + }); + + it("enables container insights when configured under cluster config (backwards compatibility)", () => { const app = new App(); const stack = new Stack(app, "Test"); diff --git a/packages/cdk-docker-cluster/src/constructs/DockerCluster.ts b/packages/cdk-docker-cluster/src/constructs/DockerCluster.ts index f4cd2629..b61634e2 100644 --- a/packages/cdk-docker-cluster/src/constructs/DockerCluster.ts +++ b/packages/cdk-docker-cluster/src/constructs/DockerCluster.ts @@ -35,8 +35,16 @@ export interface ClusterConfig { export interface DockerClusterProps { readonly source: string | SourceProps | ContainerImage; + /** + * Enable CloudWatch Container Insights for the ECS Cluster. + * @default false + */ + readonly containerInsights?: boolean; readonly service?: ServiceProps; readonly distribution?: Omit; + /** + * @deprecated Use top-level `containerInsights` instead. + */ readonly cluster?: ClusterConfig; } @@ -152,9 +160,12 @@ export class DockerCluster extends Construct { ? this.props.service?.tasks : this.props.service?.tasks?.minimum; + const containerInsights = + this.props.containerInsights ?? this.props.cluster?.containerInsights; + const service = new ApplicationLoadBalancedFargateService(this, "Service", { cluster: new Cluster(this, "Cluster", { - containerInsights: this.props.cluster?.containerInsights, + containerInsights, }), cpu: this.props.service?.cpu, memoryLimitMiB: this.props.service?.memory, diff --git a/packages/cdk-next-app/src/constructs/NextApp.test.ts b/packages/cdk-next-app/src/constructs/NextApp.test.ts index 5d8f7d64..67e9cb1a 100644 --- a/packages/cdk-next-app/src/constructs/NextApp.test.ts +++ b/packages/cdk-next-app/src/constructs/NextApp.test.ts @@ -5,15 +5,13 @@ import { describe, it } from "vitest"; import { NextApp } from "./NextApp"; describe("NextApp", () => { - it("forwards container insights configuration to the cluster", () => { + it("forwards top-level container insights configuration to the cluster", () => { const app = new App(); const stack = new Stack(app, "Test"); new NextApp(stack, "NextApp", { source: ContainerImage.fromRegistry("nginx:alpine"), - cluster: { - containerInsights: true, - }, + containerInsights: true, }); const template = Template.fromStack(stack); From 26c345a17311539645cbf95e06c32a77639b5b2d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 10 Sep 2026 16:34:34 +0000 Subject: [PATCH 2/2] version packages --- .changeset/nine-pants-rush.md | 5 ----- packages/cdk-docker-cluster/CHANGELOG.md | 6 ++++++ packages/cdk-docker-cluster/package.json | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) delete mode 100644 .changeset/nine-pants-rush.md diff --git a/.changeset/nine-pants-rush.md b/.changeset/nine-pants-rush.md deleted file mode 100644 index 04eb9c72..00000000 --- a/.changeset/nine-pants-rush.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@codedazur/cdk-docker-cluster": patch ---- - -Promote `containerInsights` prop to top level. diff --git a/packages/cdk-docker-cluster/CHANGELOG.md b/packages/cdk-docker-cluster/CHANGELOG.md index 0d05729f..aa9ee7a9 100644 --- a/packages/cdk-docker-cluster/CHANGELOG.md +++ b/packages/cdk-docker-cluster/CHANGELOG.md @@ -1,5 +1,11 @@ # @codedazur/cdk-docker-cluster +## 2.1.1 + +### Patch Changes + +- [`b276f1f`](https://github.com/codedazur/toolkit/commit/b276f1f7528b18f536c4f1236bc0e9e60e08b257) Thanks [@thijsdaniels](https://github.com/thijsdaniels)! - Promote `containerInsights` prop to top level. + ## 2.1.0 ### Minor Changes diff --git a/packages/cdk-docker-cluster/package.json b/packages/cdk-docker-cluster/package.json index 7e6fb138..8d3395e5 100644 --- a/packages/cdk-docker-cluster/package.json +++ b/packages/cdk-docker-cluster/package.json @@ -1,6 +1,6 @@ { "name": "@codedazur/cdk-docker-cluster", - "version": "2.1.0", + "version": "2.1.1", "type": "module", "main": "./dist/index.js", "types": "./dist/index.d.ts",