Very cool! This contribution may need to go through IP clearance. https://incubator.apache.org/ip-clearance/
Regards? Dave Sent from my iPhone > On Jun 18, 2020, at 8:16 PM, Yong Zhang <zhangyong1025...@gmail.com> wrote: > > It seems that there are no objections to accepting this repo. > > What should I do in the next step? Should I open a vote in a separate email? > > Thanks > > --- >> On Mon, 15 Jun 2020 at 14:30, Guangning E <eguangn...@gmail.com> wrote: >> >> Great job, +1, Thanks Yong and Xiaolong. >> >> anonymitaet _ <anonymita...@hotmail.com> 于2020年6月15日周一 上午9:56写道: >> >>> 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 >>>> >>> >>> >>> >>