Merge pull request #2496 from rapiz1/show-guest-protection

cli: Show available guest protection in env output
This commit is contained in:
GabyCT
2021-10-29 17:28:47 -05:00
committed by GitHub
2 changed files with 42 additions and 14 deletions

View File

@@ -130,6 +130,7 @@ type DistroInfo struct {
// HostInfo stores host details
type HostInfo struct {
AvailableGuestProtections []string
Kernel string
Architecture string
Distro DistroInfo
@@ -241,12 +242,15 @@ func getHostInfo() (HostInfo, error) {
memoryInfo := getMemoryInfo()
availableGuestProtection := vc.AvailableGuestProtections()
host := HostInfo{
Kernel: hostKernelVersion,
Architecture: arch,
Distro: hostDistro,
CPU: hostCPU,
Memory: memoryInfo,
AvailableGuestProtections: availableGuestProtection,
VMContainerCapable: hostVMContainerCapable,
SupportVSocks: supportVSocks,
}

View File

@@ -177,6 +177,30 @@ const (
seProtection //nolint
)
var guestProtectionStr = [...]string{
noneProtection: "none",
pefProtection: "pef",
seProtection: "se",
sevProtection: "sev",
tdxProtection: "tdx",
}
func (gp guestProtection) String() string {
return guestProtectionStr[gp]
}
func genericAvailableGuestProtections() (protections []string) {
return
}
func AvailableGuestProtections() (protections []string) {
gp, err := availableGuestProtection()
if err != nil || gp == noneProtection {
return genericAvailableGuestProtections()
}
return []string{gp.String()}
}
type qemuArchBase struct {
qemuExePath string
qemuMachine govmmQemu.Machine