From 6eb9af01c62c4f2e9551385f72dc3c8a3bee3935 Mon Sep 17 00:00:00 2001 From: Jacob McCann Date: Mon, 8 Jan 2018 14:46:44 -0600 Subject: [PATCH] Allow setting MinTime for keepalive enforcement on server This allows setting agent keepalive Time at value < 5m --- cmd/drone-server/server.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/cmd/drone-server/server.go b/cmd/drone-server/server.go index 89f938abd..21beee2b0 100644 --- a/cmd/drone-server/server.go +++ b/cmd/drone-server/server.go @@ -13,6 +13,7 @@ import ( "time" "google.golang.org/grpc" + "google.golang.org/grpc/keepalive" "google.golang.org/grpc/metadata" "golang.org/x/crypto/acme/autocert" @@ -461,6 +462,11 @@ var flags = []cli.Flag{ Name: "coding-skip-verify", Usage: "coding skip ssl verification", }, + cli.DurationFlag{ + EnvVar: "DRONE_KEEPALIVE_MIN_TIME", + Name: "keepalive-min-time", + Usage: "coding skip ssl verification", + }, } func server(c *cli.Context) error { @@ -527,6 +533,9 @@ func server(c *cli.Context) error { s := grpc.NewServer( grpc.StreamInterceptor(auther.streamInterceptor), grpc.UnaryInterceptor(auther.unaryIntercaptor), + grpc.KeepaliveEnforcementPolicy(keepalive.EnforcementPolicy{ + MinTime: c.Duration("keepalive-min-time"), + }), ) ss := new(droneserver.DroneServer) ss.Queue = droneserver.Config.Services.Queue