net/natscli: add new port

This port is a command line utility to interact with and manage NATS
(net/nats-server).

Features:

  * JetStream management
  * JetStream data and configuration backup
  * Message publish and subscribe
  * Service requests and creation
  * Benchmarking and Latency testing
  * Super Cluster observation
  * Configuration context maintenance
  * NATS ecosystem schema registry
This commit is contained in:
Jimmy Olgeni 2022-02-26 17:16:18 +01:00
parent ff83213572
commit f08a2e0baf
4 changed files with 174 additions and 0 deletions

View file

@ -488,6 +488,7 @@
SUBDIR += nats-server
SUBDIR += nats-streaming-server
SUBDIR += nats-top
SUBDIR += natscli
SUBDIR += nbd-server
SUBDIR += nbdkit
SUBDIR += nc

68
net/natscli/Makefile Normal file
View file

@ -0,0 +1,68 @@
PORTNAME= natscli
PORTVERSION= 0.0.29
DISTVERSIONPREFIX= v
CATEGORIES= net
MAINTAINER= olgeni@FreeBSD.org
COMMENT= Command line utility to interact with and manage NATS
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
USES= go:modules
GO_TARGET= ./nats
GO_PKGNAME= github.com/${GH_ACCOUNT}/${PORTNAME}
USE_GITHUB= yes
GH_ACCOUNT= nats-io
GH_TUPLE= AlecAivazis:survey:v2.3.2:alecaivazis_survey_v2/vendor/github.com/AlecAivazis/survey/v2 \
HdrHistogram:hdrhistogram-go:v1.1.2:hdrhistogram_hdrhistogram_go/vendor/github.com/HdrHistogram/hdrhistogram-go \
alecthomas:kingpin:v2.2.6:alecthomas_kingpin/vendor/gopkg.in/alecthomas/kingpin.v2 \
alecthomas:template:fb15b899a751:alecthomas_template/vendor/github.com/alecthomas/template \
alecthomas:units:b94a6e3cc137:alecthomas_units/vendor/github.com/alecthomas/units \
beorn7:perks:v1.0.1:beorn7_perks/vendor/github.com/beorn7/perks \
cespare:xxhash:v2.1.2:cespare_xxhash_v2/vendor/github.com/cespare/xxhash/v2 \
dustin:go-humanize:v1.0.0:dustin_go_humanize/vendor/github.com/dustin/go-humanize \
emicklei:dot:v0.16.0:emicklei_dot/vendor/github.com/emicklei/dot \
fatih:color:v1.13.0:fatih_color/vendor/github.com/fatih/color \
ghodss:yaml:v1.0.0:ghodss_yaml/vendor/github.com/ghodss/yaml \
go-yaml:yaml:v2.4.0:go_yaml_yaml/vendor/gopkg.in/yaml.v2 \
golang:crypto:86341886e292:golang_crypto/vendor/golang.org/x/crypto \
golang:protobuf:v1.5.2:golang_protobuf/vendor/github.com/golang/protobuf \
golang:sys:da31bd327af9:golang_sys/vendor/golang.org/x/sys \
golang:term:03fcf44c2211:golang_term/vendor/golang.org/x/term \
golang:text:v0.3.7:golang_text/vendor/golang.org/x/text \
golang:time:f0f3c7e86c11:golang_time/vendor/golang.org/x/time \
google:go-cmp:v0.5.7:google_go_cmp/vendor/github.com/google/go-cmp \
gosuri:uilive:v0.0.4:gosuri_uilive/vendor/github.com/gosuri/uilive \
gosuri:uiprogress:v0.0.1:gosuri_uiprogress/vendor/github.com/gosuri/uiprogress \
guptarohit:asciigraph:v0.5.2:guptarohit_asciigraph/vendor/github.com/guptarohit/asciigraph \
kballard:go-shellquote:95032a82bc51:kballard_go_shellquote/vendor/github.com/kballard/go-shellquote \
klauspost:compress:v1.14.3:klauspost_compress/vendor/github.com/klauspost/compress \
mattn:go-colorable:v0.1.9:mattn_go_colorable/vendor/github.com/mattn/go-colorable \
mattn:go-isatty:v0.0.14:mattn_go_isatty/vendor/github.com/mattn/go-isatty \
matttproud:golang_protobuf_extensions:v1.0.1:matttproud_golang_protobuf_extensions/vendor/github.com/matttproud/golang_protobuf_extensions \
mgutz:ansi:9520e82c474b:mgutz_ansi/vendor/github.com/mgutz/ansi \
minio:highwayhash:v1.0.1:minio_highwayhash/vendor/github.com/minio/highwayhash \
nats-io:jsm.go:v0.0.29:nats_io_jsm_go/vendor/github.com/nats-io/jsm.go \
nats-io:jwt:58e87895b296:nats_io_jwt_v2/vendor/github.com/nats-io/jwt \
nats-io:nats-server:58806c1290b3:nats_io_nats_server_v2/vendor/github.com/nats-io/nats-server/v2 \
nats-io:nats.go:0096b1bfae8d:nats_io_nats_go/vendor/github.com/nats-io/nats.go \
nats-io:nkeys:v0.3.0:nats_io_nkeys/vendor/github.com/nats-io/nkeys \
nats-io:nuid:v1.0.1:nats_io_nuid/vendor/github.com/nats-io/nuid \
prometheus:client_golang:v1.12.1:prometheus_client_golang/vendor/github.com/prometheus/client_golang \
prometheus:client_model:v0.2.0:prometheus_client_model/vendor/github.com/prometheus/client_model \
prometheus:common:v0.32.1:prometheus_common/vendor/github.com/prometheus/common \
prometheus:procfs:v0.7.3:prometheus_procfs/vendor/github.com/prometheus/procfs \
protocolbuffers:protobuf-go:v1.26.0:protocolbuffers_protobuf_go/vendor/google.golang.org/protobuf \
santhosh-tekuri:jsonschema:v5.0.0:santhosh_tekuri_jsonschema_v5/vendor/github.com/santhosh-tekuri/jsonschema/v5 \
tylertreat:hdrhistogram-writer:2e440612a39f:tylertreat_hdrhistogram_writer/vendor/github.com/tylertreat/hdrhistogram-writer \
xlab:tablewriter:80b567a11ad5:xlab_tablewriter/vendor/github.com/xlab/tablewriter
PLIST_FILES= bin/nats \
share/doc/${PORTNAME}/README.md
post-install:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR}
.include <bsd.port.mk>

