dockerfile: custom names to vertexes

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
docker-18.09
Tonis Tiigi 2018-07-27 17:27:41 -07:00
parent a5f442f2f4
commit 4c44d2c6e4
10 changed files with 177 additions and 78 deletions

View File

@ -2,6 +2,7 @@ package llb
import (
"context"
"fmt"
"github.com/containerd/containerd/platforms"
"github.com/moby/buildkit/identity"
@ -218,6 +219,10 @@ func (s State) GetEnv(key string) (string, bool) {
return getEnv(s).Get(key)
}
func (s State) Env() []string {
return getEnv(s).ToArray()
}
func (s State) GetDir() string {
return getDir(s)
}
@ -350,7 +355,18 @@ var IgnoreCache = constraintsOptFunc(func(c *Constraints) {
func WithDescription(m map[string]string) ConstraintsOpt {
return constraintsOptFunc(func(c *Constraints) {
c.Metadata.Description = m
if c.Metadata.Description == nil {
c.Metadata.Description = map[string]string{}
}
for k, v := range m {
c.Metadata.Description[k] = v
}
})
}
func WithCustomName(name string, a ...interface{}) ConstraintsOpt {
return WithDescription(map[string]string{
"llb.customname": fmt.Sprintf(name, a...),
})
}

View File

@ -78,10 +78,16 @@ func Build(ctx context.Context, c client.Client) (*client.Result, error) {
}
}
name := "load Dockerfile"
if filename != "Dockerfile" {
name += " from " + filename
}
src := llb.Local(LocalNameDockerfile,
llb.IncludePatterns([]string{filename}),
llb.SessionID(c.BuildOpts().SessionID),
llb.SharedKeyHint(defaultDockerfileName),
dockerfile2llb.WithInternalName(name),
)
var buildContext *llb.State
isScratchContext := false
@ -89,7 +95,7 @@ func Build(ctx context.Context, c client.Client) (*client.Result, error) {
src = *st
buildContext = &src
} else if httpPrefix.MatchString(opts[LocalNameContext]) {
httpContext := llb.HTTP(opts[LocalNameContext], llb.Filename("context"))
httpContext := llb.HTTP(opts[LocalNameContext], llb.Filename("context"), dockerfile2llb.WithInternalName("load remote build context"))
def, err := httpContext.Marshal()
if err != nil {
return nil, errors.Wrapf(err, "failed to marshal httpcontext")
@ -116,8 +122,8 @@ func Build(ctx context.Context, c client.Client) (*client.Result, error) {
return nil, errors.Errorf("failed to read downloaded context")
}
if isArchive(dt) {
unpack := llb.Image(dockerfile2llb.CopyImage).
Run(llb.Shlex("copy --unpack /src/context /out/"), llb.ReadonlyRootFS())
unpack := llb.Image(dockerfile2llb.CopyImage, dockerfile2llb.WithInternalName("helper image for file operations")).
Run(llb.Shlex("copy --unpack /src/context /out/"), llb.ReadonlyRootFS(), dockerfile2llb.WithInternalName("extracting build context"))
unpack.AddMount("/src", httpContext, llb.Readonly)
src = unpack.AddMount("/out", llb.Scratch())
buildContext = &src
@ -166,6 +172,7 @@ func Build(ctx context.Context, c client.Client) (*client.Result, error) {
llb.SessionID(c.BuildOpts().SessionID),
llb.IncludePatterns([]string{dockerignoreFilename}),
llb.SharedKeyHint(dockerignoreFilename),
dockerfile2llb.WithInternalName("load "+dockerignoreFilename),
)
dockerignoreState = &st
}
@ -357,7 +364,7 @@ func detectGitContext(ref string) (*llb.State, bool) {
if len(parts) > 1 {
branch = parts[1]
}
st := llb.Git(parts[0], branch)
st := llb.Git(parts[0], branch, dockerfile2llb.WithInternalName("load git source "+ref))
return &st, true
}

View File

@ -187,10 +187,11 @@ func Dockerfile2LLB(ctx context.Context, dt []byte, opt ConvertOpt) (*llb.State,
}
d.stage.BaseName = reference.TagNameOnly(ref).String()
var isScratch bool
if metaResolver != nil && reachable {
if metaResolver != nil && reachable && !d.unregistered {
dgst, dt, err := metaResolver.ResolveImageConfig(ctx, d.stage.BaseName, gw.ResolveImageConfigOpt{
Platform: platform,
ResolveMode: opt.ImageResolveMode.String(),
LogName: fmt.Sprintf("[internal] load metadata for %s", d.stage.BaseName),
})
if err == nil { // handle the error while builder is actually running
var img Image
@ -220,7 +221,7 @@ func Dockerfile2LLB(ctx context.Context, dt []byte, opt ConvertOpt) (*llb.State,
if isScratch {
d.state = llb.Scratch()
} else {
d.state = llb.Image(d.stage.BaseName, dfCmd(d.stage.SourceCode), llb.Platform(*platform), opt.ImageResolveMode)
d.state = llb.Image(d.stage.BaseName, dfCmd(d.stage.SourceCode), llb.Platform(*platform), opt.ImageResolveMode, llb.WithCustomName("FROM "+d.stage.BaseName))
}
d.platform = platform
return nil
@ -301,10 +302,12 @@ func Dockerfile2LLB(ctx context.Context, dt []byte, opt ConvertOpt) (*llb.State,
llb.SessionID(opt.SessionID),
llb.ExcludePatterns(opt.Excludes),
llb.SharedKeyHint(localNameContext),
WithInternalName("load build context"),
}
if includePatterns := normalizeContextPaths(ctxPaths); includePatterns != nil {
opts = append(opts, llb.FollowPaths(includePatterns))
}
bc := llb.Local(localNameContext, opts...)
if opt.BuildContext != nil {
bc = *opt.BuildContext
@ -556,7 +559,7 @@ func dispatchRun(d *dispatchState, c *instructions.RunCommand, proxy *llb.ProxyE
return err
}
opt = append(opt, runMounts...)
opt = append(opt, llb.WithCustomName(uppercaseCmd(processCmdEnv(dopt.shlex, c.String(), d.state.Run(opt...).Env()))))
d.state = d.state.Run(opt...).Root()
return commitToHistory(&d.image, "RUN "+runCommandString(args, d.buildArgs), true, &d.state)
}
@ -574,9 +577,9 @@ func dispatchWorkdir(d *dispatchState, c *instructions.WorkdirCommand, commit bo
return nil
}
func dispatchCopy(d *dispatchState, c instructions.SourcesAndDest, sourceState llb.State, isAddCommand bool, cmdToPrint interface{}, chown string, opt dispatchOpt) error {
func dispatchCopy(d *dispatchState, c instructions.SourcesAndDest, sourceState llb.State, isAddCommand bool, cmdToPrint fmt.Stringer, chown string, opt dispatchOpt) error {
// TODO: this should use CopyOp instead. Current implementation is inefficient
img := llb.Image(CopyImage, llb.MarkImageInternal, llb.Platform(opt.buildPlatforms[0]))
img := llb.Image(CopyImage, llb.MarkImageInternal, llb.Platform(opt.buildPlatforms[0]), WithInternalName("helper image for file operations"))
dest := path.Join(".", pathRelativeToWorkingDir(d.state, c.Dest()))
if c.Dest() == "." || c.Dest()[len(c.Dest())-1] == filepath.Separator {
@ -646,7 +649,7 @@ func dispatchCopy(d *dispatchState, c instructions.SourcesAndDest, sourceState l
args = append(args[:1], append([]string{"--unpack"}, args[1:]...)...)
}
runOpt := []llb.RunOption{llb.Args(args), llb.Dir("/dest"), llb.ReadonlyRootFS(), dfCmd(cmdToPrint)}
runOpt := []llb.RunOption{llb.Args(args), llb.Dir("/dest"), llb.ReadonlyRootFS(), dfCmd(cmdToPrint), llb.WithCustomName(uppercaseCmd(processCmdEnv(opt.shlex, cmdToPrint.String(), d.state.Env())))}
if d.ignoreCache {
runOpt = append(runOpt, llb.IgnoreCache)
}
@ -1047,3 +1050,21 @@ func autoDetectPlatform(img Image, target specs.Platform, supported []specs.Plat
}
return target
}
func WithInternalName(name string, a ...interface{}) llb.ConstraintsOpt {
return llb.WithCustomName("[internal] "+name, a...)
}
func uppercaseCmd(str string) string {
p := strings.SplitN(str, " ", 2)
p[0] = strings.ToUpper(p[0])
return strings.Join(p, " ")
}
func processCmdEnv(shlex *shell.Lex, cmd string, env []string) string {
w, err := shlex.ProcessWord(cmd, env)
if err != nil {
return cmd
}
return w
}

View File

@ -54,5 +54,5 @@ type BuildOpts struct {
type ResolveImageConfigOpt struct {
Platform *specs.Platform
ResolveMode string
// Definition []byte
LogName string
}

View File

@ -327,6 +327,7 @@ func (lbf *llbBridgeForwarder) ResolveImageConfig(ctx context.Context, req *pb.R
dgst, dt, err := lbf.llbBridge.ResolveImageConfig(ctx, req.Ref, gw.ResolveImageConfigOpt{
Platform: platform,
ResolveMode: req.ResolveMode,
LogName: req.LogName,
})
if err != nil {
return nil, err

View File

@ -300,7 +300,7 @@ func (c *grpcClient) ResolveImageConfig(ctx context.Context, ref string, opt cli
OSFeatures: platform.OSFeatures,
}
}
resp, err := c.client.ResolveImageConfig(ctx, &pb.ResolveImageConfigRequest{Ref: ref, Platform: p, ResolveMode: opt.ResolveMode})
resp, err := c.client.ResolveImageConfig(ctx, &pb.ResolveImageConfigRequest{Ref: ref, Platform: p, ResolveMode: opt.ResolveMode, LogName: opt.LogName})
if err != nil {
return "", nil, err
}

View File

@ -230,6 +230,7 @@ type ResolveImageConfigRequest struct {
Ref string `protobuf:"bytes,1,opt,name=Ref,proto3" json:"Ref,omitempty"`
Platform *pb.Platform `protobuf:"bytes,2,opt,name=Platform" json:"Platform,omitempty"`
ResolveMode string `protobuf:"bytes,3,opt,name=ResolveMode,proto3" json:"ResolveMode,omitempty"`
LogName string `protobuf:"bytes,4,opt,name=LogName,proto3" json:"LogName,omitempty"`
}
func (m *ResolveImageConfigRequest) Reset() { *m = ResolveImageConfigRequest{} }
@ -258,6 +259,13 @@ func (m *ResolveImageConfigRequest) GetResolveMode() string {
return ""
}
func (m *ResolveImageConfigRequest) GetLogName() string {
if m != nil {
return m.LogName
}
return ""
}
type ResolveImageConfigResponse struct {
Digest github_com_opencontainers_go_digest.Digest `protobuf:"bytes,1,opt,name=Digest,proto3,customtype=github.com/opencontainers/go-digest.Digest" json:"Digest"`
Config []byte `protobuf:"bytes,2,opt,name=Config,proto3" json:"Config,omitempty"`
@ -904,6 +912,12 @@ func (m *ResolveImageConfigRequest) MarshalTo(dAtA []byte) (int, error) {
i = encodeVarintGateway(dAtA, i, uint64(len(m.ResolveMode)))
i += copy(dAtA[i:], m.ResolveMode)
}
if len(m.LogName) > 0 {
dAtA[i] = 0x22
i++
i = encodeVarintGateway(dAtA, i, uint64(len(m.LogName)))
i += copy(dAtA[i:], m.LogName)
}
return i, nil
}
@ -1322,6 +1336,10 @@ func (m *ResolveImageConfigRequest) Size() (n int) {
if l > 0 {
n += 1 + l + sovGateway(uint64(l))
}
l = len(m.LogName)
if l > 0 {
n += 1 + l + sovGateway(uint64(l))
}
return n
}
@ -2158,6 +2176,35 @@ func (m *ResolveImageConfigRequest) Unmarshal(dAtA []byte) error {
}
m.ResolveMode = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 4:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field LogName", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGateway
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
stringLen |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLengthGateway
}
postIndex := iNdEx + intStringLen
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.LogName = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGateway(dAtA[iNdEx:])
@ -3342,67 +3389,68 @@ var (
func init() { proto.RegisterFile("gateway.proto", fileDescriptorGateway) }
var fileDescriptorGateway = []byte{
// 982 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0x4b, 0x6f, 0xdb, 0x46,
0x10, 0x0e, 0x4d, 0x49, 0x91, 0x46, 0x52, 0xac, 0x2e, 0x8a, 0x42, 0xe1, 0xc1, 0x51, 0x89, 0x22,
0x65, 0xf3, 0x20, 0x51, 0xa5, 0x45, 0xd2, 0x04, 0x48, 0x1b, 0xd9, 0x31, 0xe2, 0x56, 0x46, 0x84,
0xcd, 0x21, 0x40, 0xd0, 0x1e, 0x56, 0xd2, 0x92, 0x26, 0x4c, 0x71, 0xd9, 0xe5, 0xca, 0xae, 0xd0,
0x4b, 0xdb, 0x53, 0x7e, 0x5a, 0x8e, 0x3d, 0xf7, 0x10, 0x14, 0xbe, 0xf5, 0x5f, 0x14, 0xfb, 0xa0,
0x4c, 0xbf, 0x64, 0xfb, 0xa4, 0x9d, 0xe5, 0x7c, 0x33, 0xdf, 0xec, 0x7c, 0xb3, 0x2b, 0x68, 0x47,
0x44, 0xd0, 0x43, 0xb2, 0xf0, 0x33, 0xce, 0x04, 0x43, 0xb7, 0x67, 0x6c, 0xbc, 0xf0, 0xc7, 0xf3,
0x38, 0x99, 0xee, 0xc7, 0xc2, 0x3f, 0xf8, 0xda, 0x0f, 0x39, 0x4b, 0x05, 0x4d, 0xa7, 0xce, 0xc3,
0x28, 0x16, 0x7b, 0xf3, 0xb1, 0x3f, 0x61, 0xb3, 0x20, 0x62, 0x11, 0x0b, 0x14, 0x62, 0x3c, 0x0f,
0x95, 0xa5, 0x0c, 0xb5, 0xd2, 0x91, 0x9c, 0xfe, 0x69, 0xf7, 0x88, 0xb1, 0x28, 0xa1, 0x24, 0x8b,
0x73, 0xb3, 0x0c, 0x78, 0x36, 0x09, 0x72, 0x41, 0xc4, 0x3c, 0x37, 0x98, 0x07, 0x25, 0x8c, 0x24,
0x12, 0x14, 0x44, 0x82, 0x9c, 0x25, 0x07, 0x94, 0x07, 0xd9, 0x38, 0x60, 0x59, 0xe1, 0x1d, 0x5c,
0xe8, 0x4d, 0xb2, 0x38, 0x10, 0x8b, 0x8c, 0xe6, 0xc1, 0x21, 0xe3, 0xfb, 0x94, 0x1b, 0xc0, 0xa3,
0x0b, 0x01, 0x73, 0x11, 0x27, 0x12, 0x35, 0x21, 0x59, 0x2e, 0x93, 0xc8, 0x5f, 0x0d, 0x72, 0xff,
0xb3, 0xa0, 0x86, 0x69, 0x3e, 0x4f, 0x04, 0x42, 0x60, 0x73, 0x1a, 0x76, 0xad, 0x9e, 0xe5, 0x35,
0x5e, 0xdd, 0xc0, 0xd2, 0x40, 0x8f, 0xa1, 0xc2, 0x69, 0x98, 0x77, 0xd7, 0x7a, 0x96, 0xd7, 0xec,
0x7f, 0xee, 0x5f, 0x78, 0x7e, 0x3e, 0xa6, 0xe1, 0x2e, 0xc9, 0x5e, 0xdd, 0xc0, 0x0a, 0x80, 0x7e,
0x82, 0xfa, 0x8c, 0x0a, 0x32, 0x25, 0x82, 0x74, 0xa1, 0x67, 0x7b, 0xcd, 0x7e, 0xb0, 0x12, 0x2c,
0x19, 0xf8, 0xbb, 0x06, 0xf1, 0x32, 0x15, 0x7c, 0x81, 0x97, 0x01, 0x9c, 0x67, 0xd0, 0x3e, 0xf1,
0x09, 0x75, 0xc0, 0xde, 0xa7, 0x0b, 0x4d, 0x15, 0xcb, 0x25, 0xfa, 0x14, 0xaa, 0x07, 0x24, 0x99,
0x53, 0xc5, 0xb4, 0x85, 0xb5, 0xf1, 0x74, 0xed, 0x89, 0x35, 0xa8, 0x43, 0x8d, 0xab, 0xf0, 0xee,
0x5f, 0xaa, 0x56, 0x49, 0x13, 0x7d, 0x6f, 0xea, 0xb2, 0x14, 0xb5, 0xfb, 0x97, 0xd6, 0x25, 0x7f,
0x72, 0x4d, 0x4b, 0x01, 0x9d, 0xc7, 0xd0, 0x58, 0x6e, 0x5d, 0x46, 0xa7, 0x51, 0xa2, 0xe3, 0x0a,
0x68, 0x63, 0x2a, 0xe6, 0x3c, 0xc5, 0xf4, 0xd7, 0x39, 0xcd, 0x05, 0xfa, 0xae, 0xe0, 0xa7, 0xf0,
0x97, 0x1d, 0xb2, 0x74, 0xc4, 0x06, 0x80, 0x3c, 0xa8, 0x52, 0xce, 0x19, 0x37, 0xed, 0x41, 0xbe,
0x56, 0x9e, 0xcf, 0xb3, 0x89, 0xff, 0x46, 0x29, 0x0f, 0x6b, 0x07, 0xb7, 0x03, 0xb7, 0x8a, 0xac,
0x79, 0xc6, 0xd2, 0x9c, 0xba, 0x0b, 0xb8, 0x8d, 0xa9, 0xd2, 0xdd, 0xce, 0x8c, 0x44, 0x74, 0x93,
0xa5, 0x61, 0x1c, 0x15, 0x9c, 0x3a, 0x60, 0xe3, 0x42, 0x0a, 0x58, 0x2e, 0x91, 0x07, 0xf5, 0x51,
0x42, 0x44, 0xc8, 0xf8, 0xcc, 0x64, 0x6b, 0xf9, 0xd9, 0xd8, 0x2f, 0xf6, 0xf0, 0xf2, 0x2b, 0xea,
0x41, 0xd3, 0x04, 0xde, 0x65, 0x53, 0xda, 0xb5, 0x55, 0x8c, 0xf2, 0x96, 0xfb, 0x87, 0x05, 0xce,
0x79, 0xb9, 0x35, 0x33, 0xf4, 0x23, 0xd4, 0xb6, 0xe2, 0x88, 0xe6, 0xfa, 0x40, 0x1a, 0x83, 0xfe,
0x87, 0x8f, 0x77, 0x6e, 0xfc, 0xf3, 0xf1, 0xce, 0xbd, 0x92, 0xbe, 0x59, 0x46, 0xd3, 0x09, 0x4b,
0x05, 0x89, 0x53, 0xca, 0xe5, 0xc4, 0x3d, 0x9c, 0x2a, 0x88, 0xaf, 0x91, 0xd8, 0x44, 0x40, 0x9f,
0x41, 0x4d, 0x47, 0x37, 0xba, 0x30, 0x96, 0xfb, 0xde, 0x86, 0xd6, 0x1b, 0x49, 0xa0, 0xa8, 0xd8,
0x07, 0xd8, 0xa2, 0x61, 0x9c, 0xc6, 0x22, 0x66, 0xa9, 0xe9, 0xc4, 0x2d, 0x59, 0xe1, 0xf1, 0x2e,
0x2e, 0x79, 0x20, 0x07, 0xea, 0xdb, 0xa6, 0x2b, 0xa6, 0xc7, 0x4b, 0x1b, 0xbd, 0x83, 0x66, 0xb1,
0x7e, 0x9d, 0x89, 0xae, 0xad, 0x34, 0xf6, 0x64, 0x45, 0x5b, 0xcb, 0x4c, 0xfc, 0x12, 0x54, 0x0b,
0xae, 0x1c, 0x0c, 0x79, 0xb0, 0xbe, 0x33, 0xcb, 0x18, 0x17, 0x9b, 0x64, 0xb2, 0x47, 0xa5, 0x04,
0xbb, 0x95, 0x9e, 0xed, 0x35, 0xf0, 0xe9, 0x6d, 0xf4, 0x00, 0x3e, 0x21, 0x49, 0xc2, 0x0e, 0x8d,
0x66, 0x54, 0xf7, 0xbb, 0xd5, 0x9e, 0xe5, 0xd5, 0xf1, 0xd9, 0x0f, 0x52, 0xb0, 0xdb, 0x71, 0x4a,
0x92, 0x2e, 0x28, 0x0f, 0x6d, 0x20, 0x17, 0x5a, 0x2f, 0x7f, 0x93, 0x61, 0x29, 0x7f, 0x21, 0x04,
0xef, 0x36, 0xd5, 0x21, 0x9e, 0xd8, 0x73, 0x9e, 0x43, 0xe7, 0x34, 0xe5, 0x6b, 0x0d, 0xc4, 0xcf,
0xd0, 0x36, 0xf5, 0x9b, 0xfe, 0x77, 0x4a, 0xf7, 0x90, 0xbe, 0x85, 0x8e, 0x47, 0xc4, 0xbe, 0xe6,
0x88, 0xb8, 0xbf, 0xc3, 0x3a, 0xa6, 0x64, 0xba, 0x1d, 0x27, 0xf4, 0x62, 0x71, 0xcb, 0x66, 0xc6,
0x09, 0x1d, 0x11, 0xb1, 0xb7, 0x6c, 0xa6, 0xb1, 0xd1, 0x53, 0xa8, 0x62, 0x92, 0x46, 0xd4, 0xa4,
0xfe, 0x62, 0x45, 0x6a, 0x95, 0x44, 0xfa, 0x62, 0x0d, 0x71, 0x9f, 0x41, 0x63, 0xb9, 0x27, 0xa5,
0xf8, 0x3a, 0x0c, 0x73, 0xaa, 0x65, 0x6d, 0x63, 0x63, 0xc9, 0xfd, 0x21, 0x4d, 0x23, 0x93, 0xda,
0xc6, 0xc6, 0x72, 0xef, 0x42, 0xe7, 0x98, 0xb9, 0x39, 0x1a, 0x04, 0x95, 0x2d, 0x79, 0xa3, 0x5a,
0xaa, 0x0f, 0x6a, 0xed, 0xb6, 0xa1, 0x39, 0x8a, 0xd3, 0x62, 0x74, 0xdd, 0x23, 0x0b, 0x5a, 0x23,
0x96, 0x1e, 0x8f, 0xd3, 0x08, 0xd6, 0x8b, 0xfe, 0xbc, 0x18, 0xed, 0x6c, 0x92, 0xac, 0xb8, 0xf5,
0x7a, 0x67, 0x4b, 0x31, 0x6f, 0x84, 0xaf, 0x1d, 0x07, 0x15, 0x39, 0x79, 0xf8, 0x34, 0x1c, 0xfd,
0x00, 0x37, 0x87, 0xc3, 0x81, 0x8a, 0xb4, 0x76, 0xad, 0x48, 0x05, 0x0c, 0x3d, 0x87, 0x9b, 0x6f,
0xd5, 0xd3, 0x95, 0x9b, 0xe9, 0x38, 0xe7, 0x58, 0xd5, 0x0b, 0xe7, 0x6b, 0x37, 0x4c, 0x27, 0x8c,
0x4f, 0x71, 0x01, 0xea, 0xbf, 0xaf, 0x40, 0x63, 0x38, 0x1c, 0x0c, 0x78, 0x3c, 0x8d, 0x28, 0xfa,
0xd3, 0x02, 0x74, 0xf6, 0x3e, 0x41, 0xdf, 0xac, 0x56, 0xc9, 0xf9, 0x57, 0x9f, 0xf3, 0xed, 0x35,
0x51, 0xe6, 0x94, 0xdf, 0x41, 0x55, 0xa9, 0x18, 0x7d, 0x79, 0xc5, 0x39, 0x77, 0xbc, 0xcb, 0x1d,
0x4d, 0xec, 0x09, 0xd4, 0x0b, 0x25, 0xa0, 0x7b, 0x2b, 0xe9, 0x9d, 0x10, 0xba, 0x73, 0xff, 0x4a,
0xbe, 0x26, 0xc9, 0x5b, 0xa8, 0x48, 0x19, 0xa1, 0xbb, 0x2b, 0x40, 0x25, 0x9d, 0x39, 0xab, 0xea,
0x3c, 0xa1, 0xbf, 0x5f, 0xe4, 0xa3, 0xab, 0xee, 0x18, 0x6f, 0x25, 0x9f, 0xd2, 0x9b, 0xe8, 0x7c,
0x75, 0x05, 0x4f, 0x1d, 0x7e, 0xd0, 0xfa, 0x70, 0xb4, 0x61, 0xfd, 0x7d, 0xb4, 0x61, 0xfd, 0x7b,
0xb4, 0x61, 0x8d, 0x6b, 0xea, 0x5f, 0xcd, 0xa3, 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0xf4, 0x11,
0x1c, 0x4b, 0xf8, 0x09, 0x00, 0x00,
// 999 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0xcf, 0x6f, 0xdb, 0x36,
0x14, 0x8e, 0x22, 0xdb, 0xb1, 0x9f, 0xed, 0xc6, 0x23, 0x86, 0x41, 0xd5, 0x21, 0xf5, 0x84, 0xa1,
0xd3, 0xfa, 0x43, 0xc2, 0xdc, 0x0d, 0xed, 0x5a, 0xa0, 0x5b, 0x9d, 0x34, 0x68, 0x36, 0x67, 0x35,
0xd8, 0x43, 0x81, 0x62, 0x3b, 0xd0, 0x36, 0xa5, 0x08, 0x91, 0x45, 0x8d, 0xa2, 0x93, 0x19, 0xbb,
0x6c, 0x3b, 0xf5, 0xbe, 0x7f, 0xaa, 0xc7, 0x9d, 0x77, 0x08, 0x86, 0xdc, 0xf6, 0x5f, 0x0c, 0xa4,
0x28, 0x47, 0xf9, 0xe5, 0x24, 0x27, 0xf3, 0x51, 0xef, 0x7b, 0xef, 0xe3, 0x7b, 0xdf, 0x23, 0x0d,
0xed, 0x90, 0x08, 0x7a, 0x48, 0xe6, 0x5e, 0xca, 0x99, 0x60, 0xe8, 0xf6, 0x94, 0x8d, 0xe6, 0xde,
0x68, 0x16, 0xc5, 0x93, 0xfd, 0x48, 0x78, 0x07, 0x5f, 0x7a, 0x01, 0x67, 0x89, 0xa0, 0xc9, 0xc4,
0x7e, 0x18, 0x46, 0x62, 0x6f, 0x36, 0xf2, 0xc6, 0x6c, 0xea, 0x87, 0x2c, 0x64, 0xbe, 0x42, 0x8c,
0x66, 0x81, 0xb2, 0x94, 0xa1, 0x56, 0x79, 0x24, 0xbb, 0x77, 0xd6, 0x3d, 0x64, 0x2c, 0x8c, 0x29,
0x49, 0xa3, 0x4c, 0x2f, 0x7d, 0x9e, 0x8e, 0xfd, 0x4c, 0x10, 0x31, 0xcb, 0x34, 0xe6, 0x41, 0x09,
0x23, 0x89, 0xf8, 0x05, 0x11, 0x3f, 0x63, 0xf1, 0x01, 0xe5, 0x7e, 0x3a, 0xf2, 0x59, 0x5a, 0x78,
0xfb, 0x97, 0x7a, 0x93, 0x34, 0xf2, 0xc5, 0x3c, 0xa5, 0x99, 0x7f, 0xc8, 0xf8, 0x3e, 0xe5, 0x1a,
0xf0, 0xe8, 0x52, 0xc0, 0x4c, 0x44, 0xb1, 0x44, 0x8d, 0x49, 0x9a, 0xc9, 0x24, 0xf2, 0x37, 0x07,
0x39, 0xff, 0x19, 0x50, 0xc3, 0x34, 0x9b, 0xc5, 0x02, 0x21, 0x30, 0x39, 0x0d, 0x2c, 0xa3, 0x6b,
0xb8, 0x8d, 0x57, 0x2b, 0x58, 0x1a, 0xe8, 0x31, 0x54, 0x38, 0x0d, 0x32, 0x6b, 0xb5, 0x6b, 0xb8,
0xcd, 0xde, 0xa7, 0xde, 0xa5, 0xf5, 0xf3, 0x30, 0x0d, 0x76, 0x49, 0xfa, 0x6a, 0x05, 0x2b, 0x00,
0xfa, 0x01, 0xea, 0x53, 0x2a, 0xc8, 0x84, 0x08, 0x62, 0x41, 0xd7, 0x74, 0x9b, 0x3d, 0x7f, 0x29,
0x58, 0x32, 0xf0, 0x76, 0x35, 0xe2, 0x65, 0x22, 0xf8, 0x1c, 0x2f, 0x02, 0xd8, 0xcf, 0xa0, 0x7d,
0xea, 0x13, 0xea, 0x80, 0xb9, 0x4f, 0xe7, 0x39, 0x55, 0x2c, 0x97, 0xe8, 0x63, 0xa8, 0x1e, 0x90,
0x78, 0x46, 0x15, 0xd3, 0x16, 0xce, 0x8d, 0xa7, 0xab, 0x4f, 0x8c, 0x7e, 0x1d, 0x6a, 0x5c, 0x85,
0x77, 0xfe, 0x54, 0x67, 0x95, 0x34, 0xd1, 0xb7, 0xfa, 0x5c, 0x86, 0xa2, 0x76, 0xff, 0xca, 0x73,
0xc9, 0x9f, 0x2c, 0xa7, 0xa5, 0x80, 0xf6, 0x63, 0x68, 0x2c, 0xb6, 0xae, 0xa2, 0xd3, 0x28, 0xd1,
0x71, 0x04, 0xb4, 0x31, 0x15, 0x33, 0x9e, 0x60, 0xfa, 0xcb, 0x8c, 0x66, 0x02, 0x7d, 0x53, 0xf0,
0x53, 0xf8, 0xab, 0x8a, 0x2c, 0x1d, 0xb1, 0x06, 0x20, 0x17, 0xaa, 0x94, 0x73, 0xc6, 0x75, 0x7b,
0x90, 0x97, 0x2b, 0xcf, 0xe3, 0xe9, 0xd8, 0x7b, 0xa3, 0x94, 0x87, 0x73, 0x07, 0xa7, 0x03, 0xb7,
0x8a, 0xac, 0x59, 0xca, 0x92, 0x8c, 0x3a, 0x7f, 0x19, 0x70, 0x1b, 0x53, 0x25, 0xbc, 0x9d, 0x29,
0x09, 0xe9, 0x26, 0x4b, 0x82, 0x28, 0x2c, 0x48, 0x75, 0xc0, 0xc4, 0x85, 0x16, 0xb0, 0x5c, 0x22,
0x17, 0xea, 0xc3, 0x98, 0x88, 0x80, 0xf1, 0xa9, 0x4e, 0xd7, 0xf2, 0xd2, 0x91, 0x57, 0xec, 0xe1,
0xc5, 0x57, 0xd4, 0x85, 0xa6, 0x0e, 0xbc, 0xcb, 0x26, 0xd4, 0x32, 0x55, 0x8c, 0xf2, 0x16, 0xb2,
0x60, 0x6d, 0xc0, 0xc2, 0x1f, 0xc9, 0x94, 0x5a, 0x15, 0xf5, 0xb5, 0x30, 0x9d, 0xdf, 0x0d, 0xb0,
0x2f, 0x62, 0x95, 0x93, 0x46, 0xdf, 0x43, 0x6d, 0x2b, 0x0a, 0x69, 0x96, 0xd7, 0xaa, 0xd1, 0xef,
0x7d, 0x38, 0xba, 0xb3, 0xf2, 0xcf, 0xd1, 0x9d, 0x7b, 0x25, 0xe9, 0xb3, 0x94, 0x26, 0x63, 0x96,
0x08, 0x12, 0x25, 0x94, 0xcb, 0x61, 0x7c, 0x38, 0x51, 0x10, 0x2f, 0x47, 0x62, 0x1d, 0x01, 0x7d,
0x02, 0xb5, 0x3c, 0xba, 0x96, 0x8c, 0xb6, 0x9c, 0xf7, 0x26, 0xb4, 0xde, 0x48, 0x02, 0x45, 0x2d,
0x3c, 0x80, 0x2d, 0x1a, 0x44, 0x49, 0x24, 0x22, 0x96, 0xe8, 0x26, 0xdd, 0x92, 0x67, 0x3f, 0xd9,
0xc5, 0x25, 0x0f, 0x64, 0x43, 0x7d, 0x5b, 0x37, 0x4c, 0xb7, 0x7f, 0x61, 0xa3, 0x77, 0xd0, 0x2c,
0xd6, 0xaf, 0x53, 0x61, 0x99, 0x4a, 0x7e, 0x4f, 0x96, 0x74, 0xbc, 0xcc, 0xc4, 0x2b, 0x41, 0x73,
0x2d, 0x96, 0x83, 0x21, 0x17, 0xd6, 0x77, 0xa6, 0x29, 0xe3, 0x62, 0x93, 0x8c, 0xf7, 0xa8, 0x54,
0xa7, 0x55, 0xe9, 0x9a, 0x6e, 0x03, 0x9f, 0xdd, 0x46, 0x0f, 0xe0, 0x23, 0x12, 0xc7, 0xec, 0x50,
0xcb, 0x49, 0x09, 0xc3, 0xaa, 0x76, 0x0d, 0xb7, 0x8e, 0xcf, 0x7f, 0x90, 0x5a, 0xde, 0x8e, 0x12,
0x12, 0x5b, 0xa0, 0x3c, 0x72, 0x03, 0x39, 0xd0, 0x7a, 0xf9, 0xab, 0x0c, 0x4b, 0xf9, 0x0b, 0x21,
0xb8, 0xd5, 0x54, 0x45, 0x3c, 0xb5, 0x67, 0x3f, 0x87, 0xce, 0x59, 0xca, 0x37, 0x9a, 0x95, 0x9f,
0xa0, 0xad, 0xcf, 0xaf, 0xfb, 0xdf, 0x29, 0x5d, 0x51, 0xf9, 0x05, 0x75, 0x32, 0x3d, 0xe6, 0x0d,
0xa7, 0xc7, 0xf9, 0x0d, 0xd6, 0x31, 0x25, 0x93, 0xed, 0x28, 0xa6, 0x97, 0xcb, 0x5e, 0x36, 0x33,
0x8a, 0xe9, 0x90, 0x88, 0xbd, 0x45, 0x33, 0xb5, 0x8d, 0x9e, 0x42, 0x15, 0x93, 0x24, 0xa4, 0x3a,
0xf5, 0x67, 0x4b, 0x52, 0xab, 0x24, 0xd2, 0x17, 0xe7, 0x10, 0xe7, 0x19, 0x34, 0x16, 0x7b, 0x52,
0x8a, 0xaf, 0x83, 0x20, 0xa3, 0xb9, 0xac, 0x4d, 0xac, 0x2d, 0xb9, 0x3f, 0xa0, 0x49, 0xa8, 0x53,
0x9b, 0x58, 0x5b, 0xce, 0x5d, 0xe8, 0x9c, 0x30, 0xd7, 0xa5, 0x41, 0x50, 0xd9, 0x92, 0x97, 0xad,
0xa1, 0xfa, 0xa0, 0xd6, 0x4e, 0x1b, 0x9a, 0xc3, 0x28, 0x29, 0x86, 0xda, 0x39, 0x36, 0xa0, 0x35,
0x64, 0xc9, 0xc9, 0x38, 0x0d, 0x61, 0xbd, 0xe8, 0xcf, 0x8b, 0xe1, 0xce, 0x26, 0x49, 0x8b, 0x0b,
0xb1, 0x7b, 0xfe, 0x28, 0xfa, 0xf9, 0xf0, 0x72, 0xc7, 0x7e, 0x45, 0x4e, 0x1e, 0x3e, 0x0b, 0x47,
0xdf, 0xc1, 0xda, 0x60, 0xd0, 0x57, 0x91, 0x56, 0x6f, 0x14, 0xa9, 0x80, 0xa1, 0xe7, 0xb0, 0xf6,
0x56, 0xbd, 0x6a, 0x99, 0x9e, 0x8e, 0x0b, 0xca, 0xaa, 0x1e, 0x3f, 0x2f, 0x77, 0xc3, 0x74, 0xcc,
0xf8, 0x04, 0x17, 0xa0, 0xde, 0xfb, 0x0a, 0x34, 0x06, 0x83, 0x7e, 0x9f, 0x47, 0x93, 0x90, 0xa2,
0x3f, 0x0c, 0x40, 0xe7, 0xef, 0x13, 0xf4, 0xd5, 0x72, 0x95, 0x5c, 0x7c, 0x29, 0xda, 0x5f, 0xdf,
0x10, 0xa5, 0xab, 0xfc, 0x0e, 0xaa, 0x4a, 0xc5, 0xe8, 0xf3, 0x6b, 0xce, 0xb9, 0xed, 0x5e, 0xed,
0xa8, 0x63, 0x8f, 0xa1, 0x5e, 0x28, 0x01, 0xdd, 0x5b, 0x4a, 0xef, 0x94, 0xd0, 0xed, 0xfb, 0xd7,
0xf2, 0xd5, 0x49, 0xde, 0x42, 0x45, 0xca, 0x08, 0xdd, 0x5d, 0x02, 0x2a, 0xe9, 0xcc, 0x5e, 0x76,
0xce, 0x53, 0xfa, 0xfb, 0x59, 0xbe, 0xc7, 0xea, 0x8e, 0x71, 0x97, 0xf2, 0x29, 0x3d, 0x97, 0xf6,
0x17, 0xd7, 0xf0, 0xcc, 0xc3, 0xf7, 0x5b, 0x1f, 0x8e, 0x37, 0x8c, 0xbf, 0x8f, 0x37, 0x8c, 0x7f,
0x8f, 0x37, 0x8c, 0x51, 0x4d, 0xfd, 0xe1, 0x79, 0xf4, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0f,
0xfd, 0x24, 0x08, 0x13, 0x0a, 0x00, 0x00,
}

View File

@ -47,7 +47,7 @@ message ResolveImageConfigRequest {
string Ref = 1;
pb.Platform Platform = 2;
string ResolveMode = 3;
/* bytes Definition = 4;*/
string LogName = 4;
}
message ResolveImageConfigResponse {

View File

@ -134,7 +134,10 @@ func (s *llbBridge) ResolveImageConfig(ctx context.Context, ref string, opt gw.R
if err != nil {
return "", nil, err
}
err = inVertexContext(s.builder.Context(ctx), fmt.Sprintf("resolve image config for %s", ref), func(ctx context.Context) error {
if opt.LogName == "" {
opt.LogName = fmt.Sprintf("resolve image config for %s", ref)
}
err = inVertexContext(s.builder.Context(ctx), opt.LogName, func(ctx context.Context) error {
dgst, config, err = w.ResolveImageConfig(ctx, ref, opt)
return err
})

View File

@ -37,6 +37,9 @@ func (v *vertex) Inputs() []solver.Edge {
}
func (v *vertex) Name() string {
if name, ok := v.options.Description["llb.customname"]; ok {
return name
}
return v.name
}