TLDR; If you're looking for great engineering and best-practices... you should move away now. I'm creating a solution to a problem that nobody (including myself) has. I'm working with module federation between multiple cloud-providers to create an app that can use interoperable modules from multiple sources.
I have a webapp that I deploy with aws-cdk. It's a static webapp that I have on on S3.
AWS-cdk works as expected, but now id would like to investigate a multicloud deployment. Using something like pulumi or terraform (but not limited to those)
Most vendors have something like S3 and so I would like to have something that can deploy to multiple cloud vendors simultaneously.
In that approach, I would like an exhaustive number of vendor providers. I don't just want the top vendors like aws, gcloud, azure... But I'm looking for something that can also handle providers over seas like Alibaba cloud, Kamatera and I'm sure many I haven't heard of.
My project only needs something like S3 (static server) so I don't expect that being exhaustive in providers would be too expensive.
Im looking for something like terraform or pulumi, but I haven't user either enough to settle on one. When deploying to the S3 equivilent, i dont want it to deploy to either GCloud or Azure... i want it to be able to deploy to both.
(aws-cdk is handling things like the TLD so i think i'll have to stick with that setup.)
To provide more context about what I'm trying to do, I created a webapp that uses webpack module federation. (see my profile for more details)
The aim is for a resilient infrastructure. S3 is not expected to fail, but in a multicloud approach, if any cloud provider has issues, i want there to already be multiple redundancies in place.
I deploy the same app on gh-pages and aws-s3. Its set it up in a way that it can interoperate with statics from aws-s3 or gh-pages. It works as expected.
I'd like to scale that up further, so the next level after that is to have something that can deploy to multiple cloud providers.
(Unrelated but worth mentioning: i will also be adding SRI on those imported static files to make sure they have a content-hash that matches expectations. I wont have to "trust" that the providers are serving the correct statics.)
I don't think it's possible over a channel that has active interest in breaking your encryption. It's the recipe for a mitm attack.
It would be possible to use password encrypted keys on the public channel and rotate the keys immediately after establishing a connection.
I try to provide ways to transfer data offline. I don't have a working example, but it would be possible to exchange keys over a series of QR codes or NFC... But this would require peers to be at the same physical location.
I'm sure there are many approaches for exchanging keys here that balance between convenience and security.
Ultimately it's worth noting we are talking about encryption on a browser where the operating system could just as easily be taking screenshots.