Here is the vote thread: https://lists.apache.org/thread.html/r8254bb5756ea07d5156e1038c24684594993a8ad351b04a7d92c9276%40%3Cdev.pulsar.apache.org%3E
- Yong On Fri, 19 Jun 2020 at 17:48, Yong Zhang <zhangyong1025...@gmail.com> wrote: > Sure. I will open an official vote for this. > > Thanks > - Yong > > On Fri, 19 Jun 2020 at 15:19, Sijie Guo <guosi...@gmail.com> wrote: > >> Yong - Can you start with an official vote for this? We need an official >> vote thread for this. >> >> Dave - Yes. We need to go through IP clearance for this contribution. >> >> - Sijie >> >> On Thu, Jun 18, 2020 at 9:13 PM Dave Fisher <wave4d...@comcast.net> >> wrote: >> >> > 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 >> > >> > >> > >> > >> > >> > >> > >> >