Multi-region deployments

Create one provider instance and one publisher component per region,
zone, or cloud placement boundary.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
const eu = new aws.Provider("eu", { region: "eu-west-1" });
const us = new aws.Provider("us", { region: "us-east-1" });

new AwsPublisher("publisher-eu", {
namePrefix: "pub-eu",
replicas: 2,
tenantUrl,
apiToken,
subnetId: euSubnetId,
securityGroupIds: [euSecurityGroupId],
}, { provider: eu });

new AwsPublisher("publisher-us", {
namePrefix: "pub-us",
replicas: 2,
tenantUrl,
apiToken,
subnetId: usSubnetId,
securityGroupIds: [usSecurityGroupId],
}, { provider: us });

Use distinct namePrefix values or explicit names so tenant-side
publisher records do not collide.

For mixed clouds, instantiate the matching Pulumi provider for each
component and keep network inputs local to that cloud.