Skip to content
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

(stacksets)feat: Add support for Assets for stacksets construct #58

Closed
evgenyka opened this issue Mar 20, 2023 · 1 comment · Fixed by #106
Closed

(stacksets)feat: Add support for Assets for stacksets construct #58

evgenyka opened this issue Mar 20, 2023 · 1 comment · Fixed by #106

Comments

@evgenyka
Copy link

Currently Assets are not supported by stackset construct, see https://github.com/cdklabs/cdk-stacksets/
The ask is for adding support for assets there.

@kabo
Copy link

kabo commented Apr 19, 2023

This has been solved for service catalog products. Perhaps something similar can be done here?
https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_servicecatalog-readme.html#using-assets-in-your-product-stack

@mergify mergify bot closed this as completed in #106 Jun 1, 2023
mergify bot pushed a commit that referenced this issue Jun 1, 2023
Fixes #58 

Mimics file asset support from the Service Catalog L2 construct. Uses the S3 bucket deployment construct called in the parent stack to send artifacts to an S3 bucket passed a prop to the StackSet stack. The bucket deployment and resources needed to faciliate it are siblings to the `AWS::CloudFormation::StackSet` resource in the synthesized CloudFormation template. The asset bucket must be outside the CDK-owned asset bucket process and is passed as a prop.

We also need to ensure the bucket deployment process finishes before we try to run the StackSet so there is a dependency added after the creation of the StackSet resource. This is done using a construct name shared across the synthesis and StackSet creation processes. I'm open to feedback on if there is a better way to do this. But we do need to ensure the bucket deployment finishes before CloudFormation creates/updates the StackSet resource.

There is also potential to create another type of `StackSynthesizer` and let StackSet and Service Catalog share it since this logic is very similar to how service catalog does it.

I also plan to add some additional integration tests to validate more features of the file asset process but wanted to open the pull request to get eyes and feedback on the approach while finishing up the tests. I also think more scenarios could be added to the README to clear up any complexity.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants