feat(third_party/overlays): support unix domain sockets in evans
This applies a patch adding support for unix domain sockets to evans, which was also sent upstream at https://github.com/ktr0731/evans/pull/680. Change-Id: I6e483ace45428a7526a200f885aa92c2de88b650 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9563 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: flokli <flokli@flokli.de>
This commit is contained in:
parent
09328c79d5
commit
d1adefc9f9
2 changed files with 47 additions and 0 deletions
39
third_party/overlays/patches/evans-add-support-for-unix-domain-sockets.patch
vendored
Normal file
39
third_party/overlays/patches/evans-add-support-for-unix-domain-sockets.patch
vendored
Normal file
|
@ -0,0 +1,39 @@
|
|||
From 55d7e7af7c56f678eb817059417241bb61ee5181 Mon Sep 17 00:00:00 2001
|
||||
From: Florian Klink <flokli@flokli.de>
|
||||
Date: Sun, 8 Oct 2023 11:00:27 +0200
|
||||
Subject: [PATCH] add support for unix domain sockets
|
||||
|
||||
grpc.NewClient already supports connecting to unix domain sockets, and
|
||||
accepts a string anyways.
|
||||
|
||||
As a quick fix, detect the `address` starting with `unix://` and don't
|
||||
add the port.
|
||||
|
||||
In the long term, we might want to deprecate `host` and `port` cmdline
|
||||
args in favor of a single `address` arg.
|
||||
---
|
||||
mode/common.go | 8 +++++++-
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/mode/common.go b/mode/common.go
|
||||
index dfc7839..55f1e36 100644
|
||||
--- a/mode/common.go
|
||||
+++ b/mode/common.go
|
||||
@@ -13,7 +13,13 @@ import (
|
||||
)
|
||||
|
||||
func newGRPCClient(cfg *config.Config) (grpc.Client, error) {
|
||||
- addr := fmt.Sprintf("%s:%s", cfg.Server.Host, cfg.Server.Port)
|
||||
+ addr := cfg.Server.Host
|
||||
+
|
||||
+ // as long as the address doesn't start with unix, also add the port.
|
||||
+ if !strings.HasPrefix(cfg.Server.Host, "unix://") {
|
||||
+ addr = fmt.Sprintf("%s:%s", cfg.Server.Host, cfg.Server.Port)
|
||||
+ }
|
||||
+
|
||||
if cfg.Request.Web {
|
||||
//TODO: remove second arg
|
||||
return grpc.NewWebClient(addr, cfg.Server.Reflection, false, "", "", "", grpc.Headers(cfg.Request.Header)), nil
|
||||
--
|
||||
2.42.0
|
||||
|
8
third_party/overlays/tvl.nix
vendored
8
third_party/overlays/tvl.nix
vendored
|
@ -125,4 +125,12 @@ depot.nix.readTree.drvTargets {
|
|||
outputHash = "sha256-elEIWHxyY3iccprIcbQA6GWFiq/n5kozpGfw/OmoSIg=";
|
||||
});
|
||||
});
|
||||
|
||||
evans = super.evans.overrideAttrs (old: {
|
||||
patches = old.patches or [ ] ++ [
|
||||
# add support for unix domain sockets
|
||||
# https://github.com/ktr0731/evans/pull/680
|
||||
./patches/evans-add-support-for-unix-domain-sockets.patch
|
||||
];
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue