Skip to content

Commit 1dbe632

Browse files
committed
do not set stack name in app
1 parent 59149d9 commit 1dbe632

2 files changed

Lines changed: 3 additions & 46 deletions

File tree

packages/cdkConstructs/src/apps/createApp.ts

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,9 @@ import {
55
StackProps
66
} from "aws-cdk-lib"
77
import {AwsSolutionsChecks} from "cdk-nag"
8-
import {getConfigFromEnvVar, getBooleanConfigFromEnvVar, calculateVersionedStackName} from "../config"
8+
import {getConfigFromEnvVar, getBooleanConfigFromEnvVar} from "../config"
99

1010
export interface StandardStackProps extends StackProps {
11-
/** Fully qualified stack name (potentially versioned). */
12-
readonly stackName: string
1311
/** Semantic version of the deployment (from `versionNumber`). */
1412
readonly version: string
1513
/** Git commit identifier baked into the stack. */
@@ -30,7 +28,6 @@ export interface CreateAppParams {
3028
readonly appName: string
3129
readonly repoName: string
3230
readonly driftDetectionGroup: string
33-
readonly isStateless?: boolean
3431
readonly region?: string
3532
readonly projectType?: string
3633
readonly publicFacing?: string
@@ -48,7 +45,6 @@ export interface CreateAppParams {
4845
* @param params.appName - Identifier used for `cdkApp` tagging.
4946
* @param params.repoName - Repository name stored on the stack tags.
5047
* @param params.driftDetectionGroup - Baseline drift detection tag (suffixes `-pull-request` when `isPullRequest`).
51-
* @param params.isStateless - Whether to version the stack name automatically (default `true`).
5248
* @param params.region - AWS region assigned to the stack environment (default `eu-west-2`).
5349
* @param params.projectType - Tag describing the project classification (default `Production`).
5450
* @param params.publicFacing - Public-facing classification tag (default `Y`).
@@ -60,13 +56,11 @@ export function createApp({
6056
appName,
6157
repoName,
6258
driftDetectionGroup,
63-
isStateless = true,
6459
region = "eu-west-2",
6560
projectType = "Production",
6661
publicFacing = "Y",
6762
serviceCategory = "Platinum"
6863
}: CreateAppParams): { app: App, props: StandardStackProps } {
69-
let stackName = getConfigFromEnvVar("stackName")
7064
const versionNumber = getConfigFromEnvVar("versionNumber")
7165
const commitId = getConfigFromEnvVar("commitId")
7266
const isPullRequest = getBooleanConfigFromEnvVar("isPullRequest")
@@ -96,22 +90,16 @@ export function createApp({
9690
Tags.of(app).add("DeploymentTool", "CDK")
9791
Tags.of(app).add("version", versionNumber)
9892
Tags.of(app).add("commit", commitId)
99-
Tags.of(app).add("stackName", stackName)
10093
Tags.of(app).add("cdkApp", appName)
10194
Tags.of(app).add("repo", repoName)
10295
Tags.of(app).add("cfnDriftDetectionGroup", cfnDriftDetectionGroup)
10396

104-
if (isStateless && !isPullRequest) {
105-
stackName = calculateVersionedStackName(stackName, versionNumber)
106-
}
107-
10897
return {
10998
app,
11099
props: {
111100
env: {
112101
region
113102
},
114-
stackName,
115103
version: versionNumber,
116104
commitId,
117105
isPullRequest,

packages/cdkConstructs/tests/apps/createApp.test.ts

Lines changed: 2 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ describe("createApp", () => {
5151

5252
describe("when all environment variables are set", () => {
5353
beforeEach(() => {
54-
process.env.CDK_CONFIG_stackName = "test-stack"
5554
process.env.CDK_CONFIG_versionNumber = "1.2.3"
5655
process.env.CDK_CONFIG_commitId = "abc123def456"
5756
process.env.CDK_CONFIG_isPullRequest = "false"
@@ -62,19 +61,12 @@ describe("createApp", () => {
6261
const {app, props} = createApp(buildParams())
6362

6463
expect(app).toBeInstanceOf(App)
65-
expect(props.stackName).toBe("test-stack-1-2-3")
6664
expect(props.version).toBe("1.2.3")
6765
expect(props.commitId).toBe("abc123def456")
6866
expect(props.isPullRequest).toBe(false)
6967
expect(props.env?.region).toBe("eu-west-2")
7068
})
7169

72-
test("creates stateful App with correct stackName", () => {
73-
const {props} = createApp(buildParams({isStateless: false}))
74-
75-
expect(props.stackName).toBe("test-stack")
76-
})
77-
7870
test("uses custom region when provided", () => {
7971
const {props} = createApp(buildParams({region: "us-east-1"}))
8072

@@ -111,13 +103,12 @@ describe("createApp", () => {
111103
expect(addTagSpy).toHaveBeenCalledWith("DeploymentTool", "CDK")
112104
expect(addTagSpy).toHaveBeenCalledWith("version", "1.2.3")
113105
expect(addTagSpy).toHaveBeenCalledWith("commit", "abc123def456")
114-
expect(addTagSpy).toHaveBeenCalledWith("stackName", "test-stack")
115106
expect(addTagSpy).toHaveBeenCalledWith("cdkApp", "testApp")
116107
expect(addTagSpy).toHaveBeenCalledWith("repo", "testRepo")
117108
expect(addTagSpy).toHaveBeenCalledWith("cfnDriftDetectionGroup", "test-drift-group")
118109

119-
// Verify exactly 20 tags were added
120-
expect(addTagSpy).toHaveBeenCalledTimes(20)
110+
// Verify exactly 19 tags were added
111+
expect(addTagSpy).toHaveBeenCalledTimes(19)
121112

122113
// Restore the spy
123114
tagsOfSpy.mockRestore()
@@ -133,7 +124,6 @@ describe("createApp", () => {
133124

134125
describe("when isPullRequest is true", () => {
135126
beforeEach(() => {
136-
process.env.CDK_CONFIG_stackName = "pr-stack"
137127
process.env.CDK_CONFIG_versionNumber = "0.0.1-pr"
138128
process.env.CDK_CONFIG_commitId = "pr123"
139129
process.env.CDK_CONFIG_isPullRequest = "true"
@@ -143,19 +133,12 @@ describe("createApp", () => {
143133
test("correctly modifies props", () => {
144134
const {props} = createApp(buildParams())
145135

146-
expect(props.stackName).toBe("pr-stack")
147136
expect(props.version).toBe("0.0.1-pr")
148137
expect(props.commitId).toBe("pr123")
149138
expect(props.isPullRequest).toBe(true)
150139
expect(props.environment).toBe("test-environment")
151140
})
152141

153-
test("creates stateful App with unmodified stackName", () => {
154-
const {props} = createApp(buildParams({isStateless: false}))
155-
156-
expect(props.stackName).toBe("pr-stack")
157-
})
158-
159142
test("modifies drift detection group with -pull-request suffix", () => {
160143
// Spy on Tags.of(app).add to verify tag calls
161144
const addTagSpy = vi.fn()
@@ -174,19 +157,8 @@ describe("createApp", () => {
174157
})
175158

176159
describe("when environment variables are missing", () => {
177-
test("throws error when stackName is not set", () => {
178-
process.env.CDK_CONFIG_versionNumber = "1.0.0"
179-
process.env.CDK_CONFIG_commitId = "abc123"
180-
process.env.CDK_CONFIG_isPullRequest = "false"
181-
process.env.CDK_CONFIG_environment = "test-environment"
182-
183-
expect(() => {
184-
createApp(buildParams())
185-
}).toThrow("Environment variable CDK_CONFIG_stackName is not set")
186-
})
187160

188161
test("throws error when versionNumber is not set", () => {
189-
process.env.CDK_CONFIG_stackName = "test-stack"
190162
process.env.CDK_CONFIG_commitId = "abc123"
191163
process.env.CDK_CONFIG_isPullRequest = "false"
192164
process.env.CDK_CONFIG_environment = "test-environment"
@@ -197,7 +169,6 @@ describe("createApp", () => {
197169
})
198170

199171
test("throws error when commitId is not set", () => {
200-
process.env.CDK_CONFIG_stackName = "test-stack"
201172
process.env.CDK_CONFIG_versionNumber = "1.0.0"
202173
process.env.CDK_CONFIG_isPullRequest = "false"
203174
process.env.CDK_CONFIG_environment = "test-environment"
@@ -208,7 +179,6 @@ describe("createApp", () => {
208179
})
209180

210181
test("throws error when isPullRequest is not set", () => {
211-
process.env.CDK_CONFIG_stackName = "test-stack"
212182
process.env.CDK_CONFIG_versionNumber = "1.0.0"
213183
process.env.CDK_CONFIG_commitId = "abc123"
214184
process.env.CDK_CONFIG_environment = "test-environment"
@@ -218,7 +188,6 @@ describe("createApp", () => {
218188
})
219189

220190
test("throws error when environment is not set", () => {
221-
process.env.CDK_CONFIG_stackName = "test-stack"
222191
process.env.CDK_CONFIG_versionNumber = "1.0.0"
223192
process.env.CDK_CONFIG_commitId = "abc123"
224193
process.env.CDK_CONFIG_isPullRequest = "false"

0 commit comments

Comments
 (0)