-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add integration test and example for using CDK Nested Stacks with Pulumi #298
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This change is part of the following stack: Change managed by git-spice. |
corymhall
reviewed
Dec 17, 2024
examples/eks/index.ts
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
😎
flostadler
force-pushed
the
add-integration-test-and-example
branch
from
December 18, 2024 13:49
1b7943c
to
762ac8e
Compare
flostadler
added a commit
that referenced
this pull request
Dec 18, 2024
This change adds support for Nested Stacks to `pulumi-cdk`. In CDK, a nested stack is a CDK stack that you create inside another stack, known as the parent stack. Users create nested stacks using the [NestedStack](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.NestedStack.html) construct. By using nested stacks, users can organize resources across multiple stacks. Nested stacks also offer a way around the AWS CloudFormation 500-resource limit for stacks. A nested stack counts as only one resource in the stack that contains it. However, it can contain up to 500 resources, including additional nested stacks. While Pulumi doesn't have those limitations, many existing CDK constructs use nested stacks to get around the CloudFormation limitations. The EKS cluster construct is one of the most prominent ones that require nested stacks. In detail, this change: - enhances the `AssemblyManifestReader` to support reading nested stacks. - introduces a new unique `StackAddress` for elements in the CloudFormation templates. It combines the stack path (tree path of the stack) and the stack-local logical ID in order to form an assembly wide unique address. This is necessary in order to represent a hierarchy of stacks in the same pulumi program - adds a new `NestedStackConstruct` component. It is used to namespace the resources of a NestedStack in order to not run into any issues with duplicate logical IDs. It achieves this by including the stack path in the pulumi resource type. The types of parent resources are included in URNs, meaning all resources parented under the nested stack have their own unique namespace. - updates the artifact converter and intrinsics to handle cross stack references (Parameters & Outputs) for nested stacks Integration tests and an example are part of #298 which is part of this PR stack.
flostadler
force-pushed
the
add-integration-test-and-example
branch
from
December 18, 2024 14:15
762ac8e
to
85c8586
Compare
corymhall
approved these changes
Dec 18, 2024
This PR has been shipped in release v1.4.0. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds an integration test and example for CDK Nested stacks.
Stacked on top of #295
Related to #80