cyberark / cyberark-conjur-cli

CyberArk Conjur command line interface written in Python
https://www.conjur.org
Apache License 2.0
17 stars 16 forks source link

UI Command and subcommands #274

Open InbalZilberman opened 3 years ago

InbalZilberman commented 3 years ago

Feature Overview & Customer Need

As a Conjur user I would like to use the Conjur cli In order to open the Conjur UI central page

As a Conjur user I would like to use the Conjur cli In order to open the Conjur UI specific pages according to the context we are in.

As the UI is relevant only to Conjur Enterprise we need to make sure these commands option will be provided for in Conjur we are working with is Conjur Enterprise. A new command will be called ui conjur ui will open the dashboard of the Conjur UI (or login page if needed)

Also for the following commands a new subcommand will be provided called --ui: policy, host, user, variable This subcommand will open the relevant page of the UI for example conjur policy --ui will open the screen

image

The relevant commands that will get this --ui flag are:

Help for command

Use the UI command to Conjur Enterprise UI in the local default browser. For Conjur deployment without a UI is will provide a proper error Usage conjur [global options] ui Global options Option | Description -d, --debug | Enable debugging output Options -h, --help | Display the help screen Example conjur ui - The following command opens the Conjur Enterprise UI in the local default browser (edited)

Failure scenario

If we are working with OSS - "UI is an Conjur Enterprise feature only" If there is no browser in the machine - "No suitable browser found on the machine. if working on remote machine make sure x11Forwarding is enable"

Quality

Make sure we have test coverage of the ui command and subcommands. Create test plan and execute accordingly.

Process logic and Demo

Conjur user with a machine that the Python CLI already been installed and conjur init & login run against a Conjur/ Conjur Enterprise machine The user wants to open the dashboard he runs conjur ui and a browser is opened with the dashboard of Conjur UI.

The user has loaded policies, set variables and so on now he would like to view his variables in his Conjur. He runs: conjur variable --ui

Demo the flow above and the failure scenario

User messages

All user messages regarding resource actions should be reviewed

Especially error messages

if an argument is missing we need to return the help of the command

Documentation

Please provide enhance documentation in online help and readme

DOD

rafis3 commented 3 years ago

@InbalZilberman, @sigalsax I think it would be nice if the UI option would not be specified in the list of available commands under --help if working with Conjur OSS. The CLI can figure out the type of instance in the conjur init command and keep this information for the execution of the other commands.

sigalsax commented 3 years ago

@rafis3 If I am understanding correctly you are suggesting that the UI option only appear if Conjur enterprise is detected?

rafis3 commented 3 years ago

Yes. So that a user will get an accurate list of supported commands.

InbalZilberman commented 3 years ago

@rafis3 Nice!, today we are indicating the Enterprise by the existence of /info. Ill Add it to the feature definition. @mbenita-Cyberark FYI