-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix auto-update re-exec arguments modified by aliases #50228
base: master
Are you sure you want to change the base?
Conversation
4c7c3f3
to
ba62d79
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. After reading the issue analysis my first suggestion would be to move away from the global os.Args
, so I'm happy to see this is indeed the fix.
Also, very cool feature 👍
Nit: perhaps worth mentioning this bugfix in the changelog? A bit of marketing for both features involved ;-)
…ate-re-exec-with-aliases
@hugoShaka could you please take a look when you have time |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we have a test covering the re-exec with alias mechanism? I'm worried someone might break it again in the future and won't detect it.
Added a full-cycle integration test to verify client tools auto-updates within a test cluster by modifying AutoUpdateConfig and AutoUpdateVersion resources. The test executes the login command using alias configurations to ensure no recursive re-execution occurs. The updater binary used in integration tests has been replaced with the `Run` logic of tctl and tsh.
6ce9b27
to
894aab9
Compare
In this PR fixed issue related
tsh {alias}
if we define in alias same executable path oftsh
, for instance:~/.tsh/config/config.yaml
we don't spawn new process, instead just re-run the tsh main function with modified execution arguments
teleport/tool/tsh/common/aliases.go
Lines 205 to 221 in e50dae9
but in updater we use
os.Args
arguments, not modified ones by alias runnerteleport/lib/autoupdate/tools/updater.go
Lines 351 to 352 in e50dae9
this produce issue with updater, when it executed by alias
discussion
Related: https://github.com/gravitational/cloud/issues/10053
changelog: Fixed client tools autoupdates executed by aliases (causes recursive alias error)