summaryrefslogtreecommitdiffstats
path: root/recipes-wam/grpc-web-proxy/grpc-web-proxy_git.bb
diff options
context:
space:
mode:
authorRoger Zanoni <rzanoni@igalia.com>2023-12-28 23:10:34 +0000
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2024-01-29 12:08:33 +0000
commitd5c1fb29dc1ae6f5d0dd6ddba1657a1feb1b9f62 (patch)
treebdc07eebb71bd1930df53db4781c6c0306fb4b3d /recipes-wam/grpc-web-proxy/grpc-web-proxy_git.bb
parent608d983bdfb90929689bd0eb31e4bc5ca11f8881 (diff)
Add a reverse proxy to enable grpc-web for webapps
This is needed because there's no browser api with enough control over http/2 requests, so we need a proxy that connects to the RPC backend and handle the communication between the app and service. The service is named "databroker-grpc-web-proxy.service" because each proxy instance connects to only one gRPC service, more services will be added to connect to other gRPC services. Bug-AGL: SPEC-4599 Signed-off-by: Roger Zanoni <rzanoni@igalia.com> Change-Id: I3b5bf6521dc0683639520626819c6a54be839e53 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl-demo/+/29425 ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Tested-by: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'recipes-wam/grpc-web-proxy/grpc-web-proxy_git.bb')
-rw-r--r--recipes-wam/grpc-web-proxy/grpc-web-proxy_git.bb34
1 files changed, 34 insertions, 0 deletions
diff --git a/recipes-wam/grpc-web-proxy/grpc-web-proxy_git.bb b/recipes-wam/grpc-web-proxy/grpc-web-proxy_git.bb
new file mode 100644
index 00000000..dfb763b6
--- /dev/null
+++ b/recipes-wam/grpc-web-proxy/grpc-web-proxy_git.bb
@@ -0,0 +1,34 @@
+SUMMARY = "A small reverse proxy that can front existing gRPC servers and expose their functionality using gRPC-Web protocol, allowing for the gRPC services to be consumed from browsers."
+HOMEPAGE = "https://github.com/improbable-eng/grpc-web"
+
+inherit go-mod systemd
+
+RDEPENDS:${PN} = "bash"
+RDEPENDS:${PN}-dev = "bash"
+
+GO_IMPORT = "github.com/improbable-eng/grpc-web"
+GO_INSTALL = "${GO_IMPORT}/go/grpcwebproxy"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE.txt;md5=71a6955f3cd81a809549da266346dc59"
+
+SRCREV = "1d9bbb09a0990bdaff0e37499570dbc7d6e58ce8"
+SRC_URI = "git://${GO_IMPORT};branch=master;protocol=https \
+ file://databroker-grpc-web-proxy.env \
+ file://databroker-grpc-web-proxy.service"
+
+do_compile[network] = "1"
+
+do_install:append() {
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/databroker-grpc-web-proxy.service ${D}${systemd_system_unitdir}
+
+ install -d ${D}${sysconfdir}/default
+ install -m 0644 ${WORKDIR}/databroker-grpc-web-proxy.env ${D}${sysconfdir}/default/databroker-grpc-web-proxy.env
+}
+
+SYSTEMD_SERVICE:${PN} = "databroker-grpc-web-proxy.service"
+
+FILES:${PN} = "${bindir} \
+ ${systemd_system_unitdir} \
+ ${sysconfdir}/default "