UNCLASSIFIED - NO CUI

Implement `bbctl` self update functionality for binary installations

Actually implement the self-update functionality for binary installations.

Acceptance Criteria

  • When run, bbctl update bbctl should check for newest versions. If a new one is found, prompt the user if they'd like to download the latest version of bbctl. If accepted, fetch the latest binary version from the releases page, unpack it, verify the checksum, identify the installation location of the currently running bbctl binary, and replace it in place.
  • Optionally support downloading a specific version with a --update-version flag.
  • Supported functionality
    • bbctl update bbctl for general (auto-detecting) update of current bbctl install
    • bbctl update bbctl --binary for specified go-install update
    • bbctl update bbctl --binary --update-version x.x.x for specified go-install update
Edited by Darrien Lee