User Story
As a cloudctl user, I want cloudctl to download and cache versioned tool binaries automatically, so I don't need to manage kubectl/helm/kubelogin versions manually.
Description
Port the full download package from u8s: generic file download with SHA-256 verification, tar.gz and zip extraction, GitHub Releases API digest support (preferred, with .sha256 URL fallback), progress output to stderr, and size caps (200 MiB download, 500 MiB extraction). This is the foundation for all tool subcommands.
Acceptance Criteria
Reference Issues
Epic: #70
User Story
Description
Port the full download package from u8s: generic file download with SHA-256 verification, tar.gz and zip extraction, GitHub Releases API digest support (preferred, with
.sha256URL fallback), progress output to stderr, and size caps (200 MiB download, 500 MiB extraction). This is the foundation for all tool subcommands.Acceptance Criteria
DownloadFile— single binary download with SHA-256 verificationDownloadTarGzFile— tar.gz extraction with file filter and checksumDownloadZipFile— zip extraction with file filter and checksumDownloadGitHubReleaseBinary— GitHub release asset download with API digest preferred,.sha256URL fallbackReference Issues
Epic: #70