-
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
Client tools auto update #47466
base: master
Are you sure you want to change the base?
Client tools auto update #47466
Conversation
return 0, trace.Errorf("invalid size") | ||
} | ||
avail := stat.Bavail * uint64(stat.Bsize) | ||
avail := uint64(stat.Bavail) * uint64(stat.Bsize) |
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.
This change related to this comment #47060 (comment)
also I'm locally checking linter for warnings related touint64(stat.Bavail)
5bc4215
to
ddcbaf9
Compare
Move integration tests to client tools specific dir Use context cancellation with SIGTERM, SIGINT Remove cancelable tee reader with context replacement Renaming
Fix archive cleanup if hash is not valid Limit the archive write bytes
144d573
to
d5dd770
Compare
355c675
to
5f5688e
Compare
Base URL renaming
Replace hash for bytes matching Proper temp file close for archive download
c860415
to
b019206
Compare
lib/autoupdate/feature.go
Outdated
// FlagEnt represents enterprise version. | ||
FlagEnt = 1 << iota | ||
// FlagFips represents enterprise version with fips feature enabled. | ||
FlagFips |
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.
FlagFips | |
FlagFIPS |
lib/autoupdate/tools/utils.go
Outdated
} | ||
} | ||
|
||
return filepath.Join(filepath.Clean(home), ".tsh", "bin"), nil |
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.
Note that filepath.Join runs filepath.Clean on the result for you
In this PR implemented logic for client tools auto update {tsh, tctl} described in this RFD #39805
Update logic downloads Teleport binaries from CDN, extracts data in tools sub-directory (going to be used
$TELEPORT_HOME/bin/{UUID-update-pkg}/{tsh,tctl}
) and creates symlinks for {tsh,tctl} to$TELEPORT_HOME/bin/{tsh,tctl}
.Added integration tests which compiles updater binary with update logic only to simulate command execution with requested version to downloads them from fake test CDN server.