I checked with Sijie today.
StreamNative can contribute the pulsarctl project to Apache Foundation.

Regards,
Penghui

On Fri, Feb 17, 2023 at 4:02 PM Enrico Olivelli <eolive...@gmail.com> wrote:

> I agree to add an admin API to the go client, this would be very helpful.
>
> Il giorno ven 17 feb 2023 alle ore 08:44 Zixuan Liu
> <node...@gmail.com> ha scritto:
> >
> > Hi Zhangjian,
> >
> > This is a good idea to write the admin client by golang, but I don't
> > suggest add the admin features to pulsar-go-client, it's better to use a
> > new repository to do that to  separate dependencies.
> >
> > BTW, StreamNative has a pulsarctl [0] tool, which includes the admin api.
> >
> > > > It's better to reuse existing code rather than reinventing the wheel.
> >
> > I aggred this point. If possible, we can integrate the pulsarctl to this
> > new project.
>
> We are talking about adding a client that calls a
> well defined and maintained REST API.
> It is better to have our implementation and not rely on third parties
> when it is possible.
> If there is a security issue in pulsarctl, how would we handle that ?
> Also the Pulsar community maintains the Pulsar API and this is the
> place where it is easier to keep the client up-to-date with the new
> APIs that we will develop,
> we can't wait for a third party project to implement our own APIs and
> wait for an upgrade (even if it is OSS, we cannot cut releases or have
> control over the release cycle)
>
>
> Enrico
>
>
>
> >
> > [0] - https://github.com/streamnative/pulsarctl
> >
> > Thanks,
> > Zixuan
> >
> >
> > ZhangJian He <shoot...@gmail.com> 于2023年2月17日周五 13:47写道:
> >
> > > Separating dependencies is better. For example, I think
> Pulsar-admin-go can
> > > only have golang standard tls and http dependencies.
> > > But it seems impossible to have two go modules when publishing packages
> > > using github.
> > >
> > > > Has anyone tried generating an admin client from our generated open
> > > api spec?
> > >
> > > I have attempted it, but it requires us to modify our Swagger file. Our
> > > existing Swagger file can't generate HTTP clients directly. Perhaps we
> can
> > > rewrite a unified and standardized Swagger file, and then generate all
> > > code, including brokers, from there gradually.
> > >
> > > Thanks
> > > ZhangJian He
> > >
> > >
> > > On Fri, 17 Feb 2023 at 12:37, Yunze Xu <y...@streamnative.io.invalid>
> > > wrote:
> > >
> > > > > I notice that the Java Client and the Java Admin Client are
> separate
> > > > dependencies. Is this boundary important to maintain for other
> > > > language admin clients?
> > > >
> > > > IMO, separating them is better to maintain. I had an idea to
> implement
> > > > a pure C implementation of the Pulsar admin API. Only libcurl and
> > > > openssl dependencies are required. Compared with the C++ library, the
> > > > pure C library has smaller size, better ABI compatibility, and much
> > > > quicker compilation speed than the C++ library, which has some more
> > > > heavy dependencies like Boost and Protobuf.
> > > >
> > > > Thanks,
> > > > Yunze
> > > >
> > > > On Fri, Feb 17, 2023 at 11:58 AM Michael Marshall <
> mmarsh...@apache.org>
> > > > wrote:
> > > > >
> > > > > I think it would be valuable to have admin clients in many
> languages.
> > > > > Has anyone tried generating an admin client from our generated open
> > > > > api spec?
> > > > >
> > > > > I notice that the Java Client and the Java Admin Client are
> separate
> > > > > dependencies. Is this boundary important to maintain for other
> > > > > language admin clients?
> > > > >
> > > > > Thanks,
> > > > > Michael
> > > > >
> > > > > On Thu, Feb 16, 2023 at 7:47 PM ZhangJian He <shoot...@gmail.com>
> > > wrote:
> > > > > >
> > > > > > I would like to express that the current Pulsar client for Go
> > > > > > (pulsar-client-go) is missing the pulsar Admin API. As such, I
> would
> > > > like
> > > > > > to propose that we work towards adding this feature to
> > > > pulsar-client-go.
> > > > > >
> > > > > > I believe that this new feature would be a valuable addition to
> > > > > > pulsar-client-go, and I am excited to work to make it happen.
> > > > > >
> > > > > > I have submitted a PR:
> > > > https://github.com/apache/pulsar-client-go/pull/959
> > > > > > The full api is not currently available, but we are adding.
> > > > > >
> > > > > > Below is a simple example about how to use
> > > > > >
> > > > > > ## usage
> > > > > >
> > > > > > ```go
> > > > > > package main
> > > > > >
> > > > > > import (
> > > > > > "fmt"
> > > > > > "github.com/apache/pulsar-client-go/padmin"
> > > > > > )
> > > > > >
> > > > > > func main() {
> > > > > > admin, err := padmin.NewDefaultPulsarAdmin()
> > > > > > if err != nil {
> > > > > > panic(err)
> > > > > > }
> > > > > > // get namespace topic list
> > > > > > topics, err :=
> admin.PersistentTopics.ListNamespaceTopics("tenant",
> > > > > > "namespace")
> > > > > > if err != nil {
> > > > > > panic(err)
> > > > > > }
> > > > > > fmt.Println(topics)
> > > > > > }
> > > > > > ```
> > > > > >
> > > > > > Thanks
> > > > > > ZhangJian He
> > > >
> > >
>

Reply via email to