-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Added RFD 0144 - Client Tools Updates #39805
base: master
Are you sure you want to change the base?
Conversation
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 with one question
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.
Drive-by review. Interesting RFD!
I think there is a issue with the current design. This RFD essentially proposes forward (and backward compatibility). It outlines how to select the correct binary, but does not outline how to handle schema changes to I'll update the design to handle this case. @sclevine This is relevant for you as well, you are going to run into a similar problem with |
Less worried about this for agents, given that it's much less common to switch back and forth between versions. The solution I proposed here blocks the invalid downgrade until someone wipes |
@sclevine @bernardjkim @r0mant @tigrato @hugoShaka I've pushed an update to reduce scope and focus on our primary use-case: Cloud. Instead of maintaining multiple versions of client tools per-cluster, a single version of client tools will be maintained. For Cloud customers this should have no impact as most have a single cluster and even those with multiple clusters will be on the same version. For self-hosted clusters, by default this feature will be turned off with I think this will be a much simpler implementation. We can come back around to supporting multiple versions (and self-hosted use case) in the future. |
|
||
Inspiration drawn from https://go.dev/doc/toolchain. | ||
|
||
### Implementation |
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.
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
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.
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.
* Add changes proposed for client autoupdate * Add proxy flag and CDN info
No description provided.