github.com/Prakhar-Agarwal-byte/moby@v0.0.0-20231027092010-a14e3e8ab87e/client/buildkit/buildkit.go (about) 1 package buildkit 2 3 import ( 4 "context" 5 "net" 6 7 "github.com/Prakhar-Agarwal-byte/moby/client" 8 bkclient "github.com/moby/buildkit/client" 9 ) 10 11 // ClientOpts returns a list of buildkit client options which allows the 12 // caller to create a buildkit client which will connect to the buildkit 13 // API provided by the daemon. These options can be passed to [bkclient.New]. 14 // 15 // Example: 16 // 17 // bkclient.New(ctx, "", ClientOpts(c)...) 18 func ClientOpts(c client.CommonAPIClient) []bkclient.ClientOpt { 19 return []bkclient.ClientOpt{ 20 bkclient.WithSessionDialer(func(ctx context.Context, proto string, meta map[string][]string) (net.Conn, error) { 21 return c.DialHijack(ctx, "/session", proto, meta) 22 }), 23 bkclient.WithContextDialer(func(ctx context.Context, _ string) (net.Conn, error) { 24 return c.DialHijack(ctx, "/grpc", "h2c", nil) 25 }), 26 } 27 }