Skip to content

feat: baremetal multi-cluster with mixed TEE and HCP support - #108

Open
butler54 wants to merge 3 commits into
validatedpatterns:mainfrom
butler54:feat/baremetal-multicluster
Open

feat: baremetal multi-cluster with mixed TEE and HCP support#108
butler54 wants to merge 3 commits into
validatedpatterns:mainfrom
butler54:feat/baremetal-multicluster

Conversation

@butler54

Copy link
Copy Markdown
Collaborator

Summary

Adds baremetal multi-cluster topology support with mixed Intel TDX + AMD SEV-SNP attestation and Hosted Control Planes (HCP) compatibility.

New topologies

  • baremetal-hub — Hub cluster running Trustee configured for both TDX and SNP attestation simultaneously, ACM managing spoke clusters, full baremetal infrastructure (NFD, Intel DCAP, Kyverno, storage, CVM charts)
  • baremetal-spoke — Spoke cluster with sandboxed containers, baremetal chart, workloads. No Trustee/Vault/ACM (managed by hub). Supports HCP deployment mode

HCP support

  • global.cluster.hcp: false toggle in values-global.yaml
  • MachineConfig templates (TDX kernel args, KubeVirt SELinux) gated with {{- if not .Values.global.cluster.hcp }}
  • OSC 1.13 auto-detects HCP and uses DaemonSet mode (Tech Preview) — KataConfig and feature gate work unchanged
  • For multi-cluster: hub sets hcp: false, spoke overridden to true via managedClusterGroups.helmOverrides

Mixed TEE attestation

  • Trustee chart already supports simultaneous TDX + SNP — verifiers, cert mounting, attestation policy are additive
  • New hub-mixed hardware profile enables both kbs.tdx.enabled and kbs.snp.enabled
  • TDX collateral from hub's platform, SNP VCEK certs from spoke's AMD nodes (via overrides/values-snp-vcek.yaml)

Non-destructive

  • Existing baremetal, azure, azure-spoke, trusted-hub topologies unchanged
  • global.cluster.hcp: false default — existing deployments unaffected
  • No changes to trustee-chart, sandboxed-containers-chart, or sandboxed-policies-chart

Test plan

  • Verify existing baremetal topology unaffected (JSON schema, helm template)
  • Verify global.cluster.hcp: false renders MachineConfigs normally
  • Verify global.cluster.hcp: true skips MachineConfigs
  • CI passes (JSON schema, superlinter)

🤖 Generated with Claude Code

butler54 and others added 3 commits August 21, 2026 00:39
HCP (Hosted Control Planes) worker nodes don't run the Machine Config
Daemon. OSC 1.13 auto-detects HCP and uses DaemonSet deployment mode
(Tech Preview), so KataConfig works unchanged. But the pattern's own
MachineConfig resources must be skipped on HCP clusters.

- Add global.cluster.hcp: false to values-global.yaml
- Gate vsock-mco.yaml (TDX kernel args) with HCP check
- Gate selinux-mco.yaml (KubeVirt QGS policy) with HCP check
- Document new baremetal-hub and baremetal-spoke topologies

For multi-cluster: hub keeps hcp: false, spoke overridden to true
via managedClusterGroups.helmOverrides.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
New topology file for bare metal hub clusters that manage spoke clusters
via ACM. Trustee is configured for both Intel TDX and AMD SEV-SNP
attestation simultaneously — verifiers, collateral, and VCEK certs
coexist in the KBS configuration.

Based on values-baremetal.yaml (infrastructure) + values-trusted-hub.yaml
(managedClusterGroups). Includes full airgap support, CVM charts
(commented out), and workload image override patterns.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
values-baremetal-spoke.yaml: Spoke topology for baremetal multi-cluster.
No Trustee/Vault/ACM (managed by hub). Has sandboxed-containers,
baremetal chart (NFD, MachineConfigs), workloads, Kyverno policies.
Supports HCP via global.cluster.hcp toggle (MCO templates skipped).

overrides/values-hw-hub-mixed.yaml: Hardware profile for hub clusters
that attest both Intel TDX and AMD SEV-SNP simultaneously. Enables
both kbs.tdx and kbs.snp in trustee. Intel DCAP stays enabled for
the hub's own TDX platform.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@butler54
butler54 requested a review from a team August 21, 2026 00:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant