edgelesssys / contrast

Deploy and manage confidential containers on Kubernetes
https://docs.edgeless.systems/contrast
GNU Affero General Public License v3.0
183 stars 7 forks source link

Initial Support for bare-metal QEMU-TDX runtime deployment #611

Closed msanft closed 2 months ago

msanft commented 3 months ago

This adds initial support for deploying the Contrast runtime on bare-metal TDX machines with QEMU.

Notice that this does not yet contain full support for running Contrast on such platforms. Things that are left out as of now contain (non-comprehensive list):

Due to the size of this PR, I encourage reviewers to see the commit messages for a more detailed description of what each commit does, and thus to review on a per-commit basis.

katexochen commented 3 months ago

PR is pretty big, can we split this into smaller chunks?

msanft commented 3 months ago

PR is pretty big, can we split this into smaller chunks?

As mentioned in the PR description, I split this into digestible commits already. What benefit do you see in splitting this up into multiple PRs instead of reviewing each commit? I think the changes are quite entangled, so without a merge queue or set-merging, this would be hard to split into chunks that make sense on their own, but not break main.

msanft commented 3 months ago

Please also address the comments from https://github.com/edgelesssys/contrast/pull/603

I think we should keep the pod-role annotation unique, as it is - besides the container image URL - the only way to see which installer is used.

katexochen commented 3 months ago

I think we should keep the pod-role annotation unique, as it is - besides the container image URL - the only way to see which installer is used.

We can add another annotation with the string value of what is now called flavour instead.