Skip to content

Add The Chef way of virtual machine compliance page - #4782

Closed
aryakanduri-progress wants to merge 2 commits into
chef:HMS/solution-pagesfrom
aryakanduri-progress:vm-compliance-hms
Closed

aryakanduri-progress wants to merge 2 commits into
chef:HMS/solution-pagesfrom
aryakanduri-progress:vm-compliance-hms

Conversation

@aryakanduri-progress

Copy link
Copy Markdown

Description

Adds a VM compliance page to the Chef Compliance solution, at /solutions/compliance/vm_compliance/ (sidebar: VM compliance, under overview/solutions/compliance, weight 9, after the GitHub pages).

The page covers:

  • Three layers of VM compliance: guest OS, the VM's configuration in the platform, and the hypervisor host.
  • A three-control profile for VM-specific requirements: approved virtualization platform (virtualization resource and inputs), VMware guest tools (only_if), and a unique machine ID per clone.
  • Running it with an OS benchmark in a single inspec exec.
  • Checking templates before cloning with Test Kitchen and the InSpec verifier.
  • Fleet scale: on-premises, AWS EC2, Azure, Google Cloud, and hybrid, each split by whether the VMs are managed by Chef Infra Client. Covers Compliance Phase, manual nodes, node managers, and Chef 360 node enrollment with Courier jobs.
  • Cloud VM configuration with aws_ec2_instance and azure_virtual_machine.
  • Hypervisor hosts and remediation.

The page doesn't repeat material from other pages. Exit codes, evidence, waivers, and cloud setup link to the other Compliance solution pages instead. Custom-checks links use /solutions/compliance/custom_compliance_checks/, matching the GitHub pages on this branch.

Definition of Done

  • The page renders in a local build and appears in the Compliance sidebar.
  • inspec init and inspec check output on the page comes from Chef InSpec 5.24.7. The controls were run to confirm every resource, matcher, and only_if evaluates.
  • The VMware run output is labeled illustrative.
  • External /latest/ and /360/latest/ links return 200 on docs.chef.io.

Issues Resolved

None.

Related PRs

Notes for reviewers

  • Pages not on this branch yet: the page links to Compliance pages that aren't on HMS/solution-pages yet: the overview, SSH and AWS pages, custom compliance checks, and the Premium Content coverage pages. The GitHub pages here already link to /solutions/compliance/ and custom_compliance_checks the same way. Those links resolve once the pages land.
  • No link edits in other files: the overview and Virtualization coverage pages don't exist on this branch, so the links to this page from those two pages (one line each) aren't included. Add them when those pages land.
  • URL: /solutions/compliance/virtualization/ is an alias of the Premium Content Virtualization page, so this page uses vm_compliance.
  • ESXi coverage mismatch: the Virtualization coverage table lists only CIS VMware ESXi 6.5 (remediation only). The compliance profiles release notes list ESXi 7.0 and 8.0 audit profiles. The page links to the table and doesn't state versions.
  • inspec-vmware: it's archived on GitHub (August 2025), so the page says not to build on it. The client "Chef and VMware" integration page still recommends it.

Check List

  • Spell Check (cspell: 0 issues)
  • Local build
  • Examine the local build
  • All tests pass

Add a Compliance solution page for virtual machines, under
/solutions/compliance/vm_compliance/, alongside the GitHub repository
and organization pages.

The page covers the three layers a VM is assessed at: the guest OS,
the VM's configuration in the platform, and the hypervisor host. It
walks through a three-control profile for VM-specific requirements
(approved platform, VMware guest tools, unique machine ID per clone),
running it alongside an OS benchmark, verifying templates with Test
Kitchen, and scheduling assessment across on-premises, AWS, Azure,
Google Cloud, and hybrid fleets.

Profile, results, waiver, and cloud-setup mechanics link to the SSH,
AWS, and custom-checks pages instead of repeating them. Custom-checks
links use /solutions/compliance/custom_compliance_checks/, matching the
GitHub pages on this branch.

The generator and `inspec check` output come from Chef InSpec 5.24.7,
and the controls were run to confirm every resource, matcher, and
only_if evaluates. The VMware run output is labeled illustrative.
inspec-vmware is archived, so the page says not to build on it.

Signed-off-by: aryakanduri-progress <aryapra@progress.com>
Reword the four sentences Vale flags as errors (write-good.So twice, chef.foreign, Microsoft.Contractions) and replace "unmanaged", which the CI cspell dictionary doesn't recognize. Vale now reports 0 errors on the page.

Signed-off-by: aryakanduri-progress <aryapra@progress.com>
@Chef-Pradyumn
Chef-Pradyumn marked this pull request as draft November 5, 2026 15: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.

2 participants