feat(gateway): forward framed multi-GPU evidence - #428
Conversation
Carry each GPU's attestation report, optional CEC report, and device certificate chain as separate fields while retaining the legacy aggregate. Reject malformed, duplicate, truncated, oversized, or unauthenticated helper output so downstream Trustee verification receives complete per-device evidence. Signed-off-by: Joseph Chalabi <chalabi.joseph@gmail.com>
Signed-off-by: Joseph Chalabi <chalabi.joseph@gmail.com>
|
Warning Review limit reached
Next review available in: 1 minute You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (11)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Collect the architecture and physical UUID from NVML in the same helper call as each attestation report. Frame and validate that identity before exposing it to callers. Support Hopper and Blackwell architecture values from the NVIDIA SDK and reject unknown architectures or malformed UUIDs. Signed-off-by: Joseph Chalabi <chalabi.joseph@gmail.com>
839e650 to
4073741
Compare
Assert that a missing CEC report is omitted from sidecar JSON rather than serialized as an empty field. Signed-off-by: Joseph Chalabi <chalabi.joseph@gmail.com>
Carry every sidecar GPU report, optional CEC report, and certificate chain through the public lease response. Reject malformed base64, duplicate device indices, invalid platform cardinality, and disagreement between explicit evidence and the legacy aggregate. The chain-sdk replacement is temporary review plumbing for akash-network/chain-sdk#351 and must be removed after that change is released. Signed-off-by: Joseph Chalabi <chalabi.joseph@gmail.com>
Require every GPU report to carry a supported NVML architecture and canonical physical UUID. Forward both fields through the public quote response. Keep the legacy aggregate compatible once hardware identity is present and reject missing, tenant-shaped, or malformed identity at the gateway boundary. Signed-off-by: Joseph Chalabi <chalabi.joseph@gmail.com>
4073741 to
f1b8f94
Compare
Why
The attestation sidecar preserves each GPU report, optional CEC report, certificate chain, NVML architecture, and physical UUID, but the lease gateway otherwise drops those explicit fields and forwards only the ambiguous legacy aggregate. Trustee cannot reliably construct one device_evidence_list entry per Blackwell GPU from that response.
What changed
Stacked dependencies
This PR is stacked on #426 and depends on akash-network/chain-sdk#351. Until #351 is released, go.mod contains a clearly marked temporary replacement to the exact reviewed fork commit. Remove that replacement and update the normal pkg.akt.dev/go version before merge.
After #426 merges, rebase this branch so the final PR contains only the gateway commits.
Validation
Real two-GPU RTX PRO evidence through this optional quote endpoint still requires hardware validation. This API remains separate from the guest-to-KBS attestation flow.