From 4939cbca3ed543bbeb7de39bb12701a853c67d4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikkel=20H=C3=B8st=20Christiansen?= Date: Tue, 30 May 2023 19:23:21 +0200 Subject: [PATCH 1/7] Removed unused variables --- internal/environment/lab/exercise/models.go | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/internal/environment/lab/exercise/models.go b/internal/environment/lab/exercise/models.go index 6e5947b..89160b9 100644 --- a/internal/environment/lab/exercise/models.go +++ b/internal/environment/lab/exercise/models.go @@ -22,15 +22,10 @@ type Exercise struct { type ExerciseConfig struct { Tag string `json:"tag,omitempty"` - Name string `json:"name,omitempty"` - Category string `json:"category,omitempty"` - Secret bool `json:"secret,omitempty"` // specifies whether challenge will be on docker/vm or none // true: none , false: docker/vm Static bool `json:"static,omitempty"` Instance []ExerciseInstanceConfig `json:"instance,omitempty"` - Status int `json:"status,omitempty"` - OrgDescription string `json:"organizerDescription,omitempty"` } type ExerciseInstanceConfig struct { @@ -53,12 +48,6 @@ type ChildrenChalConfig struct { Name string `json:"name,omitempty"` EnvVar string `json:"envFlag,omitempty"` StaticFlag string `json:"static,omitempty"` - Points uint `json:"points,omitempty"` - Category string `json:"category,omitempty"` - TeamDescription string `json:"teamDescription,omitempty"` - PreRequisites []string `json:"prerequisite,omitempty"` - Outcomes []string `json:"outcome,omitempty"` - StaticChallenge bool `json:"staticChallenge,omitempty"` } type EnvVarConfig struct { From 58899ec32ba88aaa84488c8dfe0f2a3bb6a4b9eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikkel=20H=C3=B8st=20Christiansen?= Date: Tue, 30 May 2023 20:33:31 +0200 Subject: [PATCH 2/7] getting exercise configs from daemon instead of begin connected to exDb --- .gitignore | 4 +- config/config.example.yml | 6 - internal/agent/agent.go | 91 +- internal/agent/config.go | 1 - internal/agent/environment.go | 17 +- internal/agent/lab.go | 23 +- internal/environment/lab/exercise/exercise.go | 1 + pkg/proto/agent.pb.go | 894 +++++++++++++----- pkg/proto/agent.proto | 35 + pkg/proto/agent_grpc.pb.go | 2 +- 10 files changed, 744 insertions(+), 330 deletions(-) diff --git a/.gitignore b/.gitignore index a8f6bfb..c22ad2e 100644 --- a/.gitignore +++ b/.gitignore @@ -8,4 +8,6 @@ logs casbin.md data vms -.VSCodeCounter \ No newline at end of file +.VSCodeCounter +log.log +pid \ No newline at end of file diff --git a/config/config.example.yml b/config/config.example.yml index 0964d7a..b082897 100644 --- a/config/config.example.yml +++ b/config/config.example.yml @@ -13,12 +13,6 @@ file-transfer-root: /path/to/desired/filetransfer/root ova-dir: /path/to/desired/ova/directory state-path: /path/to/desired/state/directory -exercise-service: - grpc: "localhost:port" - auth-key: dev-auth-key - sign-key: dev-sign-key - tls-enabled: false - vpn-service: endpoint: vpn.localhost port: 5353 diff --git a/internal/agent/agent.go b/internal/agent/agent.go index 957fe94..914a7f7 100644 --- a/internal/agent/agent.go +++ b/internal/agent/agent.go @@ -3,7 +3,6 @@ package agent import ( "context" "errors" - "fmt" "io/ioutil" "os" "path/filepath" @@ -15,9 +14,7 @@ import ( env "github.com/aau-network-security/haaukins-agent/internal/environment" "github.com/aau-network-security/haaukins-agent/internal/environment/lab/virtual" "github.com/aau-network-security/haaukins-agent/internal/worker" - "github.com/aau-network-security/haaukins-agent/pkg/proto" pb "github.com/aau-network-security/haaukins-agent/pkg/proto" - eproto "github.com/aau-network-security/haaukins-exercises/proto" "github.com/rs/zerolog/log" "gopkg.in/yaml.v2" ) @@ -25,15 +22,13 @@ import ( var configPath string type Agent struct { - initialized bool - config *Config - State *state.State - auth Authenticator - vlib *virtual.VboxLibrary + config *Config + State *state.State + auth Authenticator + vlib *virtual.VboxLibrary pb.UnimplementedAgentServer workerPool worker.WorkerPool newLabs chan pb.Lab - ExClient eproto.ExerciseStoreClient EnvPool *env.EnvPool `json:"envpool,omitempty"` } @@ -119,20 +114,6 @@ func New(conf *Config) (*Agent, error) { } } - var initialized = true - var exClient eproto.ExerciseStoreClient - // Check if exercise service has been configured by daemon - if conf.ExerciseService.Grpc == "" { - log.Debug().Msg("exercise service not yet configured, waiting for daemon to initiliaze...") - initialized = false - exClient = nil - } else { - exClient, err = NewExerciseClientConn(conf.ExerciseService) - if err != nil { - return nil, fmt.Errorf("error connecting to exercise service: %s", err) - } - } - // Creating and starting a workerPool for lab creation // This is to ensure that resources are not spent without having them // Workeramount can be configured from the config @@ -157,15 +138,13 @@ func New(conf *Config) (*Agent, error) { } // Creating agent struct a := &Agent{ - initialized: initialized, - config: conf, - workerPool: workerPool, - vlib: vlib, - auth: NewAuthenticator(conf.SignKey, conf.AuthKey), - newLabs: make(chan pb.Lab, 1000), - ExClient: exClient, - EnvPool: envPool, - State: &state.State{}, + config: conf, + workerPool: workerPool, + vlib: vlib, + auth: NewAuthenticator(conf.SignKey, conf.AuthKey), + newLabs: make(chan pb.Lab, 1000), + EnvPool: envPool, + State: &state.State{}, } return a, nil } @@ -192,51 +171,3 @@ func (d *Agent) NewGRPCServer(opts ...grpc.ServerOption) *grpc.Server { }, opts...) return grpc.NewServer(opts...) } - -// Connect to exdb based on what creds sent by daemon, and write to config -func (a *Agent) Init(ctx context.Context, req *proto.InitRequest) (*proto.StatusResponse, error) { - // Creating service config based on request from daemon - var exConf = ServiceConfig{ - Grpc: req.Url, - AuthKey: req.AuthKey, - SignKey: req.SignKey, - TLSEnabled: req.TlsEnabled, - } - // Creating new exercise service connection from config - log.Debug().Msgf("request: %v", req) - exClient, err := NewExerciseClientConn(exConf) - if err != nil { - log.Error().Err(err).Msg("error connecting to exercise service") - return nil, fmt.Errorf("error connecting to exercise service: %s", err) - } - - // Saving the config in the agent config - a.config.ExerciseService = exConf - - // Updating the config - data, err := yaml.Marshal(a.config) - if err != nil { - log.Error().Err(err).Msg("error marshalling yaml") - return nil, fmt.Errorf("error marshalling yaml: %s", err) - } - - // Truncates existing file to overwrite with new data - f, err := os.Create(configPath) - if err != nil { - log.Error().Err(err).Msg("error creating or truncating config file") - return nil, fmt.Errorf("error creating or truncating config file: %s", err) - } - - if err := f.Chmod(0600); err != nil { - log.Error().Err(err).Msg("error changing file perms") - return nil, fmt.Errorf("error changing file perms: %s", err) - } - - if _, err := f.Write(data); err != nil { - log.Error().Err(err).Msg("error writing config to file") - return nil, fmt.Errorf("error writing config to file: %s", err) - } - a.initialized = true - a.ExClient = exClient - return &proto.StatusResponse{Message: "OK"}, nil -} diff --git a/internal/agent/config.go b/internal/agent/config.go index af9f2bb..d6b33f7 100644 --- a/internal/agent/config.go +++ b/internal/agent/config.go @@ -15,7 +15,6 @@ type Config struct { FileTransferRoot string `yaml:"file-transfer-root"` OvaDir string `yaml:"ova-dir"` StatePath string `yaml:"state-path"` - ExerciseService ServiceConfig `yaml:"exercise-service"` VPNService VPNconf `yaml:"vpn-service"` DockerRepositories []dockerclient.AuthConfiguration `yaml:"docker-repositories"` GuacSSL bool `yaml:"guac-ssl"` diff --git a/internal/agent/environment.go b/internal/agent/environment.go index 183b405..a5b94d1 100644 --- a/internal/agent/environment.go +++ b/internal/agent/environment.go @@ -16,7 +16,6 @@ import ( "github.com/aau-network-security/haaukins-agent/internal/environment/lab/virtual" "github.com/aau-network-security/haaukins-agent/internal/state" "github.com/aau-network-security/haaukins-agent/pkg/proto" - eproto "github.com/aau-network-security/haaukins-exercises/proto" "github.com/rs/zerolog/log" ) @@ -30,9 +29,6 @@ var ( // beginner events where the user would just need to press the connect button and a lab would be ready with all challenges running. func (a *Agent) CreateEnvironment(ctx context.Context, req *proto.CreatEnvRequest) (*proto.StatusResponse, error) { // Env for event already exists, Do not start a new guac container - if !a.initialized { - return nil, errors.New("agent not yet initialized") - } log.Debug().Msgf("got createEnv request: %v", req) if a.EnvPool.DoesEnvExist(req.EventTag) { @@ -47,15 +43,10 @@ func (a *Agent) CreateEnvironment(ctx context.Context, req *proto.CreatEnvReques envConf.WorkerPool = a.workerPool envConf.TeamSize = int(req.TeamSize) log.Debug().Str("envtype", envConf.Type.String()).Msg("making environment with type") - // Get exercise info from exercise db - exerDbConfs, err := a.ExClient.GetExerciseByTags(ctx, &eproto.GetExerciseByTagsRequest{Tag: req.Exercises}) - if err != nil { - return nil, fmt.Errorf("error getting exercises: %s", err) - } // Unpack into exercise slice var exerConfs []exercise.ExerciseConfig - for _, e := range exerDbConfs.Exercises { + for _, e := range req.ExerciseConfigs { ex, err := protobufToJson(e) if err != nil { return nil, err @@ -234,13 +225,9 @@ func (a *Agent) AddExercisesToEnv(ctx context.Context, req *proto.ExerciseReques env.M.Lock() defer env.M.Unlock() - exerDbConfs, err := a.ExClient.GetExerciseByTags(ctx, &eproto.GetExerciseByTagsRequest{Tag: req.Exercises}) - if err != nil { - return nil, fmt.Errorf("error getting exercises: %s", err) - } // Unpack into exercise slice var exerConfs []exercise.ExerciseConfig - for _, e := range exerDbConfs.Exercises { + for _, e := range req.ExerciseConfigs { ex, err := protobufToJson(e) if err != nil { return nil, err diff --git a/internal/agent/lab.go b/internal/agent/lab.go index 77d337f..c193be4 100644 --- a/internal/agent/lab.go +++ b/internal/agent/lab.go @@ -14,7 +14,6 @@ import ( "github.com/aau-network-security/haaukins-agent/internal/environment/lab/exercise" "github.com/aau-network-security/haaukins-agent/internal/state" "github.com/aau-network-security/haaukins-agent/pkg/proto" - eproto "github.com/aau-network-security/haaukins-exercises/proto" "github.com/rs/zerolog/log" ) @@ -228,15 +227,15 @@ func (a *Agent) ResetVmInLab(ctx context.Context, req *proto.VmRequest) (*proto. log.Error().Err(err).Msg("error getting port from connection identifier") return nil, err } - + portInt, _ := strconv.Atoi(portStr) - + log.Debug().Str("port", portStr).Msg("response from GetPortFromConnectionIdentifier") - + // Checking the lab for frontends with the requested port // This is to only allow a team to reset a vm within their own lab // since the connectionIdentifier is untrusted input - + l.M.Lock() defer l.M.Unlock() if frontend, ok := l.Frontends[uint(portInt)]; ok { @@ -246,7 +245,7 @@ func (a *Agent) ResetVmInLab(ctx context.Context, req *proto.VmRequest) (*proto. return nil, err } return &proto.StatusResponse{Message: "OK"}, nil - } + } return nil, errors.New("frontend with that connection identifier not found in lab") } else { @@ -259,7 +258,7 @@ func (a *Agent) ResetVmInLab(ctx context.Context, req *proto.VmRequest) (*proto. } } return &proto.StatusResponse{Message: "OK"}, nil - } + } } // Shuts down and removes all frontends and containers related to specific lab. Then removes it from the environment's lab map. @@ -312,15 +311,9 @@ func (a *Agent) AddExercisesToLab(ctx context.Context, req *proto.ExerciseReques return nil, errors.New("cannot add arbitrary exercise to lab of type beginner") } - var exerConfs []exercise.ExerciseConfig - exerDbConfs, err := a.ExClient.GetExerciseByTags(ctx, &eproto.GetExerciseByTagsRequest{Tag: req.Exercises}) - if err != nil { - log.Error().Err(err).Msg("error getting exercise by tags") - return nil, fmt.Errorf("error getting exercises: %s", err) - } - // Unpack into exercise slice - for _, e := range exerDbConfs.Exercises { + var exerConfs []exercise.ExerciseConfig + for _, e := range req.ExerciseConfigs { ex, err := protobufToJson(e) if err != nil { return nil, err diff --git a/internal/environment/lab/exercise/exercise.go b/internal/environment/lab/exercise/exercise.go index 1401949..7105383 100644 --- a/internal/environment/lab/exercise/exercise.go +++ b/internal/environment/lab/exercise/exercise.go @@ -214,6 +214,7 @@ func (e ExerciseConfig) CreateContainerOpts() []ContainerOptions { // flag is not static value = NewFlag().String() if flag.EnvVar != "" { + log.Debug().Str("envVar", flag.EnvVar).Msg("got env var for dynamic flag") envVars[flag.EnvVar] = value } } diff --git a/pkg/proto/agent.pb.go b/pkg/proto/agent.pb.go index 07b2296..9ddec75 100644 --- a/pkg/proto/agent.pb.go +++ b/pkg/proto/agent.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 -// protoc v3.14.0 +// protoc v3.6.1 // source: agent.proto package proto @@ -645,12 +645,13 @@ type CreatEnvRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - EventTag string `protobuf:"bytes,1,opt,name=eventTag,proto3" json:"eventTag,omitempty"` - EnvType int32 `protobuf:"varint,2,opt,name=envType,proto3" json:"envType,omitempty"` - Vm *VmConfig `protobuf:"bytes,3,opt,name=vm,proto3" json:"vm,omitempty"` - InitialLabs int32 `protobuf:"varint,4,opt,name=initialLabs,proto3" json:"initialLabs,omitempty"` - Exercises []string `protobuf:"bytes,5,rep,name=exercises,proto3" json:"exercises,omitempty"` - TeamSize int32 `protobuf:"varint,6,opt,name=teamSize,proto3" json:"teamSize,omitempty"` + EventTag string `protobuf:"bytes,1,opt,name=eventTag,proto3" json:"eventTag,omitempty"` + EnvType int32 `protobuf:"varint,2,opt,name=envType,proto3" json:"envType,omitempty"` + Vm *VmConfig `protobuf:"bytes,3,opt,name=vm,proto3" json:"vm,omitempty"` + InitialLabs int32 `protobuf:"varint,4,opt,name=initialLabs,proto3" json:"initialLabs,omitempty"` + Exercises []string `protobuf:"bytes,5,rep,name=exercises,proto3" json:"exercises,omitempty"` + TeamSize int32 `protobuf:"varint,6,opt,name=teamSize,proto3" json:"teamSize,omitempty"` + ExerciseConfigs []*ExerciseConfig `protobuf:"bytes,7,rep,name=exerciseConfigs,proto3" json:"exerciseConfigs,omitempty"` } func (x *CreatEnvRequest) Reset() { @@ -727,6 +728,13 @@ func (x *CreatEnvRequest) GetTeamSize() int32 { return 0 } +func (x *CreatEnvRequest) GetExerciseConfigs() []*ExerciseConfig { + if x != nil { + return x.ExerciseConfigs + } + return nil +} + type CloseEnvRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -975,10 +983,11 @@ type ExerciseRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - LabTag string `protobuf:"bytes,1,opt,name=labTag,proto3" json:"labTag,omitempty"` - EnvTag string `protobuf:"bytes,2,opt,name=envTag,proto3" json:"envTag,omitempty"` - Exercises []string `protobuf:"bytes,3,rep,name=exercises,proto3" json:"exercises,omitempty"` - Exercise string `protobuf:"bytes,4,opt,name=exercise,proto3" json:"exercise,omitempty"` + LabTag string `protobuf:"bytes,1,opt,name=labTag,proto3" json:"labTag,omitempty"` + EnvTag string `protobuf:"bytes,2,opt,name=envTag,proto3" json:"envTag,omitempty"` + Exercises []string `protobuf:"bytes,3,rep,name=exercises,proto3" json:"exercises,omitempty"` + Exercise string `protobuf:"bytes,4,opt,name=exercise,proto3" json:"exercise,omitempty"` + ExerciseConfigs []*ExerciseConfig `protobuf:"bytes,5,rep,name=exerciseConfigs,proto3" json:"exerciseConfigs,omitempty"` } func (x *ExerciseRequest) Reset() { @@ -1041,6 +1050,13 @@ func (x *ExerciseRequest) GetExercise() string { return "" } +func (x *ExerciseRequest) GetExerciseConfigs() []*ExerciseConfig { + if x != nil { + return x.ExerciseConfigs + } + return nil +} + type VmConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1490,6 +1506,345 @@ func (x *GuacCreds) GetPassword() string { return "" } +type ExerciseConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Tag string `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"` + Static bool `protobuf:"varint,2,opt,name=static,proto3" json:"static,omitempty"` + Instance []*ExerciseInstanceConfig `protobuf:"bytes,3,rep,name=instance,proto3" json:"instance,omitempty"` +} + +func (x *ExerciseConfig) Reset() { + *x = ExerciseConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_agent_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExerciseConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExerciseConfig) ProtoMessage() {} + +func (x *ExerciseConfig) ProtoReflect() protoreflect.Message { + mi := &file_agent_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExerciseConfig.ProtoReflect.Descriptor instead. +func (*ExerciseConfig) Descriptor() ([]byte, []int) { + return file_agent_proto_rawDescGZIP(), []int{25} +} + +func (x *ExerciseConfig) GetTag() string { + if x != nil { + return x.Tag + } + return "" +} + +func (x *ExerciseConfig) GetStatic() bool { + if x != nil { + return x.Static + } + return false +} + +func (x *ExerciseConfig) GetInstance() []*ExerciseInstanceConfig { + if x != nil { + return x.Instance + } + return nil +} + +type ExerciseInstanceConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Image string `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"` + Memory uint32 `protobuf:"varint,2,opt,name=memory,proto3" json:"memory,omitempty"` + Cpu float32 `protobuf:"fixed32,3,opt,name=cpu,proto3" json:"cpu,omitempty"` + Envs []*EnvVarConfig `protobuf:"bytes,4,rep,name=envs,proto3" json:"envs,omitempty"` + Children []*ChildrenChalConfig `protobuf:"bytes,5,rep,name=children,proto3" json:"children,omitempty"` + Records []*RecordConfig `protobuf:"bytes,6,rep,name=records,proto3" json:"records,omitempty"` +} + +func (x *ExerciseInstanceConfig) Reset() { + *x = ExerciseInstanceConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_agent_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExerciseInstanceConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExerciseInstanceConfig) ProtoMessage() {} + +func (x *ExerciseInstanceConfig) ProtoReflect() protoreflect.Message { + mi := &file_agent_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExerciseInstanceConfig.ProtoReflect.Descriptor instead. +func (*ExerciseInstanceConfig) Descriptor() ([]byte, []int) { + return file_agent_proto_rawDescGZIP(), []int{26} +} + +func (x *ExerciseInstanceConfig) GetImage() string { + if x != nil { + return x.Image + } + return "" +} + +func (x *ExerciseInstanceConfig) GetMemory() uint32 { + if x != nil { + return x.Memory + } + return 0 +} + +func (x *ExerciseInstanceConfig) GetCpu() float32 { + if x != nil { + return x.Cpu + } + return 0 +} + +func (x *ExerciseInstanceConfig) GetEnvs() []*EnvVarConfig { + if x != nil { + return x.Envs + } + return nil +} + +func (x *ExerciseInstanceConfig) GetChildren() []*ChildrenChalConfig { + if x != nil { + return x.Children + } + return nil +} + +func (x *ExerciseInstanceConfig) GetRecords() []*RecordConfig { + if x != nil { + return x.Records + } + return nil +} + +type EnvVarConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *EnvVarConfig) Reset() { + *x = EnvVarConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_agent_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnvVarConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnvVarConfig) ProtoMessage() {} + +func (x *EnvVarConfig) ProtoReflect() protoreflect.Message { + mi := &file_agent_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EnvVarConfig.ProtoReflect.Descriptor instead. +func (*EnvVarConfig) Descriptor() ([]byte, []int) { + return file_agent_proto_rawDescGZIP(), []int{27} +} + +func (x *EnvVarConfig) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *EnvVarConfig) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +type ChildrenChalConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Tag string `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + EnvFlag string `protobuf:"bytes,3,opt,name=env_flag,json=envFlag,proto3" json:"env_flag,omitempty"` + Static string `protobuf:"bytes,4,opt,name=static,proto3" json:"static,omitempty"` +} + +func (x *ChildrenChalConfig) Reset() { + *x = ChildrenChalConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_agent_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChildrenChalConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChildrenChalConfig) ProtoMessage() {} + +func (x *ChildrenChalConfig) ProtoReflect() protoreflect.Message { + mi := &file_agent_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChildrenChalConfig.ProtoReflect.Descriptor instead. +func (*ChildrenChalConfig) Descriptor() ([]byte, []int) { + return file_agent_proto_rawDescGZIP(), []int{28} +} + +func (x *ChildrenChalConfig) GetTag() string { + if x != nil { + return x.Tag + } + return "" +} + +func (x *ChildrenChalConfig) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ChildrenChalConfig) GetEnvFlag() string { + if x != nil { + return x.EnvFlag + } + return "" +} + +func (x *ChildrenChalConfig) GetStatic() string { + if x != nil { + return x.Static + } + return "" +} + +type RecordConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Data string `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` +} + +func (x *RecordConfig) Reset() { + *x = RecordConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_agent_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RecordConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RecordConfig) ProtoMessage() {} + +func (x *RecordConfig) ProtoReflect() protoreflect.Message { + mi := &file_agent_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RecordConfig.ProtoReflect.Descriptor instead. +func (*RecordConfig) Descriptor() ([]byte, []int) { + return file_agent_proto_rawDescGZIP(), []int{29} +} + +func (x *RecordConfig) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *RecordConfig) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *RecordConfig) GetData() string { + if x != nil { + return x.Data + } + return "" +} + var File_agent_proto protoreflect.FileDescriptor var file_agent_proto_rawDesc = []byte{ @@ -1549,8 +1904,8 @@ var file_agent_proto_rawDesc = []byte{ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x65, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0c, 0x6d, 0x65, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x22, 0xc4, - 0x01, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x45, 0x6e, 0x76, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x52, 0x0c, 0x6d, 0x65, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x22, 0x85, + 0x02, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x45, 0x6e, 0x76, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, @@ -1562,145 +1917,191 @@ var file_agent_proto_rawDesc = []byte{ 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x74, 0x65, 0x61, - 0x6d, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x2d, 0x0a, 0x0f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x45, 0x6e, - 0x76, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x54, 0x61, 0x67, 0x22, 0x44, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, - 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x54, 0x61, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x56, 0x50, 0x4e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x56, 0x50, 0x4e, 0x22, 0x2e, 0x0a, 0x14, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x56, 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x54, 0x61, 0x67, 0x22, 0x31, 0x0a, 0x15, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x56, 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, 0x29, 0x0a, - 0x0f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x4c, 0x61, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x6c, 0x61, 0x62, 0x54, 0x61, 0x67, 0x22, 0x7b, 0x0a, 0x0f, 0x45, 0x78, 0x65, 0x72, - 0x63, 0x69, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6c, - 0x61, 0x62, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, - 0x54, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x76, 0x54, 0x61, 0x67, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x76, 0x54, 0x61, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x65, - 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, - 0x65, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x65, - 0x72, 0x63, 0x69, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x65, - 0x72, 0x63, 0x69, 0x73, 0x65, 0x22, 0x4e, 0x0a, 0x08, 0x56, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x6f, 0x72, - 0x79, 0x4d, 0x42, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x6f, 0x72, - 0x79, 0x4d, 0x42, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x70, 0x75, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, - 0x52, 0x03, 0x63, 0x70, 0x75, 0x22, 0x2a, 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x22, 0xc4, 0x01, 0x0a, 0x03, 0x4c, 0x61, 0x62, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x67, 0x12, 0x2d, 0x0a, 0x09, 0x65, 0x78, 0x65, 0x72, 0x63, - 0x69, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x67, 0x65, - 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x52, 0x09, 0x65, 0x78, 0x65, - 0x72, 0x63, 0x69, 0x73, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x56, 0x50, 0x4e, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x56, 0x50, 0x4e, 0x12, 0x2e, 0x0a, 0x09, - 0x67, 0x75, 0x61, 0x63, 0x43, 0x72, 0x65, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x10, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x75, 0x61, 0x63, 0x43, 0x72, 0x65, 0x64, - 0x73, 0x52, 0x09, 0x67, 0x75, 0x61, 0x63, 0x43, 0x72, 0x65, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, - 0x76, 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, - 0x76, 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x73, 0x22, 0x86, 0x01, 0x0a, 0x08, 0x45, 0x78, 0x65, + 0x6d, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x3f, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x65, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, 0x2d, 0x0a, 0x0f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x45, + 0x6e, 0x76, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x61, 0x67, 0x22, 0x44, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, + 0x61, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x61, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x56, 0x50, 0x4e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x56, 0x50, 0x4e, 0x22, 0x2e, 0x0a, 0x14, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x54, 0x61, 0x67, 0x22, 0x31, 0x0a, 0x15, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, 0x29, + 0x0a, 0x0f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x4c, 0x61, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x54, 0x61, 0x67, 0x22, 0xbc, 0x01, 0x0a, 0x0f, 0x45, 0x78, + 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, + 0x06, 0x6c, 0x61, 0x62, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, + 0x61, 0x62, 0x54, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x76, 0x54, 0x61, 0x67, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x76, 0x54, 0x61, 0x67, 0x12, 0x1c, 0x0a, + 0x09, 0x65, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x09, 0x65, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x65, + 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, + 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x72, 0x63, + 0x69, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x65, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, 0x4e, 0x0a, 0x08, 0x56, 0x6d, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, + 0x6d, 0x6f, 0x72, 0x79, 0x4d, 0x42, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x65, + 0x6d, 0x6f, 0x72, 0x79, 0x4d, 0x42, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x70, 0x75, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x01, 0x52, 0x03, 0x63, 0x70, 0x75, 0x22, 0x2a, 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x22, 0xc4, 0x01, 0x0a, 0x03, 0x4c, 0x61, 0x62, 0x12, 0x10, 0x0a, 0x03, + 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x1a, + 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x67, 0x12, 0x2d, 0x0a, 0x09, 0x65, 0x78, + 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x52, 0x09, + 0x65, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x56, + 0x50, 0x4e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x56, 0x50, 0x4e, 0x12, + 0x2e, 0x0a, 0x09, 0x67, 0x75, 0x61, 0x63, 0x43, 0x72, 0x65, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x75, 0x61, 0x63, 0x43, + 0x72, 0x65, 0x64, 0x73, 0x52, 0x09, 0x67, 0x75, 0x61, 0x63, 0x43, 0x72, 0x65, 0x64, 0x73, 0x12, + 0x1a, 0x0a, 0x08, 0x76, 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x08, 0x76, 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x73, 0x22, 0x86, 0x01, 0x0a, 0x08, + 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x3c, 0x0a, 0x0e, 0x63, 0x68, + 0x69, 0x6c, 0x64, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x68, 0x69, 0x6c, 0x64, + 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x52, 0x0e, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x45, + 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x6d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x08, 0x6d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x73, 0x22, 0x35, 0x0a, 0x0d, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x3c, 0x0a, 0x0e, 0x63, 0x68, 0x69, 0x6c, 0x64, - 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x14, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x45, 0x78, 0x65, - 0x72, 0x63, 0x69, 0x73, 0x65, 0x52, 0x0e, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x45, 0x78, 0x65, 0x72, - 0x63, 0x69, 0x73, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, - 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x08, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x73, 0x22, 0x35, 0x0a, 0x0d, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, - 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x74, 0x61, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x22, 0x73, 0x0a, 0x07, 0x4d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, - 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x43, 0x0a, - 0x09, 0x47, 0x75, 0x61, 0x63, 0x43, 0x72, 0x65, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, - 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, - 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, - 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, - 0x72, 0x64, 0x32, 0xab, 0x08, 0x0a, 0x05, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x04, - 0x49, 0x6e, 0x69, 0x74, 0x12, 0x12, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x69, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, + 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x22, 0x73, 0x0a, 0x07, 0x4d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, + 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, + 0x6d, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x22, 0x43, 0x0a, 0x09, 0x47, 0x75, 0x61, 0x63, 0x43, 0x72, 0x65, 0x64, 0x73, 0x12, 0x1a, 0x0a, + 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, + 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, + 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x75, 0x0a, 0x0e, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x63, 0x12, 0x39, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x72, + 0x63, 0x69, 0x73, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xe7, 0x01, 0x0a, + 0x16, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, + 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x70, 0x75, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x03, 0x63, 0x70, 0x75, 0x12, 0x27, 0x0a, 0x04, 0x65, 0x6e, 0x76, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x6e, + 0x76, 0x56, 0x61, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x04, 0x65, 0x6e, 0x76, 0x73, + 0x12, 0x35, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x68, 0x69, 0x6c, 0x64, + 0x72, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x08, 0x63, + 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x2d, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, + 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x72, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x38, 0x0a, 0x0c, 0x45, 0x6e, 0x76, 0x56, 0x61, 0x72, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x22, 0x6d, 0x0a, 0x12, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6c, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, + 0x65, 0x6e, 0x76, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x65, 0x6e, 0x76, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x22, + 0x4a, 0x0a, 0x0c, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x32, 0xab, 0x08, 0x0a, 0x05, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x04, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x12, 0x2e, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x11, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, + 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x45, 0x6e, 0x76, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x43, 0x0a, 0x10, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, + 0x73, 0x65, 0x45, 0x6e, 0x76, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, + 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, + 0x61, 0x62, 0x46, 0x6f, 0x72, 0x45, 0x6e, 0x76, 0x12, 0x17, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x13, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x56, 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x46, 0x6f, 0x72, 0x4c, 0x61, + 0x62, 0x12, 0x1b, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x56, 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, + 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x70, 0x6e, + 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3b, + 0x0a, 0x08, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x4c, 0x61, 0x62, 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x4c, 0x61, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x11, 0x41, + 0x64, 0x64, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x73, 0x54, 0x6f, 0x45, 0x6e, 0x76, + 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x44, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x76, 0x69, 0x72, - 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x45, 0x6e, 0x76, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, + 0x00, 0x12, 0x44, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, + 0x73, 0x54, 0x6f, 0x4c, 0x61, 0x62, 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x45, + 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x10, 0x43, 0x6c, 0x6f, 0x73, 0x65, - 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x2e, 0x61, 0x67, - 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x45, 0x6e, 0x76, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0f, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x46, 0x6f, 0x72, 0x45, 0x6e, 0x76, 0x12, - 0x17, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, - 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, - 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x52, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x70, 0x6e, 0x43, 0x6f, - 0x6e, 0x66, 0x46, 0x6f, 0x72, 0x4c, 0x61, 0x62, 0x12, 0x1b, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x56, 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x08, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x4c, 0x61, - 0x62, 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x4c, - 0x61, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, - 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x44, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, - 0x65, 0x73, 0x54, 0x6f, 0x45, 0x6e, 0x76, 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, - 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x45, - 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x73, 0x54, 0x6f, 0x4c, 0x61, 0x62, 0x12, 0x16, 0x2e, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x65, 0x74, + 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x49, 0x6e, 0x4c, 0x61, 0x62, 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, - 0x0a, 0x12, 0x52, 0x65, 0x73, 0x65, 0x74, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x49, + 0x0a, 0x12, 0x53, 0x74, 0x61, 0x72, 0x74, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x49, 0x6e, 0x4c, 0x61, 0x62, 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x12, 0x53, 0x74, 0x61, 0x72, 0x74, 0x45, 0x78, - 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x49, 0x6e, 0x4c, 0x61, 0x62, 0x12, 0x16, 0x2e, 0x61, 0x67, - 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x11, - 0x53, 0x74, 0x6f, 0x70, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x49, 0x6e, 0x4c, 0x61, - 0x62, 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, - 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, - 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x31, 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x2e, 0x61, 0x67, 0x65, - 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, - 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x0d, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x12, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x50, - 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x67, 0x65, - 0x6e, 0x74, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x37, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x4c, - 0x61, 0x62, 0x12, 0x14, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, - 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, - 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x42, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x49, 0x6e, 0x4c, - 0x61, 0x62, 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x6f, - 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x67, 0x65, - 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x65, 0x74, 0x56, 0x6d, - 0x49, 0x6e, 0x4c, 0x61, 0x62, 0x12, 0x10, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x56, 0x6d, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, - 0x61, 0x75, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2d, 0x73, 0x65, 0x63, 0x75, 0x72, - 0x69, 0x74, 0x79, 0x2f, 0x68, 0x61, 0x61, 0x75, 0x6b, 0x69, 0x6e, 0x73, 0x2d, 0x61, 0x67, 0x65, - 0x6e, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x11, 0x53, 0x74, 0x6f, 0x70, 0x45, 0x78, 0x65, + 0x72, 0x63, 0x69, 0x73, 0x65, 0x49, 0x6e, 0x4c, 0x61, 0x62, 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x31, 0x0a, 0x04, 0x50, + 0x69, 0x6e, 0x67, 0x12, 0x12, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x6e, 0x67, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, + 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, + 0x0a, 0x0d, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, + 0x12, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, + 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, + 0x01, 0x12, 0x37, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x12, 0x14, 0x2e, 0x61, 0x67, + 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0d, 0x47, 0x65, + 0x74, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x49, 0x6e, 0x4c, 0x61, 0x62, 0x12, 0x16, 0x2e, 0x61, 0x67, + 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x48, + 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, + 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x65, 0x74, 0x56, 0x6d, 0x49, 0x6e, 0x4c, 0x61, 0x62, 0x12, 0x10, + 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x56, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x61, 0x75, 0x2d, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x2d, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x68, 0x61, 0x61, + 0x75, 0x6b, 0x69, 0x6e, 0x73, 0x2d, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1715,80 +2116,91 @@ func file_agent_proto_rawDescGZIP() []byte { return file_agent_proto_rawDescData } -var file_agent_proto_msgTypes = make([]protoimpl.MessageInfo, 25) +var file_agent_proto_msgTypes = make([]protoimpl.MessageInfo, 30) var file_agent_proto_goTypes = []interface{}{ - (*Empty)(nil), // 0: agent.Empty - (*VmRequest)(nil), // 1: agent.VmRequest - (*GetLabRequest)(nil), // 2: agent.GetLabRequest - (*GetLabResponse)(nil), // 3: agent.GetLabResponse - (*GetHostsRequest)(nil), // 4: agent.GetHostsRequest - (*GetHostsResponse)(nil), // 5: agent.GetHostsResponse - (*MonitorResponse)(nil), // 6: agent.MonitorResponse - (*Resources)(nil), // 7: agent.Resources - (*InitRequest)(nil), // 8: agent.InitRequest - (*PingRequest)(nil), // 9: agent.PingRequest - (*PingResponse)(nil), // 10: agent.PingResponse - (*CreatEnvRequest)(nil), // 11: agent.CreatEnvRequest - (*CloseEnvRequest)(nil), // 12: agent.CloseEnvRequest - (*CreateLabRequest)(nil), // 13: agent.CreateLabRequest - (*CreateVpnConfRequest)(nil), // 14: agent.CreateVpnConfRequest - (*CreateVpnConfResponse)(nil), // 15: agent.CreateVpnConfResponse - (*CloseLabRequest)(nil), // 16: agent.CloseLabRequest - (*ExerciseRequest)(nil), // 17: agent.ExerciseRequest - (*VmConfig)(nil), // 18: agent.VmConfig - (*StatusResponse)(nil), // 19: agent.StatusResponse - (*Lab)(nil), // 20: agent.Lab - (*Exercise)(nil), // 21: agent.Exercise - (*ChildExercise)(nil), // 22: agent.ChildExercise - (*Machine)(nil), // 23: agent.Machine - (*GuacCreds)(nil), // 24: agent.GuacCreds + (*Empty)(nil), // 0: agent.Empty + (*VmRequest)(nil), // 1: agent.VmRequest + (*GetLabRequest)(nil), // 2: agent.GetLabRequest + (*GetLabResponse)(nil), // 3: agent.GetLabResponse + (*GetHostsRequest)(nil), // 4: agent.GetHostsRequest + (*GetHostsResponse)(nil), // 5: agent.GetHostsResponse + (*MonitorResponse)(nil), // 6: agent.MonitorResponse + (*Resources)(nil), // 7: agent.Resources + (*InitRequest)(nil), // 8: agent.InitRequest + (*PingRequest)(nil), // 9: agent.PingRequest + (*PingResponse)(nil), // 10: agent.PingResponse + (*CreatEnvRequest)(nil), // 11: agent.CreatEnvRequest + (*CloseEnvRequest)(nil), // 12: agent.CloseEnvRequest + (*CreateLabRequest)(nil), // 13: agent.CreateLabRequest + (*CreateVpnConfRequest)(nil), // 14: agent.CreateVpnConfRequest + (*CreateVpnConfResponse)(nil), // 15: agent.CreateVpnConfResponse + (*CloseLabRequest)(nil), // 16: agent.CloseLabRequest + (*ExerciseRequest)(nil), // 17: agent.ExerciseRequest + (*VmConfig)(nil), // 18: agent.VmConfig + (*StatusResponse)(nil), // 19: agent.StatusResponse + (*Lab)(nil), // 20: agent.Lab + (*Exercise)(nil), // 21: agent.Exercise + (*ChildExercise)(nil), // 22: agent.ChildExercise + (*Machine)(nil), // 23: agent.Machine + (*GuacCreds)(nil), // 24: agent.GuacCreds + (*ExerciseConfig)(nil), // 25: agent.ExerciseConfig + (*ExerciseInstanceConfig)(nil), // 26: agent.ExerciseInstanceConfig + (*EnvVarConfig)(nil), // 27: agent.EnvVarConfig + (*ChildrenChalConfig)(nil), // 28: agent.ChildrenChalConfig + (*RecordConfig)(nil), // 29: agent.RecordConfig } var file_agent_proto_depIdxs = []int32{ 20, // 0: agent.GetLabResponse.lab:type_name -> agent.Lab 20, // 1: agent.MonitorResponse.newLabs:type_name -> agent.Lab 7, // 2: agent.MonitorResponse.resources:type_name -> agent.Resources 18, // 3: agent.CreatEnvRequest.vm:type_name -> agent.VmConfig - 21, // 4: agent.Lab.exercises:type_name -> agent.Exercise - 24, // 5: agent.Lab.guacCreds:type_name -> agent.GuacCreds - 22, // 6: agent.Exercise.childExercises:type_name -> agent.ChildExercise - 23, // 7: agent.Exercise.machines:type_name -> agent.Machine - 8, // 8: agent.Agent.Init:input_type -> agent.InitRequest - 11, // 9: agent.Agent.CreateEnvironment:input_type -> agent.CreatEnvRequest - 12, // 10: agent.Agent.CloseEnvironment:input_type -> agent.CloseEnvRequest - 13, // 11: agent.Agent.CreateLabForEnv:input_type -> agent.CreateLabRequest - 14, // 12: agent.Agent.CreateVpnConfForLab:input_type -> agent.CreateVpnConfRequest - 16, // 13: agent.Agent.CloseLab:input_type -> agent.CloseLabRequest - 17, // 14: agent.Agent.AddExercisesToEnv:input_type -> agent.ExerciseRequest - 17, // 15: agent.Agent.AddExercisesToLab:input_type -> agent.ExerciseRequest - 17, // 16: agent.Agent.ResetExerciseInLab:input_type -> agent.ExerciseRequest - 17, // 17: agent.Agent.StartExerciseInLab:input_type -> agent.ExerciseRequest - 17, // 18: agent.Agent.StopExerciseInLab:input_type -> agent.ExerciseRequest - 9, // 19: agent.Agent.Ping:input_type -> agent.PingRequest - 9, // 20: agent.Agent.MonitorStream:input_type -> agent.PingRequest - 2, // 21: agent.Agent.GetLab:input_type -> agent.GetLabRequest - 4, // 22: agent.Agent.GetHostsInLab:input_type -> agent.GetHostsRequest - 1, // 23: agent.Agent.ResetVmInLab:input_type -> agent.VmRequest - 19, // 24: agent.Agent.Init:output_type -> agent.StatusResponse - 19, // 25: agent.Agent.CreateEnvironment:output_type -> agent.StatusResponse - 19, // 26: agent.Agent.CloseEnvironment:output_type -> agent.StatusResponse - 19, // 27: agent.Agent.CreateLabForEnv:output_type -> agent.StatusResponse - 15, // 28: agent.Agent.CreateVpnConfForLab:output_type -> agent.CreateVpnConfResponse - 19, // 29: agent.Agent.CloseLab:output_type -> agent.StatusResponse - 19, // 30: agent.Agent.AddExercisesToEnv:output_type -> agent.StatusResponse - 19, // 31: agent.Agent.AddExercisesToLab:output_type -> agent.StatusResponse - 19, // 32: agent.Agent.ResetExerciseInLab:output_type -> agent.StatusResponse - 19, // 33: agent.Agent.StartExerciseInLab:output_type -> agent.StatusResponse - 19, // 34: agent.Agent.StopExerciseInLab:output_type -> agent.StatusResponse - 10, // 35: agent.Agent.Ping:output_type -> agent.PingResponse - 6, // 36: agent.Agent.MonitorStream:output_type -> agent.MonitorResponse - 3, // 37: agent.Agent.GetLab:output_type -> agent.GetLabResponse - 5, // 38: agent.Agent.GetHostsInLab:output_type -> agent.GetHostsResponse - 19, // 39: agent.Agent.ResetVmInLab:output_type -> agent.StatusResponse - 24, // [24:40] is the sub-list for method output_type - 8, // [8:24] is the sub-list for method input_type - 8, // [8:8] is the sub-list for extension type_name - 8, // [8:8] is the sub-list for extension extendee - 0, // [0:8] is the sub-list for field type_name + 25, // 4: agent.CreatEnvRequest.exerciseConfigs:type_name -> agent.ExerciseConfig + 25, // 5: agent.ExerciseRequest.exerciseConfigs:type_name -> agent.ExerciseConfig + 21, // 6: agent.Lab.exercises:type_name -> agent.Exercise + 24, // 7: agent.Lab.guacCreds:type_name -> agent.GuacCreds + 22, // 8: agent.Exercise.childExercises:type_name -> agent.ChildExercise + 23, // 9: agent.Exercise.machines:type_name -> agent.Machine + 26, // 10: agent.ExerciseConfig.instance:type_name -> agent.ExerciseInstanceConfig + 27, // 11: agent.ExerciseInstanceConfig.envs:type_name -> agent.EnvVarConfig + 28, // 12: agent.ExerciseInstanceConfig.children:type_name -> agent.ChildrenChalConfig + 29, // 13: agent.ExerciseInstanceConfig.records:type_name -> agent.RecordConfig + 8, // 14: agent.Agent.Init:input_type -> agent.InitRequest + 11, // 15: agent.Agent.CreateEnvironment:input_type -> agent.CreatEnvRequest + 12, // 16: agent.Agent.CloseEnvironment:input_type -> agent.CloseEnvRequest + 13, // 17: agent.Agent.CreateLabForEnv:input_type -> agent.CreateLabRequest + 14, // 18: agent.Agent.CreateVpnConfForLab:input_type -> agent.CreateVpnConfRequest + 16, // 19: agent.Agent.CloseLab:input_type -> agent.CloseLabRequest + 17, // 20: agent.Agent.AddExercisesToEnv:input_type -> agent.ExerciseRequest + 17, // 21: agent.Agent.AddExercisesToLab:input_type -> agent.ExerciseRequest + 17, // 22: agent.Agent.ResetExerciseInLab:input_type -> agent.ExerciseRequest + 17, // 23: agent.Agent.StartExerciseInLab:input_type -> agent.ExerciseRequest + 17, // 24: agent.Agent.StopExerciseInLab:input_type -> agent.ExerciseRequest + 9, // 25: agent.Agent.Ping:input_type -> agent.PingRequest + 9, // 26: agent.Agent.MonitorStream:input_type -> agent.PingRequest + 2, // 27: agent.Agent.GetLab:input_type -> agent.GetLabRequest + 4, // 28: agent.Agent.GetHostsInLab:input_type -> agent.GetHostsRequest + 1, // 29: agent.Agent.ResetVmInLab:input_type -> agent.VmRequest + 19, // 30: agent.Agent.Init:output_type -> agent.StatusResponse + 19, // 31: agent.Agent.CreateEnvironment:output_type -> agent.StatusResponse + 19, // 32: agent.Agent.CloseEnvironment:output_type -> agent.StatusResponse + 19, // 33: agent.Agent.CreateLabForEnv:output_type -> agent.StatusResponse + 15, // 34: agent.Agent.CreateVpnConfForLab:output_type -> agent.CreateVpnConfResponse + 19, // 35: agent.Agent.CloseLab:output_type -> agent.StatusResponse + 19, // 36: agent.Agent.AddExercisesToEnv:output_type -> agent.StatusResponse + 19, // 37: agent.Agent.AddExercisesToLab:output_type -> agent.StatusResponse + 19, // 38: agent.Agent.ResetExerciseInLab:output_type -> agent.StatusResponse + 19, // 39: agent.Agent.StartExerciseInLab:output_type -> agent.StatusResponse + 19, // 40: agent.Agent.StopExerciseInLab:output_type -> agent.StatusResponse + 10, // 41: agent.Agent.Ping:output_type -> agent.PingResponse + 6, // 42: agent.Agent.MonitorStream:output_type -> agent.MonitorResponse + 3, // 43: agent.Agent.GetLab:output_type -> agent.GetLabResponse + 5, // 44: agent.Agent.GetHostsInLab:output_type -> agent.GetHostsResponse + 19, // 45: agent.Agent.ResetVmInLab:output_type -> agent.StatusResponse + 30, // [30:46] is the sub-list for method output_type + 14, // [14:30] is the sub-list for method input_type + 14, // [14:14] is the sub-list for extension type_name + 14, // [14:14] is the sub-list for extension extendee + 0, // [0:14] is the sub-list for field type_name } func init() { file_agent_proto_init() } @@ -2097,6 +2509,66 @@ func file_agent_proto_init() { return nil } } + file_agent_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExerciseConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_agent_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExerciseInstanceConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_agent_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnvVarConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_agent_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChildrenChalConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_agent_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RecordConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -2104,7 +2576,7 @@ func file_agent_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_agent_proto_rawDesc, NumEnums: 0, - NumMessages: 25, + NumMessages: 30, NumExtensions: 0, NumServices: 1, }, diff --git a/pkg/proto/agent.proto b/pkg/proto/agent.proto index 4f6b4fe..c230fb5 100644 --- a/pkg/proto/agent.proto +++ b/pkg/proto/agent.proto @@ -85,6 +85,7 @@ message CreatEnvRequest { int32 initialLabs = 4; repeated string exercises = 5; int32 teamSize = 6; + repeated ExerciseConfig exerciseConfigs = 7; } message CloseEnvRequest { @@ -113,6 +114,7 @@ message ExerciseRequest { string envTag = 2; repeated string exercises = 3; string exercise = 4; + repeated ExerciseConfig exerciseConfigs = 5; } message VmConfig { @@ -156,4 +158,37 @@ message Machine { message GuacCreds { string username = 1; string password = 2; +} + +message ExerciseConfig { + string tag = 1; + bool static = 2; + repeated ExerciseInstanceConfig instance = 3; +} + +message ExerciseInstanceConfig { + string image = 1; + uint32 memory = 2; + float cpu = 3; + repeated EnvVarConfig envs = 4; + repeated ChildrenChalConfig children = 5; + repeated RecordConfig records = 6; +} + +message EnvVarConfig { + string name = 1; + string value = 2; +} + +message ChildrenChalConfig { + string tag = 1; + string name = 2; + string env_flag = 3; + string static = 4; +} + +message RecordConfig { + string type = 1; + string name = 2; + string data = 3; } \ No newline at end of file diff --git a/pkg/proto/agent_grpc.pb.go b/pkg/proto/agent_grpc.pb.go index 05f575b..84f5c5e 100644 --- a/pkg/proto/agent_grpc.pb.go +++ b/pkg/proto/agent_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.2.0 -// - protoc v3.14.0 +// - protoc v3.6.1 // source: agent.proto package proto From b9bb3d6518b5290bbd242cda4bb43624e6d26dbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikkel=20H=C3=B8st=20Christiansen?= Date: Tue, 30 May 2023 21:02:04 +0200 Subject: [PATCH 3/7] Fixed envFlag not being passed correctly --- pkg/proto/agent.pb.go | 156 +++++++++++++++++++++--------------------- pkg/proto/agent.proto | 2 +- 2 files changed, 79 insertions(+), 79 deletions(-) diff --git a/pkg/proto/agent.pb.go b/pkg/proto/agent.pb.go index 9ddec75..14fd684 100644 --- a/pkg/proto/agent.pb.go +++ b/pkg/proto/agent.pb.go @@ -1718,7 +1718,7 @@ type ChildrenChalConfig struct { Tag string `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - EnvFlag string `protobuf:"bytes,3,opt,name=env_flag,json=envFlag,proto3" json:"env_flag,omitempty"` + EnvFlag string `protobuf:"bytes,3,opt,name=envFlag,proto3" json:"envFlag,omitempty"` Static string `protobuf:"bytes,4,opt,name=static,proto3" json:"static,omitempty"` } @@ -2019,89 +2019,89 @@ var file_agent_proto_rawDesc = []byte{ 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x22, 0x6d, 0x0a, 0x12, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6c, + 0x22, 0x6c, 0x0a, 0x12, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, - 0x65, 0x6e, 0x76, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x65, 0x6e, 0x76, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x69, - 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x22, - 0x4a, 0x0a, 0x0c, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x32, 0xab, 0x08, 0x0a, 0x05, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x04, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x12, 0x2e, - 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x65, 0x6e, 0x76, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, + 0x6e, 0x76, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x22, 0x4a, + 0x0a, 0x0c, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, + 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x32, 0xab, 0x08, 0x0a, 0x05, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x04, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x12, 0x2e, 0x61, + 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x11, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, + 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x45, 0x6e, 0x76, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x43, 0x0a, 0x10, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x73, + 0x65, 0x45, 0x6e, 0x76, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, + 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, + 0x62, 0x46, 0x6f, 0x72, 0x45, 0x6e, 0x76, 0x12, 0x17, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x13, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x56, 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x46, 0x6f, 0x72, 0x4c, 0x61, 0x62, + 0x12, 0x1b, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, + 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x70, 0x6e, 0x43, + 0x6f, 0x6e, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3b, 0x0a, + 0x08, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x4c, 0x61, 0x62, 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, + 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x4c, 0x61, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x11, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, - 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x45, 0x6e, 0x76, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x11, 0x41, 0x64, + 0x64, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x73, 0x54, 0x6f, 0x45, 0x6e, 0x76, 0x12, + 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x43, 0x0a, 0x10, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, - 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, - 0x73, 0x65, 0x45, 0x6e, 0x76, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, - 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, - 0x61, 0x62, 0x46, 0x6f, 0x72, 0x45, 0x6e, 0x76, 0x12, 0x17, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x12, 0x44, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x73, + 0x54, 0x6f, 0x4c, 0x61, 0x62, 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, + 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x65, 0x74, 0x45, + 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x49, 0x6e, 0x4c, 0x61, 0x62, 0x12, 0x16, 0x2e, 0x61, + 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, + 0x12, 0x53, 0x74, 0x61, 0x72, 0x74, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x49, 0x6e, + 0x4c, 0x61, 0x62, 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x72, + 0x63, 0x69, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, + 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x11, 0x53, 0x74, 0x6f, 0x70, 0x45, 0x78, 0x65, 0x72, + 0x63, 0x69, 0x73, 0x65, 0x49, 0x6e, 0x4c, 0x61, 0x62, 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, + 0x74, 0x2e, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x13, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x56, 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x46, 0x6f, 0x72, 0x4c, 0x61, - 0x62, 0x12, 0x1b, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x56, 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, - 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x70, 0x6e, - 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3b, - 0x0a, 0x08, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x4c, 0x61, 0x62, 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, - 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x4c, 0x61, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x11, 0x41, - 0x64, 0x64, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x73, 0x54, 0x6f, 0x45, 0x6e, 0x76, - 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, - 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x44, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, - 0x73, 0x54, 0x6f, 0x4c, 0x61, 0x62, 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x45, - 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, - 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x65, 0x74, - 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x49, 0x6e, 0x4c, 0x61, 0x62, 0x12, 0x16, 0x2e, - 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, - 0x0a, 0x12, 0x53, 0x74, 0x61, 0x72, 0x74, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x49, - 0x6e, 0x4c, 0x61, 0x62, 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, - 0x72, 0x63, 0x69, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, - 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x11, 0x53, 0x74, 0x6f, 0x70, 0x45, 0x78, 0x65, - 0x72, 0x63, 0x69, 0x73, 0x65, 0x49, 0x6e, 0x4c, 0x61, 0x62, 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, - 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x31, 0x0a, 0x04, 0x50, - 0x69, 0x6e, 0x67, 0x12, 0x12, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x6e, 0x67, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, - 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, - 0x0a, 0x0d, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, - 0x12, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, - 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, - 0x01, 0x12, 0x37, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x12, 0x14, 0x2e, 0x61, 0x67, - 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0d, 0x47, 0x65, - 0x74, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x49, 0x6e, 0x4c, 0x61, 0x62, 0x12, 0x16, 0x2e, 0x61, 0x67, - 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x48, - 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, - 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x65, 0x74, 0x56, 0x6d, 0x49, 0x6e, 0x4c, 0x61, 0x62, 0x12, 0x10, - 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x56, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x61, 0x75, 0x2d, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x2d, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x68, 0x61, 0x61, - 0x75, 0x6b, 0x69, 0x6e, 0x73, 0x2d, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x31, 0x0a, 0x04, 0x50, 0x69, + 0x6e, 0x67, 0x12, 0x12, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x50, + 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, + 0x0d, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x12, + 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, + 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, + 0x12, 0x37, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x12, 0x14, 0x2e, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0d, 0x47, 0x65, 0x74, + 0x48, 0x6f, 0x73, 0x74, 0x73, 0x49, 0x6e, 0x4c, 0x61, 0x62, 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x6f, + 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, + 0x0c, 0x52, 0x65, 0x73, 0x65, 0x74, 0x56, 0x6d, 0x49, 0x6e, 0x4c, 0x61, 0x62, 0x12, 0x10, 0x2e, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x56, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x61, 0x75, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x2d, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x68, 0x61, 0x61, 0x75, + 0x6b, 0x69, 0x6e, 0x73, 0x2d, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/pkg/proto/agent.proto b/pkg/proto/agent.proto index c230fb5..9191fca 100644 --- a/pkg/proto/agent.proto +++ b/pkg/proto/agent.proto @@ -183,7 +183,7 @@ message EnvVarConfig { message ChildrenChalConfig { string tag = 1; string name = 2; - string env_flag = 3; + string envFlag = 3; string static = 4; } From f3f21800d01829b8d98e9c6e22c8492b21d3cd11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikkel=20H=C3=B8st=20Christiansen?= Date: Tue, 30 May 2023 21:02:36 +0200 Subject: [PATCH 4/7] Removed unnecessary logging --- internal/environment/lab/exercise/exercise.go | 1 - 1 file changed, 1 deletion(-) diff --git a/internal/environment/lab/exercise/exercise.go b/internal/environment/lab/exercise/exercise.go index 7105383..1401949 100644 --- a/internal/environment/lab/exercise/exercise.go +++ b/internal/environment/lab/exercise/exercise.go @@ -214,7 +214,6 @@ func (e ExerciseConfig) CreateContainerOpts() []ContainerOptions { // flag is not static value = NewFlag().String() if flag.EnvVar != "" { - log.Debug().Str("envVar", flag.EnvVar).Msg("got env var for dynamic flag") envVars[flag.EnvVar] = value } } From 817c0dc6c3d032257b51a5381ce558efb1c29657 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikkel=20H=C3=B8st=20Christiansen?= Date: Tue, 30 May 2023 21:23:38 +0200 Subject: [PATCH 5/7] Init call no longer necessary --- pkg/proto/agent.pb.go | 779 ++++++++++++++++--------------------- pkg/proto/agent.proto | 8 - pkg/proto/agent_grpc.pb.go | 36 -- 3 files changed, 341 insertions(+), 482 deletions(-) diff --git a/pkg/proto/agent.pb.go b/pkg/proto/agent.pb.go index 14fd684..3313d95 100644 --- a/pkg/proto/agent.pb.go +++ b/pkg/proto/agent.pb.go @@ -467,77 +467,6 @@ func (x *Resources) GetMemInstalled() uint64 { return 0 } -type InitRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` - AuthKey string `protobuf:"bytes,2,opt,name=authKey,proto3" json:"authKey,omitempty"` - SignKey string `protobuf:"bytes,3,opt,name=signKey,proto3" json:"signKey,omitempty"` - TlsEnabled bool `protobuf:"varint,4,opt,name=tlsEnabled,proto3" json:"tlsEnabled,omitempty"` -} - -func (x *InitRequest) Reset() { - *x = InitRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_agent_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *InitRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*InitRequest) ProtoMessage() {} - -func (x *InitRequest) ProtoReflect() protoreflect.Message { - mi := &file_agent_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use InitRequest.ProtoReflect.Descriptor instead. -func (*InitRequest) Descriptor() ([]byte, []int) { - return file_agent_proto_rawDescGZIP(), []int{8} -} - -func (x *InitRequest) GetUrl() string { - if x != nil { - return x.Url - } - return "" -} - -func (x *InitRequest) GetAuthKey() string { - if x != nil { - return x.AuthKey - } - return "" -} - -func (x *InitRequest) GetSignKey() string { - if x != nil { - return x.SignKey - } - return "" -} - -func (x *InitRequest) GetTlsEnabled() bool { - if x != nil { - return x.TlsEnabled - } - return false -} - type PingRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -549,7 +478,7 @@ type PingRequest struct { func (x *PingRequest) Reset() { *x = PingRequest{} if protoimpl.UnsafeEnabled { - mi := &file_agent_proto_msgTypes[9] + mi := &file_agent_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -562,7 +491,7 @@ func (x *PingRequest) String() string { func (*PingRequest) ProtoMessage() {} func (x *PingRequest) ProtoReflect() protoreflect.Message { - mi := &file_agent_proto_msgTypes[9] + mi := &file_agent_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -575,7 +504,7 @@ func (x *PingRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PingRequest.ProtoReflect.Descriptor instead. func (*PingRequest) Descriptor() ([]byte, []int) { - return file_agent_proto_rawDescGZIP(), []int{9} + return file_agent_proto_rawDescGZIP(), []int{8} } func (x *PingRequest) GetPing() string { @@ -597,7 +526,7 @@ type PingResponse struct { func (x *PingResponse) Reset() { *x = PingResponse{} if protoimpl.UnsafeEnabled { - mi := &file_agent_proto_msgTypes[10] + mi := &file_agent_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -610,7 +539,7 @@ func (x *PingResponse) String() string { func (*PingResponse) ProtoMessage() {} func (x *PingResponse) ProtoReflect() protoreflect.Message { - mi := &file_agent_proto_msgTypes[10] + mi := &file_agent_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -623,7 +552,7 @@ func (x *PingResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PingResponse.ProtoReflect.Descriptor instead. func (*PingResponse) Descriptor() ([]byte, []int) { - return file_agent_proto_rawDescGZIP(), []int{10} + return file_agent_proto_rawDescGZIP(), []int{9} } func (x *PingResponse) GetPong() string { @@ -657,7 +586,7 @@ type CreatEnvRequest struct { func (x *CreatEnvRequest) Reset() { *x = CreatEnvRequest{} if protoimpl.UnsafeEnabled { - mi := &file_agent_proto_msgTypes[11] + mi := &file_agent_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -670,7 +599,7 @@ func (x *CreatEnvRequest) String() string { func (*CreatEnvRequest) ProtoMessage() {} func (x *CreatEnvRequest) ProtoReflect() protoreflect.Message { - mi := &file_agent_proto_msgTypes[11] + mi := &file_agent_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -683,7 +612,7 @@ func (x *CreatEnvRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreatEnvRequest.ProtoReflect.Descriptor instead. func (*CreatEnvRequest) Descriptor() ([]byte, []int) { - return file_agent_proto_rawDescGZIP(), []int{11} + return file_agent_proto_rawDescGZIP(), []int{10} } func (x *CreatEnvRequest) GetEventTag() string { @@ -746,7 +675,7 @@ type CloseEnvRequest struct { func (x *CloseEnvRequest) Reset() { *x = CloseEnvRequest{} if protoimpl.UnsafeEnabled { - mi := &file_agent_proto_msgTypes[12] + mi := &file_agent_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -759,7 +688,7 @@ func (x *CloseEnvRequest) String() string { func (*CloseEnvRequest) ProtoMessage() {} func (x *CloseEnvRequest) ProtoReflect() protoreflect.Message { - mi := &file_agent_proto_msgTypes[12] + mi := &file_agent_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -772,7 +701,7 @@ func (x *CloseEnvRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CloseEnvRequest.ProtoReflect.Descriptor instead. func (*CloseEnvRequest) Descriptor() ([]byte, []int) { - return file_agent_proto_rawDescGZIP(), []int{12} + return file_agent_proto_rawDescGZIP(), []int{11} } func (x *CloseEnvRequest) GetEventTag() string { @@ -794,7 +723,7 @@ type CreateLabRequest struct { func (x *CreateLabRequest) Reset() { *x = CreateLabRequest{} if protoimpl.UnsafeEnabled { - mi := &file_agent_proto_msgTypes[13] + mi := &file_agent_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -807,7 +736,7 @@ func (x *CreateLabRequest) String() string { func (*CreateLabRequest) ProtoMessage() {} func (x *CreateLabRequest) ProtoReflect() protoreflect.Message { - mi := &file_agent_proto_msgTypes[13] + mi := &file_agent_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -820,7 +749,7 @@ func (x *CreateLabRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateLabRequest.ProtoReflect.Descriptor instead. func (*CreateLabRequest) Descriptor() ([]byte, []int) { - return file_agent_proto_rawDescGZIP(), []int{13} + return file_agent_proto_rawDescGZIP(), []int{12} } func (x *CreateLabRequest) GetEventTag() string { @@ -848,7 +777,7 @@ type CreateVpnConfRequest struct { func (x *CreateVpnConfRequest) Reset() { *x = CreateVpnConfRequest{} if protoimpl.UnsafeEnabled { - mi := &file_agent_proto_msgTypes[14] + mi := &file_agent_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -861,7 +790,7 @@ func (x *CreateVpnConfRequest) String() string { func (*CreateVpnConfRequest) ProtoMessage() {} func (x *CreateVpnConfRequest) ProtoReflect() protoreflect.Message { - mi := &file_agent_proto_msgTypes[14] + mi := &file_agent_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -874,7 +803,7 @@ func (x *CreateVpnConfRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateVpnConfRequest.ProtoReflect.Descriptor instead. func (*CreateVpnConfRequest) Descriptor() ([]byte, []int) { - return file_agent_proto_rawDescGZIP(), []int{14} + return file_agent_proto_rawDescGZIP(), []int{13} } func (x *CreateVpnConfRequest) GetLabTag() string { @@ -895,7 +824,7 @@ type CreateVpnConfResponse struct { func (x *CreateVpnConfResponse) Reset() { *x = CreateVpnConfResponse{} if protoimpl.UnsafeEnabled { - mi := &file_agent_proto_msgTypes[15] + mi := &file_agent_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -908,7 +837,7 @@ func (x *CreateVpnConfResponse) String() string { func (*CreateVpnConfResponse) ProtoMessage() {} func (x *CreateVpnConfResponse) ProtoReflect() protoreflect.Message { - mi := &file_agent_proto_msgTypes[15] + mi := &file_agent_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -921,7 +850,7 @@ func (x *CreateVpnConfResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateVpnConfResponse.ProtoReflect.Descriptor instead. func (*CreateVpnConfResponse) Descriptor() ([]byte, []int) { - return file_agent_proto_rawDescGZIP(), []int{15} + return file_agent_proto_rawDescGZIP(), []int{14} } func (x *CreateVpnConfResponse) GetConfigs() []string { @@ -942,7 +871,7 @@ type CloseLabRequest struct { func (x *CloseLabRequest) Reset() { *x = CloseLabRequest{} if protoimpl.UnsafeEnabled { - mi := &file_agent_proto_msgTypes[16] + mi := &file_agent_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -955,7 +884,7 @@ func (x *CloseLabRequest) String() string { func (*CloseLabRequest) ProtoMessage() {} func (x *CloseLabRequest) ProtoReflect() protoreflect.Message { - mi := &file_agent_proto_msgTypes[16] + mi := &file_agent_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -968,7 +897,7 @@ func (x *CloseLabRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CloseLabRequest.ProtoReflect.Descriptor instead. func (*CloseLabRequest) Descriptor() ([]byte, []int) { - return file_agent_proto_rawDescGZIP(), []int{16} + return file_agent_proto_rawDescGZIP(), []int{15} } func (x *CloseLabRequest) GetLabTag() string { @@ -993,7 +922,7 @@ type ExerciseRequest struct { func (x *ExerciseRequest) Reset() { *x = ExerciseRequest{} if protoimpl.UnsafeEnabled { - mi := &file_agent_proto_msgTypes[17] + mi := &file_agent_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1006,7 +935,7 @@ func (x *ExerciseRequest) String() string { func (*ExerciseRequest) ProtoMessage() {} func (x *ExerciseRequest) ProtoReflect() protoreflect.Message { - mi := &file_agent_proto_msgTypes[17] + mi := &file_agent_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1019,7 +948,7 @@ func (x *ExerciseRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ExerciseRequest.ProtoReflect.Descriptor instead. func (*ExerciseRequest) Descriptor() ([]byte, []int) { - return file_agent_proto_rawDescGZIP(), []int{17} + return file_agent_proto_rawDescGZIP(), []int{16} } func (x *ExerciseRequest) GetLabTag() string { @@ -1070,7 +999,7 @@ type VmConfig struct { func (x *VmConfig) Reset() { *x = VmConfig{} if protoimpl.UnsafeEnabled { - mi := &file_agent_proto_msgTypes[18] + mi := &file_agent_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1083,7 +1012,7 @@ func (x *VmConfig) String() string { func (*VmConfig) ProtoMessage() {} func (x *VmConfig) ProtoReflect() protoreflect.Message { - mi := &file_agent_proto_msgTypes[18] + mi := &file_agent_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1096,7 +1025,7 @@ func (x *VmConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use VmConfig.ProtoReflect.Descriptor instead. func (*VmConfig) Descriptor() ([]byte, []int) { - return file_agent_proto_rawDescGZIP(), []int{18} + return file_agent_proto_rawDescGZIP(), []int{17} } func (x *VmConfig) GetImage() string { @@ -1131,7 +1060,7 @@ type StatusResponse struct { func (x *StatusResponse) Reset() { *x = StatusResponse{} if protoimpl.UnsafeEnabled { - mi := &file_agent_proto_msgTypes[19] + mi := &file_agent_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1144,7 +1073,7 @@ func (x *StatusResponse) String() string { func (*StatusResponse) ProtoMessage() {} func (x *StatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_agent_proto_msgTypes[19] + mi := &file_agent_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1157,7 +1086,7 @@ func (x *StatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StatusResponse.ProtoReflect.Descriptor instead. func (*StatusResponse) Descriptor() ([]byte, []int) { - return file_agent_proto_rawDescGZIP(), []int{19} + return file_agent_proto_rawDescGZIP(), []int{18} } func (x *StatusResponse) GetMessage() string { @@ -1183,7 +1112,7 @@ type Lab struct { func (x *Lab) Reset() { *x = Lab{} if protoimpl.UnsafeEnabled { - mi := &file_agent_proto_msgTypes[20] + mi := &file_agent_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1196,7 +1125,7 @@ func (x *Lab) String() string { func (*Lab) ProtoMessage() {} func (x *Lab) ProtoReflect() protoreflect.Message { - mi := &file_agent_proto_msgTypes[20] + mi := &file_agent_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1209,7 +1138,7 @@ func (x *Lab) ProtoReflect() protoreflect.Message { // Deprecated: Use Lab.ProtoReflect.Descriptor instead. func (*Lab) Descriptor() ([]byte, []int) { - return file_agent_proto_rawDescGZIP(), []int{20} + return file_agent_proto_rawDescGZIP(), []int{19} } func (x *Lab) GetTag() string { @@ -1267,7 +1196,7 @@ type Exercise struct { func (x *Exercise) Reset() { *x = Exercise{} if protoimpl.UnsafeEnabled { - mi := &file_agent_proto_msgTypes[21] + mi := &file_agent_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1280,7 +1209,7 @@ func (x *Exercise) String() string { func (*Exercise) ProtoMessage() {} func (x *Exercise) ProtoReflect() protoreflect.Message { - mi := &file_agent_proto_msgTypes[21] + mi := &file_agent_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1293,7 +1222,7 @@ func (x *Exercise) ProtoReflect() protoreflect.Message { // Deprecated: Use Exercise.ProtoReflect.Descriptor instead. func (*Exercise) Descriptor() ([]byte, []int) { - return file_agent_proto_rawDescGZIP(), []int{21} + return file_agent_proto_rawDescGZIP(), []int{20} } func (x *Exercise) GetTag() string { @@ -1329,7 +1258,7 @@ type ChildExercise struct { func (x *ChildExercise) Reset() { *x = ChildExercise{} if protoimpl.UnsafeEnabled { - mi := &file_agent_proto_msgTypes[22] + mi := &file_agent_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1342,7 +1271,7 @@ func (x *ChildExercise) String() string { func (*ChildExercise) ProtoMessage() {} func (x *ChildExercise) ProtoReflect() protoreflect.Message { - mi := &file_agent_proto_msgTypes[22] + mi := &file_agent_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1355,7 +1284,7 @@ func (x *ChildExercise) ProtoReflect() protoreflect.Message { // Deprecated: Use ChildExercise.ProtoReflect.Descriptor instead. func (*ChildExercise) Descriptor() ([]byte, []int) { - return file_agent_proto_rawDescGZIP(), []int{22} + return file_agent_proto_rawDescGZIP(), []int{21} } func (x *ChildExercise) GetTag() string { @@ -1387,7 +1316,7 @@ type Machine struct { func (x *Machine) Reset() { *x = Machine{} if protoimpl.UnsafeEnabled { - mi := &file_agent_proto_msgTypes[23] + mi := &file_agent_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1400,7 +1329,7 @@ func (x *Machine) String() string { func (*Machine) ProtoMessage() {} func (x *Machine) ProtoReflect() protoreflect.Message { - mi := &file_agent_proto_msgTypes[23] + mi := &file_agent_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1413,7 +1342,7 @@ func (x *Machine) ProtoReflect() protoreflect.Message { // Deprecated: Use Machine.ProtoReflect.Descriptor instead. func (*Machine) Descriptor() ([]byte, []int) { - return file_agent_proto_rawDescGZIP(), []int{23} + return file_agent_proto_rawDescGZIP(), []int{22} } func (x *Machine) GetId() string { @@ -1463,7 +1392,7 @@ type GuacCreds struct { func (x *GuacCreds) Reset() { *x = GuacCreds{} if protoimpl.UnsafeEnabled { - mi := &file_agent_proto_msgTypes[24] + mi := &file_agent_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1476,7 +1405,7 @@ func (x *GuacCreds) String() string { func (*GuacCreds) ProtoMessage() {} func (x *GuacCreds) ProtoReflect() protoreflect.Message { - mi := &file_agent_proto_msgTypes[24] + mi := &file_agent_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1489,7 +1418,7 @@ func (x *GuacCreds) ProtoReflect() protoreflect.Message { // Deprecated: Use GuacCreds.ProtoReflect.Descriptor instead. func (*GuacCreds) Descriptor() ([]byte, []int) { - return file_agent_proto_rawDescGZIP(), []int{24} + return file_agent_proto_rawDescGZIP(), []int{23} } func (x *GuacCreds) GetUsername() string { @@ -1519,7 +1448,7 @@ type ExerciseConfig struct { func (x *ExerciseConfig) Reset() { *x = ExerciseConfig{} if protoimpl.UnsafeEnabled { - mi := &file_agent_proto_msgTypes[25] + mi := &file_agent_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1532,7 +1461,7 @@ func (x *ExerciseConfig) String() string { func (*ExerciseConfig) ProtoMessage() {} func (x *ExerciseConfig) ProtoReflect() protoreflect.Message { - mi := &file_agent_proto_msgTypes[25] + mi := &file_agent_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1545,7 +1474,7 @@ func (x *ExerciseConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use ExerciseConfig.ProtoReflect.Descriptor instead. func (*ExerciseConfig) Descriptor() ([]byte, []int) { - return file_agent_proto_rawDescGZIP(), []int{25} + return file_agent_proto_rawDescGZIP(), []int{24} } func (x *ExerciseConfig) GetTag() string { @@ -1585,7 +1514,7 @@ type ExerciseInstanceConfig struct { func (x *ExerciseInstanceConfig) Reset() { *x = ExerciseInstanceConfig{} if protoimpl.UnsafeEnabled { - mi := &file_agent_proto_msgTypes[26] + mi := &file_agent_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1598,7 +1527,7 @@ func (x *ExerciseInstanceConfig) String() string { func (*ExerciseInstanceConfig) ProtoMessage() {} func (x *ExerciseInstanceConfig) ProtoReflect() protoreflect.Message { - mi := &file_agent_proto_msgTypes[26] + mi := &file_agent_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1611,7 +1540,7 @@ func (x *ExerciseInstanceConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use ExerciseInstanceConfig.ProtoReflect.Descriptor instead. func (*ExerciseInstanceConfig) Descriptor() ([]byte, []int) { - return file_agent_proto_rawDescGZIP(), []int{26} + return file_agent_proto_rawDescGZIP(), []int{25} } func (x *ExerciseInstanceConfig) GetImage() string { @@ -1668,7 +1597,7 @@ type EnvVarConfig struct { func (x *EnvVarConfig) Reset() { *x = EnvVarConfig{} if protoimpl.UnsafeEnabled { - mi := &file_agent_proto_msgTypes[27] + mi := &file_agent_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1681,7 +1610,7 @@ func (x *EnvVarConfig) String() string { func (*EnvVarConfig) ProtoMessage() {} func (x *EnvVarConfig) ProtoReflect() protoreflect.Message { - mi := &file_agent_proto_msgTypes[27] + mi := &file_agent_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1694,7 +1623,7 @@ func (x *EnvVarConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use EnvVarConfig.ProtoReflect.Descriptor instead. func (*EnvVarConfig) Descriptor() ([]byte, []int) { - return file_agent_proto_rawDescGZIP(), []int{27} + return file_agent_proto_rawDescGZIP(), []int{26} } func (x *EnvVarConfig) GetName() string { @@ -1725,7 +1654,7 @@ type ChildrenChalConfig struct { func (x *ChildrenChalConfig) Reset() { *x = ChildrenChalConfig{} if protoimpl.UnsafeEnabled { - mi := &file_agent_proto_msgTypes[28] + mi := &file_agent_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1738,7 +1667,7 @@ func (x *ChildrenChalConfig) String() string { func (*ChildrenChalConfig) ProtoMessage() {} func (x *ChildrenChalConfig) ProtoReflect() protoreflect.Message { - mi := &file_agent_proto_msgTypes[28] + mi := &file_agent_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1751,7 +1680,7 @@ func (x *ChildrenChalConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use ChildrenChalConfig.ProtoReflect.Descriptor instead. func (*ChildrenChalConfig) Descriptor() ([]byte, []int) { - return file_agent_proto_rawDescGZIP(), []int{28} + return file_agent_proto_rawDescGZIP(), []int{27} } func (x *ChildrenChalConfig) GetTag() string { @@ -1795,7 +1724,7 @@ type RecordConfig struct { func (x *RecordConfig) Reset() { *x = RecordConfig{} if protoimpl.UnsafeEnabled { - mi := &file_agent_proto_msgTypes[29] + mi := &file_agent_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1808,7 +1737,7 @@ func (x *RecordConfig) String() string { func (*RecordConfig) ProtoMessage() {} func (x *RecordConfig) ProtoReflect() protoreflect.Message { - mi := &file_agent_proto_msgTypes[29] + mi := &file_agent_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1821,7 +1750,7 @@ func (x *RecordConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use RecordConfig.ProtoReflect.Descriptor instead. func (*RecordConfig) Descriptor() ([]byte, []int) { - return file_agent_proto_rawDescGZIP(), []int{29} + return file_agent_proto_rawDescGZIP(), []int{28} } func (x *RecordConfig) GetType() string { @@ -1890,218 +1819,207 @@ var file_agent_proto_rawDesc = []byte{ 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x65, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0c, 0x6d, 0x65, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x22, 0x73, - 0x0a, 0x0b, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, - 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, - 0x18, 0x0a, 0x07, 0x61, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x61, 0x75, 0x74, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x69, 0x67, - 0x6e, 0x4b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x69, 0x67, 0x6e, - 0x4b, 0x65, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6c, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x74, 0x6c, 0x73, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x22, 0x21, 0x0a, 0x0b, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x70, 0x69, 0x6e, 0x67, 0x22, 0x46, 0x0a, 0x0c, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x65, - 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0c, 0x6d, 0x65, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x22, 0x85, - 0x02, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x45, 0x6e, 0x76, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x67, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x67, 0x12, 0x18, - 0x0a, 0x07, 0x65, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x65, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x02, 0x76, 0x6d, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x56, 0x6d, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x02, 0x76, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x69, - 0x74, 0x69, 0x61, 0x6c, 0x4c, 0x61, 0x62, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, - 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x4c, 0x61, 0x62, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x65, - 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, - 0x65, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x61, - 0x6d, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x74, 0x65, 0x61, - 0x6d, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x3f, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, - 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x65, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, 0x2d, 0x0a, 0x0f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x45, - 0x6e, 0x76, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x54, 0x61, 0x67, 0x22, 0x44, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, - 0x61, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x54, 0x61, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x56, 0x50, 0x4e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x56, 0x50, 0x4e, 0x22, 0x2e, 0x0a, 0x14, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x54, 0x61, 0x67, 0x22, 0x31, 0x0a, 0x15, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, 0x29, - 0x0a, 0x0f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x4c, 0x61, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x54, 0x61, 0x67, 0x22, 0xbc, 0x01, 0x0a, 0x0f, 0x45, 0x78, - 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, - 0x06, 0x6c, 0x61, 0x62, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, - 0x61, 0x62, 0x54, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x76, 0x54, 0x61, 0x67, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x76, 0x54, 0x61, 0x67, 0x12, 0x1c, 0x0a, - 0x09, 0x65, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x09, 0x65, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x65, - 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, - 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x72, 0x63, - 0x69, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x65, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, 0x4e, 0x0a, 0x08, 0x56, 0x6d, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, - 0x6d, 0x6f, 0x72, 0x79, 0x4d, 0x42, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x65, - 0x6d, 0x6f, 0x72, 0x79, 0x4d, 0x42, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x70, 0x75, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x01, 0x52, 0x03, 0x63, 0x70, 0x75, 0x22, 0x2a, 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x22, 0xc4, 0x01, 0x0a, 0x03, 0x4c, 0x61, 0x62, 0x12, 0x10, 0x0a, 0x03, - 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x1a, - 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x67, 0x12, 0x2d, 0x0a, 0x09, 0x65, 0x78, - 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, - 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x52, 0x09, - 0x65, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x56, - 0x50, 0x4e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x56, 0x50, 0x4e, 0x12, - 0x2e, 0x0a, 0x09, 0x67, 0x75, 0x61, 0x63, 0x43, 0x72, 0x65, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x75, 0x61, 0x63, 0x43, - 0x72, 0x65, 0x64, 0x73, 0x52, 0x09, 0x67, 0x75, 0x61, 0x63, 0x43, 0x72, 0x65, 0x64, 0x73, 0x12, - 0x1a, 0x0a, 0x08, 0x76, 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x08, 0x76, 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x73, 0x22, 0x86, 0x01, 0x0a, 0x08, - 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x3c, 0x0a, 0x0e, 0x63, 0x68, - 0x69, 0x6c, 0x64, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x68, 0x69, 0x6c, 0x64, - 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x52, 0x0e, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x45, - 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x6d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x67, 0x65, - 0x6e, 0x74, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x08, 0x6d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x73, 0x22, 0x35, 0x0a, 0x0d, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x45, 0x78, 0x65, - 0x72, 0x63, 0x69, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x22, 0x73, 0x0a, 0x07, 0x4d, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, - 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, - 0x6d, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x22, 0x43, 0x0a, 0x09, 0x47, 0x75, 0x61, 0x63, 0x43, 0x72, 0x65, 0x64, 0x73, 0x12, 0x1a, 0x0a, - 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, - 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, - 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x75, 0x0a, 0x0e, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x69, - 0x63, 0x12, 0x39, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x72, + 0x52, 0x0c, 0x6d, 0x65, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x22, 0x21, + 0x0a, 0x0b, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x69, 0x6e, + 0x67, 0x22, 0x46, 0x0a, 0x0c, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x70, 0x6f, 0x6e, 0x67, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x65, 0x6d, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x6d, 0x65, 0x6d, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x22, 0x85, 0x02, 0x0a, 0x0f, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x45, 0x6e, 0x76, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, + 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x76, + 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x6e, 0x76, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x02, 0x76, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0f, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x56, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x02, 0x76, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x4c, + 0x61, 0x62, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x69, 0x6e, 0x69, 0x74, 0x69, + 0x61, 0x6c, 0x4c, 0x61, 0x62, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x65, 0x72, 0x63, 0x69, + 0x73, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x65, 0x72, 0x63, + 0x69, 0x73, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x53, 0x69, 0x7a, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x74, 0x65, 0x61, 0x6d, 0x53, 0x69, 0x7a, 0x65, + 0x12, 0x3f, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, + 0x74, 0x2e, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x0f, 0x65, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x22, 0x2d, 0x0a, 0x0f, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x45, 0x6e, 0x76, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x67, + 0x22, 0x44, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x67, + 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x56, 0x50, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x05, 0x69, 0x73, 0x56, 0x50, 0x4e, 0x22, 0x2e, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x56, 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x6c, 0x61, 0x62, 0x54, 0x61, 0x67, 0x22, 0x31, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x56, 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, 0x29, 0x0a, 0x0f, 0x43, 0x6c, 0x6f, + 0x73, 0x65, 0x4c, 0x61, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x6c, 0x61, 0x62, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, + 0x62, 0x54, 0x61, 0x67, 0x22, 0xbc, 0x01, 0x0a, 0x0f, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x54, + 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x54, 0x61, 0x67, + 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x76, 0x54, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x65, 0x6e, 0x76, 0x54, 0x61, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x65, 0x72, + 0x63, 0x69, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x65, + 0x72, 0x63, 0x69, 0x73, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x65, 0x72, 0x63, 0x69, + 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x65, 0x72, 0x63, 0x69, + 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0f, 0x65, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x67, + 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x0f, 0x65, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x22, 0x4e, 0x0a, 0x08, 0x56, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4d, + 0x42, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4d, + 0x42, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x70, 0x75, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, + 0x63, 0x70, 0x75, 0x22, 0x2a, 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, + 0xc4, 0x01, 0x0a, 0x03, 0x4c, 0x61, 0x62, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x54, 0x61, 0x67, 0x12, 0x2d, 0x0a, 0x09, 0x65, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, + 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, + 0x2e, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x52, 0x09, 0x65, 0x78, 0x65, 0x72, 0x63, + 0x69, 0x73, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x56, 0x50, 0x4e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x56, 0x50, 0x4e, 0x12, 0x2e, 0x0a, 0x09, 0x67, 0x75, + 0x61, 0x63, 0x43, 0x72, 0x65, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x75, 0x61, 0x63, 0x43, 0x72, 0x65, 0x64, 0x73, 0x52, + 0x09, 0x67, 0x75, 0x61, 0x63, 0x43, 0x72, 0x65, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x70, + 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x76, 0x70, + 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x73, 0x22, 0x86, 0x01, 0x0a, 0x08, 0x45, 0x78, 0x65, 0x72, 0x63, + 0x69, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x3c, 0x0a, 0x0e, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x45, 0x78, + 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x45, 0x78, 0x65, 0x72, 0x63, + 0x69, 0x73, 0x65, 0x52, 0x0e, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, + 0x73, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x08, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x61, + 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x08, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x22, + 0x35, 0x0a, 0x0d, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, + 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, + 0x61, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x22, 0x73, 0x0a, 0x07, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x43, 0x0a, 0x09, 0x47, + 0x75, 0x61, 0x63, 0x43, 0x72, 0x65, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, + 0x22, 0x75, 0x0a, 0x0e, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x74, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x12, 0x39, 0x0a, 0x08, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, + 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x08, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xe7, 0x01, 0x0a, 0x16, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xe7, 0x01, 0x0a, - 0x16, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, - 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x70, 0x75, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x03, 0x63, 0x70, 0x75, 0x12, 0x27, 0x0a, 0x04, 0x65, 0x6e, 0x76, 0x73, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x6e, - 0x76, 0x56, 0x61, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x04, 0x65, 0x6e, 0x76, 0x73, - 0x12, 0x35, 0x0a, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x68, 0x69, 0x6c, 0x64, - 0x72, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x08, 0x63, - 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x12, 0x2d, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, - 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x72, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x38, 0x0a, 0x0c, 0x45, 0x6e, 0x76, 0x56, 0x61, 0x72, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x22, 0x6c, 0x0a, 0x12, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6c, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x65, 0x6e, 0x76, 0x46, 0x6c, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, - 0x6e, 0x76, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x22, 0x4a, - 0x0a, 0x0c, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, - 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x32, 0xab, 0x08, 0x0a, 0x05, 0x41, - 0x67, 0x65, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x04, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x12, 0x2e, 0x61, - 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x11, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, - 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x45, 0x6e, 0x76, 0x52, + 0x69, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x6f, + 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x63, 0x70, 0x75, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x03, 0x63, + 0x70, 0x75, 0x12, 0x27, 0x0a, 0x04, 0x65, 0x6e, 0x76, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x13, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x6e, 0x76, 0x56, 0x61, 0x72, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x04, 0x65, 0x6e, 0x76, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x63, + 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x43, 0x68, + 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x08, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, + 0x65, 0x6e, 0x12, 0x2d, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x06, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x73, 0x22, 0x38, 0x0a, 0x0c, 0x45, 0x6e, 0x76, 0x56, 0x61, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x6c, 0x0a, 0x12, 0x43, + 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x74, 0x61, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x76, 0x46, 0x6c, + 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x76, 0x46, 0x6c, 0x61, + 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x22, 0x4a, 0x0a, 0x0c, 0x52, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x32, 0xf6, 0x07, 0x0a, 0x05, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, + 0x44, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x45, 0x6e, 0x76, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, + 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x10, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x45, 0x6e, + 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, + 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x45, 0x6e, 0x76, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0f, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x46, 0x6f, 0x72, 0x45, 0x6e, 0x76, 0x12, 0x17, 0x2e, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x43, 0x0a, 0x10, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x73, - 0x65, 0x45, 0x6e, 0x76, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, - 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, - 0x62, 0x46, 0x6f, 0x72, 0x45, 0x6e, 0x76, 0x12, 0x17, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x13, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x56, 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x46, 0x6f, 0x72, 0x4c, 0x61, 0x62, - 0x12, 0x1b, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, - 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, - 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x70, 0x6e, 0x43, - 0x6f, 0x6e, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3b, 0x0a, - 0x08, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x4c, 0x61, 0x62, 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, - 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x4c, 0x61, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x11, 0x41, 0x64, - 0x64, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x73, 0x54, 0x6f, 0x45, 0x6e, 0x76, 0x12, - 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, + 0x52, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x66, + 0x46, 0x6f, 0x72, 0x4c, 0x61, 0x62, 0x12, 0x1b, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x56, 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x08, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x4c, 0x61, 0x62, 0x12, + 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x4c, 0x61, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x73, - 0x54, 0x6f, 0x4c, 0x61, 0x62, 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, + 0x54, 0x6f, 0x45, 0x6e, 0x76, 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x65, 0x74, 0x45, - 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x49, 0x6e, 0x4c, 0x61, 0x62, 0x12, 0x16, 0x2e, 0x61, - 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, - 0x12, 0x53, 0x74, 0x61, 0x72, 0x74, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x49, 0x6e, - 0x4c, 0x61, 0x62, 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x72, - 0x63, 0x69, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, - 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x11, 0x53, 0x74, 0x6f, 0x70, 0x45, 0x78, 0x65, 0x72, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x45, 0x78, 0x65, + 0x72, 0x63, 0x69, 0x73, 0x65, 0x73, 0x54, 0x6f, 0x4c, 0x61, 0x62, 0x12, 0x16, 0x2e, 0x61, 0x67, + 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x12, + 0x52, 0x65, 0x73, 0x65, 0x74, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x49, 0x6e, 0x4c, + 0x61, 0x62, 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x72, 0x63, + 0x69, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, + 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x12, 0x53, 0x74, 0x61, 0x72, 0x74, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x49, 0x6e, 0x4c, 0x61, 0x62, 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x31, 0x0a, 0x04, 0x50, 0x69, - 0x6e, 0x67, 0x12, 0x12, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x50, - 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, - 0x0d, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x12, - 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, - 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, - 0x12, 0x37, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x12, 0x14, 0x2e, 0x61, 0x67, 0x65, - 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0d, 0x47, 0x65, 0x74, - 0x48, 0x6f, 0x73, 0x74, 0x73, 0x49, 0x6e, 0x4c, 0x61, 0x62, 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, - 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x6f, - 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, - 0x0c, 0x52, 0x65, 0x73, 0x65, 0x74, 0x56, 0x6d, 0x49, 0x6e, 0x4c, 0x61, 0x62, 0x12, 0x10, 0x2e, - 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x56, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x61, 0x75, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x2d, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x68, 0x61, 0x61, 0x75, - 0x6b, 0x69, 0x6e, 0x73, 0x2d, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x11, 0x53, 0x74, + 0x6f, 0x70, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, 0x49, 0x6e, 0x4c, 0x61, 0x62, 0x12, + 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x65, 0x72, 0x63, 0x69, 0x73, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x31, 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, + 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x61, + 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x0d, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x12, 0x12, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x69, 0x6e, + 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, + 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x37, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, + 0x12, 0x14, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x47, + 0x65, 0x74, 0x4c, 0x61, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x42, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x49, 0x6e, 0x4c, 0x61, 0x62, + 0x12, 0x16, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x73, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, + 0x2e, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x65, 0x74, 0x56, 0x6d, 0x49, 0x6e, + 0x4c, 0x61, 0x62, 0x12, 0x10, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x56, 0x6d, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x36, + 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x61, 0x75, + 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2d, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x2f, 0x68, 0x61, 0x61, 0x75, 0x6b, 0x69, 0x6e, 0x73, 0x2d, 0x61, 0x67, 0x65, 0x6e, 0x74, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2116,7 +2034,7 @@ func file_agent_proto_rawDescGZIP() []byte { return file_agent_proto_rawDescData } -var file_agent_proto_msgTypes = make([]protoimpl.MessageInfo, 30) +var file_agent_proto_msgTypes = make([]protoimpl.MessageInfo, 29) var file_agent_proto_goTypes = []interface{}{ (*Empty)(nil), // 0: agent.Empty (*VmRequest)(nil), // 1: agent.VmRequest @@ -2126,78 +2044,75 @@ var file_agent_proto_goTypes = []interface{}{ (*GetHostsResponse)(nil), // 5: agent.GetHostsResponse (*MonitorResponse)(nil), // 6: agent.MonitorResponse (*Resources)(nil), // 7: agent.Resources - (*InitRequest)(nil), // 8: agent.InitRequest - (*PingRequest)(nil), // 9: agent.PingRequest - (*PingResponse)(nil), // 10: agent.PingResponse - (*CreatEnvRequest)(nil), // 11: agent.CreatEnvRequest - (*CloseEnvRequest)(nil), // 12: agent.CloseEnvRequest - (*CreateLabRequest)(nil), // 13: agent.CreateLabRequest - (*CreateVpnConfRequest)(nil), // 14: agent.CreateVpnConfRequest - (*CreateVpnConfResponse)(nil), // 15: agent.CreateVpnConfResponse - (*CloseLabRequest)(nil), // 16: agent.CloseLabRequest - (*ExerciseRequest)(nil), // 17: agent.ExerciseRequest - (*VmConfig)(nil), // 18: agent.VmConfig - (*StatusResponse)(nil), // 19: agent.StatusResponse - (*Lab)(nil), // 20: agent.Lab - (*Exercise)(nil), // 21: agent.Exercise - (*ChildExercise)(nil), // 22: agent.ChildExercise - (*Machine)(nil), // 23: agent.Machine - (*GuacCreds)(nil), // 24: agent.GuacCreds - (*ExerciseConfig)(nil), // 25: agent.ExerciseConfig - (*ExerciseInstanceConfig)(nil), // 26: agent.ExerciseInstanceConfig - (*EnvVarConfig)(nil), // 27: agent.EnvVarConfig - (*ChildrenChalConfig)(nil), // 28: agent.ChildrenChalConfig - (*RecordConfig)(nil), // 29: agent.RecordConfig + (*PingRequest)(nil), // 8: agent.PingRequest + (*PingResponse)(nil), // 9: agent.PingResponse + (*CreatEnvRequest)(nil), // 10: agent.CreatEnvRequest + (*CloseEnvRequest)(nil), // 11: agent.CloseEnvRequest + (*CreateLabRequest)(nil), // 12: agent.CreateLabRequest + (*CreateVpnConfRequest)(nil), // 13: agent.CreateVpnConfRequest + (*CreateVpnConfResponse)(nil), // 14: agent.CreateVpnConfResponse + (*CloseLabRequest)(nil), // 15: agent.CloseLabRequest + (*ExerciseRequest)(nil), // 16: agent.ExerciseRequest + (*VmConfig)(nil), // 17: agent.VmConfig + (*StatusResponse)(nil), // 18: agent.StatusResponse + (*Lab)(nil), // 19: agent.Lab + (*Exercise)(nil), // 20: agent.Exercise + (*ChildExercise)(nil), // 21: agent.ChildExercise + (*Machine)(nil), // 22: agent.Machine + (*GuacCreds)(nil), // 23: agent.GuacCreds + (*ExerciseConfig)(nil), // 24: agent.ExerciseConfig + (*ExerciseInstanceConfig)(nil), // 25: agent.ExerciseInstanceConfig + (*EnvVarConfig)(nil), // 26: agent.EnvVarConfig + (*ChildrenChalConfig)(nil), // 27: agent.ChildrenChalConfig + (*RecordConfig)(nil), // 28: agent.RecordConfig } var file_agent_proto_depIdxs = []int32{ - 20, // 0: agent.GetLabResponse.lab:type_name -> agent.Lab - 20, // 1: agent.MonitorResponse.newLabs:type_name -> agent.Lab + 19, // 0: agent.GetLabResponse.lab:type_name -> agent.Lab + 19, // 1: agent.MonitorResponse.newLabs:type_name -> agent.Lab 7, // 2: agent.MonitorResponse.resources:type_name -> agent.Resources - 18, // 3: agent.CreatEnvRequest.vm:type_name -> agent.VmConfig - 25, // 4: agent.CreatEnvRequest.exerciseConfigs:type_name -> agent.ExerciseConfig - 25, // 5: agent.ExerciseRequest.exerciseConfigs:type_name -> agent.ExerciseConfig - 21, // 6: agent.Lab.exercises:type_name -> agent.Exercise - 24, // 7: agent.Lab.guacCreds:type_name -> agent.GuacCreds - 22, // 8: agent.Exercise.childExercises:type_name -> agent.ChildExercise - 23, // 9: agent.Exercise.machines:type_name -> agent.Machine - 26, // 10: agent.ExerciseConfig.instance:type_name -> agent.ExerciseInstanceConfig - 27, // 11: agent.ExerciseInstanceConfig.envs:type_name -> agent.EnvVarConfig - 28, // 12: agent.ExerciseInstanceConfig.children:type_name -> agent.ChildrenChalConfig - 29, // 13: agent.ExerciseInstanceConfig.records:type_name -> agent.RecordConfig - 8, // 14: agent.Agent.Init:input_type -> agent.InitRequest - 11, // 15: agent.Agent.CreateEnvironment:input_type -> agent.CreatEnvRequest - 12, // 16: agent.Agent.CloseEnvironment:input_type -> agent.CloseEnvRequest - 13, // 17: agent.Agent.CreateLabForEnv:input_type -> agent.CreateLabRequest - 14, // 18: agent.Agent.CreateVpnConfForLab:input_type -> agent.CreateVpnConfRequest - 16, // 19: agent.Agent.CloseLab:input_type -> agent.CloseLabRequest - 17, // 20: agent.Agent.AddExercisesToEnv:input_type -> agent.ExerciseRequest - 17, // 21: agent.Agent.AddExercisesToLab:input_type -> agent.ExerciseRequest - 17, // 22: agent.Agent.ResetExerciseInLab:input_type -> agent.ExerciseRequest - 17, // 23: agent.Agent.StartExerciseInLab:input_type -> agent.ExerciseRequest - 17, // 24: agent.Agent.StopExerciseInLab:input_type -> agent.ExerciseRequest - 9, // 25: agent.Agent.Ping:input_type -> agent.PingRequest - 9, // 26: agent.Agent.MonitorStream:input_type -> agent.PingRequest - 2, // 27: agent.Agent.GetLab:input_type -> agent.GetLabRequest - 4, // 28: agent.Agent.GetHostsInLab:input_type -> agent.GetHostsRequest - 1, // 29: agent.Agent.ResetVmInLab:input_type -> agent.VmRequest - 19, // 30: agent.Agent.Init:output_type -> agent.StatusResponse - 19, // 31: agent.Agent.CreateEnvironment:output_type -> agent.StatusResponse - 19, // 32: agent.Agent.CloseEnvironment:output_type -> agent.StatusResponse - 19, // 33: agent.Agent.CreateLabForEnv:output_type -> agent.StatusResponse - 15, // 34: agent.Agent.CreateVpnConfForLab:output_type -> agent.CreateVpnConfResponse - 19, // 35: agent.Agent.CloseLab:output_type -> agent.StatusResponse - 19, // 36: agent.Agent.AddExercisesToEnv:output_type -> agent.StatusResponse - 19, // 37: agent.Agent.AddExercisesToLab:output_type -> agent.StatusResponse - 19, // 38: agent.Agent.ResetExerciseInLab:output_type -> agent.StatusResponse - 19, // 39: agent.Agent.StartExerciseInLab:output_type -> agent.StatusResponse - 19, // 40: agent.Agent.StopExerciseInLab:output_type -> agent.StatusResponse - 10, // 41: agent.Agent.Ping:output_type -> agent.PingResponse - 6, // 42: agent.Agent.MonitorStream:output_type -> agent.MonitorResponse - 3, // 43: agent.Agent.GetLab:output_type -> agent.GetLabResponse - 5, // 44: agent.Agent.GetHostsInLab:output_type -> agent.GetHostsResponse - 19, // 45: agent.Agent.ResetVmInLab:output_type -> agent.StatusResponse - 30, // [30:46] is the sub-list for method output_type - 14, // [14:30] is the sub-list for method input_type + 17, // 3: agent.CreatEnvRequest.vm:type_name -> agent.VmConfig + 24, // 4: agent.CreatEnvRequest.exerciseConfigs:type_name -> agent.ExerciseConfig + 24, // 5: agent.ExerciseRequest.exerciseConfigs:type_name -> agent.ExerciseConfig + 20, // 6: agent.Lab.exercises:type_name -> agent.Exercise + 23, // 7: agent.Lab.guacCreds:type_name -> agent.GuacCreds + 21, // 8: agent.Exercise.childExercises:type_name -> agent.ChildExercise + 22, // 9: agent.Exercise.machines:type_name -> agent.Machine + 25, // 10: agent.ExerciseConfig.instance:type_name -> agent.ExerciseInstanceConfig + 26, // 11: agent.ExerciseInstanceConfig.envs:type_name -> agent.EnvVarConfig + 27, // 12: agent.ExerciseInstanceConfig.children:type_name -> agent.ChildrenChalConfig + 28, // 13: agent.ExerciseInstanceConfig.records:type_name -> agent.RecordConfig + 10, // 14: agent.Agent.CreateEnvironment:input_type -> agent.CreatEnvRequest + 11, // 15: agent.Agent.CloseEnvironment:input_type -> agent.CloseEnvRequest + 12, // 16: agent.Agent.CreateLabForEnv:input_type -> agent.CreateLabRequest + 13, // 17: agent.Agent.CreateVpnConfForLab:input_type -> agent.CreateVpnConfRequest + 15, // 18: agent.Agent.CloseLab:input_type -> agent.CloseLabRequest + 16, // 19: agent.Agent.AddExercisesToEnv:input_type -> agent.ExerciseRequest + 16, // 20: agent.Agent.AddExercisesToLab:input_type -> agent.ExerciseRequest + 16, // 21: agent.Agent.ResetExerciseInLab:input_type -> agent.ExerciseRequest + 16, // 22: agent.Agent.StartExerciseInLab:input_type -> agent.ExerciseRequest + 16, // 23: agent.Agent.StopExerciseInLab:input_type -> agent.ExerciseRequest + 8, // 24: agent.Agent.Ping:input_type -> agent.PingRequest + 8, // 25: agent.Agent.MonitorStream:input_type -> agent.PingRequest + 2, // 26: agent.Agent.GetLab:input_type -> agent.GetLabRequest + 4, // 27: agent.Agent.GetHostsInLab:input_type -> agent.GetHostsRequest + 1, // 28: agent.Agent.ResetVmInLab:input_type -> agent.VmRequest + 18, // 29: agent.Agent.CreateEnvironment:output_type -> agent.StatusResponse + 18, // 30: agent.Agent.CloseEnvironment:output_type -> agent.StatusResponse + 18, // 31: agent.Agent.CreateLabForEnv:output_type -> agent.StatusResponse + 14, // 32: agent.Agent.CreateVpnConfForLab:output_type -> agent.CreateVpnConfResponse + 18, // 33: agent.Agent.CloseLab:output_type -> agent.StatusResponse + 18, // 34: agent.Agent.AddExercisesToEnv:output_type -> agent.StatusResponse + 18, // 35: agent.Agent.AddExercisesToLab:output_type -> agent.StatusResponse + 18, // 36: agent.Agent.ResetExerciseInLab:output_type -> agent.StatusResponse + 18, // 37: agent.Agent.StartExerciseInLab:output_type -> agent.StatusResponse + 18, // 38: agent.Agent.StopExerciseInLab:output_type -> agent.StatusResponse + 9, // 39: agent.Agent.Ping:output_type -> agent.PingResponse + 6, // 40: agent.Agent.MonitorStream:output_type -> agent.MonitorResponse + 3, // 41: agent.Agent.GetLab:output_type -> agent.GetLabResponse + 5, // 42: agent.Agent.GetHostsInLab:output_type -> agent.GetHostsResponse + 18, // 43: agent.Agent.ResetVmInLab:output_type -> agent.StatusResponse + 29, // [29:44] is the sub-list for method output_type + 14, // [14:29] is the sub-list for method input_type 14, // [14:14] is the sub-list for extension type_name 14, // [14:14] is the sub-list for extension extendee 0, // [0:14] is the sub-list for field type_name @@ -2306,18 +2221,6 @@ func file_agent_proto_init() { } } file_agent_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InitRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_agent_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PingRequest); i { case 0: return &v.state @@ -2329,7 +2232,7 @@ func file_agent_proto_init() { return nil } } - file_agent_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_agent_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PingResponse); i { case 0: return &v.state @@ -2341,7 +2244,7 @@ func file_agent_proto_init() { return nil } } - file_agent_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_agent_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreatEnvRequest); i { case 0: return &v.state @@ -2353,7 +2256,7 @@ func file_agent_proto_init() { return nil } } - file_agent_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_agent_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CloseEnvRequest); i { case 0: return &v.state @@ -2365,7 +2268,7 @@ func file_agent_proto_init() { return nil } } - file_agent_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_agent_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateLabRequest); i { case 0: return &v.state @@ -2377,7 +2280,7 @@ func file_agent_proto_init() { return nil } } - file_agent_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_agent_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateVpnConfRequest); i { case 0: return &v.state @@ -2389,7 +2292,7 @@ func file_agent_proto_init() { return nil } } - file_agent_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_agent_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateVpnConfResponse); i { case 0: return &v.state @@ -2401,7 +2304,7 @@ func file_agent_proto_init() { return nil } } - file_agent_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_agent_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CloseLabRequest); i { case 0: return &v.state @@ -2413,7 +2316,7 @@ func file_agent_proto_init() { return nil } } - file_agent_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_agent_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExerciseRequest); i { case 0: return &v.state @@ -2425,7 +2328,7 @@ func file_agent_proto_init() { return nil } } - file_agent_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_agent_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VmConfig); i { case 0: return &v.state @@ -2437,7 +2340,7 @@ func file_agent_proto_init() { return nil } } - file_agent_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_agent_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatusResponse); i { case 0: return &v.state @@ -2449,7 +2352,7 @@ func file_agent_proto_init() { return nil } } - file_agent_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_agent_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Lab); i { case 0: return &v.state @@ -2461,7 +2364,7 @@ func file_agent_proto_init() { return nil } } - file_agent_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_agent_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Exercise); i { case 0: return &v.state @@ -2473,7 +2376,7 @@ func file_agent_proto_init() { return nil } } - file_agent_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + file_agent_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChildExercise); i { case 0: return &v.state @@ -2485,7 +2388,7 @@ func file_agent_proto_init() { return nil } } - file_agent_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + file_agent_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Machine); i { case 0: return &v.state @@ -2497,7 +2400,7 @@ func file_agent_proto_init() { return nil } } - file_agent_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + file_agent_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GuacCreds); i { case 0: return &v.state @@ -2509,7 +2412,7 @@ func file_agent_proto_init() { return nil } } - file_agent_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + file_agent_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExerciseConfig); i { case 0: return &v.state @@ -2521,7 +2424,7 @@ func file_agent_proto_init() { return nil } } - file_agent_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + file_agent_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExerciseInstanceConfig); i { case 0: return &v.state @@ -2533,7 +2436,7 @@ func file_agent_proto_init() { return nil } } - file_agent_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + file_agent_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EnvVarConfig); i { case 0: return &v.state @@ -2545,7 +2448,7 @@ func file_agent_proto_init() { return nil } } - file_agent_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + file_agent_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChildrenChalConfig); i { case 0: return &v.state @@ -2557,7 +2460,7 @@ func file_agent_proto_init() { return nil } } - file_agent_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + file_agent_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RecordConfig); i { case 0: return &v.state @@ -2576,7 +2479,7 @@ func file_agent_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_agent_proto_rawDesc, NumEnums: 0, - NumMessages: 30, + NumMessages: 29, NumExtensions: 0, NumServices: 1, }, diff --git a/pkg/proto/agent.proto b/pkg/proto/agent.proto index 9191fca..40f5810 100644 --- a/pkg/proto/agent.proto +++ b/pkg/proto/agent.proto @@ -4,7 +4,6 @@ option go_package = "github.com/aau-network-security/haaukins-agent/proto"; //TODO add CreateLabsForEnv function service Agent { - rpc Init(InitRequest) returns (StatusResponse) {} rpc CreateEnvironment(CreatEnvRequest) returns (StatusResponse) {} rpc CloseEnvironment(CloseEnvRequest) returns (StatusResponse) {} rpc CreateLabForEnv(CreateLabRequest) returns (StatusResponse) {} @@ -62,13 +61,6 @@ message Resources { uint64 memInstalled = 7; } -message InitRequest { - string url = 1; - string authKey = 2; - string signKey = 3; - bool tlsEnabled = 4; -} - message PingRequest { string ping = 1; } diff --git a/pkg/proto/agent_grpc.pb.go b/pkg/proto/agent_grpc.pb.go index 84f5c5e..879e8ea 100644 --- a/pkg/proto/agent_grpc.pb.go +++ b/pkg/proto/agent_grpc.pb.go @@ -22,7 +22,6 @@ const _ = grpc.SupportPackageIsVersion7 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. type AgentClient interface { - Init(ctx context.Context, in *InitRequest, opts ...grpc.CallOption) (*StatusResponse, error) CreateEnvironment(ctx context.Context, in *CreatEnvRequest, opts ...grpc.CallOption) (*StatusResponse, error) CloseEnvironment(ctx context.Context, in *CloseEnvRequest, opts ...grpc.CallOption) (*StatusResponse, error) CreateLabForEnv(ctx context.Context, in *CreateLabRequest, opts ...grpc.CallOption) (*StatusResponse, error) @@ -48,15 +47,6 @@ func NewAgentClient(cc grpc.ClientConnInterface) AgentClient { return &agentClient{cc} } -func (c *agentClient) Init(ctx context.Context, in *InitRequest, opts ...grpc.CallOption) (*StatusResponse, error) { - out := new(StatusResponse) - err := c.cc.Invoke(ctx, "/agent.Agent/Init", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *agentClient) CreateEnvironment(ctx context.Context, in *CreatEnvRequest, opts ...grpc.CallOption) (*StatusResponse, error) { out := new(StatusResponse) err := c.cc.Invoke(ctx, "/agent.Agent/CreateEnvironment", in, out, opts...) @@ -218,7 +208,6 @@ func (c *agentClient) ResetVmInLab(ctx context.Context, in *VmRequest, opts ...g // All implementations must embed UnimplementedAgentServer // for forward compatibility type AgentServer interface { - Init(context.Context, *InitRequest) (*StatusResponse, error) CreateEnvironment(context.Context, *CreatEnvRequest) (*StatusResponse, error) CloseEnvironment(context.Context, *CloseEnvRequest) (*StatusResponse, error) CreateLabForEnv(context.Context, *CreateLabRequest) (*StatusResponse, error) @@ -241,9 +230,6 @@ type AgentServer interface { type UnimplementedAgentServer struct { } -func (UnimplementedAgentServer) Init(context.Context, *InitRequest) (*StatusResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Init not implemented") -} func (UnimplementedAgentServer) CreateEnvironment(context.Context, *CreatEnvRequest) (*StatusResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateEnvironment not implemented") } @@ -302,24 +288,6 @@ func RegisterAgentServer(s grpc.ServiceRegistrar, srv AgentServer) { s.RegisterService(&Agent_ServiceDesc, srv) } -func _Agent_Init_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(InitRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(AgentServer).Init(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/agent.Agent/Init", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(AgentServer).Init(ctx, req.(*InitRequest)) - } - return interceptor(ctx, in, info, handler) -} - func _Agent_CreateEnvironment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(CreatEnvRequest) if err := dec(in); err != nil { @@ -605,10 +573,6 @@ var Agent_ServiceDesc = grpc.ServiceDesc{ ServiceName: "agent.Agent", HandlerType: (*AgentServer)(nil), Methods: []grpc.MethodDesc{ - { - MethodName: "Init", - Handler: _Agent_Init_Handler, - }, { MethodName: "CreateEnvironment", Handler: _Agent_CreateEnvironment_Handler, From 630660a31257e09863bcf8fd660c1f50db10c0a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikkel=20H=C3=B8st=20Christiansen?= Date: Tue, 30 May 2023 21:33:55 +0200 Subject: [PATCH 6/7] file no longer necessary --- internal/agent/grpcconn.go | 130 ------------------------------------- 1 file changed, 130 deletions(-) delete mode 100644 internal/agent/grpcconn.go diff --git a/internal/agent/grpcconn.go b/internal/agent/grpcconn.go deleted file mode 100644 index 76b1462..0000000 --- a/internal/agent/grpcconn.go +++ /dev/null @@ -1,130 +0,0 @@ -package agent - -import ( - "context" - "crypto/tls" - "crypto/x509" - "errors" - "fmt" - "strings" - "time" - - eproto "github.com/aau-network-security/haaukins-exercises/proto" - "github.com/dgrijalva/jwt-go" - "github.com/rs/zerolog/log" - "google.golang.org/grpc" - "google.golang.org/grpc/credentials" - "google.golang.org/grpc/status" -) - -const ( - NoTokenErrMsg = "token contains an invalid number of segments" - UnauthorizeErrMsg = "unauthorized" -) - -var ( - UnreachableDBErr = errors.New("Database seems to be unreachable") - UnauthorizedErr = errors.New("You seem to not be logged in") -) - - - -type Creds struct { - Token string - Insecure bool -} - -func (c Creds) GetRequestMetadata(context.Context, ...string) (map[string]string, error) { - return map[string]string{ - "token": string(c.Token), - }, nil -} - -func (c Creds) RequireTransportSecurity() bool { - return !c.Insecure -} - -func enableClientCertificates() credentials.TransportCredentials { - // Load the client certificates from disk - pool, _ := x509.SystemCertPool() - - creds := credentials.NewTLS(&tls.Config{ - RootCAs: pool, - MinVersion: tls.VersionTLS12, // disable TLS 1.0 and 1.1 - CipherSuites: []uint16{ // only enable secure algorithms for TLS 1.2 - tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, - tls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, - tls.TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305, - }, - }) - - return creds -} - -func TranslateRPCErr(err error) error { - st, ok := status.FromError(err) - if ok { - msg := st.Message() - switch { - case UnauthorizeErrMsg == msg: - return UnauthorizedErr - - case NoTokenErrMsg == msg: - return UnauthorizedErr - - case strings.Contains(msg, "TransientFailure"): - return UnreachableDBErr - } - - return err - } - - return err -} - -// Creating credentials for grpc connection -func constructAuthCreds(authKey, signKey string) (Creds, error) { - token := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{ - AUTH_KEY: authKey, - }) - tokenString, err := token.SignedString([]byte(signKey)) - if err != nil { - return Creds{}, TranslateRPCErr(err) - } - authCreds := Creds{Token: tokenString} - return authCreds, nil -} - -// NewExerciseClientConn does not require CA file to communicate -// due to the fact that a script is running on Gitlab CI to push -// exercises to the service -func NewExerciseClientConn(config ServiceConfig) (eproto.ExerciseStoreClient, error) { - creds := enableClientCertificates() - authCreds, err := constructAuthCreds(config.AuthKey, config.SignKey) - if err != nil { - return nil, fmt.Errorf("[exercise-service]: Error in constructing auth credentials %v", err) - } - if config.TLSEnabled { - log.Debug().Bool("TLS", config.TLSEnabled).Msg("TLS for exercise service is enabled, creating secure connection...") - dialOpts := []grpc.DialOption{ - grpc.WithTransportCredentials(creds), - grpc.WithPerRPCCredentials(authCreds), - grpc.WithBlock(), - grpc.WithReturnConnectionError(), - grpc.WithTimeout(time.Second * 3), - } - conn, err := grpc.Dial(config.Grpc, dialOpts...) - if err != nil { - return nil, TranslateRPCErr(err) - } - client := eproto.NewExerciseStoreClient(conn) - return client, nil - } - authCreds.Insecure = true - conn, err := grpc.Dial(config.Grpc, grpc.WithInsecure(), grpc.WithPerRPCCredentials(authCreds)) - if err != nil { - return nil, TranslateRPCErr(err) - } - client := eproto.NewExerciseStoreClient(conn) - return client, nil -} From f395f02fb5bfbccd67a8660f74741a452c71a030 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikkel=20H=C3=B8st=20Christiansen?= Date: Tue, 30 May 2023 21:35:35 +0200 Subject: [PATCH 7/7] ran go mod tidy --- go.mod | 2 -- go.sum | 64 ---------------------------------------------------------- 2 files changed, 66 deletions(-) diff --git a/go.mod b/go.mod index b72c8a8..0afc479 100644 --- a/go.mod +++ b/go.mod @@ -4,8 +4,6 @@ go 1.18 require ( github.com/aau-network-security/gwireguard v1.0.5-0.20230311152758-128bc2b44342 - github.com/aau-network-security/haaukins-exercises v1.2.2 - github.com/dgrijalva/jwt-go v3.2.0+incompatible github.com/fsouza/go-dockerclient v1.8.3 github.com/gin-contrib/cors v1.4.0 github.com/gin-gonic/gin v1.8.1 diff --git a/go.sum b/go.sum index f1cdb12..63f06f4 100644 --- a/go.sum +++ b/go.sum @@ -70,8 +70,6 @@ github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdko github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ= github.com/aau-network-security/gwireguard v1.0.5-0.20230311152758-128bc2b44342 h1:4XmNThxDj5XQEVa01R6p+Yhke94/KfNGZncPFjK7VeE= github.com/aau-network-security/gwireguard v1.0.5-0.20230311152758-128bc2b44342/go.mod h1:dL0QucEzQSd20j/1NcGxs1qbtPXZtDLVuN4VqjWDOXU= -github.com/aau-network-security/haaukins-exercises v1.2.2 h1:uuGISyG4JmjOgAf2ZLFhvsv2M+ziV5Rs2yE5gaonBj4= -github.com/aau-network-security/haaukins-exercises v1.2.2/go.mod h1:i8bPuRe8F1mv9HTfcOzsP8vxOwclCaG+fOlSxSkRTLA= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= @@ -81,7 +79,6 @@ github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kd github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/aws/aws-sdk-go v1.15.11/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= -github.com/aws/aws-sdk-go v1.34.28/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48= github.com/beorn7/perks v0.0.0-20160804104726-4c0e84591b9a/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= @@ -245,7 +242,6 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/denverdino/aliyungo v0.0.0-20190125010748-a747050bb1ba/go.mod h1:dV8lFg6daOBZbT6/BDGIz6Y3WFGn8juu6G+CQ6LHtl0= github.com/dgrijalva/jwt-go v0.0.0-20170104182250-a601269ab70c/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E= @@ -277,7 +273,6 @@ github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymF github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= @@ -330,32 +325,7 @@ github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/j github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= github.com/go-playground/validator/v10 v10.10.0 h1:I7mrTYv78z8k8VXa/qJlOlEXn/nBh+BF8dHX5nt/dr0= github.com/go-playground/validator/v10 v10.10.0/go.mod h1:74x4gJWsvQexRdW8Pn3dXSGrTK4nAUsbPlLADvpJkos= -github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= -github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= -github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg= -github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= -github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= -github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs= -github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= -github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= -github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk= -github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28= -github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo= -github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk= -github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw= -github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360= -github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg= -github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE= -github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8= -github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= -github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= -github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= -github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= -github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ= -github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0= -github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= github.com/goccy/go-json v0.9.7 h1:IcB+Aqpx/iMHu5Yooh7jEzJk1JZ7Pjtmys2ukPr7EeM= github.com/goccy/go-json v0.9.7/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus v0.0.0-20151105175453-c7fdd8b5cd55/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= @@ -407,7 +377,6 @@ github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= @@ -478,10 +447,7 @@ github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANyt github.com/j-keck/arping v0.0.0-20160618110441-2cf9dc699c56/go.mod h1:ymszkNOg6tORTn+6F6j+Jc8TOr5osrynvN6ivFWZ2GA= github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.0.0-20160803190731-bd40a432e4c7/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= -github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= -github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/joefitzgerald/rainbow-reporter v0.1.0/go.mod h1:481CNgqmVHQZzdIbN52CupLJyoVwB10FQ/IQlF1pdL8= -github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= @@ -492,13 +458,10 @@ github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1 github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= -github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/klauspost/compress v1.11.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.13/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -523,8 +486,6 @@ github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= -github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= -github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= github.com/marstr/guid v1.1.0/go.mod h1:74gB1z2wpxxInTG6yaqA7KrtM0NZ+RbrcqDvYHefzho= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= @@ -562,7 +523,6 @@ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lN github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= @@ -621,7 +581,6 @@ github.com/opencontainers/selinux v1.8.0/go.mod h1:RScLhm78qiWa2gbVCcGkC7tCGdgk3 github.com/opencontainers/selinux v1.8.2/go.mod h1:MUIHuUEvKB1wtJjQdOyYRgOnLD2xAPP8dBsCoU0KuF8= github.com/opencontainers/selinux v1.10.0/go.mod h1:2i0OySw99QjzBBQByd1Gr9gSjvuho1lHsJxIJ3gGbJI= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc= github.com/pelletier/go-toml/v2 v2.0.1 h1:8e3L2cCQzLFi2CR4g7vGFuFxX7Jl1kKX8gW+iV0GUKU= github.com/pelletier/go-toml/v2 v2.0.1/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo= @@ -666,8 +625,6 @@ github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1 github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= -github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8= @@ -689,7 +646,6 @@ github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeV github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= @@ -733,7 +689,6 @@ github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= github.com/tchap/go-patricia v2.2.6+incompatible/go.mod h1:bmLyhP68RS6kStMGxByiQ23RP/odRBOTVjwp2cDyi6I= -github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= github.com/tklauser/go-sysconf v0.3.11 h1:89WgdJhk5SNwJfu+GKyYveZ4IaJ7xAkecBo+KdJV0CM= github.com/tklauser/go-sysconf v0.3.11/go.mod h1:GqXfhXY3kiPa0nAXPDIQIWzJbMCB7AmcWpGR8lSZfqI= github.com/tklauser/numcpus v0.6.0 h1:kebhY2Qt+3U6RNK7UqpYNA+tJ23IBEGKkB7JQBfDYms= @@ -756,8 +711,6 @@ github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17 github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= github.com/willf/bitset v1.1.11-0.20200630133818-d5bec3311243/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= github.com/willf/bitset v1.1.11/go.mod h1:83CECat5yLh5zVOf4P1ErAgKA5UDvKtgyUABdr3+MjI= -github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I= -github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y= github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs= @@ -776,7 +729,6 @@ go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= go.etcd.io/etcd v0.5.0-alpha.5.0.20200910180754-dd1b699fc489/go.mod h1:yVHk9ub3CSBatqGNg7GRmsnfLWtoW60w4eDYfh7vHDg= -go.mongodb.org/mongo-driver v1.4.3/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc= go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1/go.mod h1:SNgMg+EgDFwmvSmLRTNKC5fegJjB7v23qTQ0XLGUNHk= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= @@ -794,9 +746,7 @@ golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -832,7 +782,6 @@ golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHl golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= @@ -880,7 +829,6 @@ golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211216030914-fe4d6282115f h1:hEYJvxw1lSnWIl8X9ofsYMklzaDs90JI2az5YMd4fPM= golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= @@ -893,7 +841,6 @@ golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -908,15 +855,12 @@ golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1010,13 +954,9 @@ golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3 golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= @@ -1049,7 +989,6 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20200916195026-c9a70fc28ce3/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1099,7 +1038,6 @@ google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20200527145253-8367513e4ece/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= google.golang.org/genproto v0.0.0-20201110150050-8816d57aaa9a/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa h1:I0YcKz0I7OAhddo7ya8kMnvprhcWM045PmkBdMO9zN0= google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= @@ -1119,7 +1057,6 @@ google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.43.0 h1:Eeu7bZtDZ2DpRCsLhUlcrLnvYaMK1Gz86a+hMVvELmM= google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= @@ -1135,7 +1072,6 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.29.0 h1:44S3JjaKmLEE4YIkjzexaP+NzZsudE3Zin5Njn/pYX0=