crooked-ram-3551
09/26/2025, 4:12 PMstaging-us-east-1
, prod-us-west-2
, etc), but then I started thinking about the global resources (like route53, global accelerator, MRAPs) and then I thought that we’d need a prod-globals
… but some regional resources need the global resource to exist FIRST and sometimes the global resource needs the REGIONAL resource to exist first. So that sorta suggests the need for having stack variants for pre-globals
and post-globals
. Am I nuts? I.e. in order to support 2 “environments” like staging
and `prod`in 2 regions, we’d need 8 pulumi stacks (!!!). That’s a lot but it would at least avoid any circular headaches with deployments/automation.
alternatively, there could be a single multi-region stack for each “environment” — that way there’s no cross-stack dependencies and the relationship between the variants of global- vs. regional-resources is explicit. But doing something like canary deployments where you release one region at a time would become a real bear to pull off…white-vase-18996
09/26/2025, 4:30 PMbillions-river-87988
09/26/2025, 4:35 PMbillions-river-87988
09/26/2025, 4:39 PMvar useast1 = new Aws.Provider("useast1", new Aws.ProviderArgs { Region = "us-east-1" }); // also use for global
var uswest2 = new Aws.Provider("uswest1", new Aws.ProviderArgs { Region = "us-west-2" });
var testRole = new Aws.Iam.Role("global_role", new()
{
Name = "global_role",
AssumeRolePolicy = ...
}, { provider = useast1 });
var eastCert = new Aws.Acm.Certificate("cert", new Aws.Acm.CertificateArgs
{
DomainName = "<http://foo.com|foo.com>",
ValidationMethod = "EMAIL",
}, new CustomResourseOptions { Provider = useast1 });
var westCert = new Aws.Acm.Certificate("cert", new Aws.Acm.CertificateArgs
{
DomainName = "<http://foo.com|foo.com>",
ValidationMethod = "EMAIL",
}, new CustomResourseOptions { Provider = useast2 });
billions-river-87988
09/26/2025, 4:44 PMpulumi-stacks
provider in ESC). Orchestration in this fashion could be augmented using Pulumi Automation API in you pipelinescrooked-ram-3551
09/26/2025, 4:53 PMbillions-river-87988
09/26/2025, 4:57 PMbillions-river-87988
09/26/2025, 4:58 PMcrooked-ram-3551
09/26/2025, 4:58 PMcrooked-ram-3551
09/26/2025, 5:02 PMbillions-river-87988
09/26/2025, 5:03 PMcrooked-ram-3551
09/26/2025, 5:06 PMmy-service-image-us-east-1: hash123
my-service-image-us-west-2: hash123
my-service-env-us-east-1: <some vars>
# ...etc...
and then I could manually apply the resources in one region at a time.
But pulumi up
is certainly a lot simpler…billions-river-87988
09/26/2025, 5:09 PMcrooked-ram-3551
09/26/2025, 5:14 PMcrooked-ram-3551
09/26/2025, 5:18 PMbillions-river-87988
09/26/2025, 5:19 PMbillions-river-87988
09/26/2025, 5:19 PMbillions-river-87988
09/26/2025, 5:20 PMbillions-river-87988
09/26/2025, 5:20 PMcrooked-ram-3551
09/26/2025, 5:22 PMbillions-river-87988
09/26/2025, 5:23 PMbillions-river-87988
09/26/2025, 5:25 PM