UNCLASSIFIED - NO CUI

Add "check for new version" functionality and enable it as part of startup

Add new behavior to bbctl to check for updates.

Acceptance Criteria

  • Compare the local versions client version and compilation date against the latest release on repo1 and the current date.
    • If the local version is on an older minor version, warn the user and provide relevant update instructions.
    • If the local version is on a version many minor versions older than the most up to date, increase the severity of the message.
    • If the local version is a major version out of date than the upstream version, raise lots of alarms and strongly encourage the user to update.
    • If the local version is some threshold (90d?) older the the latest release of bbctl, warn the user that their version is out of date.
  • This check should be configured to be run at startup by default
  • Setting a configuration flag or environment variable should allow the check to be disabled
  • Add an optional configuration that enables auto-updating and automatically updates the local bbctl binary if a new version is available. Use the logic implemented in #294 (moved). - Removed and rescoped to be part of &20 (closed)
  • If there is no internet connection available, gracefully log the error and continue execution.
Edited by Daniel Dides