nicoloboschi opened a new pull request, #16649:
URL: https://github.com/apache/pulsar/pull/16649

   Master Issue: #16250
   
   ### Motivation
   
   A common case for Pulsar shell users is to have to manage multiple clusters. 
   In order to handle multiple configurations a new concept of `config` is 
introduced. 
   
   A config is a key-value object where key is a logical name and the value is 
a client.conf content.
   You can now create many configs in the shell and they will be saved in your 
home directory ($HOME/.pulsar-shell/configs.json)
   
   There's a `default` config which is the config you're passing to 
pulsar-shell (with `-c`).
   
   The last used config will be used as first config for the new shell session. 
The info is stored in the json.
   
   ### Modifications
   
   New root command: `config`
   - config list: list all configs
   - config view <configname>: show config value
   - config create (--file|--url|--value) <file/url/base64:xx> <configname>: 
create a config
   - config update (--file|--url|--value) <file/url/base64:xx> <configname>: 
update a config
   - config delete <configname>: delete a config
   - config use <configname>: set current config to that config 
   
   Plus:
   - Moved `pulsar-shell -e` to run command (before was 'exit-on-error', now 
moved to '--fail-on-error', so in order to setup your shell you can run
   
   
   
   ```
   pulsar-shell -e "config create --value 'base64:xxxxx' mycluster-mytenant
   config use mycluster-mytenant
   "
   ```
   Then when you open the shell the next time the `mycluster-mytenant` will be 
used.
   
   - [x] `doc-required` 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to