Skip to content

treewide: decouple vCPU count from number of SNP ReferenceValues in manifest#2301

Closed
charludo wants to merge 5 commits into
mainfrom
ch/embedded-measurements
Closed

treewide: decouple vCPU count from number of SNP ReferenceValues in manifest#2301
charludo wants to merge 5 commits into
mainfrom
ch/embedded-measurements

Conversation

@charludo
Copy link
Copy Markdown
Collaborator

@charludo charludo commented Apr 7, 2026

TrustedMeasurements

Since version 1.19.0, Contrast supports multi-CPU pods. As part of that change, manifests significantly increased in size, since an additional ReferenceValues block was included for each possible vCPU count.

With this PR, this is again reduced to a single ReferenceValues block, just as pre-1.19.0. At the same time, the TrustedMeasurement field has been converted to TrustedMeasurements (plural), mapping each supported vCPU count to the appropriate launch measurement.

A manifest previously containing

  "ReferenceValues": {
    "snp": [
      {
        "TrustedMeasurement": "<launch measurement for 1 vCPU>",
        "CPUs": 1
      },
     {
        "TrustedMeasurement": "<launch measurement for 2 vCPUs>",
        "CPUs": 2
      }
    ]
  }

needs to be changed to follow the new format shown below:

  "ReferenceValues": {
    "snp": [
      {
        "TrustedMeasurements": {
          "1": "<launch measurement for 1 vCPU>",
          "2": "<launch measurement for 2 vCPUs>"
        }
      }
    ]
  }

Only the measurements for the actually required vCPU counts need to be included. contrast generate automatically filters for these required counts when generating the manifest.

Additionally, the maximum amount of supported vCPUs has been bumped from 8 to 220.
Please see the documentation for further details.

Backward- and forward-compatibility

For compatibility of older CLI versions with the new manifest layout, the old TrustedMeasurement field will, for the time being, still be populated with the measurement corresponding to the number of vCPUs the Coordinator is assigned. This allows older CLI versions to verify newer Contrast deployments.

Conversely, manifests generated with an older versions of the CLI will still be accepted by newer versions of the CLI, which fall back to the old TrustedMeasurement field if the new TrustedMeasurements are not present.

The TrustedMeasurement field will be deprecated at an as of yet undetermined point in time. Please ensure your Contrast version stays up to date.

@charludo charludo added the breaking change A user-affecting breaking change label Apr 7, 2026
@charludo charludo changed the title treewide: decouple vCPU count from number of SNP ReferenceValues in manifest treewide: decouple vCPU count from number of SNP ReferenceValues in manifest Apr 7, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 7, 2026

PR Preview Action v1.8.1

QR code for preview link

🚀 View preview at
https://edgelesssys.github.io/contrast/pr-preview/pr-2301/

Built to branch gh-pages at 2026-04-10 11:44 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

Comment thread internal/manifest/referencevalues.go
@charludo charludo force-pushed the ch/embedded-measurements branch from 4dee224 to 34ff6f9 Compare April 10, 2026 09:08
@charludo charludo force-pushed the ch/embedded-measurements branch from 34ff6f9 to 7a33a15 Compare April 10, 2026 11:44
@charludo charludo requested a review from burgerdev April 10, 2026 12:01
@burgerdev burgerdev self-assigned this Apr 15, 2026
@charludo
Copy link
Copy Markdown
Collaborator Author

Closed in favor of #2344

@charludo charludo closed this Apr 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking change A user-affecting breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants