Skip to content
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

Client tools auto update logic for multiple platforms #46587

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

vapopov
Copy link
Contributor

@vapopov vapopov commented Sep 13, 2024

In this PR implemented logic for client tools autoupdate {tsh, tctl}, added integration tests for simulations of downloading, unpacking and replacing tools binaries from test CDN server (pre-combiled binary which contains only separated updater logic).

changelog: Added auto update logic for tsh, tctl client tools

@vapopov vapopov force-pushed the vapopov/client-tools-autoupdate-merge branch from 974e35d to 433f481 Compare September 13, 2024 18:01
@vapopov vapopov self-assigned this Sep 13, 2024

return archive, archive + ".sha256", nil
}

Copy link
Member

@sclevine sclevine Sep 13, 2024

Choose a reason for hiding this comment

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

I put together a more productionized version of these methods for the agent version, which adds disk space checking, timeouts, context cancellation, etc.: https://github.com/gravitational/teleport/compare/sclevine/teleport-update-enable

We could try to reuse those, but the use cases are a bit different. For now, you might want to look at some of the differences. E.g., use of the client and contexts to handle graceful cancellation, and limiting the number of bytes read over the network.

Add request timeout and default client
Feature flag check
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants