Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/streamnative/pulsarctl
a CLI for Apache Pulsar written in Go
https://github.com/streamnative/pulsarctl
apache-pulsar cli golang pulsar pulsarctl restful-api
Last synced: 6 days ago
JSON representation
a CLI for Apache Pulsar written in Go
- Host: GitHub
- URL: https://github.com/streamnative/pulsarctl
- Owner: streamnative
- License: apache-2.0
- Created: 2019-07-07T23:32:59.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-04-10T00:49:08.000Z (9 months ago)
- Last Synced: 2024-04-10T04:11:36.494Z (9 months ago)
- Topics: apache-pulsar, cli, golang, pulsar, pulsarctl, restful-api
- Language: Go
- Homepage:
- Size: 5.66 MB
- Stars: 144
- Watchers: 35
- Forks: 64
- Open Issues: 61
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
[![Language](https://img.shields.io/badge/Language-Go-blue.svg)](https://golang.org/)
[![LICENSE](https://img.shields.io/hexpm/l/pulsar.svg)](https://github.com/streamnative/pulsarctl/blob/master/LICENSE)
[![GoDoc](https://img.shields.io/badge/Godoc-reference-blue.svg)](https://godoc.org/github.com/streamnative/pulsarctl)## Pulsarctl
A CLI tool for the [Apache Pulsar](https://pulsar.incubator.apache.org/) project.
## Install pulsarctl
### Mac operation system
Use [homebrew](https://brew.sh/) to install `pulsarctl` on the Mac operation system.
```bash
brew tap streamnative/streamnative
brew install pulsarctl
```### Linux operation system
Use this command to install `pulsarctl` on the Linux operation system.
```bash
sh -c "$(curl -fsSL https://raw.githubusercontent.com/streamnative/pulsarctl/master/install.sh)"
```### Windows operation system
To install `pulsarctl` on the Windows operation system, follow these steps:
1. Download the package from [here](https://github.com/streamnative/pulsarctl/releases).
2. Add the `pulsarctl` directory to your system PATH.
3. Type `pulsarctl -h` at CMD to verify that `pulsarctl` is work.### As project dependency
Use `go get` to install the `pulsarctl` as dependency on your project:
```shell
# Using master branch
go get github.com/streamnative/pulsarctl@master# Or using v2.10.1.3 tag
go get github.com/streamnative/[email protected]# Or using v2.9.3.3 tag
go get github.com/streamnative/[email protected]
```**Note:** We will not release `v0.y.z` tags, so you need to specify the branch or tag.
## Build pulsarctl from codes
### Prerequisite
- Go 1.11 +
If you have not installed Go, install it according to the [installation instruction](http://golang.org/doc/install).
Since the `go mod` package management tool is used in this project, **Go 1.11 or higher** version is required.
### Steps
1. Download codes.
1. Clone the project from GitHub to your local.
```bash
git clone https://github.com/streamnative/pulsarctl.git
```2. Use `go mod` to get the dependencies needed for the project.
```bash
go mod download
```After entering the `go mod download` command, if some libs can not be downloaded, then you can download them by referring to the proxy provided by [GOPROXY.io](https://goproxy.io/).
2. Build pulsarctl
```bash
make pulsarctl
```If you want to print version of `pulsarctl`, you can use follow commands:
```
bin/pulsarctl --version
```**Output**:
```
Release Version: v2.8.0.3
Git Commit Hash: add1e586e8d56fcc1cbd2fe94ed75b10d6c54672
Git Branch: HEAD
UTC Build Time: 2021-06-26 06:39:16
Go Version: go version go1.16.3 darwin/amd64
```## Enable Auto-Completion
If you want to enable autocompletion in shell, see [enable_completion](docs/en/enable_completion.md).
## Use contexts
If you want to cache information of multiple clusters, and can switch between multiple clusters, see [How to use pulsarctl context](docs/en/how-to-use-context.md).
## Project Status
The following is an incomplete list of features that are not yet implemented:
### Functions- localrun
### Sources
- localrun
- available-sources
- reload### Sinks
- localrun
- available-sources
- reload### Schemas
- extract
### Namespaces
- delete-bookie-affinity-group
- get-bookie-affinity-group
- set-bookie-affinity-group### Bookies
- racks-placement
- get-bookie-rack
- delete-bookie-rack
- set-bookie-rack## Different With Java Pulsar Admin
We move the subscription commands from the topics to the subscriptions in pulsarctl.
| pulsar-admin | pulsarctl |
| ------------ | --------- |
| bin/pulsar-admin topics create-subscription | pulsarctl subscription create |
| bin/pulsar-admin topics unsubscribe | pulsarctl subscription delete |
| bin/pulsar-admin topics skip | pulsarctl subscription skip |
| bin/pulsar-admin topics expire-messages | pulsarctl subscription expire |
| bin/pulsar-admin topics peek-messages | pulsarctl subscription peek |
| bin/pulsar-admin topics reset-cursor | pulsarctl subscription seek |
| bin/pulsar-admin topics subscriptions | pulsarctl subscription list |## Contribute
Contributions are welcomed and greatly appreciated.
For more information about how to submit a patch and the contribution workflow, see [CONTRIBUTING.md](CONTRIBUTING.md).## License
Licensed under the Apache License Version 2.0: http://www.apache.org/licenses/LICENSE-2.0