mirror of
https://gitea.com/Lydanne/buildx.git
synced 2025-07-09 21:17:09 +08:00
vendor: update buildkit
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
58
vendor/github.com/moby/buildkit/client/llb/exec.go
generated
vendored
58
vendor/github.com/moby/buildkit/client/llb/exec.go
generated
vendored
@ -192,6 +192,7 @@ func (e *ExecOp) Marshal(ctx context.Context, c *Constraints) (digest.Digest, []
|
||||
User: user,
|
||||
Hostname: hostname,
|
||||
}
|
||||
|
||||
extraHosts, err := getExtraHosts(e.base)(ctx, c)
|
||||
if err != nil {
|
||||
return "", nil, nil, nil, err
|
||||
@ -204,6 +205,31 @@ func (e *ExecOp) Marshal(ctx context.Context, c *Constraints) (digest.Digest, []
|
||||
meta.ExtraHosts = hosts
|
||||
}
|
||||
|
||||
shmSize, err := getShmSize(e.base)(ctx, c)
|
||||
if err != nil {
|
||||
return "", nil, nil, nil, err
|
||||
}
|
||||
if shmSize != nil {
|
||||
meta.ShmSize = *shmSize
|
||||
}
|
||||
|
||||
ulimits, err := getUlimit(e.base)(ctx, c)
|
||||
if err != nil {
|
||||
return "", nil, nil, nil, err
|
||||
}
|
||||
if len(ulimits) > 0 {
|
||||
addCap(&e.constraints, pb.CapExecMetaUlimit)
|
||||
ul := make([]*pb.Ulimit, len(ulimits))
|
||||
for i, u := range ulimits {
|
||||
ul[i] = &pb.Ulimit{
|
||||
Name: u.Name,
|
||||
Soft: u.Soft,
|
||||
Hard: u.Hard,
|
||||
}
|
||||
}
|
||||
meta.Ulimit = ul
|
||||
}
|
||||
|
||||
network, err := getNetwork(e.base)(ctx, c)
|
||||
if err != nil {
|
||||
return "", nil, nil, nil, err
|
||||
@ -498,6 +524,18 @@ func AddExtraHost(host string, ip net.IP) RunOption {
|
||||
})
|
||||
}
|
||||
|
||||
func WithShmSize(kb int64) RunOption {
|
||||
return runOptionFunc(func(ei *ExecInfo) {
|
||||
ei.State = ei.State.WithShmSize(kb)
|
||||
})
|
||||
}
|
||||
|
||||
func AddUlimit(name UlimitName, soft int64, hard int64) RunOption {
|
||||
return runOptionFunc(func(ei *ExecInfo) {
|
||||
ei.State = ei.State.AddUlimit(name, soft, hard)
|
||||
})
|
||||
}
|
||||
|
||||
func With(so ...StateOption) RunOption {
|
||||
return runOptionFunc(func(ei *ExecInfo) {
|
||||
ei.State = ei.State.With(so...)
|
||||
@ -667,3 +705,23 @@ const (
|
||||
SecurityModeInsecure = pb.SecurityMode_INSECURE
|
||||
SecurityModeSandbox = pb.SecurityMode_SANDBOX
|
||||
)
|
||||
|
||||
type UlimitName string
|
||||
|
||||
const (
|
||||
UlimitCore UlimitName = "core"
|
||||
UlimitCPU UlimitName = "cpu"
|
||||
UlimitData UlimitName = "data"
|
||||
UlimitFsize UlimitName = "fsize"
|
||||
UlimitLocks UlimitName = "locks"
|
||||
UlimitMemlock UlimitName = "memlock"
|
||||
UlimitMsgqueue UlimitName = "msgqueue"
|
||||
UlimitNice UlimitName = "nice"
|
||||
UlimitNofile UlimitName = "nofile"
|
||||
UlimitNproc UlimitName = "nproc"
|
||||
UlimitRss UlimitName = "rss"
|
||||
UlimitRtprio UlimitName = "rtprio"
|
||||
UlimitRttime UlimitName = "rttime"
|
||||
UlimitSigpending UlimitName = "sigpending"
|
||||
UlimitStack UlimitName = "stack"
|
||||
)
|
||||
|
62
vendor/github.com/moby/buildkit/client/llb/meta.go
generated
vendored
62
vendor/github.com/moby/buildkit/client/llb/meta.go
generated
vendored
@ -18,12 +18,15 @@ var (
|
||||
keyArgs = contextKeyT("llb.exec.args")
|
||||
keyDir = contextKeyT("llb.exec.dir")
|
||||
keyEnv = contextKeyT("llb.exec.env")
|
||||
keyUser = contextKeyT("llb.exec.user")
|
||||
keyHostname = contextKeyT("llb.exec.hostname")
|
||||
keyExtraHost = contextKeyT("llb.exec.extrahost")
|
||||
keyPlatform = contextKeyT("llb.platform")
|
||||
keyNetwork = contextKeyT("llb.network")
|
||||
keySecurity = contextKeyT("llb.security")
|
||||
keyHostname = contextKeyT("llb.exec.hostname")
|
||||
keyShmSize = contextKeyT("llb.exec.shmsize")
|
||||
keyUlimit = contextKeyT("llb.exec.ulimit")
|
||||
keyUser = contextKeyT("llb.exec.user")
|
||||
|
||||
keyPlatform = contextKeyT("llb.platform")
|
||||
keyNetwork = contextKeyT("llb.network")
|
||||
keySecurity = contextKeyT("llb.security")
|
||||
)
|
||||
|
||||
func AddEnvf(key, value string, v ...interface{}) StateOption {
|
||||
@ -232,6 +235,55 @@ type HostIP struct {
|
||||
IP net.IP
|
||||
}
|
||||
|
||||
func shmSize(kb int64) StateOption {
|
||||
return func(s State) State {
|
||||
return s.WithValue(keyShmSize, kb)
|
||||
}
|
||||
}
|
||||
|
||||
func getShmSize(s State) func(context.Context, *Constraints) (*int64, error) {
|
||||
return func(ctx context.Context, c *Constraints) (*int64, error) {
|
||||
v, err := s.getValue(keyShmSize)(ctx, c)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if v != nil {
|
||||
kb := v.(int64)
|
||||
return &kb, nil
|
||||
}
|
||||
return nil, nil
|
||||
}
|
||||
}
|
||||
|
||||
func ulimit(name UlimitName, soft int64, hard int64) StateOption {
|
||||
return func(s State) State {
|
||||
return s.withValue(keyUlimit, func(ctx context.Context, c *Constraints) (interface{}, error) {
|
||||
v, err := getUlimit(s)(ctx, c)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return append(v, pb.Ulimit{
|
||||
Name: string(name),
|
||||
Soft: soft,
|
||||
Hard: hard,
|
||||
}), nil
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func getUlimit(s State) func(context.Context, *Constraints) ([]pb.Ulimit, error) {
|
||||
return func(ctx context.Context, c *Constraints) ([]pb.Ulimit, error) {
|
||||
v, err := s.getValue(keyUlimit)(ctx, c)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if v != nil {
|
||||
return v.([]pb.Ulimit), nil
|
||||
}
|
||||
return nil, nil
|
||||
}
|
||||
}
|
||||
|
||||
func Network(v pb.NetMode) StateOption {
|
||||
return func(s State) State {
|
||||
return s.WithValue(keyNetwork, v)
|
||||
|
8
vendor/github.com/moby/buildkit/client/llb/state.go
generated
vendored
8
vendor/github.com/moby/buildkit/client/llb/state.go
generated
vendored
@ -397,6 +397,14 @@ func (s State) AddExtraHost(host string, ip net.IP) State {
|
||||
return extraHost(host, ip)(s)
|
||||
}
|
||||
|
||||
func (s State) WithShmSize(kb int64) State {
|
||||
return shmSize(kb)(s)
|
||||
}
|
||||
|
||||
func (s State) AddUlimit(name UlimitName, soft int64, hard int64) State {
|
||||
return ulimit(name, soft, hard)(s)
|
||||
}
|
||||
|
||||
func (s State) isFileOpCopyInput() {}
|
||||
|
||||
type output struct {
|
||||
|
Reference in New Issue
Block a user