89
net/natscli/distinfo Normal file
View file

@ -0,0 +1,89 @@
TIMESTAMP = 1645888553
SHA256 (nats-io-natscli-v0.0.29_GH0.tar.gz) = db59fd19b941f8c7d36d15cd0ff6884327d2046a7d6c51eb7a1dfde624b5d9b4
SIZE (nats-io-natscli-v0.0.29_GH0.tar.gz) = 138799
SHA256 (AlecAivazis-survey-v2.3.2_GH0.tar.gz) = 0228fe7ecf6964cac7cba8fcd9dbb07a34ff5bc786435c750866033adc1f4faa
SIZE (AlecAivazis-survey-v2.3.2_GH0.tar.gz) = 1238289
SHA256 (HdrHistogram-hdrhistogram-go-v1.1.2_GH0.tar.gz) = 4990c5373608beec3239d051f4cf393e54c08c8ea472a861ac8c479646d38a57
SIZE (HdrHistogram-hdrhistogram-go-v1.1.2_GH0.tar.gz) = 199187
SHA256 (alecthomas-kingpin-v2.2.6_GH0.tar.gz) = 4624eae43489de8a71ea60efaf6744c581b6bd62909f7514c484c1ea0efaba5a
SIZE (alecthomas-kingpin-v2.2.6_GH0.tar.gz) = 44383
SHA256 (alecthomas-template-fb15b899a751_GH0.tar.gz) = 2e2a44375eca48ce941182504b5d13aa98182b9a3f64ace33bfda52208bd0f5e
SIZE (alecthomas-template-fb15b899a751_GH0.tar.gz) = 55339
SHA256 (alecthomas-units-b94a6e3cc137_GH0.tar.gz) = 85363142a53436bea696d297e5b5fcda6bc6a8104b1d7ba0db88ffee455b72e2
SIZE (alecthomas-units-b94a6e3cc137_GH0.tar.gz) = 6012
SHA256 (beorn7-perks-v1.0.1_GH0.tar.gz) = 98db84bb0224a26094e6adba91b7ee7a1a7ace28cb648d818f8e779e6a19f825
SIZE (beorn7-perks-v1.0.1_GH0.tar.gz) = 10867
SHA256 (cespare-xxhash-v2.1.2_GH0.tar.gz) = 471399cfcf0b1bd188add8d34435b91e7011cedbfe76e29687803a9d74320352
SIZE (cespare-xxhash-v2.1.2_GH0.tar.gz) = 11244
SHA256 (dustin-go-humanize-v1.0.0_GH0.tar.gz) = e4540bd50ac855143b4f2e509313079c50cf5d8774f09cc10dbca5ae9803d8ba
SIZE (dustin-go-humanize-v1.0.0_GH0.tar.gz) = 17260
SHA256 (emicklei-dot-v0.16.0_GH0.tar.gz) = ae3c3409e92f60f5cafefe6c514d615e907142e13200e10b14a1174b9cb55a26
SIZE (emicklei-dot-v0.16.0_GH0.tar.gz) = 32422
SHA256 (fatih-color-v1.13.0_GH0.tar.gz) = 326ff785bc0cb5171c17be2a65959e83ee7889ba39412ba4c53c062e2df3ffec
SIZE (fatih-color-v1.13.0_GH0.tar.gz) = 10826
SHA256 (ghodss-yaml-v1.0.0_GH0.tar.gz) = 8a76b47cd171944612aae1cfa08bbb971b63fec16794c839252808392097de44
SIZE (ghodss-yaml-v1.0.0_GH0.tar.gz) = 11772
SHA256 (go-yaml-yaml-v2.4.0_GH0.tar.gz) = d8e94679e5fff6bd1a35e10241543929a5f3da44f701755babf99b3daf0faac0
SIZE (go-yaml-yaml-v2.4.0_GH0.tar.gz) = 73209
SHA256 (golang-crypto-86341886e292_GH0.tar.gz) = 92b4ef34c44645bf9e6fccc20ca0a4307ef1e4e526f583141c05832182124b6b
SIZE (golang-crypto-86341886e292_GH0.tar.gz) = 1628070
SHA256 (golang-protobuf-v1.5.2_GH0.tar.gz) = 088cc0f3ba18fb8f9d00319568ff0af5a06d8925a6e6cb983bb837b4efb703b3
SIZE (golang-protobuf-v1.5.2_GH0.tar.gz) = 171702
SHA256 (golang-sys-da31bd327af9_GH0.tar.gz) = 0c834c593096084aa9458c2ad0ff9177a6397950f4dc7376c9d67367f0687623
SIZE (golang-sys-da31bd327af9_GH0.tar.gz) = 1257001
SHA256 (golang-term-03fcf44c2211_GH0.tar.gz) = 1919967c8fbf15de9261a2315d90072357524ee557d7df106b426def02a8e5f3
SIZE (golang-term-03fcf44c2211_GH0.tar.gz) = 14972
SHA256 (golang-text-v0.3.7_GH0.tar.gz) = 7cab2f6c3133ac1d422edd952b0dd2082fa55a73c2663fb2defd9bf83d649b26
SIZE (golang-text-v0.3.7_GH0.tar.gz) = 8354718
SHA256 (golang-time-f0f3c7e86c11_GH0.tar.gz) = 421890dd6e4b7e8d5ca68cc163c8b3b08436898664534aedfefd8602e11a4e53
SIZE (golang-time-f0f3c7e86c11_GH0.tar.gz) = 9626
SHA256 (google-go-cmp-v0.5.7_GH0.tar.gz) = 70c779a3f2625d7ab5a427b4244b93c2e6a8d1cd779c182fc4fad7ff864a4fb2
SIZE (google-go-cmp-v0.5.7_GH0.tar.gz) = 104499
SHA256 (gosuri-uilive-v0.0.4_GH0.tar.gz) = d6d60529725b8fe0a75d30361961257f2dc0c99ae567256fb6d9e45bf5243036
SIZE (gosuri-uilive-v0.0.4_GH0.tar.gz) = 153271
SHA256 (gosuri-uiprogress-v0.0.1_GH0.tar.gz) = 02c75ecc3f948d33beb2a484deb9566a00fccbdfc55ed52ae3bc6e84af669c3d
SIZE (gosuri-uiprogress-v0.0.1_GH0.tar.gz) = 1655252
SHA256 (guptarohit-asciigraph-v0.5.2_GH0.tar.gz) = 0c89a5e402cb491f0257457610be2c622d783d49c83524689f4ecb9621096c72
SIZE (guptarohit-asciigraph-v0.5.2_GH0.tar.gz) = 9606
SHA256 (kballard-go-shellquote-95032a82bc51_GH0.tar.gz) = dde336eb697f7f9c26cf6d1467f75b6cf559262c1b0b110d28fff29790f76bc5
SIZE (kballard-go-shellquote-95032a82bc51_GH0.tar.gz) = 4328
SHA256 (klauspost-compress-v1.14.3_GH0.tar.gz) = 43a6fd9c10745891a104b05e960897b9cc34af63eeda96ce1c6812b5b0c64c55
SIZE (klauspost-compress-v1.14.3_GH0.tar.gz) = 15495638
SHA256 (mattn-go-colorable-v0.1.9_GH0.tar.gz) = 37412d729fb569597b5af6c2c9600ba560e828ad96fa053a0957fdacdb3678ef
SIZE (mattn-go-colorable-v0.1.9_GH0.tar.gz) = 9578
SHA256 (mattn-go-isatty-v0.0.14_GH0.tar.gz) = e6460325edf600297cf2ef68834938fb1c5b8d5f234b3b24ec7c0a29a2d70b39
SIZE (mattn-go-isatty-v0.0.14_GH0.tar.gz) = 4710
SHA256 (matttproud-golang_protobuf_extensions-v1.0.1_GH0.tar.gz) = 2def0ee6f6b12b1efc0e3007d89f598608a072610e805c3655ea9d13c3ead49b
SIZE (matttproud-golang_protobuf_extensions-v1.0.1_GH0.tar.gz) = 37184
SHA256 (mgutz-ansi-9520e82c474b_GH0.tar.gz) = f9203c71aceb8b7ffa87181fd8f51dc69acce3d2161c4c017ea92c6840f85093
SIZE (mgutz-ansi-9520e82c474b_GH0.tar.gz) = 4876
SHA256 (minio-highwayhash-v1.0.1_GH0.tar.gz) = aa1fd01cd0c16d362e8e8a522f1bed6ccff76fb55107e6f5478b1b7bd329e951
SIZE (minio-highwayhash-v1.0.1_GH0.tar.gz) = 22967
SHA256 (nats-io-jsm.go-v0.0.29_GH0.tar.gz) = 3ca8f71a322c7370b98e34f2612d4fcb58ae16f8e066142be5fbdbb504d020a6
SIZE (nats-io-jsm.go-v0.0.29_GH0.tar.gz) = 131964
SHA256 (nats-io-jwt-58e87895b296_GH0.tar.gz) = 9bd3d924f32842fa5fcceb1cd4ff1992bee7c5c553c1f9c98a268816e9585878
SIZE (nats-io-jwt-58e87895b296_GH0.tar.gz) = 81105
SHA256 (nats-io-nats-server-58806c1290b3_GH0.tar.gz) = 0ea565d18a6e937b737a5d324875c3e8026101ac2011cc97b5f5c7c12245115a
SIZE (nats-io-nats-server-58806c1290b3_GH0.tar.gz) = 1388395
SHA256 (nats-io-nats.go-0096b1bfae8d_GH0.tar.gz) = e3b66af89332b50052f68a554271f30742a9436cc5c84a1c52cd0197162f001c
SIZE (nats-io-nats.go-0096b1bfae8d_GH0.tar.gz) = 250216
SHA256 (nats-io-nkeys-v0.3.0_GH0.tar.gz) = ea281df5dc380b84f61c3712b367f02957cff4cb7802e73b2b0b7588e4f6b809
SIZE (nats-io-nkeys-v0.3.0_GH0.tar.gz) = 19986
SHA256 (nats-io-nuid-v1.0.1_GH0.tar.gz) = a0b4fe5b40781add2a9fdb5d723313be5f5d11c1a79ea1dd2671278826ef078d
SIZE (nats-io-nuid-v1.0.1_GH0.tar.gz) = 7529
SHA256 (prometheus-client_golang-v1.12.1_GH0.tar.gz) = 3f7929ec4837932e68a0e7da9e0f1ff5aa19bc02de7a67823d0533a0d6852014
SIZE (prometheus-client_golang-v1.12.1_GH0.tar.gz) = 194206
SHA256 (prometheus-client_model-v0.2.0_GH0.tar.gz) = 4ab1be9cdfa702d7f49beeb09a256bcc6a2aad55e8a0a37e7732a46934264e12
SIZE (prometheus-client_model-v0.2.0_GH0.tar.gz) = 10986
SHA256 (prometheus-common-v0.32.1_GH0.tar.gz) = de06f354e24dec3bfeba9a3bd43bd3170b4231dfff3cd338b688a6e8c8050af6
SIZE (prometheus-common-v0.32.1_GH0.tar.gz) = 146585
SHA256 (prometheus-procfs-v0.7.3_GH0.tar.gz) = 5514e8b18c38b6376a84c623d59735d4eefb61fb3a14eb1f45e0a4c848f14a2b
SIZE (prometheus-procfs-v0.7.3_GH0.tar.gz) = 178957
SHA256 (protocolbuffers-protobuf-go-v1.26.0_GH0.tar.gz) = 26218474bcf776ecf32d7d194c6bfaca8e7b4f0c087e5b595fd50fbb31409676
SIZE (protocolbuffers-protobuf-go-v1.26.0_GH0.tar.gz) = 1270215
SHA256 (santhosh-tekuri-jsonschema-v5.0.0_GH0.tar.gz) = f25779f25a75967d7fde5b99d265f1ed12acb1f63f24f62fa47c45404de1aa5f
SIZE (santhosh-tekuri-jsonschema-v5.0.0_GH0.tar.gz) = 242000
SHA256 (tylertreat-hdrhistogram-writer-2e440612a39f_GH0.tar.gz) = b26789894d2aa47bd04a7ce6bcec7f569af10b966394d81e94593173065d6a2d
SIZE (tylertreat-hdrhistogram-writer-2e440612a39f_GH0.tar.gz) = 8900
SHA256 (xlab-tablewriter-80b567a11ad5_GH0.tar.gz) = 2e5155cfc91a39b7b52e79a44764a3ba1701c74cb56f3f970fe2afb72b2a779e
SIZE (xlab-tablewriter-80b567a11ad5_GH0.tar.gz) = 18085

16
net/natscli/pkg-descr Normal file
View file

@ -0,0 +1,16 @@
NATS is an open-source, cloud-native messaging system.
This is a command line utility to interact with and manage NATS.
Features:
* JetStream management
* JetStream data and configuration backup
* Message publish and subscribe
* Service requests and creation
* Benchmarking and Latency testing
* Super Cluster observation
* Configuration context maintenance
* NATS ecosystem schema registry
WWW: https://github.com/nats-io/natscli