Skip to content

Added RFD 0144 - Client Tools Updates#39805

Merged
vapopov merged 24 commits intomasterfrom
rjones/client-tools
Jan 10, 2025
Merged

Added RFD 0144 - Client Tools Updates#39805
vapopov merged 24 commits intomasterfrom
rjones/client-tools

Conversation

@russjones
Copy link
Copy Markdown
Contributor

No description provided.

@github-actions github-actions Bot requested review from jimbishopp and zmb3 March 25, 2024 20:26
@github-actions github-actions Bot added rfd Request for Discussion size/md labels Mar 25, 2024
@bernardjkim bernardjkim self-requested a review March 25, 2024 20:26
@russjones russjones added the no-changelog Indicates that a PR does not require a changelog entry label Mar 25, 2024
@gravitational gravitational deleted a comment from github-actions Bot Mar 25, 2024
Comment thread rfd/0144-client-tools-updates.md Outdated
Comment thread rfd/0144-client-tools-updates.md Outdated
Comment thread rfd/0144-client-tools-updates.md Outdated
Comment thread rfd/0144-client-tools-updates.md
Comment thread rfd/0144-client-tools-updates.md Outdated
Comment thread rfd/0144-client-tools-updates.md
Comment thread rfd/0144-client-tools-updates.md Outdated
Comment thread rfd/0144-client-tools-updates.md Outdated
Comment thread rfd/0144-client-tools-updates.md Outdated
Comment thread rfd/0144-client-tools-updates.md Outdated
Comment thread rfd/0144-client-tools-updates.md Outdated
Comment thread rfd/0144-client-tools-updates.md Outdated
@reedloden reedloden requested review from jentfoo and reedloden March 25, 2024 22:31
Comment thread rfd/0144-client-tools-updates.md Outdated
Comment thread rfd/0144-client-tools-updates.md Outdated
Comment thread rfd/0144-client-tools-updates.md Outdated
Comment thread rfd/0144-client-tools-updates.md Outdated
Comment thread rfd/0144-client-tools-updates.md
Comment thread rfd/0144-client-tools-updates.md Outdated
Comment thread rfd/0144-client-tools-updates.md Outdated
@russjones russjones requested a review from r0mant April 1, 2024 16:23
Comment thread rfd/0144-client-tools-updates.md Outdated
Comment thread rfd/0144-client-tools-updates.md

Inspiration drawn from https://go.dev/doc/toolchain.

### Implementation
Copy link
Copy Markdown
Contributor

@hugoShaka hugoShaka Apr 24, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we build some kind of observability around this and use this as a success criteria?

  • for the Teleport admins, so they know which tools versions their users have. For example recording the teleport client version on login, and when an update happens. (with prometheus metric)
  • for cloud operations, so we know what's the tenant state and can send the apropriate communications/do the right maintenances (with prometheus metrics as well)
  • for product decision so we can measure the tool update adoption for customers with dial-home (with the existing posthog analytics):
    • report the versions of teleport tools
    • report if automatic tool update is enabled
    • report the OS distribution (mac/windows/linux, and which major version)
    • report if the version is automatic, or pinned

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, definitely planning on adding observability. I'll update the RFD a bit later in development on exact metrics, but all of the above sound reasonable.

We'll have to do something to avoid duplicates and preserve anonymity, we can follow a similar approach to what we do for product metrics.

Comment thread rfd/0144-client-tools-updates.md Outdated
* Add changes proposed for client autoupdate
* Add proxy flag and CDN info
Comment on lines +101 to +104
All archive downloads are targeted to the `cdn.teleport.dev` endpoint and depend
on the operating system, platform, and edition. Where edition must be identified
by the original client tools binary, URL pattern:
`https://cdn.teleport.dev/teleport-{, ent-}v15.3.0-{linux, darwin, windows}-{amd64,arm64,arm,386}-{fips-}bin.tar.gz`
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the implementation PRs, did you take into account the fact that dev tag builds along with release candidates, alphas, and betas are served from a different domain? This has been a problem for Connect My Computer and other components:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll create issue for this one, as far as I understand for first version we going to support stable versions only

Comment on lines +55 to +56
The original client tools binaries won't be overwritten. Instead, an additional
binary will be downloaded and stored in `~/.tsh/bin` with `0755` permissions.
Copy link
Copy Markdown
Member

@ravicious ravicious Nov 19, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does that mean we don't have to worry about auto-update overriding the bundled version of tsh that has been symlinked by Teleport Connect?

Say I install Connect v16 on macOS and symlink the bundled tsh to PATH. I then upgrade my cluster to v17. When I log in with the symlinked tsh outside of Connect, it's going to download tsh v17, place it in ~/.tsh/bin and reexecute the command. But then when Connect calls tsh again with TELEPORT_TOOLS_VERSION=off, it's just going to use the v16 version, do I understand this correctly?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ravicious yes, TELEPORT_TOOLS_VERSION=off disables re-execution and update

@vapopov
Copy link
Copy Markdown
Contributor

vapopov commented Jan 10, 2025

I am going to merge the RFD if there are no objections

@vapopov vapopov added this pull request to the merge queue Jan 10, 2025
Merged via the queue into master with commit f6544ed Jan 10, 2025
@vapopov vapopov deleted the rjones/client-tools branch January 10, 2025 22:14
carloscastrojumo pushed a commit to carloscastrojumo/teleport that referenced this pull request Feb 19, 2025
* Added RFD 0144 - Client Tools Updates

* Fix.

* Fix.

* Fix.

* Fix.

* Fix.

* Fix.

* Fix.

* Fix.

* Fix.

* Fix.

* Fix.

* Fix.

* Fix.

* Fix.

* Fix.

* Client tools RFD update (gravitational#45515)

* Add changes proposed for client autoupdate
* Add proxy flag and CDN info

* Naming adjustments

* Naming adjustments

* Update client tools autoupdate RFD (gravitational#47498)

* Drop watch command for autoupdate

* Add modified tctl commands and `find` endpoint response

* Add words to spell checker

---------

Co-authored-by: Vadym Popov <vadym.popov@goteleport.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-changelog Indicates that a PR does not require a changelog entry rfd Request for Discussion size/md

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants