From 0853a8028d9eaf97c540fc6dc1970f14bb96c90b Mon Sep 17 00:00:00 2001 From: Yuri Victorovich Date: Sat, 30 Nov 2019 01:55:41 +0000 Subject: [PATCH] New port: net/grpcui: Interactive web UI for gRPC, along the lines of postman --- net/Makefile | 1 + net/grpcui/Makefile | 33 +++++++++++++++++++++++++++++++++ net/grpcui/distinfo | 19 +++++++++++++++++++ net/grpcui/pkg-descr | 17 +++++++++++++++++ 4 files changed, 70 insertions(+) create mode 100644 net/grpcui/Makefile create mode 100644 net/grpcui/distinfo create mode 100644 net/grpcui/pkg-descr diff --git a/net/Makefile b/net/Makefile index 7b5a14125dd9..27ff4661c1a0 100644 --- a/net/Makefile +++ b/net/Makefile @@ -211,6 +211,7 @@ SUBDIR += grilo SUBDIR += grilo-plugins SUBDIR += grive2 + SUBDIR += grpcui SUBDIR += grpcurl SUBDIR += grsync SUBDIR += gsk diff --git a/net/grpcui/Makefile b/net/grpcui/Makefile new file mode 100644 index 000000000000..77699b986fa9 --- /dev/null +++ b/net/grpcui/Makefile @@ -0,0 +1,33 @@ +# $FreeBSD$ + +PORTNAME= grpcui +DISTVERSIONPREFIX= v +DISTVERSION= 0.2.1-1 +DISTVERSIONSUFFIX= -g7e72ced +CATEGORIES= net www + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Interactive web UI for gRPC, along the lines of postman + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +USES= go:modules +USE_GITHUB= yes +GH_ACCOUNT= fullstorydev +GH_SUBDIR= src/github.com/fullstorydev/grpcui +GH_TUPLE= \ + fullstorydev:grpcurl:v1.3.2:fullstorydev_grpcurl/vendor/github.com/fullstorydev/grpcurl \ + golang:net:f3200d17e092:golang_net/vendor/golang.org/x/net \ + golang:protobuf:v1.3.1:golang_protobuf/vendor/github.com/golang/protobuf \ + golang:sys:d0b11bdaac8a:golang_sys/vendor/golang.org/x/sys \ + golang:text:v0.3.0:golang_text/vendor/golang.org/x/text \ + google:go-genproto:c66870c02cf8:google_go_genproto/vendor/google.golang.org/genproto \ + grpc:grpc-go:v1.21.0:grpc_grpc_go/vendor/google.golang.org/grpc \ + jhump:protoreflect:v1.5.0:jhump_protoreflect/vendor/github.com/jhump/protoreflect + +GO_TARGET= ./cmd/${PORTNAME} + +PLIST_FILES= bin/${PORTNAME} + +.include diff --git a/net/grpcui/distinfo b/net/grpcui/distinfo new file mode 100644 index 000000000000..3cb1c4df7e7d --- /dev/null +++ b/net/grpcui/distinfo @@ -0,0 +1,19 @@ +TIMESTAMP = 1575078520 +SHA256 (fullstorydev-grpcui-v0.2.1-1-g7e72ced_GH0.tar.gz) = 0c74f8ee13f6d256d9d496020f53823edf00d80805e9c2cd3cb797a9baeadfdc +SIZE (fullstorydev-grpcui-v0.2.1-1-g7e72ced_GH0.tar.gz) = 3259612 +SHA256 (fullstorydev-grpcurl-v1.3.2_GH0.tar.gz) = 3b0b9efc187d86658d241642325fa0dbc3e408ec33ff375d6bd4adf373fa1a9a +SIZE (fullstorydev-grpcurl-v1.3.2_GH0.tar.gz) = 93326 +SHA256 (golang-net-f3200d17e092_GH0.tar.gz) = 5b7f3441206d18e92393ccfda8f9033d6c4500aeb31d45de1bbe2f0bccad0aed +SIZE (golang-net-f3200d17e092_GH0.tar.gz) = 1096621 +SHA256 (golang-protobuf-v1.3.1_GH0.tar.gz) = 3f3a6123054a9847093c119895f1660612f301fe95358f3a6a1a33fd0933e6cf +SIZE (golang-protobuf-v1.3.1_GH0.tar.gz) = 310884 +SHA256 (golang-sys-d0b11bdaac8a_GH0.tar.gz) = e7e3f36dd307e908e59dbda3864ff74f9a5d7f0fdd4d88af630e092beb7d270c +SIZE (golang-sys-d0b11bdaac8a_GH0.tar.gz) = 1243049 +SHA256 (golang-text-v0.3.0_GH0.tar.gz) = 8f4c9a048345befc7beccd09267737ee1f55c7b35e5ff80f344ec9e0aa90febb +SIZE (golang-text-v0.3.0_GH0.tar.gz) = 6102619 +SHA256 (google-go-genproto-c66870c02cf8_GH0.tar.gz) = 156e7cd1f95947c3f3293e18baa7af04e0da58eeeb3475f15bcc308ff491f31a +SIZE (google-go-genproto-c66870c02cf8_GH0.tar.gz) = 2191164 +SHA256 (grpc-grpc-go-v1.21.0_GH0.tar.gz) = 2c695d1cd4690c80c006116934ba98f2b41dd1d34dbee35c4f094e38db6d5e82 +SIZE (grpc-grpc-go-v1.21.0_GH0.tar.gz) = 731305 +SHA256 (jhump-protoreflect-v1.5.0_GH0.tar.gz) = 7d434465ca33bf0750f2516867c6d3960136d7b999dde1d3af6a24d50cf821af +SIZE (jhump-protoreflect-v1.5.0_GH0.tar.gz) = 498102 diff --git a/net/grpcui/pkg-descr b/net/grpcui/pkg-descr new file mode 100644 index 000000000000..b9edc0d6b34f --- /dev/null +++ b/net/grpcui/pkg-descr @@ -0,0 +1,17 @@ +grpcui is a command-line tool that lets you interact with gRPC servers via a +browser. It's like Postman, but for gRPC APIs instead of REST. + +In some ways, this is like an extension to grpcurl. Whereas grpcurl is a +command-line interface, grpcui provides a web/browser-based GUI. This lets you +interactively construct requests to send to a gRPC server. + +With this tool you can also browse the schema for gRPC services, which is +presented as a list of available endpoints. This is enabled either by querying a +server that supports server reflection, by reading proto source files, or by +loading in compiled "protoset" files (files that contain encoded file descriptor +protos). In fact, the way the tool transforms JSON request data into a binary +encoded protobuf is using that very same schema. So, if the server you interact +with does not support reflection, you will either need the proto source files +that define the service or need protoset files that grpcui can use. + +WWW: https://github.com/fullstorydev/grpcui