diff --git a/go.mod b/go.mod index 01b2dbdd6..a68d73076 100644 --- a/go.mod +++ b/go.mod @@ -42,21 +42,22 @@ require ( google.golang.org/grpc v1.38.0 gopkg.in/natefinch/lumberjack.v2 v2.0.0 gopkg.in/square/go-jose.v2 v2.2.2 - k8s.io/api v0.0.0-20210625074319-07d5b5c5af44 - k8s.io/apimachinery v0.0.0-20210624234137-a4b8a5f324ca - k8s.io/client-go v0.0.0-20210624234554-dae61bee3a0a - k8s.io/component-base v0.0.0-20210625194720-aff3fba93d8f + k8s.io/api v0.0.0 + k8s.io/apimachinery v0.0.0 + k8s.io/client-go v0.0.0 + k8s.io/component-base v0.0.0 k8s.io/klog/v2 v2.9.0 k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e k8s.io/utils v0.0.0-20210521133846-da695404a2bc - sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.20 + sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.21 sigs.k8s.io/structured-merge-diff/v4 v4.1.1 sigs.k8s.io/yaml v1.2.0 ) replace ( - k8s.io/api => k8s.io/api v0.0.0-20210625074319-07d5b5c5af44 - k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20210624234137-a4b8a5f324ca - k8s.io/client-go => k8s.io/client-go v0.0.0-20210624234554-dae61bee3a0a - k8s.io/component-base => k8s.io/component-base v0.0.0-20210625194720-aff3fba93d8f + k8s.io/api => ../api + k8s.io/apimachinery => ../apimachinery + k8s.io/apiserver => ../apiserver + k8s.io/client-go => ../client-go + k8s.io/component-base => ../component-base ) diff --git a/go.sum b/go.sum index 704ea7b16..5f3ff9ead 100644 --- a/go.sum +++ b/go.sum @@ -777,14 +777,6 @@ honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.0.0-20210625074319-07d5b5c5af44 h1:jhN3dlIeA5dkEyCobKpA45wLdCnVxIl5o6F/2yIvl6A= -k8s.io/api v0.0.0-20210625074319-07d5b5c5af44/go.mod h1:iTIQV8axBOG5ekbRIjyIuBa1YF0kPgqd/8e1rXhfOl4= -k8s.io/apimachinery v0.0.0-20210624234137-a4b8a5f324ca h1:Rhwv9/llB72sYX254T1Be2ak+CMVvZellTv/HZxAXto= -k8s.io/apimachinery v0.0.0-20210624234137-a4b8a5f324ca/go.mod h1:KrFIbDnxb/YcngqIe3ro6X24QG9xTL5O3a3cX7+XaWg= -k8s.io/client-go v0.0.0-20210624234554-dae61bee3a0a h1:9WmyKknYdSwWBZT8zU0xB6RnqOGhyls17q8XpzGFUUM= -k8s.io/client-go v0.0.0-20210624234554-dae61bee3a0a/go.mod h1:0djEsx2KIckVFJ3wYx1TKAP9lnIwUqRWAAMkWQO2a5U= -k8s.io/component-base v0.0.0-20210625194720-aff3fba93d8f h1:y71uOAfhLNA1kwpu3TMAjHO4kIC55DSrUWKFKr7gqnw= -k8s.io/component-base v0.0.0-20210625194720-aff3fba93d8f/go.mod h1:9BniViIiRSsJjg/POKQID1Fo3Up+mpsVj7/76FnHg48= k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= k8s.io/klog/v2 v2.9.0 h1:D7HV+n1V57XeZ0m6tdRkfknthUaM06VFbWldOFh8kzM= @@ -796,8 +788,8 @@ k8s.io/utils v0.0.0-20210521133846-da695404a2bc/go.mod h1:jPW/WVKK9YHAvNhRxK0md/ rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.20 h1:jLWvYcn/9pCws8p54so9QpxkkL0SWc2fTZTg77NRyhg= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.20/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.21 h1:pZrqT6D1ELgaNLxcp5I2ArxqW7E5rMNFXUppOajqquo= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.21/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= sigs.k8s.io/structured-merge-diff/v4 v4.1.1 h1:nYqY2A6oy37sKLYuSBXuQhbj4JVclzJK13BOIvJG5XU= sigs.k8s.io/structured-merge-diff/v4 v4.1.1/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= diff --git a/pkg/server/egressselector/egress_selector.go b/pkg/server/egressselector/egress_selector.go index 701540d64..7e0185001 100644 --- a/pkg/server/egressselector/egress_selector.go +++ b/pkg/server/egressselector/egress_selector.go @@ -134,7 +134,7 @@ func tunnelHTTPConnect(proxyConn net.Conn, proxyAddress, addr string) (net.Conn, type proxier interface { // proxy returns a connection to addr. - proxy(addr string) (net.Conn, error) + proxy(ctx context.Context, addr string) (net.Conn, error) } var _ proxier = &httpConnectProxier{} @@ -144,7 +144,7 @@ type httpConnectProxier struct { proxyAddress string } -func (t *httpConnectProxier) proxy(addr string) (net.Conn, error) { +func (t *httpConnectProxier) proxy(ctx context.Context, addr string) (net.Conn, error) { return tunnelHTTPConnect(t.conn, t.proxyAddress, addr) } @@ -154,8 +154,8 @@ type grpcProxier struct { tunnel client.Tunnel } -func (g *grpcProxier) proxy(addr string) (net.Conn, error) { - return g.tunnel.Dial("tcp", addr) +func (g *grpcProxier) proxy(ctx context.Context, addr string) (net.Conn, error) { + return g.tunnel.DialContext(ctx, "tcp", addr) } type proxyServerConnector interface { @@ -203,7 +203,8 @@ func (u *udsGRPCConnector) connect() (proxier, error) { return c, err }) - tunnel, err := client.CreateSingleUseGrpcTunnel(udsName, dialOption, grpc.WithInsecure()) + ctx := context.TODO() + tunnel, err := client.CreateSingleUseGrpcTunnel(ctx, udsName, dialOption, grpc.WithInsecure()) if err != nil { return nil, err } @@ -234,7 +235,7 @@ func (d *dialerCreator) createDialer() utilnet.DialFunc { egressmetrics.Metrics.ObserveDialFailure(d.options.protocol, d.options.transport, egressmetrics.StageConnect) return nil, err } - conn, err := proxier.proxy(addr) + conn, err := proxier.proxy(ctx, addr) if err != nil { egressmetrics.Metrics.ObserveDialFailure(d.options.protocol, d.options.transport, egressmetrics.StageProxy) return nil, err diff --git a/pkg/server/egressselector/egress_selector_test.go b/pkg/server/egressselector/egress_selector_test.go index 2b31ccc41..815c54a0d 100644 --- a/pkg/server/egressselector/egress_selector_test.go +++ b/pkg/server/egressselector/egress_selector_test.go @@ -187,7 +187,7 @@ type fakeProxier struct { err bool } -func (f *fakeProxier) proxy(_ string) (net.Conn, error) { +func (f *fakeProxier) proxy(_ context.Context, _ string) (net.Conn, error) { if f.err { return nil, fmt.Errorf("fake error") }