NVIDIA / NVIDIA/nvcf

Add structured TOML configuration for Stargate

Open
#1,423 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

Problem

Stargate currently exposes runtime configuration as a large flat set of CLI flags and environment variables. Related settings are difficult to reason about, and mode booleans can become inconsistent with the settings they control.

Desired behavior

  • Add a --config-file PATH option that loads a structured TOML file.
  • When --config-file is present, use the file as the complete source of configuration and ignore all legacy CLI and environment settings.
  • Fail startup if the selected file cannot be read, parsed, or validated. Do not fall back to legacy settings.
  • Keep the legacy CLI path temporarily and emit one deprecation warning when it is used.
  • Group related settings into descriptive sections and use section presence to select optional behavior where practical.
  • Reject unknown fields and invalid combinations.
  • Resolve relative file paths from the configuration file's directory.
  • Retain DNS lookup only for local Kubernetes pod discovery. Remove generic DNS-based Stargate discovery.
  • Migrate the request-router Helm chart and benchmark launchers to pass only --config-file.

Acceptance criteria

  • Direct and reverse transport configurations are represented by distinct TOML sections.
  • Kubernetes pod discovery is enabled by the presence of its section and self-only discovery is selected by its absence.
  • Explicit remote Watch URLs remain supported for cross-region discovery.
  • The Helm chart renders a mounted TOML ConfigMap and no legacy Stargate CLI flags.
  • Rust, chart, and Bazel tests cover precedence, validation, topology selection, and legacy fallback behavior.

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 by locating Stargate's current CLI and environment configuration parsing, then inspect the request-router Helm chart and benchmark launchers. Review the Rust, chart, and Bazel test areas mentioned in the acceptance criteria. Done means TOML-only configuration, validation and precedence behavior, discovery selection, migrated chart and launchers, and coverage for the listed cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, helm, kubernetes, rust
Domain
backend, devops, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.