Thanks Yong for this great job, +1

On 2020/6/15, 09:34, "PengHui Li" <codelipeng...@gmail.com> wrote:

    +1
    On Jun 15, 2020, 9:24 AM +0800, xiaolong ran <ranxiaolong...@gmail.com>, 
wrote:
    > Thanks Yong Zhang work for this, LGTM+1
    >
    > --
    > Thanks
    > Xiaolong Ran
    >
    > > 在 2020年6月12日,上午11:38,Yong Zhang <zhangyong1025...@gmail.com> 写道:
    > >
    > > Hi all,
    > >
    > > We have developed a new tool Pulsarctl for managing Pulsar resources. 
It’s
    > > written in Golang
    > > and is an alternative tool of pulsar-admin. We’d like to contribute the
    > > project back to the Pulsar
    > > community.
    > >
    > > ## Motivation
    > >
    > > Pulsarctl is an alternative tool of pulsar-admin, used to manage 
resources
    > > in Apache Pulsar.
    > > Pulsarctl is written in Go and based on Pulsar REST API. It provides Go
    > > developers with API
    > > interface and user-friendly commands, making it easier to interact with
    > > Pulsar brokers.
    > >
    > > Compared with pulsar-admin, Pulsarctl is more user-friendly. Pulsarctl
    > > requires fewer dependencies
    > > to use commands and provides more comprehensive description and usage 
for
    > > commands.
    > > With Pulsarctl, users can find and resolve issues faster when errors 
occur.
    > >
    > > ## Features
    > >
    > > Pulsarctl not only integrates the Pulsar commands and BookKeeper 
commands
    > > but also
    > > provides some useful tools like output format and context management.
    > >
    > >
    > > ### Pulsar operations
    > >
    > > For Pulsar operations, Pulsarctl integrates almost all the commands of
    > > pulsar-admin, including
    > > but not limited to the following operations:
    > >
    > > - broker operations
    > > - cluster operations
    > > - tenant operations
    > > - namespace operations
    > > - topic operations
    > > - function operations
    > > - sink operations
    > > - source operations
    > >
    > > Also, Pulsarctl supports the JWT(JSON Web Token) authentication and TLS
    > > authentication.
    > >
    > > The following are command flags of Pulsarctl. You can use 
`--auth-params`
    > > to specify the auth
    > > params configured in pulsar-client. Or you can just specify `--token` to
    > > use that token to connect the broker.
    > >
    > > ```
    > > Common flags:
    > > -s, --admin-service-url string The admin web service url that
    > > pulsarctl connects to. (default "http://localhost:8080";)
    > > --auth-params string Authentication parameters are used to
    > > configure the public and private key files required by tls
    > > For example:
    > > "tlsCertFile:val1,tlsKeyFile:val2"
    > > -C, --color string toggle colorized logs
    > > (true,false,fabulous) (default "true")
    > > -h, --help help for this command
    > > --tls-allow-insecure Allow TLS insecure connection
    > > --tls-trust-cert-path string Allow TLS trust cert file path
    > > --token string Using the token to authentication
    > > --token-file string Using the token file to authentication
    > > -v, --verbose int set log level, use 0 to silence, 4 for
    > > debugging (default 3)
    > > ```
    > >
    > > ### BookKeeper operations
    > >
    > > For BookKeeper operations, Pulsarctl integrates the commands listed in 
the
    > > [REST API](https://bookkeeper.apache.org/docs/4.10.0/admin/http/)
    > >
    > > - auto-recovery operations
    > > - bookie operations
    > > - bookies operations
    > > - ledger operations
    > >
    > >
    > > ### Save your configuration in the different contexts
    > >
    > > Pulsarctl provides a context command which lets you manage your Pulsar
    > > cluster easier.
    > > The ‘context’ can save the different configurations of your Pulsar 
cluster.
    > > And you can easily
    > > change to another cluster by the command `pulsarctl context use`. For 
more
    > > details please
    > > refer to
    > > 
https://github.com/streamnative/pulsarctl/blob/master/docs/en/how-to-use-context.md
    > >
    > >
    > > ### Get different formats of the output
    > >
    > > Pulsarctl provides an output flag `--output` to make the output 
transform
    > > into different
    > > formats, such as text, JSON, and YAML. The default view is the text 
which
    > > allows you
    > > to check the resources in your cluster directly. Also, you can get the 
JSON
    > > or YAML
    > > format to do what you want to.
    > >
    > >
    > > ### Extend Pulsarctl using plugins easily
    > >
    > > You can easily extend the Pulsarctl with a plugin. Pulsarctl will 
auto-find
    > > the installed
    > > plugins and you can use them directly in Pulsarctl. For more details 
about
    > > the plugin,
    > > please refer to
    > > 
https://github.com/streamnative/pulsarctl/blob/master/docs/en/how-to-extend-pulsarctl-with-plugins.md
    > >
    > > ### Auto-complete your command
    > >
    > > Pulsarctl supports auto-completing your input command. If you forget 
some
    > > commands,
    > > try to `tab` it, Pulsarctl will remind you. For how to enable the
    > > auto-completion feature, please refer to:
    > > 
https://github.com/streamnative/pulsarctl/blob/master/docs/en/enable_completion.md
    > >
    > > ### A Golang library of Pulsar admin
    > >
    > > Pulsarctl is not only a command-line tool but also a library of Pulsar
    > > admin API. You can
    > > use it in your application to communicate with Pulsar. Here is an 
example
    > > of how to use
    > > Pulsarctl in your application:
    > > 
https://github.com/streamnative/pulsarctl/blob/master/docs/en/overview_of_pulsarctl.md#admin-api
    > >
    > > ## More information
    > >
    > > - Pulsarctl project repo: https://github.com/streamnative/pulsarctl
    > > - The latest Pulsarctl API website:
    > > https://streamnative.io/docs/pulsarctl/v0.4.1/
    > > - Introduction to Pulsarctl:
    > > https://streamnative.io/blog/tech/2019-11-26-introduction-pulsarctl
    >
    

Reply via email to