gifted-gigabyte-53859
06/26/2024, 8:52 AMfast-sandwich-30809
06/26/2024, 3:48 PMlittle-cartoon-10569
06/26/2024, 8:05 PMgifted-gigabyte-53859
06/27/2024, 2:15 AMpulumi up
failures because of being unable to access some aspect of the other cloud if it became unavailable. This requirement of eliminating dependencies between them as you say rules out 3.
My point in 1a is referring to the violation of best practice (different stack per different environment) and the danger of having everything in a single stack. The code in 1 would generate two Pulumi resources for each DNS record - one in route53 format, one in cloudflare format. A single pulumi up
would create both records, one in each cloud. As we've established, having this kind of dependency is a big risk as pulumi up
would fail when being unable to access one of the clouds. This completely rules out 1.
This leaves option 2. Although I may go with a modified aspect of 1, i.e. defining my records in a single agnostic format, then having my parser read this and generate the pulumi resources, and output generated resources into two separate projects instead of two stacks.
I already have a parser I wrote in golang which converts route53 zone exports into pulumi cloudflare yaml resources, which I wrote for a previous migration project migrating a very large Route53 zone with many hundreds of records, to Cloudflare. So will just need to adapt this to output in both route53 and Cloudflare formats, and make it output to two files.
Thanks for your input.