<@U02FZC2RE0Y> as you asked during the seminar: I...
# general
@stocky-restaurant-98004 as you asked during the seminar: In some projects I have resources that must be "common" among stacks, for instance, OIDC provider on AWS for github (one literally can't have more than one per account). Is there a recommended practice to handle this situation, especially in CI/CD? Nowadays I create a "common" stack and
it from local, but I'm not sure if it's the best practice. The OIDC is just an example, I can provide a different one, for instance: creating an S3 bucket that must be shared across stacks due to its contents
This sounds like a case for projects, not stacks. Since you would deploy this once and once only, it is on a different deployment schedule to something like your networks (which might get redeployed whenever you add an AZ or change your WAF) or ECS service (which might get redeployed every time your build pipeline succeeds).
Thanks for the insights!
We have many projects, some are foundational, such as the stuff for our aws networks and this is all 1 stack that deploys to multiple accounts and regions. Other projects configure other platforms, and finally our app projects define resources for a given app with each stack being resources for swimlanes such as production, staging etc
And we use typescript’s Zod to define runtime type checkers and derived static types in a regular typescript ‘lib/‘ package to coordinate pulumi outputs between projects
It works well but there is always the issue of projects depending on projects creating a dependency graph
I agree with @little-cartoon-10569 - use case for projects.
Thanks everyone for the great insights!