You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pulsar.apache.org by Yong Zhang <zh...@gmail.com> on 2020/06/12 03:38:03 UTC

[DISCUSS] PIP-67: Contribute Pulsarctl to Apache Pulsar

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

Re: [DISCUSS] PIP-67: Contribute Pulsarctl to Apache Pulsar

Posted by Yong Zhang <zh...@gmail.com>.
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 <zh...@gmail.com> wrote:

> Sure. I will open an official vote for this.
>
> Thanks
> - Yong
>
> On Fri, 19 Jun 2020 at 15:19, Sijie Guo <gu...@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 <wa...@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 <zh...@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 <eg...@gmail.com> wrote:
>> >
>> > Great job, +1, Thanks Yong and Xiaolong.
>> >
>> >
>> > anonymitaet _ <an...@hotmail.com> 于2020年6月15日周一 上午9:56写道:
>> >
>> >
>> > Thanks Yong for this great job, +1
>> >
>> >
>> > On 2020/6/15, 09:34, "PengHui Li" <co...@gmail.com> wrote:
>> >
>> >
>> >    +1
>> >
>> >    On Jun 15, 2020, 9:24 AM +0800, xiaolong ran <
>> >
>> > ranxiaolong716@gmail.com>,
>> >
>> > wrote:
>> >
>> > Thanks Yong Zhang work for this, LGTM+1
>> >
>> >
>> > --
>> >
>> > Thanks
>> >
>> > Xiaolong Ran
>> >
>> >
>> > 在 2020年6月12日,上午11:38,Yong Zhang <zh...@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
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>>
>

Re: [DISCUSS] PIP-67: Contribute Pulsarctl to Apache Pulsar

Posted by Yong Zhang <zh...@gmail.com>.
Sure. I will open an official vote for this.

Thanks
- Yong

On Fri, 19 Jun 2020 at 15:19, Sijie Guo <gu...@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 <wa...@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 <zh...@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 <eg...@gmail.com> wrote:
> >
> > Great job, +1, Thanks Yong and Xiaolong.
> >
> >
> > anonymitaet _ <an...@hotmail.com> 于2020年6月15日周一 上午9:56写道:
> >
> >
> > Thanks Yong for this great job, +1
> >
> >
> > On 2020/6/15, 09:34, "PengHui Li" <co...@gmail.com> wrote:
> >
> >
> >    +1
> >
> >    On Jun 15, 2020, 9:24 AM +0800, xiaolong ran <
> >
> > ranxiaolong716@gmail.com>,
> >
> > wrote:
> >
> > Thanks Yong Zhang work for this, LGTM+1
> >
> >
> > --
> >
> > Thanks
> >
> > Xiaolong Ran
> >
> >
> > 在 2020年6月12日,上午11:38,Yong Zhang <zh...@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
> >
> >
> >
> >
> >
> >
> >
>

Re: [DISCUSS] PIP-67: Contribute Pulsarctl to Apache Pulsar

Posted by Sijie Guo <gu...@gmail.com>.
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 <wa...@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 <zh...@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 <eg...@gmail.com> wrote:
>
> Great job, +1, Thanks Yong and Xiaolong.
>
>
> anonymitaet _ <an...@hotmail.com> 于2020年6月15日周一 上午9:56写道:
>
>
> Thanks Yong for this great job, +1
>
>
> On 2020/6/15, 09:34, "PengHui Li" <co...@gmail.com> wrote:
>
>
>    +1
>
>    On Jun 15, 2020, 9:24 AM +0800, xiaolong ran <
>
> ranxiaolong716@gmail.com>,
>
> wrote:
>
> Thanks Yong Zhang work for this, LGTM+1
>
>
> --
>
> Thanks
>
> Xiaolong Ran
>
>
> 在 2020年6月12日,上午11:38,Yong Zhang <zh...@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
>
>
>
>
>
>
>

Re: [DISCUSS] PIP-67: Contribute Pulsarctl to Apache Pulsar

