Skip to content

olmv1 CLI command hierarchy is confusing (possibly needs restructuring)  #229

@anik120

Description

@anik120
$ ./bin/kubectl-operator olmv1 --help 
Manage extensions via OLMv1 in a cluster from the command line.

Usage:
  operator olmv1 [command]

Available Commands:
  create      Create a resource
  delete      Delete a resource
  get         Display one or many resource(s)
  install     Install an extension
  uninstall   Uninstall an extension
  update      Update a resource

Flags:
  -h, --help   help for olmv1

Global Flags:
  -n, --namespace string   If present, namespace scope for this CLI request
      --timeout duration   The amount of time to wait before giving up on an operation. (default 1m0s)

Use "operator olmv1 [command] --help" for more information about a command.

What resource can I create? That sounds oddly vague. I can imagine a new user's cognitive load starting to climb from the get go because of this.

Is it better to just say create a ClusterCatalog or ClusterExtension, delete a ClusterCatalog or ClusterExtension etc.?

Also looks like install and uninstall can be used for installing and uninstalling a ClusterCatalog too?

It might even make sense to restructure this command hierarchy a little bit:

kubectl-operator olmv1 
                  |
                  |------------- extension 
                  |                               |---------install 
                  |                               |---------uninstall
                  |                               |---------get
                  |                               |---------update
                  | 
                  |--------------catalog 
                  |                              |
                  |                              |---------install
                  |                              |---------uninstall
                  |                              |---------get
                  |                              |---------update
 

Notice the omission of create and delete. Looks like in the current layout, create and delete is being used for ClusterCatalog, while install and uninstall is being used for ClusterExtension (so the help text create Create a resource is just unnecessarily confusing, and it has another leaf command: catalog)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions