Design and build bbctl CLI baseline
See epic for details on what bbctl
will be. This story focuses on the initial creation of a baseline binary for the program.
Acceptance criteria:
- Git repo is created storing source, including required files (CODEOWNERS, Changelog, Contributing, readme, etc.). Pipeline is not required and will be a different story.
- Source uses golang
- Single script, makefile, or other means (dockerfile) will compile the program
- Program can be run on Linux machines with no additional tools
-
bbctl version
will return the name of the application and the version. Later we will add versions of other things. -
bbctl help
will return a description, usage, commands, and options. This is limited tohelp
andversion
in this version. - Document showing the organization of the proposed commands.
- Use
kubectl
,istioctl
,flux
, and other K8S CLI tools as a guide. The idea is that users of these tools wouldn't need to learn a new type of "structure" to runbbctl
. - Commands do not need to be named what they are in the epic
- Generally, the commands should be
bbctl <command> <options/targets>
- Most commands should be actions (create, init, get, config), but there are exceptions.
- Use