diff --git a/cmd/dist/common.go b/cmd/dist/common.go index c4317c9..0411fa0 100644 --- a/cmd/dist/common.go +++ b/cmd/dist/common.go @@ -24,7 +24,9 @@ func resolveContentStore(context *cli.Context) (*content.Store, error) { func connectGRPC(context *cli.Context) (*grpc.ClientConn, error) { socket := context.GlobalString("socket") + timeout := context.GlobalDuration("connect-timeout") return grpc.Dial(socket, + grpc.WithTimeout(timeout), grpc.WithBlock(), grpc.WithInsecure(), grpc.WithDialer(func(addr string, timeout time.Duration) (net.Conn, error) { diff --git a/cmd/dist/fetch.go b/cmd/dist/fetch.go index 1bb5570..506c34d 100644 --- a/cmd/dist/fetch.go +++ b/cmd/dist/fetch.go @@ -39,7 +39,7 @@ var fetchCommand = cli.Command{ }, Action: func(context *cli.Context) error { var ( - ctx = contextpkg.Background() + ctx = background timeout = context.Duration("timeout") locator = context.Args().First() args = context.Args().Tail() diff --git a/cmd/dist/main.go b/cmd/dist/main.go index c5473ca..580be0e 100644 --- a/cmd/dist/main.go +++ b/cmd/dist/main.go @@ -40,9 +40,12 @@ distribution tool Usage: "enable debug output in logs", }, cli.DurationFlag{ - Name: "timeout", - Usage: "total timeout for fetch", - EnvVar: "CONTAINERD_FETCH_TIMEOUT", + Name: "timeout", + Usage: "total timeout for dist commands", + }, + cli.DurationFlag{ + Name: "connect-timeout", + Usage: "timeout for connecting to containerd", }, cli.StringFlag{ // TODO(stevvooe): for now, we allow circumventing the GRPC. Once