-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Problem
ballast doctor --fix and ballast install-cli --language go currently install released ballast-go binaries by running a shell/PowerShell download and extract flow. On Unix this assumes sh, curl, tar, and install are available; on Windows it assumes PowerShell cmdlets are available.
That works in common environments, but it is brittle in minimal containers, restricted CI environments, or locked-down developer machines. Failures currently surface as generic install errors.
Goal
Make released ballast-go installs more portable and self-contained.
Recommended scope
- Reimplement the release download, checksum verification, archive extraction, and binary placement in Go.
- Keep OS/arch selection aligned with the published
ballast-go_<version>_<os>_<arch>assets. - Return clear actionable errors for unsupported platforms and verification failures.
- Add tests covering checksum verification and unsupported platform handling.
Notes
This was identified during PR #64 while fixing the broken Go backend install path used by ballast doctor --fix.
The immediate PR addresses checksum verification and docs, but leaves the shell-tool dependency as follow-up work to keep the fix scoped.