Merge pull request #2579 from tonistiigi/secret-env

exec: allow mounting secret environment variables
master
Tõnis Tiigi 2022-02-08 10:09:55 -08:00 committed by GitHub
commit 17e01bac9a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 665 additions and 201 deletions

View File

@ -106,6 +106,7 @@ func TestIntegration(t *testing.T) {
testDuplicateCacheMount,
testRunCacheWithMounts,
testParallelLocalBuilds,
testSecretEnv,
testSecretMounts,
testExtraHosts,
testShmSize,
@ -1086,6 +1087,69 @@ func testSecretMounts(t *testing.T, sb integration.Sandbox) {
require.NoError(t, err)
}
func testSecretEnv(t *testing.T, sb integration.Sandbox) {
c, err := New(sb.Context(), sb.Address())
require.NoError(t, err)
defer c.Close()
st := llb.Image("busybox:latest").
Run(llb.Shlex(`sh -c '[ "$(echo ${MY_SECRET})" = 'foo-secret' ]'`), llb.AddSecret("MY_SECRET", llb.SecretAsEnv(true)))
def, err := st.Marshal(sb.Context())
require.NoError(t, err)
_, err = c.Solve(sb.Context(), def, SolveOpt{
Session: []session.Attachable{secretsprovider.FromMap(map[string][]byte{
"MY_SECRET": []byte("foo-secret"),
})},
}, nil)
require.NoError(t, err)
// test optional
st = llb.Image("busybox:latest").
Run(llb.Shlex(`sh -c '[ -z "${MY_SECRET}" ]'`), llb.AddSecret("MY_SECRET", llb.SecretAsEnv(true), llb.SecretOptional))
def, err = st.Marshal(sb.Context())
require.NoError(t, err)
_, err = c.Solve(sb.Context(), def, SolveOpt{
Session: []session.Attachable{secretsprovider.FromMap(map[string][]byte{})},
}, nil)
require.NoError(t, err)
_, err = c.Solve(sb.Context(), def, SolveOpt{}, nil)
require.NoError(t, err)
st = llb.Image("busybox:latest").
Run(llb.Shlex(`echo foo`), llb.AddSecret("MY_SECRET", llb.SecretAsEnv(true)))
def, err = st.Marshal(sb.Context())
require.NoError(t, err)
_, err = c.Solve(sb.Context(), def, SolveOpt{
Session: []session.Attachable{secretsprovider.FromMap(map[string][]byte{})},
}, nil)
require.Error(t, err)
// test id
st = llb.Image("busybox:latest").
Run(llb.Shlex(`sh -c '[ "$(echo ${MYPASSWORD}-${MYTOKEN})" = "pw-token" ]' `),
llb.AddSecret("MYPASSWORD", llb.SecretID("pass"), llb.SecretAsEnv(true)),
llb.AddSecret("MYTOKEN", llb.SecretAsEnv(true)),
)
def, err = st.Marshal(sb.Context())
require.NoError(t, err)
_, err = c.Solve(sb.Context(), def, SolveOpt{
Session: []session.Attachable{secretsprovider.FromMap(map[string][]byte{
"pass": []byte("pw"),
"MYTOKEN": []byte("token"),
})},
}, nil)
require.NoError(t, err)
}
func testTmpfsMounts(t *testing.T, sb integration.Sandbox) {
requiresLinux(t)
c, err := New(sb.Context(), sb.Address())

View File

@ -284,6 +284,12 @@ func (e *ExecOp) Marshal(ctx context.Context, c *Constraints) (digest.Digest, []
if len(e.secrets) > 0 {
addCap(&e.constraints, pb.CapExecMountSecret)
for _, s := range e.secrets {
if s.IsEnv {
addCap(&e.constraints, pb.CapExecSecretEnv)
break
}
}
}
if len(e.ssh) > 0 {
@ -369,18 +375,26 @@ func (e *ExecOp) Marshal(ctx context.Context, c *Constraints) (digest.Digest, []
}
for _, s := range e.secrets {
pm := &pb.Mount{
Dest: s.Target,
MountType: pb.MountType_SECRET,
SecretOpt: &pb.SecretOpt{
if s.IsEnv {
peo.Secretenv = append(peo.Secretenv, &pb.SecretEnv{
ID: s.ID,
Uid: uint32(s.UID),
Gid: uint32(s.GID),
Name: s.Target,
Optional: s.Optional,
Mode: uint32(s.Mode),
},
})
} else {
pm := &pb.Mount{
Dest: s.Target,
MountType: pb.MountType_SECRET,
SecretOpt: &pb.SecretOpt{
ID: s.ID,
Uid: uint32(s.UID),
Gid: uint32(s.GID),
Optional: s.Optional,
Mode: uint32(s.Mode),
},
}
peo.Mounts = append(peo.Mounts, pm)
}
peo.Mounts = append(peo.Mounts, pm)
}
for _, s := range e.ssh {
@ -661,6 +675,7 @@ type SecretInfo struct {
UID int
GID int
Optional bool
IsEnv bool
}
var SecretOptional = secretOptionFunc(func(si *SecretInfo) {
@ -673,6 +688,13 @@ func SecretID(id string) SecretOption {
})
}
// SecretAsEnv defines if the secret should be added as an environment variable
func SecretAsEnv(v bool) SecretOption {
return secretOptionFunc(func(si *SecretInfo) {
si.IsEnv = v
})
}
func SecretFileOpt(uid, gid, mode int) SecretOption {
return secretOptionFunc(func(si *SecretInfo) {
si.UID = uid

View File

@ -15,6 +15,7 @@ import (
"github.com/moby/buildkit/executor"
"github.com/moby/buildkit/frontend/gateway"
"github.com/moby/buildkit/session"
"github.com/moby/buildkit/session/secrets"
"github.com/moby/buildkit/solver"
"github.com/moby/buildkit/solver/llbsolver"
"github.com/moby/buildkit/solver/llbsolver/errdefs"
@ -36,6 +37,7 @@ type execOp struct {
op *pb.ExecOp
cm cache.Manager
mm *mounts.MountManager
sm *session.Manager
exec executor.Executor
w worker.Worker
platform *pb.Platform
@ -52,6 +54,7 @@ func NewExecOp(v solver.Vertex, op *pb.Op_Exec, platform *pb.Platform, cm cache.
op: op.Exec,
mm: mounts.NewMountManager(name, cm, sm),
cm: cm,
sm: sm,
exec: exec,
numInputs: len(v.Inputs()),
w: w,
@ -330,6 +333,12 @@ func (e *execOp) Exec(ctx context.Context, g session.Group, inputs []solver.Resu
}
meta.Env = addDefaultEnvvar(meta.Env, "PATH", utilsystem.DefaultPathEnv(currentOS))
secretEnv, err := e.loadSecretEnv(ctx, g)
if err != nil {
return nil, err
}
meta.Env = append(meta.Env, secretEnv...)
stdout, stderr, flush := logs.NewLogStreams(ctx, os.Getenv("BUILDKIT_DEBUG_EXEC_OUTPUT") == "1")
defer stdout.Close()
defer stderr.Close()
@ -394,3 +403,34 @@ func (e *execOp) Acquire(ctx context.Context) (solver.ReleaseFunc, error) {
e.parallelism.Release(1)
}, nil
}
func (e *execOp) loadSecretEnv(ctx context.Context, g session.Group) ([]string, error) {
secretenv := e.op.Secretenv
if len(secretenv) == 0 {
return nil, nil
}
out := make([]string, 0, len(secretenv))
for _, sopt := range secretenv {
id := sopt.ID
if id == "" {
return nil, errors.Errorf("secret ID missing for %q environment variable", sopt.Name)
}
var dt []byte
var err error
err = e.sm.Any(ctx, g, func(ctx context.Context, _ string, caller session.Caller) error {
dt, err = secrets.GetSecret(ctx, caller, id)
if err != nil {
if errors.Is(err, secrets.ErrNotFound) && sopt.Optional {
return nil
}
return err
}
return nil
})
if err != nil {
return nil, err
}
out = append(out, fmt.Sprintf("%s=%s", sopt.Name, string(dt)))
}
return out, nil
}

View File

@ -53,6 +53,7 @@ const (
CapExecMountSecret apicaps.CapID = "exec.mount.secret"
CapExecMountSSH apicaps.CapID = "exec.mount.ssh"
CapExecCgroupsMounted apicaps.CapID = "exec.cgroup"
CapExecSecretEnv apicaps.CapID = "exec.secretenv"
CapFileBase apicaps.CapID = "file.base"
CapFileRmWildcard apicaps.CapID = "file.rm.wildcard"
@ -313,6 +314,12 @@ func init() {
Status: apicaps.CapStatusExperimental,
})
Caps.Init(apicaps.Cap{
ID: CapExecSecretEnv,
Enabled: true,
Status: apicaps.CapStatusExperimental,
})
Caps.Init(apicaps.Cap{
ID: CapFileBase,
Enabled: true,

View File

@ -420,10 +420,11 @@ var xxx_messageInfo_Input proto.InternalMessageInfo
// ExecOp executes a command in a container.
type ExecOp struct {
Meta *Meta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
Mounts []*Mount `protobuf:"bytes,2,rep,name=mounts,proto3" json:"mounts,omitempty"`
Network NetMode `protobuf:"varint,3,opt,name=network,proto3,enum=pb.NetMode" json:"network,omitempty"`
Security SecurityMode `protobuf:"varint,4,opt,name=security,proto3,enum=pb.SecurityMode" json:"security,omitempty"`
Meta *Meta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
Mounts []*Mount `protobuf:"bytes,2,rep,name=mounts,proto3" json:"mounts,omitempty"`
Network NetMode `protobuf:"varint,3,opt,name=network,proto3,enum=pb.NetMode" json:"network,omitempty"`
Security SecurityMode `protobuf:"varint,4,opt,name=security,proto3,enum=pb.SecurityMode" json:"security,omitempty"`
Secretenv []*SecretEnv `protobuf:"bytes,5,rep,name=secretenv,proto3" json:"secretenv,omitempty"`
}
func (m *ExecOp) Reset() { *m = ExecOp{} }
@ -483,6 +484,13 @@ func (m *ExecOp) GetSecurity() SecurityMode {
return SecurityMode_SANDBOX
}
func (m *ExecOp) GetSecretenv() []*SecretEnv {
if m != nil {
return m.Secretenv
}
return nil
}
// Meta is a set of arguments for ExecOp.
// Meta is unrelated to LLB metadata.
// FIXME: rename (ExecContext? ExecArgs?)
@ -694,6 +702,63 @@ func (m *Ulimit) GetHard() int64 {
return 0
}
// SecretEnv is an environment variable that is backed by a secret.
type SecretEnv struct {
ID string `protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Optional bool `protobuf:"varint,3,opt,name=optional,proto3" json:"optional,omitempty"`
}
func (m *SecretEnv) Reset() { *m = SecretEnv{} }
func (m *SecretEnv) String() string { return proto.CompactTextString(m) }
func (*SecretEnv) ProtoMessage() {}
func (*SecretEnv) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{7}
}
func (m *SecretEnv) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
}
func (m *SecretEnv) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
b = b[:cap(b)]
n, err := m.MarshalToSizedBuffer(b)
if err != nil {
return nil, err
}
return b[:n], nil
}
func (m *SecretEnv) XXX_Merge(src proto.Message) {
xxx_messageInfo_SecretEnv.Merge(m, src)
}
func (m *SecretEnv) XXX_Size() int {
return m.Size()
}
func (m *SecretEnv) XXX_DiscardUnknown() {
xxx_messageInfo_SecretEnv.DiscardUnknown(m)
}
var xxx_messageInfo_SecretEnv proto.InternalMessageInfo
func (m *SecretEnv) GetID() string {
if m != nil {
return m.ID
}
return ""
}
func (m *SecretEnv) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *SecretEnv) GetOptional() bool {
if m != nil {
return m.Optional
}
return false
}
// Mount specifies how to mount an input Op as a filesystem.
type Mount struct {
Input InputIndex `protobuf:"varint,1,opt,name=input,proto3,customtype=InputIndex" json:"input"`
@ -713,7 +778,7 @@ func (m *Mount) Reset() { *m = Mount{} }
func (m *Mount) String() string { return proto.CompactTextString(m) }
func (*Mount) ProtoMessage() {}
func (*Mount) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{7}
return fileDescriptor_8de16154b2733812, []int{8}
}
func (m *Mount) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -811,7 +876,7 @@ func (m *TmpfsOpt) Reset() { *m = TmpfsOpt{} }
func (m *TmpfsOpt) String() string { return proto.CompactTextString(m) }
func (*TmpfsOpt) ProtoMessage() {}
func (*TmpfsOpt) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{8}
return fileDescriptor_8de16154b2733812, []int{9}
}
func (m *TmpfsOpt) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -855,7 +920,7 @@ func (m *CacheOpt) Reset() { *m = CacheOpt{} }
func (m *CacheOpt) String() string { return proto.CompactTextString(m) }
func (*CacheOpt) ProtoMessage() {}
func (*CacheOpt) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{9}
return fileDescriptor_8de16154b2733812, []int{10}
}
func (m *CacheOpt) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -913,7 +978,7 @@ func (m *SecretOpt) Reset() { *m = SecretOpt{} }
func (m *SecretOpt) String() string { return proto.CompactTextString(m) }
func (*SecretOpt) ProtoMessage() {}
func (*SecretOpt) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{10}
return fileDescriptor_8de16154b2733812, []int{11}
}
func (m *SecretOpt) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -992,7 +1057,7 @@ func (m *SSHOpt) Reset() { *m = SSHOpt{} }
func (m *SSHOpt) String() string { return proto.CompactTextString(m) }
func (*SSHOpt) ProtoMessage() {}
func (*SSHOpt) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{11}
return fileDescriptor_8de16154b2733812, []int{12}
}
func (m *SSHOpt) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1065,7 +1130,7 @@ func (m *SourceOp) Reset() { *m = SourceOp{} }
func (m *SourceOp) String() string { return proto.CompactTextString(m) }
func (*SourceOp) ProtoMessage() {}
func (*SourceOp) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{12}
return fileDescriptor_8de16154b2733812, []int{13}
}
func (m *SourceOp) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1117,7 +1182,7 @@ func (m *BuildOp) Reset() { *m = BuildOp{} }
func (m *BuildOp) String() string { return proto.CompactTextString(m) }
func (*BuildOp) ProtoMessage() {}
func (*BuildOp) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{13}
return fileDescriptor_8de16154b2733812, []int{14}
}
func (m *BuildOp) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1172,7 +1237,7 @@ func (m *BuildInput) Reset() { *m = BuildInput{} }
func (m *BuildInput) String() string { return proto.CompactTextString(m) }
func (*BuildInput) ProtoMessage() {}
func (*BuildInput) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{14}
return fileDescriptor_8de16154b2733812, []int{15}
}
func (m *BuildInput) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1213,7 +1278,7 @@ func (m *OpMetadata) Reset() { *m = OpMetadata{} }
func (m *OpMetadata) String() string { return proto.CompactTextString(m) }
func (*OpMetadata) ProtoMessage() {}
func (*OpMetadata) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{15}
return fileDescriptor_8de16154b2733812, []int{16}
}
func (m *OpMetadata) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1276,7 +1341,7 @@ func (m *Source) Reset() { *m = Source{} }
func (m *Source) String() string { return proto.CompactTextString(m) }
func (*Source) ProtoMessage() {}
func (*Source) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{16}
return fileDescriptor_8de16154b2733812, []int{17}
}
func (m *Source) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1324,7 +1389,7 @@ func (m *Locations) Reset() { *m = Locations{} }
func (m *Locations) String() string { return proto.CompactTextString(m) }
func (*Locations) ProtoMessage() {}
func (*Locations) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{17}
return fileDescriptor_8de16154b2733812, []int{18}
}
func (m *Locations) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1367,7 +1432,7 @@ func (m *SourceInfo) Reset() { *m = SourceInfo{} }
func (m *SourceInfo) String() string { return proto.CompactTextString(m) }
func (*SourceInfo) ProtoMessage() {}
func (*SourceInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{18}
return fileDescriptor_8de16154b2733812, []int{19}
}
func (m *SourceInfo) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1423,7 +1488,7 @@ func (m *Location) Reset() { *m = Location{} }
func (m *Location) String() string { return proto.CompactTextString(m) }
func (*Location) ProtoMessage() {}
func (*Location) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{19}
return fileDescriptor_8de16154b2733812, []int{20}
}
func (m *Location) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1472,7 +1537,7 @@ func (m *Range) Reset() { *m = Range{} }
func (m *Range) String() string { return proto.CompactTextString(m) }
func (*Range) ProtoMessage() {}
func (*Range) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{20}
return fileDescriptor_8de16154b2733812, []int{21}
}
func (m *Range) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1521,7 +1586,7 @@ func (m *Position) Reset() { *m = Position{} }
func (m *Position) String() string { return proto.CompactTextString(m) }
func (*Position) ProtoMessage() {}
func (*Position) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{21}
return fileDescriptor_8de16154b2733812, []int{22}
}
func (m *Position) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1568,7 +1633,7 @@ func (m *ExportCache) Reset() { *m = ExportCache{} }
func (m *ExportCache) String() string { return proto.CompactTextString(m) }
func (*ExportCache) ProtoMessage() {}
func (*ExportCache) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{22}
return fileDescriptor_8de16154b2733812, []int{23}
}
func (m *ExportCache) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1612,7 +1677,7 @@ func (m *ProxyEnv) Reset() { *m = ProxyEnv{} }
func (m *ProxyEnv) String() string { return proto.CompactTextString(m) }
func (*ProxyEnv) ProtoMessage() {}
func (*ProxyEnv) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{23}
return fileDescriptor_8de16154b2733812, []int{24}
}
func (m *ProxyEnv) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1681,7 +1746,7 @@ func (m *WorkerConstraints) Reset() { *m = WorkerConstraints{} }
func (m *WorkerConstraints) String() string { return proto.CompactTextString(m) }
func (*WorkerConstraints) ProtoMessage() {}
func (*WorkerConstraints) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{24}
return fileDescriptor_8de16154b2733812, []int{25}
}
func (m *WorkerConstraints) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1728,7 +1793,7 @@ func (m *Definition) Reset() { *m = Definition{} }
func (m *Definition) String() string { return proto.CompactTextString(m) }
func (*Definition) ProtoMessage() {}
func (*Definition) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{25}
return fileDescriptor_8de16154b2733812, []int{26}
}
func (m *Definition) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1782,7 +1847,7 @@ func (m *FileOp) Reset() { *m = FileOp{} }
func (m *FileOp) String() string { return proto.CompactTextString(m) }
func (*FileOp) ProtoMessage() {}
func (*FileOp) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{26}
return fileDescriptor_8de16154b2733812, []int{27}
}
func (m *FileOp) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1830,7 +1895,7 @@ func (m *FileAction) Reset() { *m = FileAction{} }
func (m *FileAction) String() string { return proto.CompactTextString(m) }
func (*FileAction) ProtoMessage() {}
func (*FileAction) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{27}
return fileDescriptor_8de16154b2733812, []int{28}
}
func (m *FileAction) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -1957,7 +2022,7 @@ func (m *FileActionCopy) Reset() { *m = FileActionCopy{} }
func (m *FileActionCopy) String() string { return proto.CompactTextString(m) }
func (*FileActionCopy) ProtoMessage() {}
func (*FileActionCopy) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{28}
return fileDescriptor_8de16154b2733812, []int{29}
}
func (m *FileActionCopy) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -2090,7 +2155,7 @@ func (m *FileActionMkFile) Reset() { *m = FileActionMkFile{} }
func (m *FileActionMkFile) String() string { return proto.CompactTextString(m) }
func (*FileActionMkFile) ProtoMessage() {}
func (*FileActionMkFile) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{29}
return fileDescriptor_8de16154b2733812, []int{30}
}
func (m *FileActionMkFile) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -2167,7 +2232,7 @@ func (m *FileActionMkDir) Reset() { *m = FileActionMkDir{} }
func (m *FileActionMkDir) String() string { return proto.CompactTextString(m) }
func (*FileActionMkDir) ProtoMessage() {}
func (*FileActionMkDir) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{30}
return fileDescriptor_8de16154b2733812, []int{31}
}
func (m *FileActionMkDir) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -2240,7 +2305,7 @@ func (m *FileActionRm) Reset() { *m = FileActionRm{} }
func (m *FileActionRm) String() string { return proto.CompactTextString(m) }
func (*FileActionRm) ProtoMessage() {}
func (*FileActionRm) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{31}
return fileDescriptor_8de16154b2733812, []int{32}
}
func (m *FileActionRm) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -2295,7 +2360,7 @@ func (m *ChownOpt) Reset() { *m = ChownOpt{} }
func (m *ChownOpt) String() string { return proto.CompactTextString(m) }
func (*ChownOpt) ProtoMessage() {}
func (*ChownOpt) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{32}
return fileDescriptor_8de16154b2733812, []int{33}
}
func (m *ChownOpt) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -2345,7 +2410,7 @@ func (m *UserOpt) Reset() { *m = UserOpt{} }
func (m *UserOpt) String() string { return proto.CompactTextString(m) }
func (*UserOpt) ProtoMessage() {}
func (*UserOpt) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{33}
return fileDescriptor_8de16154b2733812, []int{34}
}
func (m *UserOpt) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -2424,7 +2489,7 @@ func (m *NamedUserOpt) Reset() { *m = NamedUserOpt{} }
func (m *NamedUserOpt) String() string { return proto.CompactTextString(m) }
func (*NamedUserOpt) ProtoMessage() {}
func (*NamedUserOpt) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{34}
return fileDescriptor_8de16154b2733812, []int{35}
}
func (m *NamedUserOpt) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -2464,7 +2529,7 @@ func (m *MergeInput) Reset() { *m = MergeInput{} }
func (m *MergeInput) String() string { return proto.CompactTextString(m) }
func (*MergeInput) ProtoMessage() {}
func (*MergeInput) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{35}
return fileDescriptor_8de16154b2733812, []int{36}
}
func (m *MergeInput) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -2497,7 +2562,7 @@ func (m *MergeOp) Reset() { *m = MergeOp{} }
func (m *MergeOp) String() string { return proto.CompactTextString(m) }
func (*MergeOp) ProtoMessage() {}
func (*MergeOp) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{36}
return fileDescriptor_8de16154b2733812, []int{37}
}
func (m *MergeOp) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -2537,7 +2602,7 @@ func (m *LowerDiffInput) Reset() { *m = LowerDiffInput{} }
func (m *LowerDiffInput) String() string { return proto.CompactTextString(m) }
func (*LowerDiffInput) ProtoMessage() {}
func (*LowerDiffInput) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{37}
return fileDescriptor_8de16154b2733812, []int{38}
}
func (m *LowerDiffInput) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -2570,7 +2635,7 @@ func (m *UpperDiffInput) Reset() { *m = UpperDiffInput{} }
func (m *UpperDiffInput) String() string { return proto.CompactTextString(m) }
func (*UpperDiffInput) ProtoMessage() {}
func (*UpperDiffInput) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{38}
return fileDescriptor_8de16154b2733812, []int{39}
}
func (m *UpperDiffInput) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -2604,7 +2669,7 @@ func (m *DiffOp) Reset() { *m = DiffOp{} }
func (m *DiffOp) String() string { return proto.CompactTextString(m) }
func (*DiffOp) ProtoMessage() {}
func (*DiffOp) Descriptor() ([]byte, []int) {
return fileDescriptor_8de16154b2733812, []int{39}
return fileDescriptor_8de16154b2733812, []int{40}
}
func (m *DiffOp) XXX_Unmarshal(b []byte) error {
return m.Unmarshal(b)
@ -2655,6 +2720,7 @@ func init() {
proto.RegisterType((*Meta)(nil), "pb.Meta")
proto.RegisterType((*HostIP)(nil), "pb.HostIP")
proto.RegisterType((*Ulimit)(nil), "pb.Ulimit")
proto.RegisterType((*SecretEnv)(nil), "pb.SecretEnv")
proto.RegisterType((*Mount)(nil), "pb.Mount")
proto.RegisterType((*TmpfsOpt)(nil), "pb.TmpfsOpt")
proto.RegisterType((*CacheOpt)(nil), "pb.CacheOpt")
@ -2700,161 +2766,163 @@ func init() {
func init() { proto.RegisterFile("ops.proto", fileDescriptor_8de16154b2733812) }
var fileDescriptor_8de16154b2733812 = []byte{
// 2454 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0x4d, 0x6f, 0x1c, 0xc7,
0xd1, 0xe6, 0x7e, 0xef, 0xd4, 0x92, 0xab, 0x7d, 0x5b, 0xb2, 0xbd, 0xe6, 0xab, 0x50, 0xf4, 0xd8,
0x31, 0x28, 0x4a, 0x22, 0x11, 0x1a, 0xb0, 0x0c, 0x21, 0x08, 0xc2, 0xfd, 0x10, 0xb8, 0xb6, 0xc4,
0x25, 0x7a, 0x25, 0x39, 0x87, 0x00, 0xc2, 0x70, 0xb6, 0x77, 0x39, 0xe0, 0xec, 0xf4, 0x60, 0xa6,
0xd7, 0xe4, 0xe6, 0x90, 0x83, 0xef, 0x01, 0x0c, 0x04, 0x08, 0x72, 0x49, 0xf2, 0x27, 0x72, 0xcd,
0xdd, 0x47, 0x1f, 0x72, 0x30, 0x72, 0x70, 0x02, 0xf9, 0x92, 0x1f, 0x91, 0x00, 0x41, 0x55, 0xf7,
0x7c, 0xec, 0x8a, 0x86, 0xac, 0x24, 0xc8, 0x69, 0x6a, 0x9e, 0x7a, 0xba, 0xba, 0xba, 0xab, 0xba,
0xbb, 0xba, 0xc1, 0x92, 0x61, 0xbc, 0x17, 0x46, 0x52, 0x49, 0x56, 0x0c, 0x4f, 0x37, 0xef, 0x4d,
0x3d, 0x75, 0x36, 0x3f, 0xdd, 0x73, 0xe5, 0x6c, 0x7f, 0x2a, 0xa7, 0x72, 0x9f, 0x54, 0xa7, 0xf3,
0x09, 0xfd, 0xd1, 0x0f, 0x49, 0xba, 0x89, 0xfd, 0xf7, 0x22, 0x14, 0x87, 0x21, 0x7b, 0x07, 0xaa,
0x5e, 0x10, 0xce, 0x55, 0xdc, 0x2e, 0x6c, 0x97, 0x76, 0x1a, 0x07, 0xd6, 0x5e, 0x78, 0xba, 0x37,
0x40, 0x84, 0x1b, 0x05, 0xdb, 0x86, 0xb2, 0xb8, 0x14, 0x6e, 0xbb, 0xb8, 0x5d, 0xd8, 0x69, 0x1c,
0x00, 0x12, 0xfa, 0x97, 0xc2, 0x1d, 0x86, 0x47, 0x6b, 0x9c, 0x34, 0xec, 0x7d, 0xa8, 0xc6, 0x72,
0x1e, 0xb9, 0xa2, 0x5d, 0x22, 0xce, 0x3a, 0x72, 0x46, 0x84, 0x10, 0xcb, 0x68, 0xd1, 0xd2, 0xc4,
0xf3, 0x45, 0xbb, 0x9c, 0x59, 0x7a, 0xe8, 0xf9, 0x9a, 0x43, 0x1a, 0xf6, 0x2e, 0x54, 0x4e, 0xe7,
0x9e, 0x3f, 0x6e, 0x57, 0x88, 0xd2, 0x40, 0x4a, 0x07, 0x01, 0xe2, 0x68, 0x1d, 0x92, 0x66, 0x22,
0x9a, 0x8a, 0x76, 0x35, 0x23, 0x3d, 0x46, 0x40, 0x93, 0x48, 0x87, 0x7d, 0x8d, 0xbd, 0xc9, 0xa4,
0x5d, 0xcb, 0xfa, 0xea, 0x79, 0x93, 0x89, 0xee, 0x0b, 0x35, 0x6c, 0x07, 0xea, 0xa1, 0xef, 0xa8,
0x89, 0x8c, 0x66, 0x6d, 0xc8, 0xfc, 0x3e, 0x31, 0x18, 0x4f, 0xb5, 0xec, 0x3e, 0x34, 0x5c, 0x19,
0xc4, 0x2a, 0x72, 0xbc, 0x40, 0xc5, 0xed, 0x06, 0x91, 0xdf, 0x40, 0xf2, 0xa7, 0x32, 0x3a, 0x17,
0x51, 0x37, 0x53, 0xf2, 0x3c, 0xb3, 0x53, 0x86, 0xa2, 0x0c, 0xed, 0xdf, 0x14, 0xa0, 0x9e, 0x58,
0x65, 0x36, 0xac, 0x1f, 0x46, 0xee, 0x99, 0xa7, 0x84, 0xab, 0xe6, 0x91, 0x68, 0x17, 0xb6, 0x0b,
0x3b, 0x16, 0x5f, 0xc2, 0x58, 0x13, 0x8a, 0xc3, 0x11, 0xcd, 0xb7, 0xc5, 0x8b, 0xc3, 0x11, 0x6b,
0x43, 0xed, 0x99, 0x13, 0x79, 0x4e, 0xa0, 0x68, 0x82, 0x2d, 0x9e, 0xfc, 0xb2, 0x9b, 0x60, 0x0d,
0x47, 0xcf, 0x44, 0x14, 0x7b, 0x32, 0xa0, 0x69, 0xb5, 0x78, 0x06, 0xb0, 0x2d, 0x80, 0xe1, 0xe8,
0xa1, 0x70, 0xd0, 0x68, 0xdc, 0xae, 0x6c, 0x97, 0x76, 0x2c, 0x9e, 0x43, 0xec, 0x5f, 0x42, 0x85,
0x42, 0xcd, 0x3e, 0x86, 0xea, 0xd8, 0x9b, 0x8a, 0x58, 0x69, 0x77, 0x3a, 0x07, 0x5f, 0x7e, 0x73,
0x6b, 0xed, 0x2f, 0xdf, 0xdc, 0xda, 0xcd, 0xe5, 0x94, 0x0c, 0x45, 0xe0, 0xca, 0x40, 0x39, 0x5e,
0x20, 0xa2, 0x78, 0x7f, 0x2a, 0xef, 0xe9, 0x26, 0x7b, 0x3d, 0xfa, 0x70, 0x63, 0x81, 0xdd, 0x86,
0x8a, 0x17, 0x8c, 0xc5, 0x25, 0xf9, 0x5f, 0xea, 0x5c, 0x37, 0xa6, 0x1a, 0xc3, 0xb9, 0x0a, 0xe7,
0x6a, 0x80, 0x2a, 0xae, 0x19, 0xf6, 0xef, 0x0b, 0x50, 0xd5, 0xa9, 0xc4, 0x6e, 0x42, 0x79, 0x26,
0x94, 0x43, 0xfd, 0x37, 0x0e, 0xea, 0x3a, 0xa4, 0xca, 0xe1, 0x84, 0x62, 0x96, 0xce, 0xe4, 0x1c,
0xe7, 0xbe, 0x98, 0x65, 0xe9, 0x63, 0x44, 0xb8, 0x51, 0xb0, 0x1f, 0x42, 0x2d, 0x10, 0xea, 0x42,
0x46, 0xe7, 0x34, 0x47, 0x4d, 0x9d, 0x16, 0xc7, 0x42, 0x3d, 0x96, 0x63, 0xc1, 0x13, 0x1d, 0xbb,
0x0b, 0xf5, 0x58, 0xb8, 0xf3, 0xc8, 0x53, 0x0b, 0x9a, 0xaf, 0xe6, 0x41, 0x8b, 0x92, 0xd5, 0x60,
0x44, 0x4e, 0x19, 0xf6, 0xaf, 0x8a, 0x50, 0x46, 0x37, 0x18, 0x83, 0xb2, 0x13, 0x4d, 0xf5, 0x22,
0xb1, 0x38, 0xc9, 0xac, 0x05, 0x25, 0x11, 0x7c, 0x46, 0x1e, 0x59, 0x1c, 0x45, 0x44, 0xdc, 0x8b,
0xb1, 0x89, 0x11, 0x8a, 0xd8, 0x6e, 0x1e, 0x8b, 0xc8, 0x84, 0x86, 0x64, 0x76, 0x1b, 0xac, 0x30,
0x92, 0x97, 0x8b, 0xe7, 0xd8, 0xba, 0x92, 0x4b, 0x3c, 0x04, 0xfb, 0xc1, 0x67, 0xbc, 0x1e, 0x1a,
0x89, 0xed, 0x02, 0x88, 0x4b, 0x15, 0x39, 0x47, 0x32, 0x56, 0x71, 0xbb, 0x4a, 0x63, 0xa7, 0x54,
0x46, 0x60, 0x70, 0xc2, 0x73, 0x5a, 0xb6, 0x09, 0xf5, 0x33, 0x19, 0xab, 0xc0, 0x99, 0x09, 0x4a,
0x7a, 0x8b, 0xa7, 0xff, 0xcc, 0x86, 0xea, 0xdc, 0xf7, 0x66, 0x9e, 0x6a, 0x5b, 0x99, 0x8d, 0xa7,
0x84, 0x70, 0xa3, 0xc1, 0xc4, 0x74, 0xa7, 0x91, 0x9c, 0x87, 0x27, 0x4e, 0x24, 0x02, 0x45, 0x4b,
0xc2, 0xe2, 0x4b, 0x98, 0x7d, 0x17, 0xaa, 0xba, 0x67, 0x1c, 0x18, 0x4a, 0x26, 0x7d, 0x49, 0xc6,
0xb4, 0x1d, 0x9c, 0x24, 0x69, 0x3b, 0x38, 0xb1, 0x7b, 0x50, 0xd5, 0x7d, 0x20, 0xfb, 0x18, 0xfd,
0x32, 0x6c, 0x94, 0x11, 0x1b, 0xc9, 0x89, 0xd2, 0x69, 0xc2, 0x49, 0x26, 0xab, 0x4e, 0xa4, 0x67,
0xb0, 0xc4, 0x49, 0xb6, 0x7f, 0x5b, 0x82, 0x0a, 0x85, 0x9a, 0xed, 0x60, 0x66, 0x85, 0x73, 0xdd,
0x69, 0xa9, 0xc3, 0x4c, 0x66, 0x01, 0xe5, 0x70, 0x9a, 0x58, 0x98, 0xcf, 0x9b, 0x18, 0x65, 0x5f,
0xb8, 0x4a, 0x46, 0xc6, 0x9f, 0xf4, 0x1f, 0xfb, 0x18, 0x63, 0xa6, 0xeb, 0x28, 0x91, 0xcc, 0xee,
0x40, 0x55, 0x52, 0x7a, 0x52, 0xa0, 0xbe, 0x23, 0x69, 0x0d, 0x05, 0x8d, 0x47, 0xc2, 0x19, 0xcb,
0xc0, 0x5f, 0x50, 0xf8, 0xea, 0x3c, 0xfd, 0x67, 0x77, 0xc0, 0xa2, 0x7c, 0x7c, 0xb2, 0x08, 0xf5,
0xf6, 0xd4, 0x3c, 0xd8, 0x48, 0x73, 0x15, 0x41, 0x9e, 0xe9, 0x71, 0x03, 0x7a, 0x32, 0x0b, 0x27,
0xf1, 0x30, 0x54, 0xed, 0xeb, 0x59, 0x1e, 0x24, 0x18, 0x4f, 0xb5, 0xc8, 0x74, 0x1d, 0xf7, 0x4c,
0x20, 0xf3, 0x46, 0xc6, 0xec, 0x1a, 0x8c, 0xa7, 0x5a, 0x74, 0x20, 0x16, 0x6e, 0x24, 0x14, 0x52,
0xdf, 0x20, 0xea, 0x86, 0x49, 0x70, 0x0d, 0xf2, 0x4c, 0x8f, 0x69, 0x31, 0x1a, 0x1d, 0x21, 0xf3,
0xcd, 0x6c, 0x97, 0xd4, 0x08, 0x37, 0x1a, 0x3d, 0xda, 0x78, 0xee, 0xab, 0x41, 0xaf, 0xfd, 0x96,
0x9e, 0xca, 0xe4, 0xdf, 0xde, 0xca, 0x06, 0x80, 0xd3, 0x1a, 0x7b, 0xbf, 0xd0, 0x21, 0x2e, 0x71,
0x92, 0xed, 0x01, 0xd4, 0x13, 0x17, 0x29, 0x39, 0x7a, 0x26, 0x01, 0x8a, 0x83, 0x1e, 0xbb, 0x07,
0xb5, 0xf8, 0xcc, 0x89, 0xbc, 0x60, 0x4a, 0x11, 0x6a, 0x1e, 0x5c, 0x4f, 0x47, 0x34, 0xd2, 0x38,
0x7a, 0x91, 0x70, 0x6c, 0x09, 0x56, 0x3a, 0x84, 0x97, 0x6c, 0xb5, 0xa0, 0x34, 0xf7, 0xc6, 0x64,
0x67, 0x83, 0xa3, 0x88, 0xc8, 0xd4, 0xd3, 0x79, 0xb4, 0xc1, 0x51, 0x44, 0xff, 0x66, 0x72, 0xac,
0xcf, 0x9e, 0x0d, 0x4e, 0x32, 0x8e, 0x4d, 0x86, 0xca, 0x93, 0x81, 0xe3, 0x27, 0x91, 0x4c, 0xfe,
0x6d, 0x3f, 0x99, 0x9b, 0xff, 0x49, 0x6f, 0xbf, 0x2e, 0x40, 0x3d, 0x39, 0x30, 0x71, 0xdb, 0xf6,
0xc6, 0x22, 0x50, 0xde, 0xc4, 0x13, 0x91, 0xe9, 0x38, 0x87, 0xb0, 0x7b, 0x50, 0x71, 0x94, 0x8a,
0x92, 0xcd, 0xf0, 0xad, 0xfc, 0x69, 0xbb, 0x77, 0x88, 0x9a, 0x7e, 0xa0, 0xa2, 0x05, 0xd7, 0xac,
0xcd, 0x8f, 0x00, 0x32, 0x10, 0x7d, 0x3d, 0x17, 0x0b, 0x63, 0x15, 0x45, 0x76, 0x03, 0x2a, 0x9f,
0x39, 0xfe, 0x5c, 0x98, 0x95, 0xa2, 0x7f, 0x1e, 0x14, 0x3f, 0x2a, 0xd8, 0x7f, 0x2a, 0x42, 0xcd,
0x9c, 0xbe, 0xec, 0x2e, 0xd4, 0xe8, 0xf4, 0x35, 0x1e, 0x5d, 0xbd, 0xfc, 0x12, 0x0a, 0xdb, 0x4f,
0xcb, 0x8a, 0x9c, 0x8f, 0xc6, 0x94, 0x2e, 0x2f, 0x8c, 0x8f, 0x59, 0x91, 0x51, 0x1a, 0x8b, 0x89,
0xa9, 0x1f, 0x9a, 0x74, 0x5a, 0x8b, 0x89, 0x17, 0x78, 0x38, 0x3f, 0x1c, 0x55, 0xec, 0x6e, 0x32,
0xea, 0x32, 0x59, 0x7c, 0x33, 0x6f, 0xf1, 0xe5, 0x41, 0x0f, 0xa0, 0x91, 0xeb, 0xe6, 0x8a, 0x51,
0xbf, 0x97, 0x1f, 0xb5, 0xe9, 0x92, 0xcc, 0xe9, 0xe2, 0x27, 0x9b, 0x85, 0xff, 0x60, 0xfe, 0x3e,
0x04, 0xc8, 0x4c, 0x7e, 0xff, 0xed, 0xcb, 0xfe, 0xbc, 0x04, 0x30, 0x0c, 0xf1, 0xe0, 0x19, 0x3b,
0x74, 0xfa, 0xad, 0x7b, 0xd3, 0x40, 0x46, 0xe2, 0x39, 0x2d, 0x73, 0x6a, 0x5f, 0xe7, 0x0d, 0x8d,
0xd1, 0x8a, 0x61, 0x87, 0xd0, 0x18, 0x8b, 0xd8, 0x8d, 0x3c, 0x4a, 0x28, 0x33, 0xe9, 0xb7, 0x70,
0x4c, 0x99, 0x9d, 0xbd, 0x5e, 0xc6, 0xd0, 0x73, 0x95, 0x6f, 0xc3, 0x0e, 0x60, 0x5d, 0x5c, 0x86,
0x32, 0x52, 0xa6, 0x17, 0x5d, 0xa4, 0x5d, 0xd3, 0xe5, 0x1e, 0xe2, 0xd4, 0x13, 0x6f, 0x88, 0xec,
0x87, 0x39, 0x50, 0x76, 0x9d, 0x50, 0x97, 0x16, 0x8d, 0x83, 0xf6, 0x4a, 0x7f, 0x5d, 0x27, 0xd4,
0x93, 0xd6, 0xf9, 0x00, 0xc7, 0xfa, 0xf9, 0x5f, 0x6f, 0xdd, 0xc9, 0xd5, 0x13, 0x33, 0x79, 0xba,
0xd8, 0xa7, 0x7c, 0x39, 0xf7, 0xd4, 0xfe, 0x5c, 0x79, 0xfe, 0xbe, 0x13, 0x7a, 0x68, 0x0e, 0x1b,
0x0e, 0x7a, 0x9c, 0x4c, 0x6f, 0xfe, 0x04, 0x5a, 0xab, 0x7e, 0xbf, 0x4e, 0x0c, 0x36, 0xef, 0x83,
0x95, 0xfa, 0xf1, 0xaa, 0x86, 0xf5, 0x7c, 0xf0, 0xfe, 0x58, 0x80, 0xaa, 0x5e, 0x55, 0xec, 0x3e,
0x58, 0xbe, 0x74, 0x1d, 0x74, 0x20, 0xa9, 0x93, 0xdf, 0xce, 0x16, 0xdd, 0xde, 0xa3, 0x44, 0xa7,
0x67, 0x35, 0xe3, 0x62, 0x92, 0x79, 0xc1, 0x44, 0x26, 0xab, 0xa0, 0x99, 0x35, 0x1a, 0x04, 0x13,
0xc9, 0xb5, 0x72, 0xf3, 0x13, 0x68, 0x2e, 0x9b, 0xb8, 0xc2, 0xcf, 0x77, 0x97, 0xd3, 0x95, 0xf6,
0xf4, 0xb4, 0x51, 0xde, 0xed, 0xfb, 0x60, 0xa5, 0x38, 0xdb, 0x7d, 0xd9, 0xf1, 0xf5, 0x7c, 0xcb,
0x9c, 0xaf, 0xb6, 0x0f, 0x90, 0xb9, 0x86, 0x9b, 0x15, 0x16, 0xe4, 0x41, 0x76, 0x6a, 0xa7, 0xff,
0x74, 0x82, 0x3a, 0xca, 0x21, 0x57, 0xd6, 0x39, 0xc9, 0x6c, 0x0f, 0x60, 0x9c, 0x2e, 0xd8, 0xef,
0x58, 0xc6, 0x39, 0x86, 0x3d, 0x84, 0x7a, 0xe2, 0x04, 0xdb, 0x86, 0x46, 0x6c, 0x7a, 0xc6, 0xba,
0x11, 0xbb, 0xab, 0xf0, 0x3c, 0x84, 0xf5, 0x5f, 0xe4, 0x04, 0x53, 0xb1, 0x54, 0xff, 0x71, 0x44,
0xb8, 0x51, 0xd8, 0x9f, 0x42, 0x85, 0x00, 0x5c, 0x66, 0xb1, 0x72, 0x22, 0x65, 0x4a, 0x49, 0x5d,
0x5a, 0xc9, 0x98, 0xba, 0xed, 0x94, 0x31, 0x11, 0xb9, 0x26, 0xb0, 0xf7, 0xb0, 0x80, 0x1b, 0x9b,
0x19, 0xbd, 0x8a, 0x87, 0x6a, 0xfb, 0xc7, 0x50, 0x4f, 0x60, 0x1c, 0xf9, 0x23, 0x2f, 0x10, 0xc6,
0x45, 0x92, 0xb1, 0x04, 0xef, 0x9e, 0x39, 0x91, 0xe3, 0x2a, 0xa1, 0x8b, 0x8d, 0x0a, 0xcf, 0x00,
0xfb, 0x5d, 0x68, 0xe4, 0x56, 0x0f, 0xa6, 0xdb, 0x33, 0x0a, 0xa3, 0x5e, 0xc3, 0xfa, 0xc7, 0xfe,
0x03, 0x5e, 0x10, 0x92, 0x9a, 0xef, 0x07, 0x00, 0x67, 0x4a, 0x85, 0xcf, 0xa9, 0x08, 0x34, 0x73,
0x6f, 0x21, 0x42, 0x0c, 0x76, 0x0b, 0x1a, 0xf8, 0x13, 0x1b, 0xbd, 0xce, 0x77, 0x6a, 0x11, 0x6b,
0xc2, 0xff, 0x83, 0x35, 0x49, 0x9b, 0x97, 0x4c, 0xe8, 0x92, 0xd6, 0x6f, 0x43, 0x3d, 0x90, 0x46,
0xa7, 0x6b, 0xd2, 0x5a, 0x20, 0xd3, 0x76, 0x8e, 0xef, 0x1b, 0x5d, 0x45, 0xb7, 0x73, 0x7c, 0x9f,
0x94, 0xf6, 0x1d, 0xf8, 0xbf, 0x97, 0xae, 0x3a, 0xec, 0x4d, 0xa8, 0x4e, 0x3c, 0x5f, 0xd1, 0x89,
0x80, 0x35, 0xb0, 0xf9, 0xb3, 0xff, 0x59, 0x00, 0xc8, 0xc2, 0x8e, 0xc9, 0x8c, 0x5b, 0x3b, 0x72,
0xd6, 0xf5, 0x56, 0xee, 0x43, 0x7d, 0x66, 0x36, 0x09, 0x13, 0xd0, 0x9b, 0xcb, 0xa9, 0xb2, 0x97,
0xec, 0x21, 0x7a, 0xfb, 0x38, 0x30, 0xdb, 0xc7, 0xeb, 0x5c, 0x47, 0xd2, 0x1e, 0xa8, 0xca, 0xc9,
0xdf, 0x4e, 0x21, 0x5b, 0x85, 0xdc, 0x68, 0x36, 0x3f, 0x81, 0x8d, 0xa5, 0x2e, 0xbf, 0xe7, 0x81,
0x91, 0x6d, 0x76, 0xf9, 0x25, 0x78, 0x00, 0x55, 0x7d, 0xad, 0x65, 0x3b, 0x50, 0x73, 0x5c, 0xbd,
0xfa, 0x72, 0x3b, 0x00, 0x2a, 0x0f, 0x09, 0xe6, 0x89, 0xda, 0xfe, 0x73, 0x11, 0x20, 0xc3, 0x5f,
0xa3, 0xd4, 0x7d, 0x00, 0xcd, 0x58, 0xb8, 0x32, 0x18, 0x3b, 0xd1, 0x82, 0xb4, 0xe6, 0xde, 0x75,
0x55, 0x93, 0x15, 0x66, 0xae, 0xec, 0x2d, 0xbd, 0xba, 0xec, 0xdd, 0x81, 0xb2, 0x2b, 0xc3, 0x85,
0x39, 0x17, 0xd8, 0xf2, 0x40, 0xba, 0x32, 0x5c, 0xe0, 0xc5, 0x1a, 0x19, 0x6c, 0x0f, 0xaa, 0xb3,
0x73, 0xba, 0xe8, 0xeb, 0xdb, 0xcd, 0x8d, 0x65, 0xee, 0xe3, 0x73, 0x94, 0x8f, 0xd6, 0xb8, 0x61,
0xb1, 0x3b, 0x50, 0x99, 0x9d, 0x8f, 0xbd, 0xc8, 0xdc, 0xe7, 0xaf, 0xaf, 0xd2, 0x7b, 0x5e, 0x44,
0xf7, 0x7a, 0xe4, 0x30, 0x1b, 0x8a, 0xd1, 0xcc, 0xdc, 0xea, 0x5b, 0x2b, 0xb3, 0x39, 0x3b, 0x5a,
0xe3, 0xc5, 0x68, 0xd6, 0xa9, 0x43, 0x55, 0xcf, 0xab, 0xfd, 0x8f, 0x12, 0x34, 0x97, 0xbd, 0xc4,
0xc8, 0xc6, 0x91, 0x9b, 0x44, 0x36, 0x8e, 0xdc, 0xf4, 0x46, 0x50, 0xcc, 0xdd, 0x08, 0x6c, 0xa8,
0xc8, 0x8b, 0x40, 0x44, 0xf9, 0x17, 0x8d, 0xee, 0x99, 0xbc, 0x08, 0xb0, 0x2a, 0xd5, 0xaa, 0xa5,
0x22, 0xaf, 0x62, 0x8a, 0xbc, 0xf7, 0x60, 0x63, 0x22, 0x7d, 0x5f, 0x5e, 0x8c, 0x16, 0x33, 0xdf,
0x0b, 0xce, 0x4d, 0xa5, 0xb7, 0x0c, 0xb2, 0x1d, 0xb8, 0x36, 0xf6, 0x22, 0x74, 0xa7, 0x2b, 0x03,
0x25, 0x02, 0xba, 0xdc, 0x21, 0x6f, 0x15, 0x66, 0x1f, 0xc3, 0xb6, 0xa3, 0x94, 0x98, 0x85, 0xea,
0x69, 0x10, 0x3a, 0xee, 0x79, 0x4f, 0xba, 0xb4, 0x0a, 0x67, 0xa1, 0xa3, 0xbc, 0x53, 0xcf, 0xc7,
0x7b, 0x6c, 0x8d, 0x9a, 0xbe, 0x92, 0xc7, 0xde, 0x87, 0xa6, 0x1b, 0x09, 0x47, 0x89, 0x9e, 0x88,
0xd5, 0x89, 0xa3, 0xce, 0xda, 0x75, 0x6a, 0xb9, 0x82, 0xe2, 0x18, 0x1c, 0xf4, 0xf6, 0x53, 0xcf,
0x1f, 0xbb, 0x78, 0x1d, 0xb3, 0xf4, 0x18, 0x96, 0x40, 0xb6, 0x07, 0x8c, 0x80, 0xfe, 0x2c, 0x54,
0x8b, 0x94, 0x0a, 0x44, 0xbd, 0x42, 0x83, 0xfb, 0xa4, 0xf2, 0x66, 0x22, 0x56, 0xce, 0x2c, 0xa4,
0x27, 0x94, 0x12, 0xcf, 0x00, 0x76, 0x1b, 0x5a, 0x5e, 0xe0, 0xfa, 0xf3, 0xb1, 0x78, 0x1e, 0xe2,
0x40, 0xa2, 0x20, 0x6e, 0xaf, 0xd3, 0xae, 0x72, 0xcd, 0xe0, 0x27, 0x06, 0x46, 0xaa, 0xb8, 0x5c,
0xa1, 0x6e, 0x68, 0xaa, 0xc1, 0x13, 0xaa, 0xfd, 0x45, 0x01, 0x5a, 0xab, 0x89, 0x87, 0x61, 0x0b,
0x71, 0xf0, 0xe6, 0x32, 0x8a, 0x72, 0x1a, 0xca, 0x62, 0x2e, 0x94, 0xc9, 0x31, 0x57, 0xca, 0x1d,
0x73, 0x69, 0x5a, 0x94, 0xbf, 0x3b, 0x2d, 0x96, 0x06, 0x5a, 0x59, 0x19, 0xa8, 0xfd, 0xbb, 0x02,
0x5c, 0x5b, 0x49, 0xee, 0xef, 0xed, 0xd1, 0x36, 0x34, 0x66, 0xce, 0xb9, 0xd0, 0x97, 0xf1, 0x98,
0x1c, 0xab, 0xf3, 0x3c, 0xf4, 0x5f, 0xf0, 0x2f, 0x80, 0xf5, 0xfc, 0x8a, 0xba, 0xd2, 0xb7, 0x24,
0x41, 0x8e, 0xa5, 0x7a, 0x28, 0xe7, 0xe6, 0x08, 0x4d, 0x12, 0x24, 0x01, 0x5f, 0x4e, 0xa3, 0xd2,
0x15, 0x69, 0x64, 0x1f, 0x43, 0x3d, 0x71, 0x90, 0xdd, 0x32, 0xaf, 0x25, 0x85, 0xec, 0x5d, 0xef,
0x69, 0x2c, 0x22, 0xf4, 0x5d, 0x3f, 0x9d, 0xbc, 0x03, 0x15, 0x7a, 0x8e, 0x30, 0x7b, 0xf0, 0x12,
0x43, 0x6b, 0xec, 0x11, 0xd4, 0x0c, 0xc2, 0x76, 0xa1, 0x7a, 0xba, 0x48, 0xdf, 0x1d, 0xcc, 0x76,
0x81, 0xff, 0x63, 0xc3, 0xc0, 0x3d, 0x48, 0x33, 0xd8, 0x0d, 0x28, 0x9f, 0x2e, 0x06, 0x3d, 0x7d,
0xab, 0xc3, 0x9d, 0x0c, 0xff, 0x3a, 0x55, 0xed, 0x90, 0xfd, 0x08, 0xd6, 0xf3, 0xed, 0x70, 0x52,
0x72, 0x95, 0x11, 0xc9, 0xd9, 0x96, 0x5d, 0x7c, 0x55, 0x79, 0xff, 0x21, 0x00, 0x3d, 0x57, 0xbe,
0xee, 0xb5, 0xe0, 0x47, 0x50, 0x33, 0xcf, 0x9c, 0xec, 0xfd, 0x95, 0x67, 0xdb, 0x66, 0xfa, 0x06,
0xba, 0xf4, 0x76, 0x6b, 0x3f, 0xc0, 0xd2, 0xf2, 0x42, 0x44, 0x3d, 0x6f, 0x32, 0x79, 0xdd, 0xee,
0x1e, 0x40, 0xf3, 0x69, 0x18, 0xfe, 0x7b, 0x6d, 0x7f, 0x0e, 0x55, 0xfd, 0xda, 0x8a, 0x6d, 0x7c,
0xf4, 0xc0, 0xc4, 0x80, 0xe9, 0xf2, 0x33, 0xef, 0x12, 0xd7, 0x04, 0x64, 0xce, 0xb1, 0x3f, 0x13,
0x5c, 0x62, 0x2e, 0x3b, 0xc0, 0x35, 0x61, 0x77, 0x07, 0x6a, 0xe6, 0x61, 0x8f, 0x59, 0x50, 0x79,
0x7a, 0x3c, 0xea, 0x3f, 0x69, 0xad, 0xb1, 0x3a, 0x94, 0x8f, 0x86, 0xa3, 0x27, 0xad, 0x02, 0x4a,
0xc7, 0xc3, 0xe3, 0x7e, 0xab, 0xb8, 0x7b, 0x1b, 0xd6, 0xf3, 0x4f, 0x7b, 0xac, 0x01, 0xb5, 0xd1,
0xe1, 0x71, 0xaf, 0x33, 0xfc, 0x59, 0x6b, 0x8d, 0xad, 0x43, 0x7d, 0x70, 0x3c, 0xea, 0x77, 0x9f,
0xf2, 0x7e, 0xab, 0xb0, 0xfb, 0x53, 0xb0, 0xd2, 0x57, 0x1a, 0xb4, 0xd0, 0x19, 0x1c, 0xf7, 0x5a,
0x6b, 0x0c, 0xa0, 0x3a, 0xea, 0x77, 0x79, 0x1f, 0xed, 0xd6, 0xa0, 0x34, 0x1a, 0x1d, 0xb5, 0x8a,
0xd8, 0x6b, 0xf7, 0xb0, 0x7b, 0xd4, 0x6f, 0x95, 0x50, 0x7c, 0xf2, 0xf8, 0xe4, 0xe1, 0xa8, 0x55,
0xde, 0xfd, 0x10, 0xae, 0xad, 0xbc, 0x5f, 0x50, 0xeb, 0xa3, 0x43, 0xde, 0x47, 0x4b, 0x0d, 0xa8,
0x9d, 0xf0, 0xc1, 0xb3, 0xc3, 0x27, 0xfd, 0x56, 0x01, 0x15, 0x8f, 0x86, 0xdd, 0x4f, 0xfa, 0xbd,
0x56, 0xb1, 0x73, 0xf3, 0xcb, 0x17, 0x5b, 0x85, 0xaf, 0x5e, 0x6c, 0x15, 0xbe, 0x7e, 0xb1, 0x55,
0xf8, 0xdb, 0x8b, 0xad, 0xc2, 0x17, 0xdf, 0x6e, 0xad, 0x7d, 0xf5, 0xed, 0xd6, 0xda, 0xd7, 0xdf,
0x6e, 0xad, 0x9d, 0x56, 0xe9, 0xbd, 0xfe, 0x83, 0x7f, 0x05, 0x00, 0x00, 0xff, 0xff, 0x33, 0xe0,
0x88, 0xd4, 0xef, 0x17, 0x00, 0x00,
// 2486 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x59, 0xcf, 0x6f, 0x1b, 0xc7,
0xf5, 0x17, 0x7f, 0x93, 0x8f, 0x12, 0xcd, 0xef, 0xd8, 0x49, 0x18, 0x7d, 0x5d, 0x59, 0xd9, 0xa4,
0x81, 0x2c, 0xdb, 0x12, 0xaa, 0x00, 0x71, 0x60, 0x14, 0x45, 0x25, 0x91, 0x86, 0x18, 0xdb, 0xa2,
0x30, 0xb4, 0x9d, 0x1e, 0x0a, 0x18, 0xab, 0xe5, 0x90, 0x5a, 0x68, 0xb9, 0xb3, 0x98, 0x1d, 0xc6,
0x62, 0x0f, 0x3d, 0xe4, 0x5e, 0x20, 0x40, 0x81, 0xa2, 0x97, 0xa2, 0xff, 0x44, 0xaf, 0xbd, 0x07,
0xe8, 0x25, 0x87, 0x1e, 0x82, 0x1e, 0xd2, 0xc2, 0xb9, 0xf4, 0x8f, 0x68, 0x81, 0xe2, 0xbd, 0x99,
0xfd, 0x41, 0x5a, 0x81, 0xed, 0xb6, 0xe8, 0x89, 0xb3, 0x9f, 0xf7, 0x99, 0xf7, 0xde, 0xcc, 0xbc,
0x37, 0xf3, 0x66, 0x08, 0x0d, 0x19, 0xc5, 0x3b, 0x91, 0x92, 0x5a, 0xb2, 0x62, 0x74, 0xba, 0x7e,
0x67, 0xe2, 0xeb, 0xb3, 0xd9, 0xe9, 0x8e, 0x27, 0xa7, 0xbb, 0x13, 0x39, 0x91, 0xbb, 0x24, 0x3a,
0x9d, 0x8d, 0xe9, 0x8b, 0x3e, 0xa8, 0x65, 0xba, 0x38, 0x7f, 0x2f, 0x42, 0x71, 0x10, 0xb1, 0xf7,
0xa0, 0xea, 0x87, 0xd1, 0x4c, 0xc7, 0x9d, 0xc2, 0x66, 0x69, 0xab, 0xb9, 0xd7, 0xd8, 0x89, 0x4e,
0x77, 0xfa, 0x88, 0x70, 0x2b, 0x60, 0x9b, 0x50, 0x16, 0x17, 0xc2, 0xeb, 0x14, 0x37, 0x0b, 0x5b,
0xcd, 0x3d, 0x40, 0x42, 0xef, 0x42, 0x78, 0x83, 0xe8, 0x68, 0x85, 0x93, 0x84, 0x7d, 0x08, 0xd5,
0x58, 0xce, 0x94, 0x27, 0x3a, 0x25, 0xe2, 0xac, 0x22, 0x67, 0x48, 0x08, 0xb1, 0xac, 0x14, 0x35,
0x8d, 0xfd, 0x40, 0x74, 0xca, 0x99, 0xa6, 0xfb, 0x7e, 0x60, 0x38, 0x24, 0x61, 0xef, 0x43, 0xe5,
0x74, 0xe6, 0x07, 0xa3, 0x4e, 0x85, 0x28, 0x4d, 0xa4, 0x1c, 0x20, 0x40, 0x1c, 0x23, 0x43, 0xd2,
0x54, 0xa8, 0x89, 0xe8, 0x54, 0x33, 0xd2, 0x23, 0x04, 0x0c, 0x89, 0x64, 0x68, 0x6b, 0xe4, 0x8f,
0xc7, 0x9d, 0x5a, 0x66, 0xab, 0xeb, 0x8f, 0xc7, 0xc6, 0x16, 0x4a, 0xd8, 0x16, 0xd4, 0xa3, 0xc0,
0xd5, 0x63, 0xa9, 0xa6, 0x1d, 0xc8, 0xfc, 0x3e, 0xb1, 0x18, 0x4f, 0xa5, 0xec, 0x2e, 0x34, 0x3d,
0x19, 0xc6, 0x5a, 0xb9, 0x7e, 0xa8, 0xe3, 0x4e, 0x93, 0xc8, 0x6f, 0x21, 0xf9, 0x33, 0xa9, 0xce,
0x85, 0x3a, 0xcc, 0x84, 0x3c, 0xcf, 0x3c, 0x28, 0x43, 0x51, 0x46, 0xce, 0x6f, 0x0a, 0x50, 0x4f,
0xb4, 0x32, 0x07, 0x56, 0xf7, 0x95, 0x77, 0xe6, 0x6b, 0xe1, 0xe9, 0x99, 0x12, 0x9d, 0xc2, 0x66,
0x61, 0xab, 0xc1, 0x17, 0x30, 0xd6, 0x82, 0xe2, 0x60, 0x48, 0xf3, 0xdd, 0xe0, 0xc5, 0xc1, 0x90,
0x75, 0xa0, 0xf6, 0xd4, 0x55, 0xbe, 0x1b, 0x6a, 0x9a, 0xe0, 0x06, 0x4f, 0x3e, 0xd9, 0x75, 0x68,
0x0c, 0x86, 0x4f, 0x85, 0x8a, 0x7d, 0x19, 0xd2, 0xb4, 0x36, 0x78, 0x06, 0xb0, 0x0d, 0x80, 0xc1,
0xf0, 0xbe, 0x70, 0x51, 0x69, 0xdc, 0xa9, 0x6c, 0x96, 0xb6, 0x1a, 0x3c, 0x87, 0x38, 0xbf, 0x84,
0x0a, 0x2d, 0x35, 0xfb, 0x14, 0xaa, 0x23, 0x7f, 0x22, 0x62, 0x6d, 0xdc, 0x39, 0xd8, 0xfb, 0xea,
0xdb, 0x1b, 0x2b, 0x7f, 0xf9, 0xf6, 0xc6, 0x76, 0x2e, 0xa6, 0x64, 0x24, 0x42, 0x4f, 0x86, 0xda,
0xf5, 0x43, 0xa1, 0xe2, 0xdd, 0x89, 0xbc, 0x63, 0xba, 0xec, 0x74, 0xe9, 0x87, 0x5b, 0x0d, 0xec,
0x26, 0x54, 0xfc, 0x70, 0x24, 0x2e, 0xc8, 0xff, 0xd2, 0xc1, 0x55, 0xab, 0xaa, 0x39, 0x98, 0xe9,
0x68, 0xa6, 0xfb, 0x28, 0xe2, 0x86, 0xe1, 0xfc, 0xa9, 0x00, 0x55, 0x13, 0x4a, 0xec, 0x3a, 0x94,
0xa7, 0x42, 0xbb, 0x64, 0xbf, 0xb9, 0x57, 0x37, 0x4b, 0xaa, 0x5d, 0x4e, 0x28, 0x46, 0xe9, 0x54,
0xce, 0x70, 0xee, 0x8b, 0x59, 0x94, 0x3e, 0x42, 0x84, 0x5b, 0x01, 0xfb, 0x21, 0xd4, 0x42, 0xa1,
0x9f, 0x4b, 0x75, 0x4e, 0x73, 0xd4, 0x32, 0x61, 0x71, 0x2c, 0xf4, 0x23, 0x39, 0x12, 0x3c, 0x91,
0xb1, 0xdb, 0x50, 0x8f, 0x85, 0x37, 0x53, 0xbe, 0x9e, 0xd3, 0x7c, 0xb5, 0xf6, 0xda, 0x14, 0xac,
0x16, 0x23, 0x72, 0xca, 0x60, 0xb7, 0xa0, 0x11, 0x0b, 0x4f, 0x09, 0x2d, 0xc2, 0xcf, 0x69, 0xfe,
0x9a, 0x7b, 0x6b, 0x96, 0xae, 0x84, 0xee, 0x85, 0x9f, 0xf3, 0x4c, 0xee, 0xfc, 0xaa, 0x08, 0x65,
0xf4, 0x99, 0x31, 0x28, 0xbb, 0x6a, 0x62, 0x32, 0xaa, 0xc1, 0xa9, 0xcd, 0xda, 0x50, 0x42, 0x1d,
0x45, 0x82, 0xb0, 0x89, 0x88, 0xf7, 0x7c, 0x64, 0x17, 0x14, 0x9b, 0xd8, 0x6f, 0x16, 0x0b, 0x65,
0xd7, 0x91, 0xda, 0xec, 0x26, 0x34, 0x22, 0x25, 0x2f, 0xe6, 0xcf, 0x8c, 0x07, 0x59, 0x94, 0x22,
0x88, 0x0e, 0xd4, 0x23, 0xdb, 0x62, 0xdb, 0x00, 0xe2, 0x42, 0x2b, 0xf7, 0x48, 0xc6, 0x3a, 0xee,
0x54, 0xc9, 0x5b, 0x8a, 0x7b, 0x04, 0xfa, 0x27, 0x3c, 0x27, 0x65, 0xeb, 0x50, 0x3f, 0x93, 0xb1,
0x0e, 0xdd, 0xa9, 0xa0, 0x0c, 0x69, 0xf0, 0xf4, 0x9b, 0x39, 0x50, 0x9d, 0x05, 0xfe, 0xd4, 0xd7,
0x9d, 0x46, 0xa6, 0xe3, 0x09, 0x21, 0xdc, 0x4a, 0x30, 0x8a, 0xbd, 0x89, 0x92, 0xb3, 0xe8, 0xc4,
0x55, 0x22, 0xd4, 0x94, 0x3f, 0x0d, 0xbe, 0x80, 0x39, 0xb7, 0xa1, 0x6a, 0x2c, 0xe3, 0xc0, 0xb0,
0x65, 0x63, 0x9d, 0xda, 0x18, 0xe3, 0xfd, 0x93, 0x24, 0xc6, 0xfb, 0x27, 0x4e, 0x17, 0xaa, 0xc6,
0x06, 0xb2, 0x8f, 0xd1, 0x2f, 0xcb, 0xc6, 0x36, 0x62, 0x43, 0x39, 0xd6, 0x26, 0xa6, 0x38, 0xb5,
0x49, 0xab, 0xab, 0xcc, 0x0c, 0x96, 0x38, 0xb5, 0x9d, 0x07, 0xd0, 0x48, 0xd7, 0x86, 0x4c, 0x74,
0xad, 0x9a, 0x62, 0xbf, 0x8b, 0x1d, 0x68, 0xc0, 0xc6, 0x28, 0xb5, 0x71, 0x22, 0x64, 0xa4, 0x7d,
0x19, 0xba, 0x01, 0x29, 0xaa, 0xf3, 0xf4, 0xdb, 0xf9, 0x6d, 0x09, 0x2a, 0x14, 0x64, 0x6c, 0x0b,
0x63, 0x3a, 0x9a, 0x99, 0x11, 0x94, 0x0e, 0x98, 0x8d, 0x69, 0xa0, 0xec, 0x49, 0x43, 0x1a, 0x33,
0x69, 0x1d, 0xe3, 0x2b, 0x10, 0x9e, 0x96, 0xca, 0xda, 0x49, 0xbf, 0xd1, 0xfe, 0x08, 0x73, 0xcc,
0x2c, 0x39, 0xb5, 0xd9, 0x2d, 0xa8, 0x4a, 0x4a, 0x0c, 0x5a, 0xf5, 0xef, 0x49, 0x17, 0x4b, 0x41,
0xe5, 0x4a, 0xb8, 0x23, 0x19, 0x06, 0x73, 0x8a, 0x85, 0x3a, 0x4f, 0xbf, 0x31, 0x54, 0x29, 0x13,
0x1e, 0xcf, 0x23, 0xb3, 0x31, 0xb6, 0x4c, 0xa8, 0x3e, 0x4a, 0x40, 0x9e, 0xc9, 0x71, 0xeb, 0x7b,
0x3c, 0x8d, 0xc6, 0xf1, 0x20, 0xd2, 0x9d, 0xab, 0x59, 0x50, 0x25, 0x18, 0x4f, 0xa5, 0xc8, 0xf4,
0x5c, 0xef, 0x4c, 0x20, 0xf3, 0x5a, 0xc6, 0x3c, 0xb4, 0x18, 0x4f, 0xa5, 0x59, 0xae, 0x20, 0xf5,
0x2d, 0xa2, 0xe6, 0x72, 0x05, 0xb9, 0x99, 0x1c, 0x63, 0x6c, 0x38, 0x3c, 0x42, 0xe6, 0xdb, 0xd9,
0xfe, 0x6c, 0x10, 0x6e, 0x25, 0x66, 0xb4, 0xf1, 0x2c, 0xd0, 0xfd, 0x6e, 0xe7, 0x1d, 0x33, 0x95,
0xc9, 0xb7, 0xb3, 0x91, 0x0d, 0x00, 0xa7, 0x35, 0xf6, 0x7f, 0x61, 0xe2, 0xa5, 0xc4, 0xa9, 0xed,
0xf4, 0xa1, 0x9e, 0xb8, 0xf8, 0x52, 0x18, 0xdc, 0x81, 0x5a, 0x7c, 0xe6, 0x2a, 0x3f, 0x9c, 0xd0,
0x0a, 0xb5, 0xf6, 0xae, 0xa6, 0x23, 0x1a, 0x1a, 0x1c, 0xbd, 0x48, 0x38, 0x8e, 0x4c, 0x42, 0xea,
0x32, 0x5d, 0x6d, 0x28, 0xcd, 0xfc, 0x11, 0xe9, 0x59, 0xe3, 0xd8, 0x44, 0x64, 0xe2, 0x9b, 0xa0,
0x5c, 0xe3, 0xd8, 0x44, 0xff, 0xa6, 0x72, 0x64, 0x4e, 0xbd, 0x35, 0x4e, 0xed, 0x85, 0xb0, 0xab,
0x2c, 0x85, 0x5d, 0x90, 0xcc, 0xcd, 0xff, 0xc4, 0xda, 0xaf, 0x0b, 0x50, 0x4f, 0x8e, 0x6a, 0x3c,
0x30, 0xfc, 0x91, 0x08, 0xb5, 0x3f, 0xf6, 0x85, 0xb2, 0x86, 0x73, 0x08, 0xbb, 0x03, 0x15, 0x57,
0x6b, 0x95, 0x6c, 0xc3, 0xef, 0xe4, 0xcf, 0xf9, 0x9d, 0x7d, 0x94, 0xf4, 0x42, 0xad, 0xe6, 0xdc,
0xb0, 0xd6, 0x3f, 0x01, 0xc8, 0x40, 0xf4, 0xf5, 0x5c, 0xcc, 0xad, 0x56, 0x6c, 0xb2, 0x6b, 0x50,
0xf9, 0xdc, 0x0d, 0x66, 0x49, 0x46, 0x9a, 0x8f, 0x7b, 0xc5, 0x4f, 0x0a, 0xce, 0x1f, 0x8b, 0x50,
0xb3, 0xe7, 0x3e, 0xbb, 0x0d, 0x35, 0x3a, 0xf7, 0xad, 0x47, 0x97, 0xa7, 0x5f, 0x42, 0x61, 0xbb,
0x69, 0x41, 0x93, 0xf3, 0xd1, 0xaa, 0x32, 0x85, 0x8d, 0xf5, 0x31, 0x2b, 0x6f, 0x4a, 0x23, 0x31,
0xb6, 0x95, 0x4b, 0x8b, 0xea, 0x04, 0x31, 0xf6, 0x43, 0x1f, 0xe7, 0x87, 0xa3, 0x88, 0xdd, 0x4e,
0x46, 0x5d, 0x26, 0x8d, 0x6f, 0xe7, 0x35, 0xbe, 0x3c, 0xe8, 0x3e, 0x34, 0x73, 0x66, 0x2e, 0x19,
0xf5, 0x07, 0xf9, 0x51, 0x5b, 0x93, 0xa4, 0xce, 0x94, 0x5d, 0xd9, 0x2c, 0xfc, 0x07, 0xf3, 0xf7,
0x31, 0x40, 0xa6, 0xf2, 0xf5, 0xb7, 0x2f, 0xe7, 0x8b, 0x12, 0xc0, 0x20, 0xc2, 0x53, 0x6c, 0xe4,
0xd2, 0xb9, 0xbb, 0xea, 0x4f, 0x42, 0xa9, 0xc4, 0x33, 0x4a, 0x73, 0xea, 0x5f, 0xe7, 0x4d, 0x83,
0x51, 0xc6, 0xb0, 0x7d, 0x68, 0x8e, 0x44, 0xec, 0x29, 0x9f, 0x02, 0xca, 0x4e, 0xfa, 0x0d, 0x1c,
0x53, 0xa6, 0x67, 0xa7, 0x9b, 0x31, 0xcc, 0x5c, 0xe5, 0xfb, 0xb0, 0x3d, 0x58, 0x15, 0x17, 0x91,
0x54, 0xda, 0x5a, 0x31, 0xe5, 0xe1, 0x15, 0x53, 0x68, 0x22, 0x4e, 0x96, 0x78, 0x53, 0x64, 0x1f,
0xcc, 0x85, 0xb2, 0xe7, 0x46, 0xb1, 0x3d, 0x94, 0x3b, 0x4b, 0xf6, 0x0e, 0xdd, 0xc8, 0x4c, 0xda,
0xc1, 0x47, 0x38, 0xd6, 0x2f, 0xfe, 0x7a, 0xe3, 0x56, 0xae, 0x92, 0x99, 0xca, 0xd3, 0xf9, 0x2e,
0xc5, 0xcb, 0xb9, 0xaf, 0x77, 0x67, 0xda, 0x0f, 0x76, 0xdd, 0xc8, 0x47, 0x75, 0xd8, 0xb1, 0xdf,
0xe5, 0xa4, 0x7a, 0xfd, 0x27, 0xd0, 0x5e, 0xf6, 0xfb, 0x4d, 0xd6, 0x60, 0xfd, 0x2e, 0x34, 0x52,
0x3f, 0x5e, 0xd5, 0xb1, 0x9e, 0x5f, 0xbc, 0x3f, 0x14, 0xa0, 0x6a, 0xb2, 0x8a, 0xdd, 0x85, 0x46,
0x20, 0x3d, 0x17, 0x1d, 0x48, 0x2a, 0xf4, 0x77, 0xb3, 0xa4, 0xdb, 0x79, 0x98, 0xc8, 0xcc, 0xac,
0x66, 0x5c, 0x0c, 0x32, 0x3f, 0x1c, 0xcb, 0x24, 0x0b, 0x5a, 0x59, 0xa7, 0x7e, 0x38, 0x96, 0xdc,
0x08, 0xd7, 0x1f, 0x40, 0x6b, 0x51, 0xc5, 0x25, 0x7e, 0xbe, 0xbf, 0x18, 0xae, 0xb4, 0xa7, 0xa7,
0x9d, 0xf2, 0x6e, 0xdf, 0x85, 0x46, 0x8a, 0xb3, 0xed, 0x97, 0x1d, 0x5f, 0xcd, 0xf7, 0xcc, 0xf9,
0xea, 0x04, 0x00, 0x99, 0x6b, 0xb8, 0x59, 0xe1, 0x55, 0x20, 0xcc, 0x4a, 0x80, 0xf4, 0x9b, 0x4e,
0x50, 0x57, 0xbb, 0xe4, 0xca, 0x2a, 0xa7, 0x36, 0xdb, 0x01, 0x18, 0xa5, 0x09, 0xfb, 0x3d, 0x69,
0x9c, 0x63, 0x38, 0x03, 0xa8, 0x27, 0x4e, 0xb0, 0x4d, 0x68, 0xc6, 0xd6, 0x32, 0x56, 0xac, 0x68,
0xae, 0xc2, 0xf3, 0x10, 0x56, 0x9e, 0xca, 0x0d, 0x27, 0x62, 0xa1, 0xf2, 0xe4, 0x88, 0x70, 0x2b,
0x70, 0x3e, 0x83, 0x0a, 0x01, 0x98, 0x66, 0xb1, 0x76, 0x95, 0xb6, 0x45, 0xac, 0xa9, 0xd3, 0x64,
0x4c, 0x66, 0x0f, 0xca, 0x18, 0x88, 0xdc, 0x10, 0xd8, 0x07, 0x58, 0x0d, 0x8e, 0xec, 0x8c, 0x5e,
0xc6, 0x43, 0xb1, 0xf3, 0x63, 0xa8, 0x27, 0x30, 0x8e, 0xfc, 0xa1, 0x1f, 0x0a, 0xeb, 0x22, 0xb5,
0xb1, 0xf8, 0x3f, 0x3c, 0x73, 0x95, 0xeb, 0x69, 0x61, 0x8a, 0x8d, 0x0a, 0xcf, 0x00, 0xe7, 0x7d,
0x68, 0xe6, 0xb2, 0x07, 0xc3, 0xed, 0x29, 0x2d, 0xa3, 0xc9, 0x61, 0xf3, 0xe1, 0xfc, 0x1e, 0xaf,
0x26, 0x49, 0x01, 0xf9, 0x03, 0x80, 0x33, 0xad, 0xa3, 0x67, 0x54, 0x51, 0xda, 0xb9, 0x6f, 0x20,
0x42, 0x0c, 0x76, 0x03, 0x9a, 0xf8, 0x11, 0x5b, 0xb9, 0x89, 0x77, 0xea, 0x11, 0x1b, 0xc2, 0xff,
0x43, 0x63, 0x9c, 0x76, 0x2f, 0xd9, 0xa5, 0x4b, 0x7a, 0xbf, 0x0b, 0xf5, 0x50, 0x5a, 0x99, 0x29,
0x70, 0x6b, 0xa1, 0x4c, 0xfb, 0xb9, 0x41, 0x60, 0x65, 0x15, 0xd3, 0xcf, 0x0d, 0x02, 0x12, 0x3a,
0xb7, 0xe0, 0xff, 0x5e, 0xba, 0x64, 0xb1, 0xb7, 0xa1, 0x3a, 0xf6, 0x03, 0x4d, 0x27, 0x02, 0x16,
0xd4, 0xf6, 0xcb, 0xf9, 0x67, 0x01, 0x20, 0x5b, 0x76, 0x0c, 0x66, 0xdc, 0xda, 0x91, 0xb3, 0x6a,
0xb6, 0xf2, 0x00, 0xea, 0x53, 0xbb, 0x49, 0xd8, 0x05, 0xbd, 0xbe, 0x18, 0x2a, 0x3b, 0xc9, 0x1e,
0x62, 0xb6, 0x8f, 0x3d, 0xbb, 0x7d, 0xbc, 0xc9, 0x45, 0x28, 0xb5, 0x40, 0x55, 0x4e, 0xfe, 0x5e,
0x0c, 0x59, 0x16, 0x72, 0x2b, 0x59, 0x7f, 0x00, 0x6b, 0x0b, 0x26, 0x5f, 0xf3, 0xc0, 0xc8, 0x36,
0xbb, 0x7c, 0x0a, 0xee, 0x41, 0xd5, 0x5c, 0xa8, 0xd9, 0x16, 0xd4, 0x5c, 0xcf, 0x64, 0x5f, 0x6e,
0x07, 0x40, 0xe1, 0x3e, 0xc1, 0x3c, 0x11, 0x3b, 0x7f, 0x2e, 0x02, 0x64, 0xf8, 0x1b, 0x94, 0xba,
0xf7, 0xa0, 0x15, 0x0b, 0x4f, 0x86, 0x23, 0x57, 0xcd, 0x49, 0x6a, 0x6f, 0x7c, 0x97, 0x75, 0x59,
0x62, 0xe6, 0xca, 0xde, 0xd2, 0xab, 0xcb, 0xde, 0x2d, 0x28, 0x7b, 0x32, 0x9a, 0xdb, 0x73, 0x81,
0x2d, 0x0e, 0xe4, 0x50, 0x46, 0x73, 0xbc, 0xd2, 0x23, 0x83, 0xed, 0x40, 0x75, 0x7a, 0x4e, 0x4f,
0x0c, 0xe6, 0xaa, 0x74, 0x6d, 0x91, 0xfb, 0xe8, 0x1c, 0xdb, 0x47, 0x2b, 0xdc, 0xb2, 0xd8, 0x2d,
0xa8, 0x4c, 0xcf, 0x47, 0xbe, 0xb2, 0x2f, 0x09, 0x57, 0x97, 0xe9, 0x5d, 0x5f, 0xd1, 0x8b, 0x02,
0x72, 0x98, 0x03, 0x45, 0x35, 0xb5, 0xef, 0x09, 0xed, 0xa5, 0xd9, 0x9c, 0x1e, 0xad, 0xf0, 0xa2,
0x9a, 0x1e, 0xd4, 0xa1, 0x6a, 0xe6, 0xd5, 0xf9, 0x47, 0x09, 0x5a, 0x8b, 0x5e, 0xe2, 0xca, 0xc6,
0xca, 0x4b, 0x56, 0x36, 0x56, 0x5e, 0x7a, 0x23, 0x28, 0xe6, 0x6e, 0x04, 0x0e, 0x54, 0xe4, 0xf3,
0x50, 0xa8, 0xfc, 0x5b, 0xca, 0xe1, 0x99, 0x7c, 0x1e, 0x62, 0x55, 0x6a, 0x44, 0x0b, 0x45, 0x5e,
0xc5, 0x16, 0x79, 0x1f, 0xc0, 0xda, 0x58, 0x06, 0x81, 0x7c, 0x3e, 0x9c, 0x4f, 0x03, 0x3f, 0x3c,
0xb7, 0x95, 0xde, 0x22, 0xc8, 0xb6, 0xe0, 0xca, 0xc8, 0x57, 0xe8, 0xce, 0xa1, 0x0c, 0xb5, 0x08,
0xe9, 0xa6, 0x88, 0xbc, 0x65, 0x98, 0x7d, 0x0a, 0x9b, 0xae, 0xd6, 0x62, 0x1a, 0xe9, 0x27, 0x61,
0xe4, 0x7a, 0xe7, 0x5d, 0xe9, 0x51, 0x16, 0x4e, 0x23, 0x57, 0xfb, 0xa7, 0x7e, 0x80, 0x37, 0xe8,
0x1a, 0x75, 0x7d, 0x25, 0x8f, 0x7d, 0x08, 0x2d, 0x4f, 0x09, 0x57, 0x8b, 0xae, 0x88, 0xf5, 0x89,
0xab, 0xcf, 0x3a, 0x75, 0xea, 0xb9, 0x84, 0xe2, 0x18, 0x5c, 0xf4, 0xf6, 0x33, 0x3f, 0x18, 0x79,
0x78, 0xb7, 0x6b, 0x98, 0x31, 0x2c, 0x80, 0x6c, 0x07, 0x18, 0x01, 0xbd, 0x69, 0xa4, 0xe7, 0x29,
0x15, 0x88, 0x7a, 0x89, 0x04, 0xf7, 0x49, 0xed, 0x4f, 0x45, 0xac, 0xdd, 0x69, 0x44, 0x8f, 0x37,
0x25, 0x9e, 0x01, 0xec, 0x26, 0xb4, 0xfd, 0xd0, 0x0b, 0x66, 0x23, 0xf1, 0x2c, 0xc2, 0x81, 0xa8,
0x30, 0xee, 0xac, 0xd2, 0xae, 0x72, 0xc5, 0xe2, 0x27, 0x16, 0x46, 0xaa, 0xb8, 0x58, 0xa2, 0xae,
0x19, 0xaa, 0xc5, 0x13, 0xaa, 0xf3, 0x65, 0x01, 0xda, 0xcb, 0x81, 0x87, 0xcb, 0x16, 0xe1, 0xe0,
0xed, 0xcd, 0x16, 0xdb, 0xe9, 0x52, 0x16, 0x73, 0x4b, 0x99, 0x1c, 0x73, 0xa5, 0xdc, 0x31, 0x97,
0x86, 0x45, 0xf9, 0xfb, 0xc3, 0x62, 0x61, 0xa0, 0x95, 0xa5, 0x81, 0x3a, 0xbf, 0x2b, 0xc0, 0x95,
0xa5, 0xe0, 0x7e, 0x6d, 0x8f, 0x36, 0xa1, 0x39, 0x75, 0xcf, 0x85, 0xb9, 0xd9, 0xc7, 0xf6, 0xa6,
0x9c, 0x87, 0xfe, 0x0b, 0xfe, 0x85, 0xb0, 0x9a, 0xcf, 0xa8, 0x4b, 0x7d, 0x4b, 0x02, 0xe4, 0x58,
0xea, 0xfb, 0x72, 0x66, 0x8f, 0xd0, 0x24, 0x40, 0x12, 0xf0, 0xe5, 0x30, 0x2a, 0x5d, 0x12, 0x46,
0xce, 0x31, 0xd4, 0x13, 0x07, 0xd9, 0x0d, 0xfb, 0xf4, 0x52, 0xc8, 0x5e, 0x14, 0x9f, 0xc4, 0x42,
0xa1, 0xef, 0xe6, 0x1d, 0xe6, 0x3d, 0xa8, 0xd0, 0xdb, 0x86, 0xdd, 0x83, 0x17, 0x18, 0x46, 0xe2,
0x0c, 0xa1, 0x66, 0x11, 0xb6, 0x0d, 0xd5, 0xd3, 0x79, 0xfa, 0x88, 0x61, 0xb7, 0x0b, 0xfc, 0x1e,
0x59, 0x06, 0xee, 0x41, 0x86, 0xc1, 0xae, 0x41, 0xf9, 0x74, 0xde, 0xef, 0x9a, 0x5b, 0x1d, 0xee,
0x64, 0xf8, 0x75, 0x50, 0x35, 0x0e, 0x39, 0x0f, 0x61, 0x35, 0xdf, 0x2f, 0x7d, 0xc3, 0x28, 0xe4,
0xde, 0x30, 0xd2, 0x2d, 0xbb, 0xf8, 0xaa, 0xf2, 0xfe, 0x63, 0x00, 0x7a, 0x28, 0x7d, 0xd3, 0x6b,
0xc1, 0x8f, 0xa0, 0x66, 0x1f, 0x58, 0xd9, 0x87, 0x4b, 0x0f, 0xc6, 0xad, 0xf4, 0xf5, 0x75, 0xe1,
0xd5, 0xd8, 0xb9, 0x87, 0xa5, 0xe5, 0x73, 0xa1, 0xba, 0xfe, 0x78, 0xfc, 0xa6, 0xe6, 0xee, 0x41,
0xeb, 0x49, 0x14, 0xfd, 0x7b, 0x7d, 0x7f, 0x0e, 0x55, 0xf3, 0xce, 0x8b, 0x7d, 0x02, 0xf4, 0xc0,
0xae, 0x01, 0x33, 0xe5, 0x67, 0xde, 0x25, 0x6e, 0x08, 0xc8, 0x9c, 0xa1, 0x3d, 0xbb, 0xb8, 0xc4,
0x5c, 0x74, 0x80, 0x1b, 0xc2, 0xf6, 0x16, 0xd4, 0xec, 0x93, 0x22, 0x6b, 0x40, 0xe5, 0xc9, 0xf1,
0xb0, 0xf7, 0xb8, 0xbd, 0xc2, 0xea, 0x50, 0x3e, 0x1a, 0x0c, 0x1f, 0xb7, 0x0b, 0xd8, 0x3a, 0x1e,
0x1c, 0xf7, 0xda, 0xc5, 0xed, 0x9b, 0xb0, 0x9a, 0x7f, 0x54, 0x64, 0x4d, 0xa8, 0x0d, 0xf7, 0x8f,
0xbb, 0x07, 0x83, 0x9f, 0xb5, 0x57, 0xd8, 0x2a, 0xd4, 0xfb, 0xc7, 0xc3, 0xde, 0xe1, 0x13, 0xde,
0x6b, 0x17, 0xb6, 0x7f, 0x0a, 0x8d, 0xf4, 0x95, 0x06, 0x35, 0x1c, 0xf4, 0x8f, 0xbb, 0xed, 0x15,
0x06, 0x50, 0x1d, 0xf6, 0x0e, 0x79, 0x0f, 0xf5, 0xd6, 0xa0, 0x34, 0x1c, 0x1e, 0xb5, 0x8b, 0x68,
0xf5, 0x70, 0xff, 0xf0, 0xa8, 0xd7, 0x2e, 0x61, 0xf3, 0xf1, 0xa3, 0x93, 0xfb, 0xc3, 0x76, 0x79,
0xfb, 0x63, 0xb8, 0xb2, 0xf4, 0x7e, 0x41, 0xbd, 0x8f, 0xf6, 0x79, 0x0f, 0x35, 0x35, 0xa1, 0x76,
0xc2, 0xfb, 0x4f, 0xf7, 0x1f, 0xf7, 0xda, 0x05, 0x14, 0x3c, 0x1c, 0x1c, 0x3e, 0xe8, 0x75, 0xdb,
0xc5, 0x83, 0xeb, 0x5f, 0xbd, 0xd8, 0x28, 0x7c, 0xfd, 0x62, 0xa3, 0xf0, 0xcd, 0x8b, 0x8d, 0xc2,
0xdf, 0x5e, 0x6c, 0x14, 0xbe, 0xfc, 0x6e, 0x63, 0xe5, 0xeb, 0xef, 0x36, 0x56, 0xbe, 0xf9, 0x6e,
0x63, 0xe5, 0xb4, 0x4a, 0xff, 0x14, 0x7c, 0xf4, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xcd, 0x9c,
0x8e, 0xbd, 0x69, 0x18, 0x00, 0x00,
}
func (m *Op) Marshal() (dAtA []byte, err error) {
@ -3168,6 +3236,20 @@ func (m *ExecOp) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
if len(m.Secretenv) > 0 {
for iNdEx := len(m.Secretenv) - 1; iNdEx >= 0; iNdEx-- {
{
size, err := m.Secretenv[iNdEx].MarshalToSizedBuffer(dAtA[:i])
if err != nil {
return 0, err
}
i -= size
i = encodeVarintOps(dAtA, i, uint64(size))
}
i--
dAtA[i] = 0x2a
}
}
if m.Security != 0 {
i = encodeVarintOps(dAtA, i, uint64(m.Security))
i--
@ -3393,6 +3475,53 @@ func (m *Ulimit) MarshalToSizedBuffer(dAtA []byte) (int, error) {
return len(dAtA) - i, nil
}
func (m *SecretEnv) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalToSizedBuffer(dAtA[:size])
if err != nil {
return nil, err
}
return dAtA[:n], nil
}
func (m *SecretEnv) MarshalTo(dAtA []byte) (int, error) {
size := m.Size()
return m.MarshalToSizedBuffer(dAtA[:size])
}
func (m *SecretEnv) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i := len(dAtA)
_ = i
var l int
_ = l
if m.Optional {
i--
if m.Optional {
dAtA[i] = 1
} else {
dAtA[i] = 0
}
i--
dAtA[i] = 0x18
}
if len(m.Name) > 0 {
i -= len(m.Name)
copy(dAtA[i:], m.Name)
i = encodeVarintOps(dAtA, i, uint64(len(m.Name)))
i--
dAtA[i] = 0x12
}
if len(m.ID) > 0 {
i -= len(m.ID)
copy(dAtA[i:], m.ID)
i = encodeVarintOps(dAtA, i, uint64(len(m.ID)))
i--
dAtA[i] = 0xa
}
return len(dAtA) - i, nil
}
func (m *Mount) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@ -5403,6 +5532,12 @@ func (m *ExecOp) Size() (n int) {
if m.Security != 0 {
n += 1 + sovOps(uint64(m.Security))
}
if len(m.Secretenv) > 0 {
for _, e := range m.Secretenv {
l = e.Size()
n += 1 + l + sovOps(uint64(l))
}
}
return n
}
@ -5495,6 +5630,26 @@ func (m *Ulimit) Size() (n int) {
return n
}
func (m *SecretEnv) Size() (n int) {
if m == nil {
return 0
}
var l int
_ = l
l = len(m.ID)
if l > 0 {
n += 1 + l + sovOps(uint64(l))
}
l = len(m.Name)
if l > 0 {
n += 1 + l + sovOps(uint64(l))
}
if m.Optional {
n += 2
}
return n
}
func (m *Mount) Size() (n int) {
if m == nil {
return 0
@ -7085,6 +7240,40 @@ func (m *ExecOp) Unmarshal(dAtA []byte) error {
break
}
}
case 5:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Secretenv", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowOps
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
msglen |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthOps
}
postIndex := iNdEx + msglen
if postIndex < 0 {
return ErrInvalidLengthOps
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Secretenv = append(m.Secretenv, &SecretEnv{})
if err := m.Secretenv[len(m.Secretenv)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipOps(dAtA[iNdEx:])
@ -7686,6 +7875,140 @@ func (m *Ulimit) Unmarshal(dAtA []byte) error {
}
return nil
}
func (m *SecretEnv) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
preIndex := iNdEx
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowOps
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
wire |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
return fmt.Errorf("proto: SecretEnv: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: SecretEnv: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field ID", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowOps
}
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 ErrInvalidLengthOps
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthOps
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.ID = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 2:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowOps
}
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 ErrInvalidLengthOps
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthOps
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Name = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 3:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field Optional", wireType)
}
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowOps
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
v |= int(b&0x7F) << shift
if b < 0x80 {
break
}
}
m.Optional = bool(v != 0)
default:
iNdEx = preIndex
skippy, err := skipOps(dAtA[iNdEx:])
if err != nil {
return err
}
if (skippy < 0) || (iNdEx+skippy) < 0 {
return ErrInvalidLengthOps
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
}
iNdEx += skippy
}
}
if iNdEx > l {
return io.ErrUnexpectedEOF
}
return nil
}
func (m *Mount) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0

View File

@ -47,6 +47,7 @@ message ExecOp {
repeated Mount mounts = 2;
NetMode network = 3;
SecurityMode security = 4;
repeated SecretEnv secretenv = 5;
}
// Meta is a set of arguments for ExecOp.
@ -86,6 +87,13 @@ enum SecurityMode {
INSECURE = 1; // privileged mode
}
// SecretEnv is an environment variable that is backed by a secret.
message SecretEnv {
string ID = 1;
string name = 2;
bool optional = 3;
}
// Mount specifies how to mount an input Op as a filesystem.
message Mount {
int64 input = 1 [(gogoproto.customtype) = "InputIndex", (gogoproto.nullable) = false];