Add global CLI preferences - #26
Merged
Merged
Conversation
Icemap
marked this pull request as ready for review
July 28, 2026 07:33
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
~/.tdc/.preferencesTOML file for process-wide logging and future telemetry preferences~/.tdc/config, with strict parsing, fail-closed behavior, and idempotent legacy migrationloggingprofile name and keep everytdc updateform isolated from all~/.tdc/statedone/and renumber the remaining telemetry and distribution specsWhy
Global logging and telemetry preferences are not profiles. Keeping
[logging]in the profile document made profile persistence responsible for preserving unrelated global state and left future telemetry configuration without a clear ownership boundary. The hidden preferences file makes advanced global controls explicit without adding another public command.User Impact
Users can persistently configure global logging in
~/.tdc/.preferencesor override it for one process withTDC_LOGGING. Existing[logging]values in~/.tdc/configmigrate automatically. Fresh installs andtdc configuredo not create the preferences file, and malformed preferences never fail the requested command.Related documentation: pingcap/docs#23306
Validation
make testmake e2egit diff --checkgit diff --check