NVIDIA / NVIDIA/nvcf

feat(nvca): inject request-trace-uploader sidecar

Open
#1,049 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
218
Forks
72
Avg merge
1d 12h
Merged PRs (30d)
427

Description

Why

NVCA environment injection alone cannot deploy the request-trace-uploader. First-class Dynamo support must add the same sidecar image, volumes, credential contract, configuration, health probes, and BYOO signal environment to the DGD-created workload pod template.

Scope

  • Add a first-class request-trace-uploader sidecar contract for selected Dynamo components.
  • Mount the shared request-trace spool read-write for Dynamo and uploader, plus read-only credentials and uploader state/quarantine storage.
  • Provide persistent storage for the spool and uploader state rather than pod-local ephemeral storage. Pod eviction on an emptyDir loses buffered segments outright, which is a named root cause in nvbug 6705092.
  • Inject only the uploader configuration it needs. The credential-source authority remains decoupled from the uploader image.
  • Wire the workload-scoped BYOO signal-specific metrics and trace endpoint plus protocol into the uploader container.
  • Preserve secret references. Do not copy secret values into ConfigMaps or metadata.
  • Add health probes and a named health port. Do not add a PodMonitor for uploader metrics because it exports metrics through OTLP.

Tests

  • Render and webhook tests that prove the exact container, image, volume mounts, probes, and environment references are present on a DGD-created pod template.
  • SecretKeyRef preservation and non-leakage tests.
  • Test that the sidecar receives the same workload-scoped BYOO metric and trace endpoint plus protocol as the Dynamo container.

Non-goals

  • Introducing a second uploader implementation.
  • Turning generic BYOO environment injection into generic sidecar injection.

Parent: #1004

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the render and webhook tests and trace how they build the DGD-created pod template, then compare the existing Dynamo container contract. Done means the uploader sidecar has the specified image, mounts, probes, secret references, persistent storage, and workload-scoped BYOO endpoint and protocol, with tests covering non-leakage and exact rendering.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
cloud, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.