[config] Tango configuration documentation#180
Open
yushan8 wants to merge 6 commits into
Open
Conversation
liujsj
reviewed
Jul 10, 2026
liujsj
reviewed
Jul 10, 2026
liujsj
reviewed
Jul 10, 2026
liujsj
reviewed
Jul 10, 2026
liujsj
reviewed
Jul 10, 2026
ee0104c to
1879205
Compare
2 tasks
yushan8
added a commit
that referenced
this pull request
Jul 12, 2026
Summary: Intent: - This branch builds on #180 (docs: add config/README.md), which documented the intended shape of the YAML config surface. Several documented field names, defaults, and required-ness didn't match the actual Go structs and Parse() behavior; this aligns the code with the docs. Changes: - Renamed config fields to match config/README.md: worker_pool_size -> max_worker_pool_size, repo_manager_clone_path -> workspaces_root, chunking -> streaming (and its target_chunk_size/changed_target_chunk_size/ metadata_map_chunk_size -> max_num_targets/max_num_changed_targets/ max_num_metadata_entries), query_timeout -> query_timeout_seconds. - config.Parse now enforces service.workspaces_root as required (previously silently defaulted to a temp dir) and applies the documented defaults: bzlmod_enabled defaults to true, query_timeout_seconds defaults to 600, and the streaming.max_num_* fields default to 250/125/50000. - Added Go doc comments for the config fields documented in the README. - Updated all call sites (controller, example/main.go, orchestrator/native_orchestrator.go) and YAML fixtures for the renames. - Added config/config_test.go covering the new validation and defaults. --- <sub>Generated by the 🪄 [pr-create](https://sg.uberinternal.com/code.uber.internal/uber-code/devexp-agent-marketplace/-/blob/claude-code/plugins/dev/uber-dev/skills/pr-create/SKILL.md) skill in devexp-agent-marketplace</sub>
2 tasks
liujsj
reviewed
Jul 13, 2026
sbalabanov
requested changes
Jul 13, 2026
1879205 to
a56db34
Compare
sywhang
reviewed
Jul 14, 2026
| repository: | ||
| - remote: "https://github.com/uber/tango.git" | ||
| bzlmod_enabled: true | ||
| # query_timeout_seconds: 600 |
Contributor
There was a problem hiding this comment.
is this meant to be commented out? It is documented in the table below
Contributor
Author
There was a problem hiding this comment.
Commented out means that it's optional, but I can uncomment it if it's not clear.
| | Field | Required | Type | Default | Description | | ||
| |---|---|---|---|---| | ||
| | `remote` | **Yes** | `string` | | The URL used to `git clone` the repository. Tango clones from this URL and uses it as the lookup key for per-repo settings. Must be unique across all entries and match exactly what clients send in `BuildDescription.remote`. | | ||
| | `bzlmod_enabled` | No | `bool` | `true` | Whether this repository uses Bzlmod for external dependency management. Bzlmod is enforced in Bazel 9+. Set to false only for repositories still using WORKSPACE — when disabled, `//external:all-targets` is added to Bazel queries. Setting this incorrectly causes query failures — it must match the repository's actual dependency management setup. | |
Contributor
There was a problem hiding this comment.
Is this right? i don't see default true being set anywhere in the codebase. Where is that set?
Contributor
Author
There was a problem hiding this comment.
This will be updated in subsequent PRs. This README.md has changes so we can finalize how the config will look. Will update now that the config fields is finalized.
| |---|---|---|---|---| | ||
| | `remote` | **Yes** | `string` | | The URL used to `git clone` the repository. Tango clones from this URL and uses it as the lookup key for per-repo settings. Must be unique across all entries and match exactly what clients send in `BuildDescription.remote`. | | ||
| | `bzlmod_enabled` | No | `bool` | `true` | Whether this repository uses Bzlmod for external dependency management. Bzlmod is enforced in Bazel 9+. Set to false only for repositories still using WORKSPACE — when disabled, `//external:all-targets` is added to Bazel queries. Setting this incorrectly causes query failures — it must match the repository's actual dependency management setup. | | ||
| | `bazel_command` | No | `string` | `""` | Override the Bazel binary path. When empty, Tango automatically downloads and caches [Bazelisk](https://github.com/bazelbuild/bazelisk) from GitHub. This lets Tango run without Bazel pre-installed and allows each repository to control its own Bazel version via `.bazelversion`. Set this when the repository requires a custom Bazel wrapper script. | |
Contributor
There was a problem hiding this comment.
usually configs like these have path suffix.
yushan8
added a commit
that referenced
this pull request
Jul 14, 2026
Summary: Intent: - This branch builds on #180 (docs: add config/README.md), which documented the intended shape of the YAML config surface. Several documented field names, defaults, and required-ness didn't match the actual Go structs and Parse() behavior; this aligns the code with the docs. Changes: - Renamed config fields to match config/README.md: worker_pool_size -> max_worker_pool_size, repo_manager_clone_path -> workspaces_root, chunking -> streaming (and its target_chunk_size/changed_target_chunk_size/ metadata_map_chunk_size -> max_num_targets/max_num_changed_targets/ max_num_metadata_entries), query_timeout -> query_timeout_seconds. - config.Parse now enforces service.workspaces_root as required (previously silently defaulted to a temp dir) and applies the documented defaults: bzlmod_enabled defaults to true, query_timeout_seconds defaults to 600, and the streaming.max_num_* fields default to 250/125/50000. - Added Go doc comments for the config fields documented in the README. - Updated all call sites (controller, example/main.go, orchestrator/native_orchestrator.go) and YAML fixtures for the renames. - Added config/config_test.go covering the new validation and defaults. --- <sub>Generated by the 🪄 [pr-create](https://sg.uberinternal.com/code.uber.internal/uber-code/devexp-agent-marketplace/-/blob/claude-code/plugins/dev/uber-dev/skills/pr-create/SKILL.md) skill in devexp-agent-marketplace</sub>
a5dbe2e to
0588d25
Compare
yushan8
added a commit
that referenced
this pull request
Jul 14, 2026
Summary: Intent: - This branch builds on #180 (docs: add config/README.md), which documented the intended shape of the YAML config surface. Several documented field names, defaults, and required-ness didn't match the actual Go structs and Parse() behavior; this aligns the code with the docs. Changes: - Renamed config fields to match config/README.md: worker_pool_size -> max_worker_pool_size, repo_manager_clone_path -> workspaces_root, chunking -> streaming (and its target_chunk_size/changed_target_chunk_size/ metadata_map_chunk_size -> max_num_targets/max_num_changed_targets/ max_num_metadata_entries), query_timeout -> query_timeout_seconds. - config.Parse now enforces service.workspaces_root as required (previously silently defaulted to a temp dir) and applies the documented defaults: bzlmod_enabled defaults to true, query_timeout_seconds defaults to 600, and the streaming.max_num_* fields default to 250/125/50000. - Added Go doc comments for the config fields documented in the README. - Updated all call sites (controller, example/main.go, orchestrator/native_orchestrator.go) and YAML fixtures for the renames. - Added config/config_test.go covering the new validation and defaults. --- <sub>Generated by the 🪄 [pr-create](https://sg.uberinternal.com/code.uber.internal/uber-code/devexp-agent-marketplace/-/blob/claude-code/plugins/dev/uber-dev/skills/pr-create/SKILL.md) skill in devexp-agent-marketplace</sub>
This was referenced Jul 14, 2026
yushan8
added a commit
that referenced
this pull request
Jul 15, 2026
Summary: Intent: - This branch builds on #180 (docs: add config/README.md), which documented the intended shape of the YAML config surface. Several documented field names, defaults, and required-ness didn't match the actual Go structs and Parse() behavior; this aligns the code with the docs. Changes: - Renamed config fields to match config/README.md: worker_pool_size -> max_worker_pool_size, repo_manager_clone_path -> workspaces_root, chunking -> streaming (and its target_chunk_size/changed_target_chunk_size/ metadata_map_chunk_size -> max_num_targets/max_num_changed_targets/ max_num_metadata_entries), query_timeout -> query_timeout_seconds. - config.Parse now enforces service.workspaces_root as required (previously silently defaulted to a temp dir) and applies the documented defaults: bzlmod_enabled defaults to true, query_timeout_seconds defaults to 600, and the streaming.max_num_* fields default to 250/125/50000. - Added Go doc comments for the config fields documented in the README. - Updated all call sites (controller, example/main.go, orchestrator/native_orchestrator.go) and YAML fixtures for the renames. - Added config/config_test.go covering the new validation and defaults. --- <sub>Generated by the 🪄 [pr-create](https://sg.uberinternal.com/code.uber.internal/uber-code/devexp-agent-marketplace/-/blob/claude-code/plugins/dev/uber-dev/skills/pr-create/SKILL.md) skill in devexp-agent-marketplace</sub>
0588d25 to
01ae7e8
Compare
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Documents all user-facing configuration fields across service, repository, and storage sections.
Test plan
make buildmake testStack