Skip to content

[v17] Client-tools managed updates version caching#56934

Merged
vapopov merged 1 commit intobranch/v17from
vapopov/client-tools-mu-multicluster-support-v17
Jul 22, 2025
Merged

[v17] Client-tools managed updates version caching#56934
vapopov merged 1 commit intobranch/v17from
vapopov/client-tools-mu-multicluster-support-v17

Conversation

@vapopov
Copy link
Copy Markdown
Contributor

@vapopov vapopov commented Jul 18, 2025

Backport #54563 to branch/v17

changelog: Fixed using relative path TELEPORT_HOME env with client tools managed update
changelog: Client tools managed updates support multi-cluster environments and track each version in the configuration file

* Add profile integration to disable update and re-execution for specific cluster

* Complete integration for the tctl and tsh

* Add commands for tsh

* Fix linter warnings

* Add config file with version and disabling status

* Move check out from helper

* Fixed re-execution ignore if versions is identical

* Move logic out from client

* Remove helper package and profile integration

* Fix argument parsing by filtering

* Use same Darwin platform approach of package extraction for Linux
Add client tools cleanup for V1 directories

* Fix packaging unit test

* Add cleanup for last recently used tools

* Add migration from v1 for better support
Show error log message about failed update/re-execution instead of failing command execution in case if updated binary was broken, modified or not able to validate signature

* Add ignore the version check fail, add more debug information

* Check update for commands `tsh ssh`, `tsh proxy ssh`
Fixed creating `.tsh` subdirectory when TELEPORT_HOME is set
Fix `tsh --proxy` flag parsing

* Wraps client init function to check client tools managed update only when it requested for `tsh ssh` and `tsh proxy ssh`

* Move filesystem lock to configuration library
Configuration modification protected by lock, other process must wait until it is released

* Rename command to `tsh update`, `tsh update --clear`

* Add test for argument filtering

* Update RFD
Make max tools installed to be configurable and set to 3 by default

* Replace "automatic updates" to "managed updates"

* Updated comments to reflect the latest changes

* Fix migration for older versions with two packages

* CR changes

* Prevent failing tools execution if configuration file is corrupted

* Remove lock file as part of cleanup command

* Added context to arguments

* Use a separate Kingpin application for tctl, as is already done for tsh. Double parsing may cause issues since it is not stateless.
@github-actions github-actions Bot added size/lg tctl tctl - Teleport admin tool tsh tsh - Teleport's command line tool for logging into nodes running Teleport. labels Jul 18, 2025
@vapopov vapopov added this pull request to the merge queue Jul 22, 2025
Merged via the queue into branch/v17 with commit 7eb4992 Jul 22, 2025
42 checks passed
@vapopov vapopov deleted the vapopov/client-tools-mu-multicluster-support-v17 branch July 22, 2025 01:35
@fheinecke fheinecke mentioned this pull request Jul 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport size/lg tctl tctl - Teleport admin tool tsh tsh - Teleport's command line tool for logging into nodes running Teleport.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants