File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ #! /usr/bin/env bash
2+ # TEMPORARY: reshape dstack-mr GCP measurements (make measure-gcp ->
3+ # build/gcp_measurements.json) into cvm-reverse-proxy's dcap-tdx
4+ # --server-measurements format. Drop once cvm-reverse-proxy accepts the
5+ # condensed dstack-mr output directly.
6+ #
7+ # dstack-mr emits mrtd[] (one per known GCP firmware) and rtmr0[] (equal-size
8+ # per-firmware chunks: firmware x machine-type-ACPI x boot variants), while
9+ # cvm-reverse-proxy wants flat measurement sets it ORs over. We pair mrtd[i]
10+ # with its rtmr0 chunk; a genuine quote matches exactly one set.
11+ #
12+ # Usage: scripts/gcp_measurements_to_dcap.sh [gcp_measurements.json] > out.json
13+ set -euo pipefail
14+ jq '
15+ (.mrtd | length) as $m
16+ | (((.rtmr0 | length) / $m) | floor) as $c
17+ | [ range(0; $m) as $i
18+ | range(0; $c) as $j
19+ | { measurement_id: "local fw\($i)-v\($j)",
20+ attestation_type: "dcap-tdx",
21+ measurements: {
22+ "0": { expected: .mrtd[$i] },
23+ "1": { expected: .rtmr0[$i*$c + $j] },
24+ "2": { expected: .rtmr1 },
25+ "3": { expected: .rtmr2 },
26+ "4": { expected: .rtmr3 }
27+ } } ]
28+ ' " ${1:- build/ gcp_measurements.json} "
You can’t perform that action at this time.
0 commit comments