Posted by Dave Fisher <wa...@comcast.net>.
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 <zh...@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 <eg...@gmail.com> wrote:
>> 
>> Great job, +1, Thanks Yong and Xiaolong.
>> 
>> anonymitaet _ <an...@hotmail.com> 于2020年6月15日周一 上午9:56写道:
>> 
>>> Thanks Yong for this great job, +1
>>> 
>>> On 2020/6/15, 09:34, "PengHui Li" <co...@gmail.com> wrote:
>>> 
>>>    +1
>>>    On Jun 15, 2020, 9:24 AM +0800, xiaolong ran <
>> ranxiaolong716@gmail.com>,
>>> wrote:
>>>> Thanks Yong Zhang work for this, LGTM+1
>>>> 
>>>> --
>>>> Thanks
>>>> Xiaolong Ran
>>>> 
>>>>> 在 2020年6月12日,上午11:38,Yong Zhang <zh...@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
>>>> 
>>> 
>>> 
>>> 
>> 

Re: [DISCUSS] PIP-67: Contribute Pulsarctl to Apache Pulsar

Posted by Yong Zhang <zh...@gmail.com>.
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 <eg...@gmail.com> wrote:

> Great job, +1, Thanks Yong and Xiaolong.
>
> anonymitaet _ <an...@hotmail.com> 于2020年6月15日周一 上午9:56写道:
>
> > Thanks Yong for this great job, +1
> >
> > On 2020/6/15, 09:34, "PengHui Li" <co...@gmail.com> wrote:
> >
> >     +1
> >     On Jun 15, 2020, 9:24 AM +0800, xiaolong ran <
> ranxiaolong716@gmail.com>,
> > wrote:
> >     > Thanks Yong Zhang work for this, LGTM+1
> >     >
> >     > --
> >     > Thanks
> >     > Xiaolong Ran
> >     >
> >     > > 在 2020年6月12日,上午11:38,Yong Zhang <zh...@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
> >     >
> >
> >
> >
>

Re: [DISCUSS] PIP-67: Contribute Pulsarctl to Apache Pulsar

Posted by Guangning E <eg...@gmail.com>.
Great job, +1, Thanks Yong and Xiaolong.

anonymitaet _ <an...@hotmail.com> 于2020年6月15日周一 上午9:56写道:

> Thanks Yong for this great job, +1
>
> On 2020/6/15, 09:34, "PengHui Li" <co...@gmail.com> wrote:
>
>     +1
>     On Jun 15, 2020, 9:24 AM +0800, xiaolong ran <ra...@gmail.com>,
> wrote:
>     > Thanks Yong Zhang work for this, LGTM+1
>     >
>     > --
>     > Thanks
>     > Xiaolong Ran
>     >
>     > > 在 2020年6月12日,上午11:38,Yong Zhang <zh...@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
>     >
>
>
>

Re: [DISCUSS] PIP-67: Contribute Pulsarctl to Apache Pulsar

Posted by anonymitaet _ <an...@hotmail.com>.
Thanks Yong for this great job, +1

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

    +1
    On Jun 15, 2020, 9:24 AM +0800, xiaolong ran <ra...@gmail.com>, wrote:
    > Thanks Yong Zhang work for this, LGTM+1
    >
    > --
    > Thanks
    > Xiaolong Ran
    >
    > > 在 2020年6月12日,上午11:38,Yong Zhang <zh...@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
    >
    


Re: [DISCUSS] PIP-67: Contribute Pulsarctl to Apache Pulsar

Posted by PengHui Li <co...@gmail.com>.
+1
On Jun 15, 2020, 9:24 AM +0800, xiaolong ran <ra...@gmail.com>, wrote:
> Thanks Yong Zhang work for this, LGTM+1
>
> --
> Thanks
> Xiaolong Ran
>
> > 在 2020年6月12日,上午11:38,Yong Zhang <zh...@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
>

Re: [DISCUSS] PIP-67: Contribute Pulsarctl to Apache Pulsar

Posted by xiaolong ran <ra...@gmail.com>.
Thanks Yong Zhang work for this, LGTM+1

--
Thanks
Xiaolong Ran

> 在 2020年6月12日,上午11:38,Yong Zhang <zh...@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