Add structured TOML configuration for Stargate
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 PATHoption that loads a structured TOML file. - When
--config-fileis 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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