diff --git a/CONTRIBUTING.adoc b/CONTRIBUTING.adoc index 46d7e77..2512305 100644 --- a/CONTRIBUTING.adoc +++ b/CONTRIBUTING.adoc @@ -45,10 +45,10 @@ cd OliveTin make githooks # Step3: compile binary for current dev env (OS, ARCH) -# `make grpc` will also run `make go-tools`, which installs "buf". This binary +# `make proto` will also run `make go-tools`, which installs "buf". This binary # will be put in your GOPATH/bin/, which should be on your path. buf is used to -# generate the protobuf / grpc stubs. -make grpc +# generate the protobuf / Connect RPC stubs. +make proto make ./OliveTin ``` @@ -58,7 +58,7 @@ make The project layout is reasonably straightforward; * See the `Makefile` for common targets. This project was originally created on top of Fedora, but it should be usable on Debian/your faveourite distro with minor changes (if any). -* The API is defined in protobuf+grpc - you will need to `make grpc`. +* The API is defined in protobuf+Connect RPC - you will need to `make proto`. * The Go daemon is built from the `cmd` and `internal` directories mostly. * The webui is just a single page application with a bit of Javascript in the `webui` directory. This can happily be hosted on another webserver. diff --git a/Makefile b/Makefile index 7d4cb03..cf1e595 100644 --- a/Makefile +++ b/Makefile @@ -17,15 +17,12 @@ it: go-tools: $(MAKE) -wC service go-tools -proto: grpc - -grpc: go-tools +proto: go-tools $(MAKE) -wC proto -dist: protoc +dist: + echo "dist noop" -protoc: - protoc --go_out=. --go-grpc_out=. --grpc-gateway_out=. -I .:/usr/include/ OliveTin.proto podman-image: buildah bud -t olivetin @@ -59,4 +56,4 @@ clean: $(call delete-files,reports) $(call delete-files,gen) -.PHONY: grpc proto service +.PHONY: proto service diff --git a/README.md b/README.md index 43c85b0..3bc9214 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ All documentation can be found at [docs.olivetin.app](https://docs.olivetin.app) * **Accessible** - passes all the accessibility checks in Firefox, and issues with accessibility are taken seriously. * **Container** - available for quickly testing and getting it up and running, great for the selfhosted community. * **Integrate with anything** - OliveTin just runs Linux shell commands, so theoretically you could integrate with a bunch of stuff just by using curl, ping, etc. However, writing your own shell scripts is a great way to extend OliveTin. -* **Lightweight on resources** - uses only a few MB of RAM and barely any CPU. Written in Go, with a web interface written as a modern, responsive, Single Page App that uses the REST/gRPC API. +* **Lightweight on resources** - uses only a few MB of RAM and barely any CPU. Written in Go, with a web interface written as a modern, responsive, Single Page App that uses the REST/Connect RPC API. * **Good amount of unit tests and style checks** - helps potential contributors be consistent, and helps with maintainability. ## Screenshots diff --git a/gen/grpc/OliveTin.pb.go b/gen/grpc/OliveTin.pb.go deleted file mode 100644 index d59c4d1..0000000 --- a/gen/grpc/OliveTin.pb.go +++ /dev/null @@ -1,3765 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.33.0 -// protoc (unknown) -// source: OliveTin.proto - -package grpc - -import ( - _ "google.golang.org/genproto/googleapis/api/annotations" - httpbody "google.golang.org/genproto/googleapis/api/httpbody" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type Action struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` - Icon string `protobuf:"bytes,3,opt,name=icon,proto3" json:"icon,omitempty"` - CanExec bool `protobuf:"varint,4,opt,name=can_exec,json=canExec,proto3" json:"can_exec,omitempty"` - Arguments []*ActionArgument `protobuf:"bytes,5,rep,name=arguments,proto3" json:"arguments,omitempty"` - PopupOnStart string `protobuf:"bytes,6,opt,name=popup_on_start,json=popupOnStart,proto3" json:"popup_on_start,omitempty"` - Order int32 `protobuf:"varint,7,opt,name=order,proto3" json:"order,omitempty"` -} - -func (x *Action) Reset() { - *x = Action{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Action) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Action) ProtoMessage() {} - -func (x *Action) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[0] - 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 Action.ProtoReflect.Descriptor instead. -func (*Action) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{0} -} - -func (x *Action) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *Action) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - -func (x *Action) GetIcon() string { - if x != nil { - return x.Icon - } - return "" -} - -func (x *Action) GetCanExec() bool { - if x != nil { - return x.CanExec - } - return false -} - -func (x *Action) GetArguments() []*ActionArgument { - if x != nil { - return x.Arguments - } - return nil -} - -func (x *Action) GetPopupOnStart() string { - if x != nil { - return x.PopupOnStart - } - return "" -} - -func (x *Action) GetOrder() int32 { - if x != nil { - return x.Order - } - return 0 -} - -type ActionArgument struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` - Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` - DefaultValue string `protobuf:"bytes,4,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"` - Choices []*ActionArgumentChoice `protobuf:"bytes,5,rep,name=choices,proto3" json:"choices,omitempty"` - Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"` - Suggestions map[string]string `protobuf:"bytes,7,rep,name=suggestions,proto3" json:"suggestions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` -} - -func (x *ActionArgument) Reset() { - *x = ActionArgument{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ActionArgument) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ActionArgument) ProtoMessage() {} - -func (x *ActionArgument) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[1] - 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 ActionArgument.ProtoReflect.Descriptor instead. -func (*ActionArgument) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{1} -} - -func (x *ActionArgument) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *ActionArgument) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - -func (x *ActionArgument) GetType() string { - if x != nil { - return x.Type - } - return "" -} - -func (x *ActionArgument) GetDefaultValue() string { - if x != nil { - return x.DefaultValue - } - return "" -} - -func (x *ActionArgument) GetChoices() []*ActionArgumentChoice { - if x != nil { - return x.Choices - } - return nil -} - -func (x *ActionArgument) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -func (x *ActionArgument) GetSuggestions() map[string]string { - if x != nil { - return x.Suggestions - } - return nil -} - -type ActionArgumentChoice struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` - Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` -} - -func (x *ActionArgumentChoice) Reset() { - *x = ActionArgumentChoice{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ActionArgumentChoice) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ActionArgumentChoice) ProtoMessage() {} - -func (x *ActionArgumentChoice) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[2] - 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 ActionArgumentChoice.ProtoReflect.Descriptor instead. -func (*ActionArgumentChoice) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{2} -} - -func (x *ActionArgumentChoice) GetValue() string { - if x != nil { - return x.Value - } - return "" -} - -func (x *ActionArgumentChoice) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - -type Entity struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` - Icon string `protobuf:"bytes,2,opt,name=icon,proto3" json:"icon,omitempty"` - Actions []*Action `protobuf:"bytes,3,rep,name=actions,proto3" json:"actions,omitempty"` -} - -func (x *Entity) Reset() { - *x = Entity{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Entity) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Entity) ProtoMessage() {} - -func (x *Entity) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[3] - 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 Entity.ProtoReflect.Descriptor instead. -func (*Entity) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{3} -} - -func (x *Entity) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - -func (x *Entity) GetIcon() string { - if x != nil { - return x.Icon - } - return "" -} - -func (x *Entity) GetActions() []*Action { - if x != nil { - return x.Actions - } - return nil -} - -type GetDashboardComponentsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` - Actions []*Action `protobuf:"bytes,2,rep,name=actions,proto3" json:"actions,omitempty"` - Entities []*Entity `protobuf:"bytes,3,rep,name=entities,proto3" json:"entities,omitempty"` - Dashboards []*DashboardComponent `protobuf:"bytes,4,rep,name=dashboards,proto3" json:"dashboards,omitempty"` - AuthenticatedUser string `protobuf:"bytes,5,opt,name=authenticated_user,json=authenticatedUser,proto3" json:"authenticated_user,omitempty"` - AuthenticatedUserProvider string `protobuf:"bytes,6,opt,name=authenticated_user_provider,json=authenticatedUserProvider,proto3" json:"authenticated_user_provider,omitempty"` -} - -func (x *GetDashboardComponentsResponse) Reset() { - *x = GetDashboardComponentsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetDashboardComponentsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetDashboardComponentsResponse) ProtoMessage() {} - -func (x *GetDashboardComponentsResponse) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[4] - 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 GetDashboardComponentsResponse.ProtoReflect.Descriptor instead. -func (*GetDashboardComponentsResponse) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{4} -} - -func (x *GetDashboardComponentsResponse) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - -func (x *GetDashboardComponentsResponse) GetActions() []*Action { - if x != nil { - return x.Actions - } - return nil -} - -func (x *GetDashboardComponentsResponse) GetEntities() []*Entity { - if x != nil { - return x.Entities - } - return nil -} - -func (x *GetDashboardComponentsResponse) GetDashboards() []*DashboardComponent { - if x != nil { - return x.Dashboards - } - return nil -} - -func (x *GetDashboardComponentsResponse) GetAuthenticatedUser() string { - if x != nil { - return x.AuthenticatedUser - } - return "" -} - -func (x *GetDashboardComponentsResponse) GetAuthenticatedUserProvider() string { - if x != nil { - return x.AuthenticatedUserProvider - } - return "" -} - -type GetDashboardComponentsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *GetDashboardComponentsRequest) Reset() { - *x = GetDashboardComponentsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetDashboardComponentsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetDashboardComponentsRequest) ProtoMessage() {} - -func (x *GetDashboardComponentsRequest) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[5] - 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 GetDashboardComponentsRequest.ProtoReflect.Descriptor instead. -func (*GetDashboardComponentsRequest) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{5} -} - -type DashboardComponent struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` - Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` - Contents []*DashboardComponent `protobuf:"bytes,3,rep,name=contents,proto3" json:"contents,omitempty"` - Icon string `protobuf:"bytes,4,opt,name=icon,proto3" json:"icon,omitempty"` - CssClass string `protobuf:"bytes,5,opt,name=css_class,json=cssClass,proto3" json:"css_class,omitempty"` -} - -func (x *DashboardComponent) Reset() { - *x = DashboardComponent{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DashboardComponent) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DashboardComponent) ProtoMessage() {} - -func (x *DashboardComponent) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[6] - 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 DashboardComponent.ProtoReflect.Descriptor instead. -func (*DashboardComponent) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{6} -} - -func (x *DashboardComponent) GetTitle() string { - if x != nil { - return x.Title - } - return "" -} - -func (x *DashboardComponent) GetType() string { - if x != nil { - return x.Type - } - return "" -} - -func (x *DashboardComponent) GetContents() []*DashboardComponent { - if x != nil { - return x.Contents - } - return nil -} - -func (x *DashboardComponent) GetIcon() string { - if x != nil { - return x.Icon - } - return "" -} - -func (x *DashboardComponent) GetCssClass() string { - if x != nil { - return x.CssClass - } - return "" -} - -type StartActionRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ActionId string `protobuf:"bytes,1,opt,name=action_id,json=actionId,proto3" json:"action_id,omitempty"` - Arguments []*StartActionArgument `protobuf:"bytes,2,rep,name=arguments,proto3" json:"arguments,omitempty"` - UniqueTrackingId string `protobuf:"bytes,3,opt,name=unique_tracking_id,json=uniqueTrackingId,proto3" json:"unique_tracking_id,omitempty"` -} - -func (x *StartActionRequest) Reset() { - *x = StartActionRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StartActionRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StartActionRequest) ProtoMessage() {} - -func (x *StartActionRequest) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[7] - 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 StartActionRequest.ProtoReflect.Descriptor instead. -func (*StartActionRequest) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{7} -} - -func (x *StartActionRequest) GetActionId() string { - if x != nil { - return x.ActionId - } - return "" -} - -func (x *StartActionRequest) GetArguments() []*StartActionArgument { - if x != nil { - return x.Arguments - } - return nil -} - -func (x *StartActionRequest) GetUniqueTrackingId() string { - if x != nil { - return x.UniqueTrackingId - } - return "" -} - -type StartActionArgument 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 *StartActionArgument) Reset() { - *x = StartActionArgument{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StartActionArgument) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StartActionArgument) ProtoMessage() {} - -func (x *StartActionArgument) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_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 StartActionArgument.ProtoReflect.Descriptor instead. -func (*StartActionArgument) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{8} -} - -func (x *StartActionArgument) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *StartActionArgument) GetValue() string { - if x != nil { - return x.Value - } - return "" -} - -type StartActionResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ExecutionTrackingId string `protobuf:"bytes,2,opt,name=execution_tracking_id,json=executionTrackingId,proto3" json:"execution_tracking_id,omitempty"` -} - -func (x *StartActionResponse) Reset() { - *x = StartActionResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StartActionResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StartActionResponse) ProtoMessage() {} - -func (x *StartActionResponse) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[9] - 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 StartActionResponse.ProtoReflect.Descriptor instead. -func (*StartActionResponse) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{9} -} - -func (x *StartActionResponse) GetExecutionTrackingId() string { - if x != nil { - return x.ExecutionTrackingId - } - return "" -} - -type StartActionAndWaitRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ActionId string `protobuf:"bytes,1,opt,name=action_id,json=actionId,proto3" json:"action_id,omitempty"` - Arguments []*StartActionArgument `protobuf:"bytes,2,rep,name=arguments,proto3" json:"arguments,omitempty"` -} - -func (x *StartActionAndWaitRequest) Reset() { - *x = StartActionAndWaitRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StartActionAndWaitRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StartActionAndWaitRequest) ProtoMessage() {} - -func (x *StartActionAndWaitRequest) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[10] - 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 StartActionAndWaitRequest.ProtoReflect.Descriptor instead. -func (*StartActionAndWaitRequest) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{10} -} - -func (x *StartActionAndWaitRequest) GetActionId() string { - if x != nil { - return x.ActionId - } - return "" -} - -func (x *StartActionAndWaitRequest) GetArguments() []*StartActionArgument { - if x != nil { - return x.Arguments - } - return nil -} - -type StartActionAndWaitResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - LogEntry *LogEntry `protobuf:"bytes,1,opt,name=log_entry,json=logEntry,proto3" json:"log_entry,omitempty"` -} - -func (x *StartActionAndWaitResponse) Reset() { - *x = StartActionAndWaitResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StartActionAndWaitResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StartActionAndWaitResponse) ProtoMessage() {} - -func (x *StartActionAndWaitResponse) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[11] - 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 StartActionAndWaitResponse.ProtoReflect.Descriptor instead. -func (*StartActionAndWaitResponse) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{11} -} - -func (x *StartActionAndWaitResponse) GetLogEntry() *LogEntry { - if x != nil { - return x.LogEntry - } - return nil -} - -type StartActionByGetRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ActionId string `protobuf:"bytes,1,opt,name=action_id,json=actionId,proto3" json:"action_id,omitempty"` -} - -func (x *StartActionByGetRequest) Reset() { - *x = StartActionByGetRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StartActionByGetRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StartActionByGetRequest) ProtoMessage() {} - -func (x *StartActionByGetRequest) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[12] - 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 StartActionByGetRequest.ProtoReflect.Descriptor instead. -func (*StartActionByGetRequest) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{12} -} - -func (x *StartActionByGetRequest) GetActionId() string { - if x != nil { - return x.ActionId - } - return "" -} - -type StartActionByGetResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ExecutionTrackingId string `protobuf:"bytes,2,opt,name=execution_tracking_id,json=executionTrackingId,proto3" json:"execution_tracking_id,omitempty"` -} - -func (x *StartActionByGetResponse) Reset() { - *x = StartActionByGetResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StartActionByGetResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StartActionByGetResponse) ProtoMessage() {} - -func (x *StartActionByGetResponse) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[13] - 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 StartActionByGetResponse.ProtoReflect.Descriptor instead. -func (*StartActionByGetResponse) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{13} -} - -func (x *StartActionByGetResponse) GetExecutionTrackingId() string { - if x != nil { - return x.ExecutionTrackingId - } - return "" -} - -type StartActionByGetAndWaitRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ActionId string `protobuf:"bytes,1,opt,name=action_id,json=actionId,proto3" json:"action_id,omitempty"` -} - -func (x *StartActionByGetAndWaitRequest) Reset() { - *x = StartActionByGetAndWaitRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StartActionByGetAndWaitRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StartActionByGetAndWaitRequest) ProtoMessage() {} - -func (x *StartActionByGetAndWaitRequest) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[14] - 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 StartActionByGetAndWaitRequest.ProtoReflect.Descriptor instead. -func (*StartActionByGetAndWaitRequest) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{14} -} - -func (x *StartActionByGetAndWaitRequest) GetActionId() string { - if x != nil { - return x.ActionId - } - return "" -} - -type StartActionByGetAndWaitResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - LogEntry *LogEntry `protobuf:"bytes,1,opt,name=log_entry,json=logEntry,proto3" json:"log_entry,omitempty"` -} - -func (x *StartActionByGetAndWaitResponse) Reset() { - *x = StartActionByGetAndWaitResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StartActionByGetAndWaitResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StartActionByGetAndWaitResponse) ProtoMessage() {} - -func (x *StartActionByGetAndWaitResponse) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[15] - 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 StartActionByGetAndWaitResponse.ProtoReflect.Descriptor instead. -func (*StartActionByGetAndWaitResponse) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{15} -} - -func (x *StartActionByGetAndWaitResponse) GetLogEntry() *LogEntry { - if x != nil { - return x.LogEntry - } - return nil -} - -type GetLogsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *GetLogsRequest) Reset() { - *x = GetLogsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetLogsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetLogsRequest) ProtoMessage() {} - -func (x *GetLogsRequest) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[16] - 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 GetLogsRequest.ProtoReflect.Descriptor instead. -func (*GetLogsRequest) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{16} -} - -type LogEntry struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DatetimeStarted string `protobuf:"bytes,1,opt,name=datetime_started,json=datetimeStarted,proto3" json:"datetime_started,omitempty"` - ActionTitle string `protobuf:"bytes,2,opt,name=action_title,json=actionTitle,proto3" json:"action_title,omitempty"` - Output string `protobuf:"bytes,3,opt,name=output,proto3" json:"output,omitempty"` - TimedOut bool `protobuf:"varint,5,opt,name=timed_out,json=timedOut,proto3" json:"timed_out,omitempty"` - ExitCode int32 `protobuf:"varint,6,opt,name=exit_code,json=exitCode,proto3" json:"exit_code,omitempty"` - User string `protobuf:"bytes,7,opt,name=user,proto3" json:"user,omitempty"` - UserClass string `protobuf:"bytes,8,opt,name=user_class,json=userClass,proto3" json:"user_class,omitempty"` - ActionIcon string `protobuf:"bytes,9,opt,name=action_icon,json=actionIcon,proto3" json:"action_icon,omitempty"` - Tags []string `protobuf:"bytes,10,rep,name=tags,proto3" json:"tags,omitempty"` - ExecutionTrackingId string `protobuf:"bytes,11,opt,name=execution_tracking_id,json=executionTrackingId,proto3" json:"execution_tracking_id,omitempty"` - DatetimeFinished string `protobuf:"bytes,12,opt,name=datetime_finished,json=datetimeFinished,proto3" json:"datetime_finished,omitempty"` - ActionId string `protobuf:"bytes,13,opt,name=action_id,json=actionId,proto3" json:"action_id,omitempty"` - ExecutionStarted bool `protobuf:"varint,14,opt,name=execution_started,json=executionStarted,proto3" json:"execution_started,omitempty"` - ExecutionFinished bool `protobuf:"varint,15,opt,name=execution_finished,json=executionFinished,proto3" json:"execution_finished,omitempty"` - Blocked bool `protobuf:"varint,16,opt,name=blocked,proto3" json:"blocked,omitempty"` -} - -func (x *LogEntry) Reset() { - *x = LogEntry{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LogEntry) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LogEntry) ProtoMessage() {} - -func (x *LogEntry) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[17] - 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 LogEntry.ProtoReflect.Descriptor instead. -func (*LogEntry) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{17} -} - -func (x *LogEntry) GetDatetimeStarted() string { - if x != nil { - return x.DatetimeStarted - } - return "" -} - -func (x *LogEntry) GetActionTitle() string { - if x != nil { - return x.ActionTitle - } - return "" -} - -func (x *LogEntry) GetOutput() string { - if x != nil { - return x.Output - } - return "" -} - -func (x *LogEntry) GetTimedOut() bool { - if x != nil { - return x.TimedOut - } - return false -} - -func (x *LogEntry) GetExitCode() int32 { - if x != nil { - return x.ExitCode - } - return 0 -} - -func (x *LogEntry) GetUser() string { - if x != nil { - return x.User - } - return "" -} - -func (x *LogEntry) GetUserClass() string { - if x != nil { - return x.UserClass - } - return "" -} - -func (x *LogEntry) GetActionIcon() string { - if x != nil { - return x.ActionIcon - } - return "" -} - -func (x *LogEntry) GetTags() []string { - if x != nil { - return x.Tags - } - return nil -} - -func (x *LogEntry) GetExecutionTrackingId() string { - if x != nil { - return x.ExecutionTrackingId - } - return "" -} - -func (x *LogEntry) GetDatetimeFinished() string { - if x != nil { - return x.DatetimeFinished - } - return "" -} - -func (x *LogEntry) GetActionId() string { - if x != nil { - return x.ActionId - } - return "" -} - -func (x *LogEntry) GetExecutionStarted() bool { - if x != nil { - return x.ExecutionStarted - } - return false -} - -func (x *LogEntry) GetExecutionFinished() bool { - if x != nil { - return x.ExecutionFinished - } - return false -} - -func (x *LogEntry) GetBlocked() bool { - if x != nil { - return x.Blocked - } - return false -} - -type GetLogsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Logs []*LogEntry `protobuf:"bytes,1,rep,name=logs,proto3" json:"logs,omitempty"` -} - -func (x *GetLogsResponse) Reset() { - *x = GetLogsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetLogsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetLogsResponse) ProtoMessage() {} - -func (x *GetLogsResponse) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[18] - 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 GetLogsResponse.ProtoReflect.Descriptor instead. -func (*GetLogsResponse) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{18} -} - -func (x *GetLogsResponse) GetLogs() []*LogEntry { - if x != nil { - return x.Logs - } - return nil -} - -type ValidateArgumentTypeRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` - Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` -} - -func (x *ValidateArgumentTypeRequest) Reset() { - *x = ValidateArgumentTypeRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ValidateArgumentTypeRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ValidateArgumentTypeRequest) ProtoMessage() {} - -func (x *ValidateArgumentTypeRequest) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[19] - 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 ValidateArgumentTypeRequest.ProtoReflect.Descriptor instead. -func (*ValidateArgumentTypeRequest) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{19} -} - -func (x *ValidateArgumentTypeRequest) GetValue() string { - if x != nil { - return x.Value - } - return "" -} - -func (x *ValidateArgumentTypeRequest) GetType() string { - if x != nil { - return x.Type - } - return "" -} - -type ValidateArgumentTypeResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Valid bool `protobuf:"varint,1,opt,name=valid,proto3" json:"valid,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` -} - -func (x *ValidateArgumentTypeResponse) Reset() { - *x = ValidateArgumentTypeResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ValidateArgumentTypeResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ValidateArgumentTypeResponse) ProtoMessage() {} - -func (x *ValidateArgumentTypeResponse) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[20] - 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 ValidateArgumentTypeResponse.ProtoReflect.Descriptor instead. -func (*ValidateArgumentTypeResponse) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{20} -} - -func (x *ValidateArgumentTypeResponse) GetValid() bool { - if x != nil { - return x.Valid - } - return false -} - -func (x *ValidateArgumentTypeResponse) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -type WatchExecutionRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ExecutionTrackingId string `protobuf:"bytes,1,opt,name=execution_tracking_id,json=executionTrackingId,proto3" json:"execution_tracking_id,omitempty"` -} - -func (x *WatchExecutionRequest) Reset() { - *x = WatchExecutionRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WatchExecutionRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WatchExecutionRequest) ProtoMessage() {} - -func (x *WatchExecutionRequest) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[21] - 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 WatchExecutionRequest.ProtoReflect.Descriptor instead. -func (*WatchExecutionRequest) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{21} -} - -func (x *WatchExecutionRequest) GetExecutionTrackingId() string { - if x != nil { - return x.ExecutionTrackingId - } - return "" -} - -type WatchExecutionUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Update string `protobuf:"bytes,1,opt,name=update,proto3" json:"update,omitempty"` -} - -func (x *WatchExecutionUpdate) Reset() { - *x = WatchExecutionUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WatchExecutionUpdate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WatchExecutionUpdate) ProtoMessage() {} - -func (x *WatchExecutionUpdate) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[22] - 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 WatchExecutionUpdate.ProtoReflect.Descriptor instead. -func (*WatchExecutionUpdate) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{22} -} - -func (x *WatchExecutionUpdate) GetUpdate() string { - if x != nil { - return x.Update - } - return "" -} - -type ExecutionStatusRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ExecutionTrackingId string `protobuf:"bytes,1,opt,name=execution_tracking_id,json=executionTrackingId,proto3" json:"execution_tracking_id,omitempty"` - ActionId string `protobuf:"bytes,2,opt,name=action_id,json=actionId,proto3" json:"action_id,omitempty"` -} - -func (x *ExecutionStatusRequest) Reset() { - *x = ExecutionStatusRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ExecutionStatusRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ExecutionStatusRequest) ProtoMessage() {} - -func (x *ExecutionStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[23] - 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 ExecutionStatusRequest.ProtoReflect.Descriptor instead. -func (*ExecutionStatusRequest) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{23} -} - -func (x *ExecutionStatusRequest) GetExecutionTrackingId() string { - if x != nil { - return x.ExecutionTrackingId - } - return "" -} - -func (x *ExecutionStatusRequest) GetActionId() string { - if x != nil { - return x.ActionId - } - return "" -} - -type ExecutionStatusResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - LogEntry *LogEntry `protobuf:"bytes,1,opt,name=log_entry,json=logEntry,proto3" json:"log_entry,omitempty"` -} - -func (x *ExecutionStatusResponse) Reset() { - *x = ExecutionStatusResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ExecutionStatusResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ExecutionStatusResponse) ProtoMessage() {} - -func (x *ExecutionStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[24] - 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 ExecutionStatusResponse.ProtoReflect.Descriptor instead. -func (*ExecutionStatusResponse) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{24} -} - -func (x *ExecutionStatusResponse) GetLogEntry() *LogEntry { - if x != nil { - return x.LogEntry - } - return nil -} - -type WhoAmIRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *WhoAmIRequest) Reset() { - *x = WhoAmIRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WhoAmIRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WhoAmIRequest) ProtoMessage() {} - -func (x *WhoAmIRequest) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_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 WhoAmIRequest.ProtoReflect.Descriptor instead. -func (*WhoAmIRequest) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{25} -} - -type WhoAmIResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AuthenticatedUser string `protobuf:"bytes,1,opt,name=authenticated_user,json=authenticatedUser,proto3" json:"authenticated_user,omitempty"` - Usergroup string `protobuf:"bytes,2,opt,name=usergroup,proto3" json:"usergroup,omitempty"` - Provider string `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"` - Acls []string `protobuf:"bytes,4,rep,name=acls,proto3" json:"acls,omitempty"` - Sid string `protobuf:"bytes,5,opt,name=sid,proto3" json:"sid,omitempty"` -} - -func (x *WhoAmIResponse) Reset() { - *x = WhoAmIResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WhoAmIResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WhoAmIResponse) ProtoMessage() {} - -func (x *WhoAmIResponse) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_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 WhoAmIResponse.ProtoReflect.Descriptor instead. -func (*WhoAmIResponse) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{26} -} - -func (x *WhoAmIResponse) GetAuthenticatedUser() string { - if x != nil { - return x.AuthenticatedUser - } - return "" -} - -func (x *WhoAmIResponse) GetUsergroup() string { - if x != nil { - return x.Usergroup - } - return "" -} - -func (x *WhoAmIResponse) GetProvider() string { - if x != nil { - return x.Provider - } - return "" -} - -func (x *WhoAmIResponse) GetAcls() []string { - if x != nil { - return x.Acls - } - return nil -} - -func (x *WhoAmIResponse) GetSid() string { - if x != nil { - return x.Sid - } - return "" -} - -type SosReportRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *SosReportRequest) Reset() { - *x = SosReportRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SosReportRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SosReportRequest) ProtoMessage() {} - -func (x *SosReportRequest) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_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 SosReportRequest.ProtoReflect.Descriptor instead. -func (*SosReportRequest) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{27} -} - -type SosReportResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Alert string `protobuf:"bytes,1,opt,name=alert,proto3" json:"alert,omitempty"` -} - -func (x *SosReportResponse) Reset() { - *x = SosReportResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SosReportResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SosReportResponse) ProtoMessage() {} - -func (x *SosReportResponse) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_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 SosReportResponse.ProtoReflect.Descriptor instead. -func (*SosReportResponse) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{28} -} - -func (x *SosReportResponse) GetAlert() string { - if x != nil { - return x.Alert - } - return "" -} - -type DumpVarsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *DumpVarsRequest) Reset() { - *x = DumpVarsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DumpVarsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DumpVarsRequest) ProtoMessage() {} - -func (x *DumpVarsRequest) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_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 DumpVarsRequest.ProtoReflect.Descriptor instead. -func (*DumpVarsRequest) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{29} -} - -type DumpVarsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Alert string `protobuf:"bytes,1,opt,name=alert,proto3" json:"alert,omitempty"` - Contents map[string]string `protobuf:"bytes,2,rep,name=contents,proto3" json:"contents,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` -} - -func (x *DumpVarsResponse) Reset() { - *x = DumpVarsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DumpVarsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DumpVarsResponse) ProtoMessage() {} - -func (x *DumpVarsResponse) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[30] - 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 DumpVarsResponse.ProtoReflect.Descriptor instead. -func (*DumpVarsResponse) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{30} -} - -func (x *DumpVarsResponse) GetAlert() string { - if x != nil { - return x.Alert - } - return "" -} - -func (x *DumpVarsResponse) GetContents() map[string]string { - if x != nil { - return x.Contents - } - return nil -} - -type ActionEntityPair struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ActionTitle string `protobuf:"bytes,1,opt,name=action_title,json=actionTitle,proto3" json:"action_title,omitempty"` - EntityPrefix string `protobuf:"bytes,2,opt,name=entity_prefix,json=entityPrefix,proto3" json:"entity_prefix,omitempty"` -} - -func (x *ActionEntityPair) Reset() { - *x = ActionEntityPair{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ActionEntityPair) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ActionEntityPair) ProtoMessage() {} - -func (x *ActionEntityPair) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[31] - 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 ActionEntityPair.ProtoReflect.Descriptor instead. -func (*ActionEntityPair) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{31} -} - -func (x *ActionEntityPair) GetActionTitle() string { - if x != nil { - return x.ActionTitle - } - return "" -} - -func (x *ActionEntityPair) GetEntityPrefix() string { - if x != nil { - return x.EntityPrefix - } - return "" -} - -type DumpPublicIdActionMapRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *DumpPublicIdActionMapRequest) Reset() { - *x = DumpPublicIdActionMapRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[32] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DumpPublicIdActionMapRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DumpPublicIdActionMapRequest) ProtoMessage() {} - -func (x *DumpPublicIdActionMapRequest) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[32] - 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 DumpPublicIdActionMapRequest.ProtoReflect.Descriptor instead. -func (*DumpPublicIdActionMapRequest) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{32} -} - -type DumpPublicIdActionMapResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Alert string `protobuf:"bytes,1,opt,name=alert,proto3" json:"alert,omitempty"` - Contents map[string]*ActionEntityPair `protobuf:"bytes,2,rep,name=contents,proto3" json:"contents,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` -} - -func (x *DumpPublicIdActionMapResponse) Reset() { - *x = DumpPublicIdActionMapResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[33] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DumpPublicIdActionMapResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DumpPublicIdActionMapResponse) ProtoMessage() {} - -func (x *DumpPublicIdActionMapResponse) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[33] - 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 DumpPublicIdActionMapResponse.ProtoReflect.Descriptor instead. -func (*DumpPublicIdActionMapResponse) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{33} -} - -func (x *DumpPublicIdActionMapResponse) GetAlert() string { - if x != nil { - return x.Alert - } - return "" -} - -func (x *DumpPublicIdActionMapResponse) GetContents() map[string]*ActionEntityPair { - if x != nil { - return x.Contents - } - return nil -} - -type GetReadyzRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *GetReadyzRequest) Reset() { - *x = GetReadyzRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[34] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetReadyzRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetReadyzRequest) ProtoMessage() {} - -func (x *GetReadyzRequest) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[34] - 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 GetReadyzRequest.ProtoReflect.Descriptor instead. -func (*GetReadyzRequest) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{34} -} - -type GetReadyzResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` -} - -func (x *GetReadyzResponse) Reset() { - *x = GetReadyzResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[35] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetReadyzResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetReadyzResponse) ProtoMessage() {} - -func (x *GetReadyzResponse) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[35] - 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 GetReadyzResponse.ProtoReflect.Descriptor instead. -func (*GetReadyzResponse) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{35} -} - -func (x *GetReadyzResponse) GetStatus() string { - if x != nil { - return x.Status - } - return "" -} - -type EventOutputChunk struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ExecutionTrackingId string `protobuf:"bytes,1,opt,name=execution_tracking_id,json=executionTrackingId,proto3" json:"execution_tracking_id,omitempty"` - Output string `protobuf:"bytes,2,opt,name=output,proto3" json:"output,omitempty"` -} - -func (x *EventOutputChunk) Reset() { - *x = EventOutputChunk{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[36] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EventOutputChunk) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EventOutputChunk) ProtoMessage() {} - -func (x *EventOutputChunk) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[36] - 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 EventOutputChunk.ProtoReflect.Descriptor instead. -func (*EventOutputChunk) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{36} -} - -func (x *EventOutputChunk) GetExecutionTrackingId() string { - if x != nil { - return x.ExecutionTrackingId - } - return "" -} - -func (x *EventOutputChunk) GetOutput() string { - if x != nil { - return x.Output - } - return "" -} - -type EventEntityChanged struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *EventEntityChanged) Reset() { - *x = EventEntityChanged{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[37] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EventEntityChanged) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EventEntityChanged) ProtoMessage() {} - -func (x *EventEntityChanged) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[37] - 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 EventEntityChanged.ProtoReflect.Descriptor instead. -func (*EventEntityChanged) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{37} -} - -type EventConfigChanged struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *EventConfigChanged) Reset() { - *x = EventConfigChanged{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[38] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EventConfigChanged) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EventConfigChanged) ProtoMessage() {} - -func (x *EventConfigChanged) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[38] - 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 EventConfigChanged.ProtoReflect.Descriptor instead. -func (*EventConfigChanged) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{38} -} - -type EventExecutionFinished struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - LogEntry *LogEntry `protobuf:"bytes,1,opt,name=log_entry,json=logEntry,proto3" json:"log_entry,omitempty"` -} - -func (x *EventExecutionFinished) Reset() { - *x = EventExecutionFinished{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[39] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EventExecutionFinished) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EventExecutionFinished) ProtoMessage() {} - -func (x *EventExecutionFinished) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[39] - 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 EventExecutionFinished.ProtoReflect.Descriptor instead. -func (*EventExecutionFinished) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{39} -} - -func (x *EventExecutionFinished) GetLogEntry() *LogEntry { - if x != nil { - return x.LogEntry - } - return nil -} - -type EventExecutionStarted struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - LogEntry *LogEntry `protobuf:"bytes,1,opt,name=log_entry,json=logEntry,proto3" json:"log_entry,omitempty"` -} - -func (x *EventExecutionStarted) Reset() { - *x = EventExecutionStarted{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[40] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EventExecutionStarted) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EventExecutionStarted) ProtoMessage() {} - -func (x *EventExecutionStarted) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[40] - 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 EventExecutionStarted.ProtoReflect.Descriptor instead. -func (*EventExecutionStarted) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{40} -} - -func (x *EventExecutionStarted) GetLogEntry() *LogEntry { - if x != nil { - return x.LogEntry - } - return nil -} - -type KillActionRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ExecutionTrackingId string `protobuf:"bytes,1,opt,name=execution_tracking_id,json=executionTrackingId,proto3" json:"execution_tracking_id,omitempty"` -} - -func (x *KillActionRequest) Reset() { - *x = KillActionRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[41] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *KillActionRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*KillActionRequest) ProtoMessage() {} - -func (x *KillActionRequest) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[41] - 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 KillActionRequest.ProtoReflect.Descriptor instead. -func (*KillActionRequest) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{41} -} - -func (x *KillActionRequest) GetExecutionTrackingId() string { - if x != nil { - return x.ExecutionTrackingId - } - return "" -} - -type KillActionResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ExecutionTrackingId string `protobuf:"bytes,1,opt,name=execution_tracking_id,json=executionTrackingId,proto3" json:"execution_tracking_id,omitempty"` - Killed bool `protobuf:"varint,2,opt,name=killed,proto3" json:"killed,omitempty"` - AlreadyCompleted bool `protobuf:"varint,3,opt,name=already_completed,json=alreadyCompleted,proto3" json:"already_completed,omitempty"` - Found bool `protobuf:"varint,4,opt,name=found,proto3" json:"found,omitempty"` -} - -func (x *KillActionResponse) Reset() { - *x = KillActionResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[42] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *KillActionResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*KillActionResponse) ProtoMessage() {} - -func (x *KillActionResponse) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[42] - 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 KillActionResponse.ProtoReflect.Descriptor instead. -func (*KillActionResponse) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{42} -} - -func (x *KillActionResponse) GetExecutionTrackingId() string { - if x != nil { - return x.ExecutionTrackingId - } - return "" -} - -func (x *KillActionResponse) GetKilled() bool { - if x != nil { - return x.Killed - } - return false -} - -func (x *KillActionResponse) GetAlreadyCompleted() bool { - if x != nil { - return x.AlreadyCompleted - } - return false -} - -func (x *KillActionResponse) GetFound() bool { - if x != nil { - return x.Found - } - return false -} - -type LocalUserLoginRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` - Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` -} - -func (x *LocalUserLoginRequest) Reset() { - *x = LocalUserLoginRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[43] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LocalUserLoginRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LocalUserLoginRequest) ProtoMessage() {} - -func (x *LocalUserLoginRequest) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[43] - 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 LocalUserLoginRequest.ProtoReflect.Descriptor instead. -func (*LocalUserLoginRequest) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{43} -} - -func (x *LocalUserLoginRequest) GetUsername() string { - if x != nil { - return x.Username - } - return "" -} - -func (x *LocalUserLoginRequest) GetPassword() string { - if x != nil { - return x.Password - } - return "" -} - -type LocalUserLoginResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` -} - -func (x *LocalUserLoginResponse) Reset() { - *x = LocalUserLoginResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[44] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LocalUserLoginResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LocalUserLoginResponse) ProtoMessage() {} - -func (x *LocalUserLoginResponse) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[44] - 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 LocalUserLoginResponse.ProtoReflect.Descriptor instead. -func (*LocalUserLoginResponse) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{44} -} - -func (x *LocalUserLoginResponse) GetSuccess() bool { - if x != nil { - return x.Success - } - return false -} - -type PasswordHashRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Password string `protobuf:"bytes,1,opt,name=password,proto3" json:"password,omitempty"` -} - -func (x *PasswordHashRequest) Reset() { - *x = PasswordHashRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[45] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PasswordHashRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PasswordHashRequest) ProtoMessage() {} - -func (x *PasswordHashRequest) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[45] - 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 PasswordHashRequest.ProtoReflect.Descriptor instead. -func (*PasswordHashRequest) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{45} -} - -func (x *PasswordHashRequest) GetPassword() string { - if x != nil { - return x.Password - } - return "" -} - -type PasswordHashResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *PasswordHashResponse) Reset() { - *x = PasswordHashResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[46] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PasswordHashResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PasswordHashResponse) ProtoMessage() {} - -func (x *PasswordHashResponse) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[46] - 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 PasswordHashResponse.ProtoReflect.Descriptor instead. -func (*PasswordHashResponse) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{46} -} - -type LogoutRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *LogoutRequest) Reset() { - *x = LogoutRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_OliveTin_proto_msgTypes[47] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LogoutRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LogoutRequest) ProtoMessage() {} - -func (x *LogoutRequest) ProtoReflect() protoreflect.Message { - mi := &file_OliveTin_proto_msgTypes[47] - 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 LogoutRequest.ProtoReflect.Descriptor instead. -func (*LogoutRequest) Descriptor() ([]byte, []int) { - return file_OliveTin_proto_rawDescGZIP(), []int{47} -} - -var File_OliveTin_proto protoreflect.FileDescriptor - -var file_OliveTin_proto_rawDesc = []byte{ - 0x0a, 0x0e, 0x4f, 0x6c, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x62, - 0x6f, 0x64, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc8, 0x01, 0x0a, 0x06, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x63, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x19, - 0x0a, 0x08, 0x63, 0x61, 0x6e, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x63, 0x61, 0x6e, 0x45, 0x78, 0x65, 0x63, 0x12, 0x2d, 0x0a, 0x09, 0x61, 0x72, 0x67, - 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x61, - 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x6f, 0x70, 0x75, - 0x70, 0x5f, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x70, 0x6f, 0x70, 0x75, 0x70, 0x4f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x14, - 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x22, 0xca, 0x02, 0x0a, 0x0e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, - 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, - 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2f, 0x0a, 0x07, 0x63, 0x68, - 0x6f, 0x69, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x6f, 0x69, - 0x63, 0x65, 0x52, 0x07, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, - 0x0b, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x72, 0x67, 0x75, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x1a, 0x3e, 0x0a, 0x10, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0x42, 0x0a, 0x14, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x72, 0x67, 0x75, 0x6d, - 0x65, 0x6e, 0x74, 0x43, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, 0x55, 0x0a, 0x06, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x07, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xa2, 0x02, 0x0a, - 0x1e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6d, - 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x23, 0x0a, 0x08, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x45, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x33, 0x0a, - 0x0a, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x13, 0x2e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6d, - 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, - 0x64, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, - 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, - 0x72, 0x12, 0x3e, 0x0a, 0x1b, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, - 0x63, 0x61, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x22, 0x1f, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, - 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x22, 0xa0, 0x01, 0x0a, 0x12, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, - 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, - 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x12, 0x2f, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, - 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x73, 0x73, 0x5f, - 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x73, 0x73, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x22, 0x93, 0x01, 0x0a, 0x12, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x09, 0x61, 0x72, 0x67, - 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, - 0x6e, 0x74, 0x52, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2c, 0x0a, - 0x12, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, - 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x75, 0x6e, 0x69, 0x71, 0x75, - 0x65, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x22, 0x3f, 0x0a, 0x13, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, - 0x6e, 0x74, 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, 0x49, 0x0a, 0x13, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x13, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, - 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x22, 0x6c, 0x0a, 0x19, 0x53, 0x74, 0x61, 0x72, 0x74, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x57, 0x61, 0x69, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x12, 0x32, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x61, 0x72, 0x67, 0x75, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x44, 0x0a, 0x1a, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x57, 0x61, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x36, 0x0a, 0x17, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x79, 0x47, 0x65, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x18, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x42, 0x79, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x32, 0x0a, 0x15, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x61, - 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, - 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, - 0x67, 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x1e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x42, 0x79, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x64, 0x57, 0x61, 0x69, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x22, 0x49, 0x0a, 0x1f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x79, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x64, 0x57, 0x61, 0x69, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x5f, 0x65, 0x6e, 0x74, - 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x4c, 0x6f, 0x67, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x10, 0x0a, - 0x0e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, - 0x86, 0x04, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x29, 0x0a, 0x10, - 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, - 0x74, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x64, 0x4f, 0x75, 0x74, 0x12, - 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x65, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x75, 0x73, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, - 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, - 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x63, 0x6f, 0x6e, - 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, - 0x74, 0x61, 0x67, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x13, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, - 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x61, 0x74, 0x65, - 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x10, 0x64, 0x61, 0x74, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x69, 0x6e, - 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x65, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x12, - 0x2d, 0x0a, 0x12, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x69, 0x6e, - 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x18, - 0x0a, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x22, 0x30, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4c, - 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x04, 0x6c, - 0x6f, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x4c, 0x6f, 0x67, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x22, 0x47, 0x0a, 0x1b, 0x56, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x22, 0x56, 0x0a, 0x1c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x41, - 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4b, 0x0a, 0x15, 0x57, - 0x61, 0x74, 0x63, 0x68, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x13, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, - 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x22, 0x2e, 0x0a, 0x14, 0x57, 0x61, 0x74, 0x63, - 0x68, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0x69, 0x0a, 0x16, 0x45, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x13, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x63, - 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x22, 0x41, 0x0a, 0x17, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, - 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x09, 0x2e, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6c, 0x6f, - 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x0f, 0x0a, 0x0d, 0x57, 0x68, 0x6f, 0x41, 0x6d, 0x49, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x9f, 0x01, 0x0a, 0x0e, 0x57, 0x68, 0x6f, 0x41, - 0x6d, 0x49, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x61, 0x75, - 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x73, 0x65, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, - 0x63, 0x61, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, - 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, - 0x65, 0x72, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x63, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x04, 0x61, 0x63, 0x6c, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x69, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x69, 0x64, 0x22, 0x12, 0x0a, 0x10, 0x53, 0x6f, 0x73, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x29, 0x0a, - 0x11, 0x53, 0x6f, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x22, 0x11, 0x0a, 0x0f, 0x44, 0x75, 0x6d, 0x70, - 0x56, 0x61, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xa2, 0x01, 0x0a, 0x10, - 0x44, 0x75, 0x6d, 0x70, 0x56, 0x61, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x12, 0x3b, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x44, 0x75, 0x6d, 0x70, 0x56, - 0x61, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x1a, 0x3b, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x22, 0x5a, 0x0a, 0x10, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x50, 0x61, 0x69, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, - 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x1e, 0x0a, 0x1c, - 0x44, 0x75, 0x6d, 0x70, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x64, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xcf, 0x01, 0x0a, - 0x1d, 0x44, 0x75, 0x6d, 0x70, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x64, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, - 0x6c, 0x65, 0x72, 0x74, 0x12, 0x48, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x44, 0x75, 0x6d, 0x70, 0x50, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x49, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x4e, - 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x27, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x11, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, - 0x61, 0x69, 0x72, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x12, - 0x0a, 0x10, 0x47, 0x65, 0x74, 0x52, 0x65, 0x61, 0x64, 0x79, 0x7a, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x22, 0x2b, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x52, 0x65, 0x61, 0x64, 0x79, 0x7a, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, - 0x5e, 0x0a, 0x10, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x68, - 0x75, 0x6e, 0x6b, 0x12, 0x32, 0x0a, 0x15, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x13, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, - 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, - 0x14, 0x0a, 0x12, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x64, 0x22, 0x14, 0x0a, 0x12, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x22, 0x40, 0x0a, 0x16, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x6e, - 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x5f, 0x65, 0x6e, 0x74, - 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x4c, 0x6f, 0x67, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x3f, 0x0a, - 0x15, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x5f, 0x65, 0x6e, - 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x4c, 0x6f, 0x67, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x47, - 0x0a, 0x11, 0x4b, 0x69, 0x6c, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x13, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, - 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x22, 0xa3, 0x01, 0x0a, 0x12, 0x4b, 0x69, 0x6c, 0x6c, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, - 0x0a, 0x15, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x63, - 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x65, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, - 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x06, 0x6b, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x6c, - 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x43, 0x6f, - 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x75, 0x6e, 0x64, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x22, 0x4f, 0x0a, - 0x15, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 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, 0x32, - 0x0a, 0x16, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x22, 0x31, 0x0a, 0x13, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x48, 0x61, - 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, - 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, - 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x16, 0x0a, 0x14, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, - 0x64, 0x48, 0x61, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x0f, 0x0a, - 0x0d, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x32, 0xf1, - 0x0c, 0x0a, 0x12, 0x4f, 0x6c, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6e, 0x41, 0x70, 0x69, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7e, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x44, 0x61, 0x73, 0x68, - 0x62, 0x6f, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x12, - 0x1e, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x43, 0x6f, - 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1f, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x43, 0x6f, - 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x47, - 0x65, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6f, - 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x55, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x13, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x53, 0x74, 0x61, 0x72, - 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x3a, 0x01, 0x2a, 0x22, 0x10, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x71, 0x0a, 0x12, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x57, 0x61, - 0x69, 0x74, 0x12, 0x1a, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x41, 0x6e, 0x64, 0x57, 0x61, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, - 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x57, - 0x61, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x1c, 0x3a, 0x01, 0x2a, 0x22, 0x17, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x53, 0x74, 0x61, - 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x64, 0x57, 0x61, 0x69, 0x74, 0x12, - 0x72, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x79, - 0x47, 0x65, 0x74, 0x12, 0x18, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x79, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x79, 0x47, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, - 0x12, 0x21, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x42, 0x79, 0x47, 0x65, 0x74, 0x2f, 0x7b, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x69, 0x64, 0x7d, 0x12, 0x8e, 0x01, 0x0a, 0x17, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x42, 0x79, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x64, 0x57, 0x61, 0x69, 0x74, 0x12, - 0x1f, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x79, 0x47, - 0x65, 0x74, 0x41, 0x6e, 0x64, 0x57, 0x61, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x20, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x79, - 0x47, 0x65, 0x74, 0x41, 0x6e, 0x64, 0x57, 0x61, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x79, 0x47, 0x65, - 0x74, 0x41, 0x6e, 0x64, 0x57, 0x61, 0x69, 0x74, 0x2f, 0x7b, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x51, 0x0a, 0x0a, 0x4b, 0x69, 0x6c, 0x6c, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x12, 0x2e, 0x4b, 0x69, 0x6c, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x4b, 0x69, 0x6c, 0x6c, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x14, 0x3a, 0x01, 0x2a, 0x22, 0x0f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x4b, 0x69, 0x6c, - 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x65, 0x0a, 0x0f, 0x45, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x17, 0x2e, 0x45, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x3a, 0x01, 0x2a, 0x22, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x45, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x42, - 0x0a, 0x07, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x0f, 0x2e, 0x47, 0x65, 0x74, 0x4c, - 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x47, 0x65, 0x74, - 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x14, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x0e, 0x12, 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x47, 0x65, 0x74, 0x4c, 0x6f, - 0x67, 0x73, 0x12, 0x79, 0x0a, 0x14, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, - 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x2e, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, - 0x01, 0x2a, 0x22, 0x19, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3e, 0x0a, - 0x06, 0x57, 0x68, 0x6f, 0x41, 0x6d, 0x49, 0x12, 0x0e, 0x2e, 0x57, 0x68, 0x6f, 0x41, 0x6d, 0x49, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x57, 0x68, 0x6f, 0x41, 0x6d, 0x49, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x13, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0d, - 0x12, 0x0b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x57, 0x68, 0x6f, 0x41, 0x6d, 0x49, 0x12, 0x4c, 0x0a, - 0x09, 0x53, 0x6f, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x11, 0x2e, 0x53, 0x6f, 0x73, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, - 0x6f, 0x64, 0x79, 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x73, 0x6f, 0x73, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x46, 0x0a, 0x08, 0x44, - 0x75, 0x6d, 0x70, 0x56, 0x61, 0x72, 0x73, 0x12, 0x10, 0x2e, 0x44, 0x75, 0x6d, 0x70, 0x56, 0x61, - 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x44, 0x75, 0x6d, 0x70, - 0x56, 0x61, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x15, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x0f, 0x12, 0x0d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x44, 0x75, 0x6d, 0x70, 0x56, - 0x61, 0x72, 0x73, 0x12, 0x72, 0x0a, 0x15, 0x44, 0x75, 0x6d, 0x70, 0x50, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x49, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x12, 0x1d, 0x2e, 0x44, - 0x75, 0x6d, 0x70, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x44, 0x75, - 0x6d, 0x70, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x4d, 0x61, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x44, 0x75, 0x6d, 0x70, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x12, 0x47, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x52, 0x65, - 0x61, 0x64, 0x79, 0x7a, 0x12, 0x11, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x61, 0x64, 0x79, 0x7a, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x61, - 0x64, 0x79, 0x7a, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x13, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x0d, 0x12, 0x0b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x61, 0x64, 0x79, 0x7a, - 0x12, 0x61, 0x0a, 0x0e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x67, - 0x69, 0x6e, 0x12, 0x16, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, - 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x4c, 0x6f, 0x63, - 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x3a, 0x01, 0x2a, 0x22, 0x13, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, - 0x67, 0x69, 0x6e, 0x12, 0x58, 0x0a, 0x0c, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x48, - 0x61, 0x73, 0x68, 0x12, 0x14, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x48, 0x61, - 0x73, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x22, - 0x1c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x3a, 0x01, 0x2a, 0x22, 0x11, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x48, 0x61, 0x73, 0x68, 0x12, 0x43, 0x0a, - 0x06, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x12, 0x0e, 0x2e, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x22, 0x13, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x0d, 0x12, 0x0b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x4c, 0x6f, 0x67, 0x6f, - 0x75, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x67, 0x65, 0x6e, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_OliveTin_proto_rawDescOnce sync.Once - file_OliveTin_proto_rawDescData = file_OliveTin_proto_rawDesc -) - -func file_OliveTin_proto_rawDescGZIP() []byte { - file_OliveTin_proto_rawDescOnce.Do(func() { - file_OliveTin_proto_rawDescData = protoimpl.X.CompressGZIP(file_OliveTin_proto_rawDescData) - }) - return file_OliveTin_proto_rawDescData -} - -var file_OliveTin_proto_msgTypes = make([]protoimpl.MessageInfo, 51) -var file_OliveTin_proto_goTypes = []interface{}{ - (*Action)(nil), // 0: Action - (*ActionArgument)(nil), // 1: ActionArgument - (*ActionArgumentChoice)(nil), // 2: ActionArgumentChoice - (*Entity)(nil), // 3: Entity - (*GetDashboardComponentsResponse)(nil), // 4: GetDashboardComponentsResponse - (*GetDashboardComponentsRequest)(nil), // 5: GetDashboardComponentsRequest - (*DashboardComponent)(nil), // 6: DashboardComponent - (*StartActionRequest)(nil), // 7: StartActionRequest - (*StartActionArgument)(nil), // 8: StartActionArgument - (*StartActionResponse)(nil), // 9: StartActionResponse - (*StartActionAndWaitRequest)(nil), // 10: StartActionAndWaitRequest - (*StartActionAndWaitResponse)(nil), // 11: StartActionAndWaitResponse - (*StartActionByGetRequest)(nil), // 12: StartActionByGetRequest - (*StartActionByGetResponse)(nil), // 13: StartActionByGetResponse - (*StartActionByGetAndWaitRequest)(nil), // 14: StartActionByGetAndWaitRequest - (*StartActionByGetAndWaitResponse)(nil), // 15: StartActionByGetAndWaitResponse - (*GetLogsRequest)(nil), // 16: GetLogsRequest - (*LogEntry)(nil), // 17: LogEntry - (*GetLogsResponse)(nil), // 18: GetLogsResponse - (*ValidateArgumentTypeRequest)(nil), // 19: ValidateArgumentTypeRequest - (*ValidateArgumentTypeResponse)(nil), // 20: ValidateArgumentTypeResponse - (*WatchExecutionRequest)(nil), // 21: WatchExecutionRequest - (*WatchExecutionUpdate)(nil), // 22: WatchExecutionUpdate - (*ExecutionStatusRequest)(nil), // 23: ExecutionStatusRequest - (*ExecutionStatusResponse)(nil), // 24: ExecutionStatusResponse - (*WhoAmIRequest)(nil), // 25: WhoAmIRequest - (*WhoAmIResponse)(nil), // 26: WhoAmIResponse - (*SosReportRequest)(nil), // 27: SosReportRequest - (*SosReportResponse)(nil), // 28: SosReportResponse - (*DumpVarsRequest)(nil), // 29: DumpVarsRequest - (*DumpVarsResponse)(nil), // 30: DumpVarsResponse - (*ActionEntityPair)(nil), // 31: ActionEntityPair - (*DumpPublicIdActionMapRequest)(nil), // 32: DumpPublicIdActionMapRequest - (*DumpPublicIdActionMapResponse)(nil), // 33: DumpPublicIdActionMapResponse - (*GetReadyzRequest)(nil), // 34: GetReadyzRequest - (*GetReadyzResponse)(nil), // 35: GetReadyzResponse - (*EventOutputChunk)(nil), // 36: EventOutputChunk - (*EventEntityChanged)(nil), // 37: EventEntityChanged - (*EventConfigChanged)(nil), // 38: EventConfigChanged - (*EventExecutionFinished)(nil), // 39: EventExecutionFinished - (*EventExecutionStarted)(nil), // 40: EventExecutionStarted - (*KillActionRequest)(nil), // 41: KillActionRequest - (*KillActionResponse)(nil), // 42: KillActionResponse - (*LocalUserLoginRequest)(nil), // 43: LocalUserLoginRequest - (*LocalUserLoginResponse)(nil), // 44: LocalUserLoginResponse - (*PasswordHashRequest)(nil), // 45: PasswordHashRequest - (*PasswordHashResponse)(nil), // 46: PasswordHashResponse - (*LogoutRequest)(nil), // 47: LogoutRequest - nil, // 48: ActionArgument.SuggestionsEntry - nil, // 49: DumpVarsResponse.ContentsEntry - nil, // 50: DumpPublicIdActionMapResponse.ContentsEntry - (*httpbody.HttpBody)(nil), // 51: google.api.HttpBody -} -var file_OliveTin_proto_depIdxs = []int32{ - 1, // 0: Action.arguments:type_name -> ActionArgument - 2, // 1: ActionArgument.choices:type_name -> ActionArgumentChoice - 48, // 2: ActionArgument.suggestions:type_name -> ActionArgument.SuggestionsEntry - 0, // 3: Entity.actions:type_name -> Action - 0, // 4: GetDashboardComponentsResponse.actions:type_name -> Action - 3, // 5: GetDashboardComponentsResponse.entities:type_name -> Entity - 6, // 6: GetDashboardComponentsResponse.dashboards:type_name -> DashboardComponent - 6, // 7: DashboardComponent.contents:type_name -> DashboardComponent - 8, // 8: StartActionRequest.arguments:type_name -> StartActionArgument - 8, // 9: StartActionAndWaitRequest.arguments:type_name -> StartActionArgument - 17, // 10: StartActionAndWaitResponse.log_entry:type_name -> LogEntry - 17, // 11: StartActionByGetAndWaitResponse.log_entry:type_name -> LogEntry - 17, // 12: GetLogsResponse.logs:type_name -> LogEntry - 17, // 13: ExecutionStatusResponse.log_entry:type_name -> LogEntry - 49, // 14: DumpVarsResponse.contents:type_name -> DumpVarsResponse.ContentsEntry - 50, // 15: DumpPublicIdActionMapResponse.contents:type_name -> DumpPublicIdActionMapResponse.ContentsEntry - 17, // 16: EventExecutionFinished.log_entry:type_name -> LogEntry - 17, // 17: EventExecutionStarted.log_entry:type_name -> LogEntry - 31, // 18: DumpPublicIdActionMapResponse.ContentsEntry.value:type_name -> ActionEntityPair - 5, // 19: OliveTinApiService.GetDashboardComponents:input_type -> GetDashboardComponentsRequest - 7, // 20: OliveTinApiService.StartAction:input_type -> StartActionRequest - 10, // 21: OliveTinApiService.StartActionAndWait:input_type -> StartActionAndWaitRequest - 12, // 22: OliveTinApiService.StartActionByGet:input_type -> StartActionByGetRequest - 14, // 23: OliveTinApiService.StartActionByGetAndWait:input_type -> StartActionByGetAndWaitRequest - 41, // 24: OliveTinApiService.KillAction:input_type -> KillActionRequest - 23, // 25: OliveTinApiService.ExecutionStatus:input_type -> ExecutionStatusRequest - 16, // 26: OliveTinApiService.GetLogs:input_type -> GetLogsRequest - 19, // 27: OliveTinApiService.ValidateArgumentType:input_type -> ValidateArgumentTypeRequest - 25, // 28: OliveTinApiService.WhoAmI:input_type -> WhoAmIRequest - 27, // 29: OliveTinApiService.SosReport:input_type -> SosReportRequest - 29, // 30: OliveTinApiService.DumpVars:input_type -> DumpVarsRequest - 32, // 31: OliveTinApiService.DumpPublicIdActionMap:input_type -> DumpPublicIdActionMapRequest - 34, // 32: OliveTinApiService.GetReadyz:input_type -> GetReadyzRequest - 43, // 33: OliveTinApiService.LocalUserLogin:input_type -> LocalUserLoginRequest - 45, // 34: OliveTinApiService.PasswordHash:input_type -> PasswordHashRequest - 47, // 35: OliveTinApiService.Logout:input_type -> LogoutRequest - 4, // 36: OliveTinApiService.GetDashboardComponents:output_type -> GetDashboardComponentsResponse - 9, // 37: OliveTinApiService.StartAction:output_type -> StartActionResponse - 11, // 38: OliveTinApiService.StartActionAndWait:output_type -> StartActionAndWaitResponse - 13, // 39: OliveTinApiService.StartActionByGet:output_type -> StartActionByGetResponse - 15, // 40: OliveTinApiService.StartActionByGetAndWait:output_type -> StartActionByGetAndWaitResponse - 42, // 41: OliveTinApiService.KillAction:output_type -> KillActionResponse - 24, // 42: OliveTinApiService.ExecutionStatus:output_type -> ExecutionStatusResponse - 18, // 43: OliveTinApiService.GetLogs:output_type -> GetLogsResponse - 20, // 44: OliveTinApiService.ValidateArgumentType:output_type -> ValidateArgumentTypeResponse - 26, // 45: OliveTinApiService.WhoAmI:output_type -> WhoAmIResponse - 51, // 46: OliveTinApiService.SosReport:output_type -> google.api.HttpBody - 30, // 47: OliveTinApiService.DumpVars:output_type -> DumpVarsResponse - 33, // 48: OliveTinApiService.DumpPublicIdActionMap:output_type -> DumpPublicIdActionMapResponse - 35, // 49: OliveTinApiService.GetReadyz:output_type -> GetReadyzResponse - 44, // 50: OliveTinApiService.LocalUserLogin:output_type -> LocalUserLoginResponse - 51, // 51: OliveTinApiService.PasswordHash:output_type -> google.api.HttpBody - 51, // 52: OliveTinApiService.Logout:output_type -> google.api.HttpBody - 36, // [36:53] is the sub-list for method output_type - 19, // [19:36] is the sub-list for method input_type - 19, // [19:19] is the sub-list for extension type_name - 19, // [19:19] is the sub-list for extension extendee - 0, // [0:19] is the sub-list for field type_name -} - -func init() { file_OliveTin_proto_init() } -func file_OliveTin_proto_init() { - if File_OliveTin_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_OliveTin_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Action); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ActionArgument); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ActionArgumentChoice); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Entity); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetDashboardComponentsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetDashboardComponentsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DashboardComponent); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StartActionRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StartActionArgument); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StartActionResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StartActionAndWaitRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StartActionAndWaitResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StartActionByGetRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StartActionByGetResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StartActionByGetAndWaitRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StartActionByGetAndWaitResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetLogsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LogEntry); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetLogsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ValidateArgumentTypeRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ValidateArgumentTypeResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WatchExecutionRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WatchExecutionUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExecutionStatusRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExecutionStatusResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WhoAmIRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WhoAmIResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SosReportRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SosReportResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DumpVarsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DumpVarsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ActionEntityPair); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DumpPublicIdActionMapRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DumpPublicIdActionMapResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetReadyzRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetReadyzResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EventOutputChunk); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EventEntityChanged); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EventConfigChanged); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EventExecutionFinished); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EventExecutionStarted); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KillActionRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KillActionResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LocalUserLoginRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LocalUserLoginResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PasswordHashRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PasswordHashResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_OliveTin_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LogoutRequest); 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{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_OliveTin_proto_rawDesc, - NumEnums: 0, - NumMessages: 51, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_OliveTin_proto_goTypes, - DependencyIndexes: file_OliveTin_proto_depIdxs, - MessageInfos: file_OliveTin_proto_msgTypes, - }.Build() - File_OliveTin_proto = out.File - file_OliveTin_proto_rawDesc = nil - file_OliveTin_proto_goTypes = nil - file_OliveTin_proto_depIdxs = nil -} diff --git a/gen/grpc/OliveTin.pb.gw.go b/gen/grpc/OliveTin.pb.gw.go deleted file mode 100644 index d7062d3..0000000 --- a/gen/grpc/OliveTin.pb.gw.go +++ /dev/null @@ -1,1383 +0,0 @@ -// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. -// source: OliveTin.proto - -/* -Package grpc is a reverse proxy. - -It translates gRPC into RESTful JSON APIs. -*/ -package grpc - -import ( - "context" - "io" - "net/http" - - "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" - "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" - "google.golang.org/grpc" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/grpclog" - "google.golang.org/grpc/metadata" - "google.golang.org/grpc/status" - "google.golang.org/protobuf/proto" -) - -// Suppress "imported and not used" errors -var _ codes.Code -var _ io.Reader -var _ status.Status -var _ = runtime.String -var _ = utilities.NewDoubleArray -var _ = metadata.Join - -func request_OliveTinApiService_GetDashboardComponents_0(ctx context.Context, marshaler runtime.Marshaler, client OliveTinApiServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetDashboardComponentsRequest - var metadata runtime.ServerMetadata - - msg, err := client.GetDashboardComponents(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_OliveTinApiService_GetDashboardComponents_0(ctx context.Context, marshaler runtime.Marshaler, server OliveTinApiServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetDashboardComponentsRequest - var metadata runtime.ServerMetadata - - msg, err := server.GetDashboardComponents(ctx, &protoReq) - return msg, metadata, err - -} - -func request_OliveTinApiService_StartAction_0(ctx context.Context, marshaler runtime.Marshaler, client OliveTinApiServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq StartActionRequest - var metadata runtime.ServerMetadata - - if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.StartAction(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_OliveTinApiService_StartAction_0(ctx context.Context, marshaler runtime.Marshaler, server OliveTinApiServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq StartActionRequest - var metadata runtime.ServerMetadata - - if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.StartAction(ctx, &protoReq) - return msg, metadata, err - -} - -func request_OliveTinApiService_StartActionAndWait_0(ctx context.Context, marshaler runtime.Marshaler, client OliveTinApiServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq StartActionAndWaitRequest - var metadata runtime.ServerMetadata - - if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.StartActionAndWait(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_OliveTinApiService_StartActionAndWait_0(ctx context.Context, marshaler runtime.Marshaler, server OliveTinApiServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq StartActionAndWaitRequest - var metadata runtime.ServerMetadata - - if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.StartActionAndWait(ctx, &protoReq) - return msg, metadata, err - -} - -func request_OliveTinApiService_StartActionByGet_0(ctx context.Context, marshaler runtime.Marshaler, client OliveTinApiServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq StartActionByGetRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["action_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "action_id") - } - - protoReq.ActionId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "action_id", err) - } - - msg, err := client.StartActionByGet(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_OliveTinApiService_StartActionByGet_0(ctx context.Context, marshaler runtime.Marshaler, server OliveTinApiServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq StartActionByGetRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["action_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "action_id") - } - - protoReq.ActionId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "action_id", err) - } - - msg, err := server.StartActionByGet(ctx, &protoReq) - return msg, metadata, err - -} - -func request_OliveTinApiService_StartActionByGetAndWait_0(ctx context.Context, marshaler runtime.Marshaler, client OliveTinApiServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq StartActionByGetAndWaitRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["action_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "action_id") - } - - protoReq.ActionId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "action_id", err) - } - - msg, err := client.StartActionByGetAndWait(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_OliveTinApiService_StartActionByGetAndWait_0(ctx context.Context, marshaler runtime.Marshaler, server OliveTinApiServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq StartActionByGetAndWaitRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["action_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "action_id") - } - - protoReq.ActionId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "action_id", err) - } - - msg, err := server.StartActionByGetAndWait(ctx, &protoReq) - return msg, metadata, err - -} - -func request_OliveTinApiService_KillAction_0(ctx context.Context, marshaler runtime.Marshaler, client OliveTinApiServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq KillActionRequest - var metadata runtime.ServerMetadata - - if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.KillAction(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_OliveTinApiService_KillAction_0(ctx context.Context, marshaler runtime.Marshaler, server OliveTinApiServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq KillActionRequest - var metadata runtime.ServerMetadata - - if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.KillAction(ctx, &protoReq) - return msg, metadata, err - -} - -func request_OliveTinApiService_ExecutionStatus_0(ctx context.Context, marshaler runtime.Marshaler, client OliveTinApiServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ExecutionStatusRequest - var metadata runtime.ServerMetadata - - if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.ExecutionStatus(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_OliveTinApiService_ExecutionStatus_0(ctx context.Context, marshaler runtime.Marshaler, server OliveTinApiServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ExecutionStatusRequest - var metadata runtime.ServerMetadata - - if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.ExecutionStatus(ctx, &protoReq) - return msg, metadata, err - -} - -func request_OliveTinApiService_GetLogs_0(ctx context.Context, marshaler runtime.Marshaler, client OliveTinApiServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetLogsRequest - var metadata runtime.ServerMetadata - - msg, err := client.GetLogs(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_OliveTinApiService_GetLogs_0(ctx context.Context, marshaler runtime.Marshaler, server OliveTinApiServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetLogsRequest - var metadata runtime.ServerMetadata - - msg, err := server.GetLogs(ctx, &protoReq) - return msg, metadata, err - -} - -func request_OliveTinApiService_ValidateArgumentType_0(ctx context.Context, marshaler runtime.Marshaler, client OliveTinApiServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ValidateArgumentTypeRequest - var metadata runtime.ServerMetadata - - if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.ValidateArgumentType(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_OliveTinApiService_ValidateArgumentType_0(ctx context.Context, marshaler runtime.Marshaler, server OliveTinApiServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ValidateArgumentTypeRequest - var metadata runtime.ServerMetadata - - if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.ValidateArgumentType(ctx, &protoReq) - return msg, metadata, err - -} - -func request_OliveTinApiService_WhoAmI_0(ctx context.Context, marshaler runtime.Marshaler, client OliveTinApiServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq WhoAmIRequest - var metadata runtime.ServerMetadata - - msg, err := client.WhoAmI(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_OliveTinApiService_WhoAmI_0(ctx context.Context, marshaler runtime.Marshaler, server OliveTinApiServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq WhoAmIRequest - var metadata runtime.ServerMetadata - - msg, err := server.WhoAmI(ctx, &protoReq) - return msg, metadata, err - -} - -func request_OliveTinApiService_SosReport_0(ctx context.Context, marshaler runtime.Marshaler, client OliveTinApiServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq SosReportRequest - var metadata runtime.ServerMetadata - - msg, err := client.SosReport(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_OliveTinApiService_SosReport_0(ctx context.Context, marshaler runtime.Marshaler, server OliveTinApiServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq SosReportRequest - var metadata runtime.ServerMetadata - - msg, err := server.SosReport(ctx, &protoReq) - return msg, metadata, err - -} - -func request_OliveTinApiService_DumpVars_0(ctx context.Context, marshaler runtime.Marshaler, client OliveTinApiServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq DumpVarsRequest - var metadata runtime.ServerMetadata - - msg, err := client.DumpVars(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_OliveTinApiService_DumpVars_0(ctx context.Context, marshaler runtime.Marshaler, server OliveTinApiServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq DumpVarsRequest - var metadata runtime.ServerMetadata - - msg, err := server.DumpVars(ctx, &protoReq) - return msg, metadata, err - -} - -func request_OliveTinApiService_DumpPublicIdActionMap_0(ctx context.Context, marshaler runtime.Marshaler, client OliveTinApiServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq DumpPublicIdActionMapRequest - var metadata runtime.ServerMetadata - - msg, err := client.DumpPublicIdActionMap(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_OliveTinApiService_DumpPublicIdActionMap_0(ctx context.Context, marshaler runtime.Marshaler, server OliveTinApiServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq DumpPublicIdActionMapRequest - var metadata runtime.ServerMetadata - - msg, err := server.DumpPublicIdActionMap(ctx, &protoReq) - return msg, metadata, err - -} - -func request_OliveTinApiService_GetReadyz_0(ctx context.Context, marshaler runtime.Marshaler, client OliveTinApiServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetReadyzRequest - var metadata runtime.ServerMetadata - - msg, err := client.GetReadyz(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_OliveTinApiService_GetReadyz_0(ctx context.Context, marshaler runtime.Marshaler, server OliveTinApiServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetReadyzRequest - var metadata runtime.ServerMetadata - - msg, err := server.GetReadyz(ctx, &protoReq) - return msg, metadata, err - -} - -func request_OliveTinApiService_LocalUserLogin_0(ctx context.Context, marshaler runtime.Marshaler, client OliveTinApiServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq LocalUserLoginRequest - var metadata runtime.ServerMetadata - - if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.LocalUserLogin(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_OliveTinApiService_LocalUserLogin_0(ctx context.Context, marshaler runtime.Marshaler, server OliveTinApiServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq LocalUserLoginRequest - var metadata runtime.ServerMetadata - - if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.LocalUserLogin(ctx, &protoReq) - return msg, metadata, err - -} - -func request_OliveTinApiService_PasswordHash_0(ctx context.Context, marshaler runtime.Marshaler, client OliveTinApiServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PasswordHashRequest - var metadata runtime.ServerMetadata - - if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.PasswordHash(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_OliveTinApiService_PasswordHash_0(ctx context.Context, marshaler runtime.Marshaler, server OliveTinApiServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq PasswordHashRequest - var metadata runtime.ServerMetadata - - if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.PasswordHash(ctx, &protoReq) - return msg, metadata, err - -} - -func request_OliveTinApiService_Logout_0(ctx context.Context, marshaler runtime.Marshaler, client OliveTinApiServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq LogoutRequest - var metadata runtime.ServerMetadata - - msg, err := client.Logout(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_OliveTinApiService_Logout_0(ctx context.Context, marshaler runtime.Marshaler, server OliveTinApiServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq LogoutRequest - var metadata runtime.ServerMetadata - - msg, err := server.Logout(ctx, &protoReq) - return msg, metadata, err - -} - -// RegisterOliveTinApiServiceHandlerServer registers the http handlers for service OliveTinApiService to "mux". -// UnaryRPC :call OliveTinApiServiceServer directly. -// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. -// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterOliveTinApiServiceHandlerFromEndpoint instead. -func RegisterOliveTinApiServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server OliveTinApiServiceServer) error { - - mux.Handle("GET", pattern_OliveTinApiService_GetDashboardComponents_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/.OliveTinApiService/GetDashboardComponents", runtime.WithHTTPPathPattern("/api/GetDashboardComponents")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_OliveTinApiService_GetDashboardComponents_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_GetDashboardComponents_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_OliveTinApiService_StartAction_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/.OliveTinApiService/StartAction", runtime.WithHTTPPathPattern("/api/StartAction")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_OliveTinApiService_StartAction_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_StartAction_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_OliveTinApiService_StartActionAndWait_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/.OliveTinApiService/StartActionAndWait", runtime.WithHTTPPathPattern("/api/StartActionAndWait")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_OliveTinApiService_StartActionAndWait_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_StartActionAndWait_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_OliveTinApiService_StartActionByGet_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/.OliveTinApiService/StartActionByGet", runtime.WithHTTPPathPattern("/api/StartActionByGet/{action_id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_OliveTinApiService_StartActionByGet_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_StartActionByGet_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_OliveTinApiService_StartActionByGetAndWait_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/.OliveTinApiService/StartActionByGetAndWait", runtime.WithHTTPPathPattern("/api/StartActionByGetAndWait/{action_id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_OliveTinApiService_StartActionByGetAndWait_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_StartActionByGetAndWait_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_OliveTinApiService_KillAction_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/.OliveTinApiService/KillAction", runtime.WithHTTPPathPattern("/api/KillAction")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_OliveTinApiService_KillAction_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_KillAction_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_OliveTinApiService_ExecutionStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/.OliveTinApiService/ExecutionStatus", runtime.WithHTTPPathPattern("/api/ExecutionStatus")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_OliveTinApiService_ExecutionStatus_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_ExecutionStatus_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_OliveTinApiService_GetLogs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/.OliveTinApiService/GetLogs", runtime.WithHTTPPathPattern("/api/GetLogs")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_OliveTinApiService_GetLogs_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_GetLogs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_OliveTinApiService_ValidateArgumentType_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/.OliveTinApiService/ValidateArgumentType", runtime.WithHTTPPathPattern("/api/ValidateArgumentType")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_OliveTinApiService_ValidateArgumentType_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_ValidateArgumentType_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_OliveTinApiService_WhoAmI_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/.OliveTinApiService/WhoAmI", runtime.WithHTTPPathPattern("/api/WhoAmI")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_OliveTinApiService_WhoAmI_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_WhoAmI_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_OliveTinApiService_SosReport_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/.OliveTinApiService/SosReport", runtime.WithHTTPPathPattern("/api/sosreport")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_OliveTinApiService_SosReport_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_SosReport_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_OliveTinApiService_DumpVars_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/.OliveTinApiService/DumpVars", runtime.WithHTTPPathPattern("/api/DumpVars")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_OliveTinApiService_DumpVars_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_DumpVars_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_OliveTinApiService_DumpPublicIdActionMap_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/.OliveTinApiService/DumpPublicIdActionMap", runtime.WithHTTPPathPattern("/api/DumpActionMap")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_OliveTinApiService_DumpPublicIdActionMap_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_DumpPublicIdActionMap_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_OliveTinApiService_GetReadyz_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/.OliveTinApiService/GetReadyz", runtime.WithHTTPPathPattern("/api/readyz")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_OliveTinApiService_GetReadyz_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_GetReadyz_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_OliveTinApiService_LocalUserLogin_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/.OliveTinApiService/LocalUserLogin", runtime.WithHTTPPathPattern("/api/LocalUserLogin")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_OliveTinApiService_LocalUserLogin_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_LocalUserLogin_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_OliveTinApiService_PasswordHash_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/.OliveTinApiService/PasswordHash", runtime.WithHTTPPathPattern("/api/PasswordHash")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_OliveTinApiService_PasswordHash_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_PasswordHash_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_OliveTinApiService_Logout_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/.OliveTinApiService/Logout", runtime.WithHTTPPathPattern("/api/Logout")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_OliveTinApiService_Logout_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_Logout_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - return nil -} - -// RegisterOliveTinApiServiceHandlerFromEndpoint is same as RegisterOliveTinApiServiceHandler but -// automatically dials to "endpoint" and closes the connection when "ctx" gets done. -func RegisterOliveTinApiServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.DialContext(ctx, endpoint, opts...) - if err != nil { - return err - } - defer func() { - if err != nil { - if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) - } - return - } - go func() { - <-ctx.Done() - if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) - } - }() - }() - - return RegisterOliveTinApiServiceHandler(ctx, mux, conn) -} - -// RegisterOliveTinApiServiceHandler registers the http handlers for service OliveTinApiService to "mux". -// The handlers forward requests to the grpc endpoint over "conn". -func RegisterOliveTinApiServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { - return RegisterOliveTinApiServiceHandlerClient(ctx, mux, NewOliveTinApiServiceClient(conn)) -} - -// RegisterOliveTinApiServiceHandlerClient registers the http handlers for service OliveTinApiService -// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "OliveTinApiServiceClient". -// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "OliveTinApiServiceClient" -// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in -// "OliveTinApiServiceClient" to call the correct interceptors. -func RegisterOliveTinApiServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client OliveTinApiServiceClient) error { - - mux.Handle("GET", pattern_OliveTinApiService_GetDashboardComponents_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/.OliveTinApiService/GetDashboardComponents", runtime.WithHTTPPathPattern("/api/GetDashboardComponents")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_OliveTinApiService_GetDashboardComponents_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_GetDashboardComponents_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_OliveTinApiService_StartAction_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/.OliveTinApiService/StartAction", runtime.WithHTTPPathPattern("/api/StartAction")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_OliveTinApiService_StartAction_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_StartAction_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_OliveTinApiService_StartActionAndWait_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/.OliveTinApiService/StartActionAndWait", runtime.WithHTTPPathPattern("/api/StartActionAndWait")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_OliveTinApiService_StartActionAndWait_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_StartActionAndWait_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_OliveTinApiService_StartActionByGet_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/.OliveTinApiService/StartActionByGet", runtime.WithHTTPPathPattern("/api/StartActionByGet/{action_id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_OliveTinApiService_StartActionByGet_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_StartActionByGet_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_OliveTinApiService_StartActionByGetAndWait_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/.OliveTinApiService/StartActionByGetAndWait", runtime.WithHTTPPathPattern("/api/StartActionByGetAndWait/{action_id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_OliveTinApiService_StartActionByGetAndWait_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_StartActionByGetAndWait_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_OliveTinApiService_KillAction_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/.OliveTinApiService/KillAction", runtime.WithHTTPPathPattern("/api/KillAction")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_OliveTinApiService_KillAction_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_KillAction_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_OliveTinApiService_ExecutionStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/.OliveTinApiService/ExecutionStatus", runtime.WithHTTPPathPattern("/api/ExecutionStatus")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_OliveTinApiService_ExecutionStatus_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_ExecutionStatus_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_OliveTinApiService_GetLogs_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/.OliveTinApiService/GetLogs", runtime.WithHTTPPathPattern("/api/GetLogs")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_OliveTinApiService_GetLogs_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_GetLogs_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_OliveTinApiService_ValidateArgumentType_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/.OliveTinApiService/ValidateArgumentType", runtime.WithHTTPPathPattern("/api/ValidateArgumentType")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_OliveTinApiService_ValidateArgumentType_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_ValidateArgumentType_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_OliveTinApiService_WhoAmI_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/.OliveTinApiService/WhoAmI", runtime.WithHTTPPathPattern("/api/WhoAmI")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_OliveTinApiService_WhoAmI_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_WhoAmI_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_OliveTinApiService_SosReport_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/.OliveTinApiService/SosReport", runtime.WithHTTPPathPattern("/api/sosreport")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_OliveTinApiService_SosReport_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_SosReport_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_OliveTinApiService_DumpVars_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/.OliveTinApiService/DumpVars", runtime.WithHTTPPathPattern("/api/DumpVars")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_OliveTinApiService_DumpVars_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_DumpVars_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_OliveTinApiService_DumpPublicIdActionMap_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/.OliveTinApiService/DumpPublicIdActionMap", runtime.WithHTTPPathPattern("/api/DumpActionMap")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_OliveTinApiService_DumpPublicIdActionMap_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_DumpPublicIdActionMap_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_OliveTinApiService_GetReadyz_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/.OliveTinApiService/GetReadyz", runtime.WithHTTPPathPattern("/api/readyz")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_OliveTinApiService_GetReadyz_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_GetReadyz_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_OliveTinApiService_LocalUserLogin_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/.OliveTinApiService/LocalUserLogin", runtime.WithHTTPPathPattern("/api/LocalUserLogin")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_OliveTinApiService_LocalUserLogin_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_LocalUserLogin_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_OliveTinApiService_PasswordHash_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/.OliveTinApiService/PasswordHash", runtime.WithHTTPPathPattern("/api/PasswordHash")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_OliveTinApiService_PasswordHash_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_PasswordHash_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_OliveTinApiService_Logout_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/.OliveTinApiService/Logout", runtime.WithHTTPPathPattern("/api/Logout")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_OliveTinApiService_Logout_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_OliveTinApiService_Logout_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - return nil -} - -var ( - pattern_OliveTinApiService_GetDashboardComponents_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"api", "GetDashboardComponents"}, "")) - - pattern_OliveTinApiService_StartAction_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"api", "StartAction"}, "")) - - pattern_OliveTinApiService_StartActionAndWait_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"api", "StartActionAndWait"}, "")) - - pattern_OliveTinApiService_StartActionByGet_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"api", "StartActionByGet", "action_id"}, "")) - - pattern_OliveTinApiService_StartActionByGetAndWait_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"api", "StartActionByGetAndWait", "action_id"}, "")) - - pattern_OliveTinApiService_KillAction_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"api", "KillAction"}, "")) - - pattern_OliveTinApiService_ExecutionStatus_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"api", "ExecutionStatus"}, "")) - - pattern_OliveTinApiService_GetLogs_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"api", "GetLogs"}, "")) - - pattern_OliveTinApiService_ValidateArgumentType_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"api", "ValidateArgumentType"}, "")) - - pattern_OliveTinApiService_WhoAmI_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"api", "WhoAmI"}, "")) - - pattern_OliveTinApiService_SosReport_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"api", "sosreport"}, "")) - - pattern_OliveTinApiService_DumpVars_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"api", "DumpVars"}, "")) - - pattern_OliveTinApiService_DumpPublicIdActionMap_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"api", "DumpActionMap"}, "")) - - pattern_OliveTinApiService_GetReadyz_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"api", "readyz"}, "")) - - pattern_OliveTinApiService_LocalUserLogin_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"api", "LocalUserLogin"}, "")) - - pattern_OliveTinApiService_PasswordHash_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"api", "PasswordHash"}, "")) - - pattern_OliveTinApiService_Logout_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"api", "Logout"}, "")) -) - -var ( - forward_OliveTinApiService_GetDashboardComponents_0 = runtime.ForwardResponseMessage - - forward_OliveTinApiService_StartAction_0 = runtime.ForwardResponseMessage - - forward_OliveTinApiService_StartActionAndWait_0 = runtime.ForwardResponseMessage - - forward_OliveTinApiService_StartActionByGet_0 = runtime.ForwardResponseMessage - - forward_OliveTinApiService_StartActionByGetAndWait_0 = runtime.ForwardResponseMessage - - forward_OliveTinApiService_KillAction_0 = runtime.ForwardResponseMessage - - forward_OliveTinApiService_ExecutionStatus_0 = runtime.ForwardResponseMessage - - forward_OliveTinApiService_GetLogs_0 = runtime.ForwardResponseMessage - - forward_OliveTinApiService_ValidateArgumentType_0 = runtime.ForwardResponseMessage - - forward_OliveTinApiService_WhoAmI_0 = runtime.ForwardResponseMessage - - forward_OliveTinApiService_SosReport_0 = runtime.ForwardResponseMessage - - forward_OliveTinApiService_DumpVars_0 = runtime.ForwardResponseMessage - - forward_OliveTinApiService_DumpPublicIdActionMap_0 = runtime.ForwardResponseMessage - - forward_OliveTinApiService_GetReadyz_0 = runtime.ForwardResponseMessage - - forward_OliveTinApiService_LocalUserLogin_0 = runtime.ForwardResponseMessage - - forward_OliveTinApiService_PasswordHash_0 = runtime.ForwardResponseMessage - - forward_OliveTinApiService_Logout_0 = runtime.ForwardResponseMessage -) diff --git a/gen/grpc/OliveTin_grpc.pb.go b/gen/grpc/OliveTin_grpc.pb.go deleted file mode 100644 index 97f1245..0000000 --- a/gen/grpc/OliveTin_grpc.pb.go +++ /dev/null @@ -1,700 +0,0 @@ -// Code generated by protoc-gen-go-grpc. DO NOT EDIT. -// versions: -// - protoc-gen-go-grpc v1.3.0 -// - protoc (unknown) -// source: OliveTin.proto - -package grpc - -import ( - context "context" - httpbody "google.golang.org/genproto/googleapis/api/httpbody" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" -) - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 - -const ( - OliveTinApiService_GetDashboardComponents_FullMethodName = "/OliveTinApiService/GetDashboardComponents" - OliveTinApiService_StartAction_FullMethodName = "/OliveTinApiService/StartAction" - OliveTinApiService_StartActionAndWait_FullMethodName = "/OliveTinApiService/StartActionAndWait" - OliveTinApiService_StartActionByGet_FullMethodName = "/OliveTinApiService/StartActionByGet" - OliveTinApiService_StartActionByGetAndWait_FullMethodName = "/OliveTinApiService/StartActionByGetAndWait" - OliveTinApiService_KillAction_FullMethodName = "/OliveTinApiService/KillAction" - OliveTinApiService_ExecutionStatus_FullMethodName = "/OliveTinApiService/ExecutionStatus" - OliveTinApiService_GetLogs_FullMethodName = "/OliveTinApiService/GetLogs" - OliveTinApiService_ValidateArgumentType_FullMethodName = "/OliveTinApiService/ValidateArgumentType" - OliveTinApiService_WhoAmI_FullMethodName = "/OliveTinApiService/WhoAmI" - OliveTinApiService_SosReport_FullMethodName = "/OliveTinApiService/SosReport" - OliveTinApiService_DumpVars_FullMethodName = "/OliveTinApiService/DumpVars" - OliveTinApiService_DumpPublicIdActionMap_FullMethodName = "/OliveTinApiService/DumpPublicIdActionMap" - OliveTinApiService_GetReadyz_FullMethodName = "/OliveTinApiService/GetReadyz" - OliveTinApiService_LocalUserLogin_FullMethodName = "/OliveTinApiService/LocalUserLogin" - OliveTinApiService_PasswordHash_FullMethodName = "/OliveTinApiService/PasswordHash" - OliveTinApiService_Logout_FullMethodName = "/OliveTinApiService/Logout" -) - -// OliveTinApiServiceClient is the client API for OliveTinApiService service. -// -// 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 OliveTinApiServiceClient interface { - GetDashboardComponents(ctx context.Context, in *GetDashboardComponentsRequest, opts ...grpc.CallOption) (*GetDashboardComponentsResponse, error) - StartAction(ctx context.Context, in *StartActionRequest, opts ...grpc.CallOption) (*StartActionResponse, error) - StartActionAndWait(ctx context.Context, in *StartActionAndWaitRequest, opts ...grpc.CallOption) (*StartActionAndWaitResponse, error) - StartActionByGet(ctx context.Context, in *StartActionByGetRequest, opts ...grpc.CallOption) (*StartActionByGetResponse, error) - StartActionByGetAndWait(ctx context.Context, in *StartActionByGetAndWaitRequest, opts ...grpc.CallOption) (*StartActionByGetAndWaitResponse, error) - KillAction(ctx context.Context, in *KillActionRequest, opts ...grpc.CallOption) (*KillActionResponse, error) - ExecutionStatus(ctx context.Context, in *ExecutionStatusRequest, opts ...grpc.CallOption) (*ExecutionStatusResponse, error) - GetLogs(ctx context.Context, in *GetLogsRequest, opts ...grpc.CallOption) (*GetLogsResponse, error) - ValidateArgumentType(ctx context.Context, in *ValidateArgumentTypeRequest, opts ...grpc.CallOption) (*ValidateArgumentTypeResponse, error) - WhoAmI(ctx context.Context, in *WhoAmIRequest, opts ...grpc.CallOption) (*WhoAmIResponse, error) - SosReport(ctx context.Context, in *SosReportRequest, opts ...grpc.CallOption) (*httpbody.HttpBody, error) - DumpVars(ctx context.Context, in *DumpVarsRequest, opts ...grpc.CallOption) (*DumpVarsResponse, error) - DumpPublicIdActionMap(ctx context.Context, in *DumpPublicIdActionMapRequest, opts ...grpc.CallOption) (*DumpPublicIdActionMapResponse, error) - GetReadyz(ctx context.Context, in *GetReadyzRequest, opts ...grpc.CallOption) (*GetReadyzResponse, error) - LocalUserLogin(ctx context.Context, in *LocalUserLoginRequest, opts ...grpc.CallOption) (*LocalUserLoginResponse, error) - PasswordHash(ctx context.Context, in *PasswordHashRequest, opts ...grpc.CallOption) (*httpbody.HttpBody, error) - Logout(ctx context.Context, in *LogoutRequest, opts ...grpc.CallOption) (*httpbody.HttpBody, error) -} - -type oliveTinApiServiceClient struct { - cc grpc.ClientConnInterface -} - -func NewOliveTinApiServiceClient(cc grpc.ClientConnInterface) OliveTinApiServiceClient { - return &oliveTinApiServiceClient{cc} -} - -func (c *oliveTinApiServiceClient) GetDashboardComponents(ctx context.Context, in *GetDashboardComponentsRequest, opts ...grpc.CallOption) (*GetDashboardComponentsResponse, error) { - out := new(GetDashboardComponentsResponse) - err := c.cc.Invoke(ctx, OliveTinApiService_GetDashboardComponents_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *oliveTinApiServiceClient) StartAction(ctx context.Context, in *StartActionRequest, opts ...grpc.CallOption) (*StartActionResponse, error) { - out := new(StartActionResponse) - err := c.cc.Invoke(ctx, OliveTinApiService_StartAction_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *oliveTinApiServiceClient) StartActionAndWait(ctx context.Context, in *StartActionAndWaitRequest, opts ...grpc.CallOption) (*StartActionAndWaitResponse, error) { - out := new(StartActionAndWaitResponse) - err := c.cc.Invoke(ctx, OliveTinApiService_StartActionAndWait_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *oliveTinApiServiceClient) StartActionByGet(ctx context.Context, in *StartActionByGetRequest, opts ...grpc.CallOption) (*StartActionByGetResponse, error) { - out := new(StartActionByGetResponse) - err := c.cc.Invoke(ctx, OliveTinApiService_StartActionByGet_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *oliveTinApiServiceClient) StartActionByGetAndWait(ctx context.Context, in *StartActionByGetAndWaitRequest, opts ...grpc.CallOption) (*StartActionByGetAndWaitResponse, error) { - out := new(StartActionByGetAndWaitResponse) - err := c.cc.Invoke(ctx, OliveTinApiService_StartActionByGetAndWait_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *oliveTinApiServiceClient) KillAction(ctx context.Context, in *KillActionRequest, opts ...grpc.CallOption) (*KillActionResponse, error) { - out := new(KillActionResponse) - err := c.cc.Invoke(ctx, OliveTinApiService_KillAction_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *oliveTinApiServiceClient) ExecutionStatus(ctx context.Context, in *ExecutionStatusRequest, opts ...grpc.CallOption) (*ExecutionStatusResponse, error) { - out := new(ExecutionStatusResponse) - err := c.cc.Invoke(ctx, OliveTinApiService_ExecutionStatus_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *oliveTinApiServiceClient) GetLogs(ctx context.Context, in *GetLogsRequest, opts ...grpc.CallOption) (*GetLogsResponse, error) { - out := new(GetLogsResponse) - err := c.cc.Invoke(ctx, OliveTinApiService_GetLogs_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *oliveTinApiServiceClient) ValidateArgumentType(ctx context.Context, in *ValidateArgumentTypeRequest, opts ...grpc.CallOption) (*ValidateArgumentTypeResponse, error) { - out := new(ValidateArgumentTypeResponse) - err := c.cc.Invoke(ctx, OliveTinApiService_ValidateArgumentType_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *oliveTinApiServiceClient) WhoAmI(ctx context.Context, in *WhoAmIRequest, opts ...grpc.CallOption) (*WhoAmIResponse, error) { - out := new(WhoAmIResponse) - err := c.cc.Invoke(ctx, OliveTinApiService_WhoAmI_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *oliveTinApiServiceClient) SosReport(ctx context.Context, in *SosReportRequest, opts ...grpc.CallOption) (*httpbody.HttpBody, error) { - out := new(httpbody.HttpBody) - err := c.cc.Invoke(ctx, OliveTinApiService_SosReport_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *oliveTinApiServiceClient) DumpVars(ctx context.Context, in *DumpVarsRequest, opts ...grpc.CallOption) (*DumpVarsResponse, error) { - out := new(DumpVarsResponse) - err := c.cc.Invoke(ctx, OliveTinApiService_DumpVars_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *oliveTinApiServiceClient) DumpPublicIdActionMap(ctx context.Context, in *DumpPublicIdActionMapRequest, opts ...grpc.CallOption) (*DumpPublicIdActionMapResponse, error) { - out := new(DumpPublicIdActionMapResponse) - err := c.cc.Invoke(ctx, OliveTinApiService_DumpPublicIdActionMap_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *oliveTinApiServiceClient) GetReadyz(ctx context.Context, in *GetReadyzRequest, opts ...grpc.CallOption) (*GetReadyzResponse, error) { - out := new(GetReadyzResponse) - err := c.cc.Invoke(ctx, OliveTinApiService_GetReadyz_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *oliveTinApiServiceClient) LocalUserLogin(ctx context.Context, in *LocalUserLoginRequest, opts ...grpc.CallOption) (*LocalUserLoginResponse, error) { - out := new(LocalUserLoginResponse) - err := c.cc.Invoke(ctx, OliveTinApiService_LocalUserLogin_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *oliveTinApiServiceClient) PasswordHash(ctx context.Context, in *PasswordHashRequest, opts ...grpc.CallOption) (*httpbody.HttpBody, error) { - out := new(httpbody.HttpBody) - err := c.cc.Invoke(ctx, OliveTinApiService_PasswordHash_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *oliveTinApiServiceClient) Logout(ctx context.Context, in *LogoutRequest, opts ...grpc.CallOption) (*httpbody.HttpBody, error) { - out := new(httpbody.HttpBody) - err := c.cc.Invoke(ctx, OliveTinApiService_Logout_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// OliveTinApiServiceServer is the server API for OliveTinApiService service. -// All implementations should embed UnimplementedOliveTinApiServiceServer -// for forward compatibility -type OliveTinApiServiceServer interface { - GetDashboardComponents(context.Context, *GetDashboardComponentsRequest) (*GetDashboardComponentsResponse, error) - StartAction(context.Context, *StartActionRequest) (*StartActionResponse, error) - StartActionAndWait(context.Context, *StartActionAndWaitRequest) (*StartActionAndWaitResponse, error) - StartActionByGet(context.Context, *StartActionByGetRequest) (*StartActionByGetResponse, error) - StartActionByGetAndWait(context.Context, *StartActionByGetAndWaitRequest) (*StartActionByGetAndWaitResponse, error) - KillAction(context.Context, *KillActionRequest) (*KillActionResponse, error) - ExecutionStatus(context.Context, *ExecutionStatusRequest) (*ExecutionStatusResponse, error) - GetLogs(context.Context, *GetLogsRequest) (*GetLogsResponse, error) - ValidateArgumentType(context.Context, *ValidateArgumentTypeRequest) (*ValidateArgumentTypeResponse, error) - WhoAmI(context.Context, *WhoAmIRequest) (*WhoAmIResponse, error) - SosReport(context.Context, *SosReportRequest) (*httpbody.HttpBody, error) - DumpVars(context.Context, *DumpVarsRequest) (*DumpVarsResponse, error) - DumpPublicIdActionMap(context.Context, *DumpPublicIdActionMapRequest) (*DumpPublicIdActionMapResponse, error) - GetReadyz(context.Context, *GetReadyzRequest) (*GetReadyzResponse, error) - LocalUserLogin(context.Context, *LocalUserLoginRequest) (*LocalUserLoginResponse, error) - PasswordHash(context.Context, *PasswordHashRequest) (*httpbody.HttpBody, error) - Logout(context.Context, *LogoutRequest) (*httpbody.HttpBody, error) -} - -// UnimplementedOliveTinApiServiceServer should be embedded to have forward compatible implementations. -type UnimplementedOliveTinApiServiceServer struct { -} - -func (UnimplementedOliveTinApiServiceServer) GetDashboardComponents(context.Context, *GetDashboardComponentsRequest) (*GetDashboardComponentsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetDashboardComponents not implemented") -} -func (UnimplementedOliveTinApiServiceServer) StartAction(context.Context, *StartActionRequest) (*StartActionResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method StartAction not implemented") -} -func (UnimplementedOliveTinApiServiceServer) StartActionAndWait(context.Context, *StartActionAndWaitRequest) (*StartActionAndWaitResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method StartActionAndWait not implemented") -} -func (UnimplementedOliveTinApiServiceServer) StartActionByGet(context.Context, *StartActionByGetRequest) (*StartActionByGetResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method StartActionByGet not implemented") -} -func (UnimplementedOliveTinApiServiceServer) StartActionByGetAndWait(context.Context, *StartActionByGetAndWaitRequest) (*StartActionByGetAndWaitResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method StartActionByGetAndWait not implemented") -} -func (UnimplementedOliveTinApiServiceServer) KillAction(context.Context, *KillActionRequest) (*KillActionResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method KillAction not implemented") -} -func (UnimplementedOliveTinApiServiceServer) ExecutionStatus(context.Context, *ExecutionStatusRequest) (*ExecutionStatusResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ExecutionStatus not implemented") -} -func (UnimplementedOliveTinApiServiceServer) GetLogs(context.Context, *GetLogsRequest) (*GetLogsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetLogs not implemented") -} -func (UnimplementedOliveTinApiServiceServer) ValidateArgumentType(context.Context, *ValidateArgumentTypeRequest) (*ValidateArgumentTypeResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ValidateArgumentType not implemented") -} -func (UnimplementedOliveTinApiServiceServer) WhoAmI(context.Context, *WhoAmIRequest) (*WhoAmIResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method WhoAmI not implemented") -} -func (UnimplementedOliveTinApiServiceServer) SosReport(context.Context, *SosReportRequest) (*httpbody.HttpBody, error) { - return nil, status.Errorf(codes.Unimplemented, "method SosReport not implemented") -} -func (UnimplementedOliveTinApiServiceServer) DumpVars(context.Context, *DumpVarsRequest) (*DumpVarsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method DumpVars not implemented") -} -func (UnimplementedOliveTinApiServiceServer) DumpPublicIdActionMap(context.Context, *DumpPublicIdActionMapRequest) (*DumpPublicIdActionMapResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method DumpPublicIdActionMap not implemented") -} -func (UnimplementedOliveTinApiServiceServer) GetReadyz(context.Context, *GetReadyzRequest) (*GetReadyzResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetReadyz not implemented") -} -func (UnimplementedOliveTinApiServiceServer) LocalUserLogin(context.Context, *LocalUserLoginRequest) (*LocalUserLoginResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method LocalUserLogin not implemented") -} -func (UnimplementedOliveTinApiServiceServer) PasswordHash(context.Context, *PasswordHashRequest) (*httpbody.HttpBody, error) { - return nil, status.Errorf(codes.Unimplemented, "method PasswordHash not implemented") -} -func (UnimplementedOliveTinApiServiceServer) Logout(context.Context, *LogoutRequest) (*httpbody.HttpBody, error) { - return nil, status.Errorf(codes.Unimplemented, "method Logout not implemented") -} - -// UnsafeOliveTinApiServiceServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to OliveTinApiServiceServer will -// result in compilation errors. -type UnsafeOliveTinApiServiceServer interface { - mustEmbedUnimplementedOliveTinApiServiceServer() -} - -func RegisterOliveTinApiServiceServer(s grpc.ServiceRegistrar, srv OliveTinApiServiceServer) { - s.RegisterService(&OliveTinApiService_ServiceDesc, srv) -} - -func _OliveTinApiService_GetDashboardComponents_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetDashboardComponentsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OliveTinApiServiceServer).GetDashboardComponents(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: OliveTinApiService_GetDashboardComponents_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OliveTinApiServiceServer).GetDashboardComponents(ctx, req.(*GetDashboardComponentsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _OliveTinApiService_StartAction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(StartActionRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OliveTinApiServiceServer).StartAction(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: OliveTinApiService_StartAction_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OliveTinApiServiceServer).StartAction(ctx, req.(*StartActionRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _OliveTinApiService_StartActionAndWait_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(StartActionAndWaitRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OliveTinApiServiceServer).StartActionAndWait(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: OliveTinApiService_StartActionAndWait_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OliveTinApiServiceServer).StartActionAndWait(ctx, req.(*StartActionAndWaitRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _OliveTinApiService_StartActionByGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(StartActionByGetRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OliveTinApiServiceServer).StartActionByGet(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: OliveTinApiService_StartActionByGet_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OliveTinApiServiceServer).StartActionByGet(ctx, req.(*StartActionByGetRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _OliveTinApiService_StartActionByGetAndWait_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(StartActionByGetAndWaitRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OliveTinApiServiceServer).StartActionByGetAndWait(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: OliveTinApiService_StartActionByGetAndWait_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OliveTinApiServiceServer).StartActionByGetAndWait(ctx, req.(*StartActionByGetAndWaitRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _OliveTinApiService_KillAction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(KillActionRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OliveTinApiServiceServer).KillAction(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: OliveTinApiService_KillAction_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OliveTinApiServiceServer).KillAction(ctx, req.(*KillActionRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _OliveTinApiService_ExecutionStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ExecutionStatusRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OliveTinApiServiceServer).ExecutionStatus(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: OliveTinApiService_ExecutionStatus_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OliveTinApiServiceServer).ExecutionStatus(ctx, req.(*ExecutionStatusRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _OliveTinApiService_GetLogs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetLogsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OliveTinApiServiceServer).GetLogs(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: OliveTinApiService_GetLogs_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OliveTinApiServiceServer).GetLogs(ctx, req.(*GetLogsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _OliveTinApiService_ValidateArgumentType_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ValidateArgumentTypeRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OliveTinApiServiceServer).ValidateArgumentType(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: OliveTinApiService_ValidateArgumentType_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OliveTinApiServiceServer).ValidateArgumentType(ctx, req.(*ValidateArgumentTypeRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _OliveTinApiService_WhoAmI_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(WhoAmIRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OliveTinApiServiceServer).WhoAmI(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: OliveTinApiService_WhoAmI_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OliveTinApiServiceServer).WhoAmI(ctx, req.(*WhoAmIRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _OliveTinApiService_SosReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SosReportRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OliveTinApiServiceServer).SosReport(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: OliveTinApiService_SosReport_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OliveTinApiServiceServer).SosReport(ctx, req.(*SosReportRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _OliveTinApiService_DumpVars_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DumpVarsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OliveTinApiServiceServer).DumpVars(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: OliveTinApiService_DumpVars_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OliveTinApiServiceServer).DumpVars(ctx, req.(*DumpVarsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _OliveTinApiService_DumpPublicIdActionMap_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DumpPublicIdActionMapRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OliveTinApiServiceServer).DumpPublicIdActionMap(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: OliveTinApiService_DumpPublicIdActionMap_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OliveTinApiServiceServer).DumpPublicIdActionMap(ctx, req.(*DumpPublicIdActionMapRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _OliveTinApiService_GetReadyz_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetReadyzRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OliveTinApiServiceServer).GetReadyz(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: OliveTinApiService_GetReadyz_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OliveTinApiServiceServer).GetReadyz(ctx, req.(*GetReadyzRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _OliveTinApiService_LocalUserLogin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(LocalUserLoginRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OliveTinApiServiceServer).LocalUserLogin(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: OliveTinApiService_LocalUserLogin_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OliveTinApiServiceServer).LocalUserLogin(ctx, req.(*LocalUserLoginRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _OliveTinApiService_PasswordHash_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PasswordHashRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OliveTinApiServiceServer).PasswordHash(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: OliveTinApiService_PasswordHash_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OliveTinApiServiceServer).PasswordHash(ctx, req.(*PasswordHashRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _OliveTinApiService_Logout_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(LogoutRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OliveTinApiServiceServer).Logout(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: OliveTinApiService_Logout_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OliveTinApiServiceServer).Logout(ctx, req.(*LogoutRequest)) - } - return interceptor(ctx, in, info, handler) -} - -// OliveTinApiService_ServiceDesc is the grpc.ServiceDesc for OliveTinApiService service. -// It's only intended for direct use with grpc.RegisterService, -// and not to be introspected or modified (even as a copy) -var OliveTinApiService_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "OliveTinApiService", - HandlerType: (*OliveTinApiServiceServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "GetDashboardComponents", - Handler: _OliveTinApiService_GetDashboardComponents_Handler, - }, - { - MethodName: "StartAction", - Handler: _OliveTinApiService_StartAction_Handler, - }, - { - MethodName: "StartActionAndWait", - Handler: _OliveTinApiService_StartActionAndWait_Handler, - }, - { - MethodName: "StartActionByGet", - Handler: _OliveTinApiService_StartActionByGet_Handler, - }, - { - MethodName: "StartActionByGetAndWait", - Handler: _OliveTinApiService_StartActionByGetAndWait_Handler, - }, - { - MethodName: "KillAction", - Handler: _OliveTinApiService_KillAction_Handler, - }, - { - MethodName: "ExecutionStatus", - Handler: _OliveTinApiService_ExecutionStatus_Handler, - }, - { - MethodName: "GetLogs", - Handler: _OliveTinApiService_GetLogs_Handler, - }, - { - MethodName: "ValidateArgumentType", - Handler: _OliveTinApiService_ValidateArgumentType_Handler, - }, - { - MethodName: "WhoAmI", - Handler: _OliveTinApiService_WhoAmI_Handler, - }, - { - MethodName: "SosReport", - Handler: _OliveTinApiService_SosReport_Handler, - }, - { - MethodName: "DumpVars", - Handler: _OliveTinApiService_DumpVars_Handler, - }, - { - MethodName: "DumpPublicIdActionMap", - Handler: _OliveTinApiService_DumpPublicIdActionMap_Handler, - }, - { - MethodName: "GetReadyz", - Handler: _OliveTinApiService_GetReadyz_Handler, - }, - { - MethodName: "LocalUserLogin", - Handler: _OliveTinApiService_LocalUserLogin_Handler, - }, - { - MethodName: "PasswordHash", - Handler: _OliveTinApiService_PasswordHash_Handler, - }, - { - MethodName: "Logout", - Handler: _OliveTinApiService_Logout_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "OliveTin.proto", -} diff --git a/service/Makefile b/service/Makefile index a668ae2..dee7cc9 100644 --- a/service/Makefile +++ b/service/Makefile @@ -50,7 +50,4 @@ go-tools-all: go install "github.com/bufbuild/buf/cmd/buf" go install "github.com/fzipp/gocyclo/cmd/gocyclo" go install "github.com/go-critic/go-critic/cmd/gocritic" - go install "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway" - go install "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2" - go install "google.golang.org/grpc/cmd/protoc-gen-go-grpc" go install "google.golang.org/protobuf/cmd/protoc-gen-go" diff --git a/service/go.mod b/service/go.mod index c196615..4a36bf8 100644 --- a/service/go.mod +++ b/service/go.mod @@ -1,8 +1,8 @@ module github.com/OliveTin/OliveTin -go 1.24 +go 1.24.0 -toolchain go1.24.4 +toolchain go1.24.9 require ( connectrpc.com/connect v1.18.1 @@ -16,11 +16,12 @@ require ( github.com/golang-jwt/jwt/v5 v5.2.2 github.com/google/uuid v1.6.0 github.com/gorilla/websocket v1.5.3 - github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1 + github.com/grpc-ecosystem/grpc-gateway v1.16.0 github.com/jamesread/golure v0.0.0-20250619190948-fa38cbd93cc4 github.com/knadh/koanf/parsers/yaml v1.1.0 github.com/knadh/koanf/providers/env v1.1.0 github.com/knadh/koanf/providers/file v1.2.0 + github.com/knadh/koanf/providers/rawbytes v1.0.0 github.com/knadh/koanf/v2 v2.3.0 github.com/prometheus/client_golang v1.22.0 github.com/robfig/cron/v3 v3.0.1 @@ -28,10 +29,9 @@ require ( github.com/stretchr/testify v1.10.0 golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b golang.org/x/oauth2 v0.30.0 - golang.org/x/sys v0.33.0 - google.golang.org/grpc v1.73.0 - google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.5.1 - google.golang.org/protobuf v1.36.6 + golang.org/x/sys v0.35.0 + google.golang.org/grpc v1.75.1 + google.golang.org/protobuf v1.36.10 gopkg.in/yaml.v3 v3.0.1 ) @@ -86,20 +86,20 @@ require ( github.com/go-viper/mapstructure/v2 v2.4.0 // indirect github.com/gofrs/flock v0.12.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang/protobuf v1.5.4 // indirect github.com/google/cel-go v0.25.0 // indirect github.com/google/go-cmp v0.7.0 // indirect github.com/google/go-containerregistry v0.20.6 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jdx/go-netrc v1.0.0 // indirect github.com/klauspost/compress v1.18.0 // indirect github.com/klauspost/pgzip v1.2.6 // indirect github.com/knadh/koanf/maps v0.1.2 // indirect - github.com/knadh/koanf/providers/rawbytes v1.0.0 // indirect github.com/mattn/go-colorable v0.1.14 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect - github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/moby/docker-image-spec v1.3.1 // indirect github.com/moby/term v0.5.2 // indirect @@ -140,17 +140,18 @@ require ( go.uber.org/mock v0.5.2 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect - go.yaml.in/yaml/v3 v3.0.3 // indirect - golang.org/x/crypto v0.39.0 // indirect + go.yaml.in/yaml/v3 v3.0.4 // indirect + golang.org/x/crypto v0.41.0 // indirect golang.org/x/exp/typeparams v0.0.0-20250620022241-b7579e27df2b // indirect - golang.org/x/mod v0.25.0 // indirect - golang.org/x/net v0.41.0 // indirect - golang.org/x/sync v0.15.0 // indirect - golang.org/x/term v0.32.0 // indirect - golang.org/x/text v0.26.0 // indirect + golang.org/x/mod v0.27.0 // indirect + golang.org/x/net v0.43.0 // indirect + golang.org/x/sync v0.17.0 // indirect + golang.org/x/term v0.34.0 // indirect + golang.org/x/text v0.29.0 // indirect golang.org/x/time v0.12.0 // indirect - golang.org/x/tools v0.34.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20250707201910-8d1bb00bc6a7 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7 // indirect + golang.org/x/tools v0.36.0 // indirect + google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20250929231259-57b25ae835d4 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250929231259-57b25ae835d4 // indirect pluginrpc.com/pluginrpc v0.5.0 // indirect ) diff --git a/service/go.sum b/service/go.sum index ad2b4fb..fcdf858 100644 --- a/service/go.sum +++ b/service/go.sum @@ -24,12 +24,15 @@ buf.build/go/standard v0.1.0 h1:g98T9IyvAl0vS3Pq8iVk6Cvj2ZiFvoUJRtfyGa0120U= buf.build/go/standard v0.1.0/go.mod h1:PiqpHz/7ZFq+kqvYhc/SK3lxFIB9N/aiH2CFC2JHIQg= cel.dev/expr v0.24.0 h1:56OvJKSH3hDGL0ml5uSxZmz3/3Pq4tJ+fb1unVLAFcY= cel.dev/expr v0.24.0/go.mod h1:hLPLo1W4QUmuYdA72RBX06QTs6MXw941piREPl3Yfiw= +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= connectrpc.com/connect v1.18.1 h1:PAg7CjSAGvscaf6YZKUefjoih5Z/qYkyaTrBW8xvYPw= connectrpc.com/connect v1.18.1/go.mod h1:0292hj1rnx8oFrStN7cB4jjVBeqs+Yx5yDIC2prWDO8= connectrpc.com/otelconnect v0.7.2 h1:WlnwFzaW64dN06JXU+hREPUGeEzpz3Acz2ACOmN8cMI= connectrpc.com/otelconnect v0.7.2/go.mod h1:JS7XUKfuJs2adhCnXhNHPHLz6oAaZniCJdSF00OZSew= github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c h1:udKWzYgxTojEKWjV8V+WSxDXJ4NFATAsZjh8iIbsQIg= github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/MicahParks/jwkset v0.9.6 h1:Tf8l2/MOby5Kh3IkrqzThPQKfLytMERoAsGZKlyYZxg= @@ -40,6 +43,7 @@ github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERo github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= github.com/alexedwards/argon2id v1.0.0 h1:wJzDx66hqWX7siL/SRUmgz3F8YMrd/nfX/xHHcQQP0w= github.com/alexedwards/argon2id v1.0.0/go.mod h1:tYKkqIjzXvZdzPvADMWOEZ+l6+BD6CtBXMj5fnJppiw= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/antlr4-go/antlr/v4 v4.13.1 h1:SqQKkuVZ+zWkMMNkjy5FZe5mr5WURWnlpmOuzYWrPrQ= github.com/antlr4-go/antlr/v4 v4.13.1/go.mod h1:GKmUxMtwp6ZgGwZSva4eWPC5mS6vUAmOABFgjdkM7Nw= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= @@ -52,8 +56,11 @@ github.com/bufbuild/protoplugin v0.0.0-20250218205857-750e09ce93e1 h1:V1xulAoqLq github.com/bufbuild/protoplugin v0.0.0-20250218205857-750e09ce93e1/go.mod h1:c5D8gWRIZ2HLWO3gXYTtUfw/hbJyD8xikv2ooPxnklQ= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/containerd/errdefs v1.0.0 h1:tg5yIfIlQIrxYtu9ajqY42W3lpS19XqdxRQeEwYG8PI= github.com/containerd/errdefs v1.0.0/go.mod h1:+YBYIdtsnF4Iw6nWZhJcqGSg/dwvV7tyJ/kCkyJ2k+M= github.com/containerd/errdefs/pkg v0.3.0 h1:9IKJ06FvyNlexW690DXuQNx2KA2cUJXx151Xdx3ZPPE= @@ -86,12 +93,17 @@ github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj github.com/docker/go-connections v0.5.0/go.mod h1:ov60Kzw0kKElRwhNs9UlUHAE/F9Fe6GLaXnqyDdmEXc= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +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/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/fzipp/gocyclo v0.6.0 h1:lsblElZG7d3ALtGMx9fmxeTKZaLLpU8mET09yN4BBLo= github.com/fzipp/gocyclo v0.6.0/go.mod h1:rXPyn8fnlpa0R2csP/31uerbiVBugk5whMdlyaLkLoA= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/go-chi/chi/v5 v5.2.2 h1:CMwsvRVTbXVytCk1Wd72Zy1LAsAh9GxMmSNWLHCG618= github.com/go-chi/chi/v5 v5.2.2/go.mod h1:L2yAIGWB3H+phAw1NxKwWM+7eUH/lU8pOMm5hHcoops= github.com/go-critic/go-critic v0.13.0 h1:kJzM7wzltQasSUXtYyTl6UaPVySO6GkaR1thFnJ6afY= @@ -128,22 +140,31 @@ github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang-jwt/jwt/v5 v5.2.2 h1:Rl4B7itRWVtYIHFrSNd7vhTiz9UpLdi6gZhZ3wEeDy8= github.com/golang-jwt/jwt/v5 v5.2.2/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/google/cel-go v0.25.0 h1:jsFw9Fhn+3y2kBbltZR4VEz5xKkcIFRPDnuEzAGv5GY= github.com/google/cel-go v0.25.0/go.mod h1:hjEb6r5SuOSlhCHmFoLzu8HGCERvIsDAbxDAyNU/MmI= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/go-containerregistry v0.20.6 h1:cvWX87UxxLgaH76b4hIvya6Dzz9qHB31qAwjAohdSTU= github.com/google/go-containerregistry v0.20.6/go.mod h1:T0x8MuoAoKX/873bkeSfLD2FAkwCDf9/HZgsFJ02E2Y= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg= github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1 h1:X5VWvz21y3gzm9Nw/kaUeku/1+uBhcekkmy4IkffJww= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1/go.mod h1:Zanoh4+gvIgluNqcfMVTJueD4wSS5hT7zTt4Mrutd90= +github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= +github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3 h1:NmZ1PKzSTQbuGHw9DGPFomqkkLWMC+vZCkfs+FHv1Vg= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3/go.mod h1:zQrxl1YP88HQlA6i9c63DSVPFklWpGX4OWAc9bFuaH4= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/jamesread/golure v0.0.0-20250619190948-fa38cbd93cc4 h1:MIZEqAaeMP1/saH0w6I5mzGKSv2lw8fAO7Hm2FgJb9k= @@ -184,8 +205,6 @@ github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa1 github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= -github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= @@ -212,6 +231,7 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_golang v1.22.0 h1:rb93p9lokFEsctTys46VnV1kLCDpVZ0a/Y92Vm0Zc6Q= github.com/prometheus/client_golang v1.22.0/go.mod h1:R7ljNsLXhuQXYZYtw6GAE9AZg8Y7vEW5scdCXrWRXC0= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= github.com/prometheus/common v0.65.0 h1:QDwzd+G1twt//Kwj/Ww6E9FQq1iVMmODnILtW1t2VzE= @@ -232,6 +252,7 @@ github.com/quic-go/quic-go v0.54.1 h1:4ZAWm0AhCb6+hE+l5Q1NAL0iRn/ZrMwqHRGQiFwj2e github.com/quic-go/quic-go v0.54.1/go.mod h1:e68ZEaCdyviluZmy44P6Iey98v/Wfz6HCjQEm+l8zTY= github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs= github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA= @@ -302,48 +323,65 @@ go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= -go.yaml.in/yaml/v3 v3.0.3 h1:bXOww4E/J3f66rav3pX3m8w6jDE4knZjGOw8b5Y6iNE= -go.yaml.in/yaml/v3 v3.0.3/go.mod h1:tBHosrYAkRZjRAOREWbDnBXUf08JOwYq++0QNwQiWzI= +go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= +go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= -golang.org/x/crypto v0.39.0 h1:SHs+kF4LP+f+p14esP5jAoDpHU8Gu/v9lFRK6IT5imM= -golang.org/x/crypto v0.39.0/go.mod h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U= +golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4= +golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b h1:M2rDM6z3Fhozi9O7NWsxAkg/yqS/lQJ6PmkyIV3YP+o= golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b/go.mod h1:3//PLf8L/X+8b4vuAfHzxeRUl04Adcb341+IGKfnqS8= golang.org/x/exp/typeparams v0.0.0-20220428152302-39d4317da171/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/exp/typeparams v0.0.0-20230203172020-98cc5a0785f9/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/exp/typeparams v0.0.0-20250620022241-b7579e27df2b h1:KdrhdYPDUvJTvrDK9gdjfFd6JTk8vA1WJoldYSi0kHo= golang.org/x/exp/typeparams v0.0.0-20250620022241-b7579e27df2b/go.mod h1:LKZHyeOpPuZcMgxeHjJp4p5yvxrCX1xDvH10zYHhjjQ= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.25.0 h1:n7a+ZbQKQA/Ysbyb0/6IbB1H/X41mKgbhfv7AfG/44w= -golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= +golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ= +golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw= -golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA= +golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= +golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +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-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-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8= -golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/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-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -356,54 +394,70 @@ golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= -golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI= +golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= -golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg= -golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ= +golang.org/x/term v0.34.0 h1:O/2T7POpk0ZZ7MAzMeWFSg6S5IpWd/RXDlM9hgM3DR4= +golang.org/x/term v0.34.0/go.mod h1:5jC53AEywhIVebHgPVeg0mj8OD3VO9OzclacVrqpaAw= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M= -golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA= +golang.org/x/text v0.29.0 h1:1neNs90w9YzJ9BocxfsQNHKuAT4pkghyXc4nhZ6sJvk= +golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4= golang.org/x/time v0.12.0 h1:ScB/8o8olJvc+CQPWrK3fPZNfh7qgwCrY0zJmoEQLSE= golang.org/x/time v0.12.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo= -golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg= +golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg= +golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s= 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= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/api v0.0.0-20250707201910-8d1bb00bc6a7 h1:FiusG7LWj+4byqhbvmB+Q93B/mOxJLN2DTozDuZm4EU= -google.golang.org/genproto/googleapis/api v0.0.0-20250707201910-8d1bb00bc6a7/go.mod h1:kXqgZtrWaf6qS3jZOCnCH7WYfrvFjkC51bM8fz3RsCA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7 h1:pFyd6EwwL2TqFf8emdthzeX+gZE1ElRq3iM8pui4KBY= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= -google.golang.org/grpc v1.73.0 h1:VIWSmpI2MegBtTuFt5/JWy2oXxtjJ/e89Z70ImfD2ok= -google.golang.org/grpc v1.73.0/go.mod h1:50sbHOUqWoCQGI8V2HQLJM0B+LMlIUjNSZmow7EVBQc= -google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.5.1 h1:F29+wU6Ee6qgu9TddPgooOdaqsxTMunOoj8KA5yuS5A= -google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.5.1/go.mod h1:5KF+wpkbTSbGcR9zteSqZV6fqFOWBl4Yde8En8MryZA= -google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY= -google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884 h1:fiNLklpBwWK1mth30Hlwk+fcdBmIALlgF5iy77O37Ig= +google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto/googleapis/api v0.0.0-20250929231259-57b25ae835d4 h1:8XJ4pajGwOlasW+L13MnEGA8W4115jJySQtVfS2/IBU= +google.golang.org/genproto/googleapis/api v0.0.0-20250929231259-57b25ae835d4/go.mod h1:NnuHhy+bxcg30o7FnVAZbXsPHUDQ9qKWAQKCD7VxFtk= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250929231259-57b25ae835d4 h1:i8QOKZfYg6AbGVZzUAY3LrNWCKF8O6zFisU9Wl9RER4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250929231259-57b25ae835d4/go.mod h1:HSkG/KdJWusxU1F6CNrwNDjBMgisKxGnc5dAZfT0mjQ= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= +google.golang.org/grpc v1.75.1 h1:/ODCNEuf9VghjgO3rqLcfg8fiOP0nSluljWFlDxELLI= +google.golang.org/grpc v1.75.1/go.mod h1:JtPAzKiq4v1xcAB2hydNlWI2RnF85XXcV0mhKXr2ecQ= +google.golang.org/protobuf v1.36.10 h1:AYd7cD/uASjIL6Q9LiTjz8JLcrh/88q5UObnmY3aOOE= +google.golang.org/protobuf v1.36.10/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools/v3 v3.0.3 h1:4AuOwCGf4lLR9u3YOe2awrHygurzhO/HeQ6laiA6Sx0= gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= pluginrpc.com/pluginrpc v0.5.0 h1:tOQj2D35hOmvHyPu8e7ohW2/QvAnEtKscy2IJYWQ2yo= pluginrpc.com/pluginrpc v0.5.0/go.mod h1:UNWZ941hcVAoOZUn8YZsMmOZBzbUjQa3XMns8RQLp9o= diff --git a/service/internal/acl/acl.go b/service/internal/acl/acl.go index ac4796a..f87bab3 100644 --- a/service/internal/acl/acl.go +++ b/service/internal/acl/acl.go @@ -2,13 +2,14 @@ package acl import ( "context" + "net/http" "strings" + "connectrpc.com/connect" config "github.com/OliveTin/OliveTin/internal/config" log "github.com/sirupsen/logrus" "golang.org/x/exp/slices" - "google.golang.org/grpc/metadata" ) type PermissionBits int @@ -184,32 +185,28 @@ func IsAllowedKill(cfg *config.Config, user *AuthenticatedUser, action *config.A return aclCheck(Kill, cfg.DefaultPermissions.Kill, cfg, "isAllowedKill", user, action) } -func getMetadataKeyOrEmpty(md metadata.MD, key string) string { - mdValues := md.Get(key) - - if len(mdValues) > 0 { - return mdValues[0] +func getHeaderKeyOrEmpty(headers http.Header, key string) string { + values := headers.Values(key) + if len(values) > 0 { + return values[0] } - return "" } -// UserFromContext tries to find a user from a grpc context -func UserFromContext(ctx context.Context, cfg *config.Config) *AuthenticatedUser { +// UserFromContext tries to find a user from a Connect RPC context +func UserFromContext[T any](ctx context.Context, req *connect.Request[T], cfg *config.Config) *AuthenticatedUser { var ret *AuthenticatedUser - md, ok := metadata.FromIncomingContext(ctx) - - if ok { + if req != nil { ret = &AuthenticatedUser{} - ret.Username = getMetadataKeyOrEmpty(md, "username") - ret.UsergroupLine = getMetadataKeyOrEmpty(md, "usergroup") - ret.Provider = getMetadataKeyOrEmpty(md, "provider") + ret.Username = getHeaderKeyOrEmpty(req.Header(), "username") + ret.UsergroupLine = getHeaderKeyOrEmpty(req.Header(), "usergroup") + ret.Provider = getHeaderKeyOrEmpty(req.Header(), "provider") buildUserAcls(cfg, ret) } - if !ok || ret.Username == "" { + if ret == nil || ret.Username == "" { ret = UserGuest(cfg) } diff --git a/service/internal/api/api.go b/service/internal/api/api.go index 57b296b..45c3985 100644 --- a/service/internal/api/api.go +++ b/service/internal/api/api.go @@ -15,6 +15,7 @@ import ( "net/http" acl "github.com/OliveTin/OliveTin/internal/acl" + auth "github.com/OliveTin/OliveTin/internal/auth" config "github.com/OliveTin/OliveTin/internal/config" entities "github.com/OliveTin/OliveTin/internal/entities" executor "github.com/OliveTin/OliveTin/internal/executor" @@ -57,7 +58,7 @@ func (api *oliveTinAPI) KillAction(ctx ctx.Context, req *connect.Request[apiv1.K return connect.NewResponse(ret), nil } - user := acl.UserFromContext(ctx, api.cfg) + user := acl.UserFromContext(ctx, req, api.cfg) api.killActionByTrackingId(user, action, execReqLogEntry, ret) @@ -94,7 +95,7 @@ func (api *oliveTinAPI) StartAction(ctx ctx.Context, req *connect.Request[apiv1. return nil, connect.NewError(connect.CodeNotFound, fmt.Errorf("action with ID %s not found", req.Msg.BindingId)) } - authenticatedUser := acl.UserFromContext(ctx, api.cfg) + authenticatedUser := acl.UserFromContext(ctx, req, api.cfg) execReq := executor.ExecutionRequest{ Binding: pair, @@ -130,8 +131,33 @@ func (api *oliveTinAPI) PasswordHash(ctx ctx.Context, req *connect.Request[apiv1 func (api *oliveTinAPI) LocalUserLogin(ctx ctx.Context, req *connect.Request[apiv1.LocalUserLoginRequest]) (*connect.Response[apiv1.LocalUserLoginResponse], error) { match := checkUserPassword(api.cfg, req.Msg.Username, req.Msg.Password) + response := connect.NewResponse(&apiv1.LocalUserLoginResponse{ + Success: match, + }) + if match { - // grpc.SendHeader(ctx, metadata.Pairs("set-username", req.Username)) + // Set authentication cookie for successful login + user := api.cfg.FindUserByUsername(req.Msg.Username) + if user != nil { + sid := uuid.NewString() + // Register the session in the session storage + auth.RegisterUserSession(api.cfg, "local", sid, user.Username) + + log.WithFields(log.Fields{ + "username": user.Username, + "sid": sid, + }).Info("LocalUserLogin: Session created and registered") + + // Set the authentication cookie in the response headers + cookie := &http.Cookie{ + Name: "olivetin-sid-local", + Value: sid, + MaxAge: 31556952, // 1 year + HttpOnly: true, + Path: "/", + } + response.Header().Set("Set-Cookie", cookie.String()) + } log.WithFields(log.Fields{ "username": req.Msg.Username, @@ -142,9 +168,7 @@ func (api *oliveTinAPI) LocalUserLogin(ctx ctx.Context, req *connect.Request[api }).Warn("LocalUserLogin: User login failed.") } - return connect.NewResponse(&apiv1.LocalUserLoginResponse{ - Success: match, - }), nil + return response, nil } func (api *oliveTinAPI) StartActionAndWait(ctx ctx.Context, req *connect.Request[apiv1.StartActionAndWaitRequest]) (*connect.Response[apiv1.StartActionAndWaitResponse], error) { @@ -154,7 +178,7 @@ func (api *oliveTinAPI) StartActionAndWait(ctx ctx.Context, req *connect.Request args[arg.Name] = arg.Value } - user := acl.UserFromContext(ctx, api.cfg) + user := acl.UserFromContext(ctx, req, api.cfg) execReq := executor.ExecutionRequest{ Binding: api.executor.FindBindingByID(req.Msg.ActionId), @@ -185,7 +209,7 @@ func (api *oliveTinAPI) StartActionByGet(ctx ctx.Context, req *connect.Request[a Binding: api.executor.FindBindingByID(req.Msg.ActionId), TrackingID: uuid.NewString(), Arguments: args, - AuthenticatedUser: acl.UserFromContext(ctx, api.cfg), + AuthenticatedUser: acl.UserFromContext(ctx, req, api.cfg), Cfg: api.cfg, } @@ -199,7 +223,7 @@ func (api *oliveTinAPI) StartActionByGet(ctx ctx.Context, req *connect.Request[a func (api *oliveTinAPI) StartActionByGetAndWait(ctx ctx.Context, req *connect.Request[apiv1.StartActionByGetAndWaitRequest]) (*connect.Response[apiv1.StartActionByGetAndWaitResponse], error) { args := make(map[string]string) - user := acl.UserFromContext(ctx, api.cfg) + user := acl.UserFromContext(ctx, req, api.cfg) execReq := executor.ExecutionRequest{ Binding: api.executor.FindBindingByID(req.Msg.ActionId), @@ -277,7 +301,7 @@ func getMostRecentExecutionStatusById(api *oliveTinAPI, actionId string) *execut func (api *oliveTinAPI) ExecutionStatus(ctx ctx.Context, req *connect.Request[apiv1.ExecutionStatusRequest]) (*connect.Response[apiv1.ExecutionStatusResponse], error) { res := &apiv1.ExecutionStatusResponse{} - user := acl.UserFromContext(ctx, api.cfg) + user := acl.UserFromContext(ctx, req, api.cfg) var ile *executor.InternalLogEntry @@ -300,9 +324,6 @@ func (api *oliveTinAPI) ExecutionStatus(ctx ctx.Context, req *connect.Request[ap func (api *oliveTinAPI) Logout(ctx ctx.Context, req *connect.Request[apiv1.LogoutRequest]) (*connect.Response[apiv1.LogoutResponse], error) { // user := acl.UserFromContext(ctx, cfg) - // grpc.SendHeader(ctx, metadata.Pairs("logout-provider", user.Provider)) - // grpc.SendHeader(ctx, metadata.Pairs("logout-sid", user.SID)) - return nil, nil } @@ -312,14 +333,14 @@ func (api *oliveTinAPI) GetActionBinding(ctx ctx.Context, req *connect.Request[a return connect.NewResponse(&apiv1.GetActionBindingResponse{ Action: buildAction(binding, &DashboardRenderRequest{ cfg: api.cfg, - AuthenticatedUser: acl.UserFromContext(ctx, api.cfg), + AuthenticatedUser: acl.UserFromContext(ctx, req, api.cfg), ex: api.executor, }), }), nil } func (api *oliveTinAPI) GetDashboard(ctx ctx.Context, req *connect.Request[apiv1.GetDashboardRequest]) (*connect.Response[apiv1.GetDashboardResponse], error) { - user := acl.UserFromContext(ctx, api.cfg) + user := acl.UserFromContext(ctx, req, api.cfg) if err := api.checkDashboardAccess(user); err != nil { return nil, err @@ -369,7 +390,7 @@ func (api *oliveTinAPI) buildCustomDashboardResponse(rr *DashboardRenderRequest, } func (api *oliveTinAPI) GetLogs(ctx ctx.Context, req *connect.Request[apiv1.GetLogsRequest]) (*connect.Response[apiv1.GetLogsResponse], error) { - user := acl.UserFromContext(ctx, api.cfg) + user := acl.UserFromContext(ctx, req, api.cfg) ret := &apiv1.GetLogsResponse{} @@ -413,7 +434,7 @@ func (api *oliveTinAPI) ValidateArgumentType(ctx ctx.Context, req *connect.Reque } func (api *oliveTinAPI) WhoAmI(ctx ctx.Context, req *connect.Request[apiv1.WhoAmIRequest]) (*connect.Response[apiv1.WhoAmIResponse], error) { - user := acl.UserFromContext(ctx, api.cfg) + user := acl.UserFromContext(ctx, req, api.cfg) res := &apiv1.WhoAmIResponse{ AuthenticatedUser: user.Username, @@ -497,7 +518,7 @@ func (api *oliveTinAPI) EventStream(ctx ctx.Context, req *connect.Request[apiv1. client := &connectedClients{ channel: make(chan *apiv1.EventStreamResponse, 10), // Buffered channel to hold Events - AuthenticatedUser: acl.UserFromContext(ctx, api.cfg), + AuthenticatedUser: acl.UserFromContext(ctx, req, api.cfg), } log.Infof("EventStream: client connected: %v", client.AuthenticatedUser.Username) @@ -573,7 +594,7 @@ func (api *oliveTinAPI) GetDiagnostics(ctx ctx.Context, req *connect.Request[api } func (api *oliveTinAPI) Init(ctx ctx.Context, req *connect.Request[apiv1.InitRequest]) (*connect.Response[apiv1.InitResponse], error) { - user := acl.UserFromContext(ctx, api.cfg) + user := acl.UserFromContext(ctx, req, api.cfg) res := &apiv1.InitResponse{ ShowFooter: api.cfg.ShowFooter, diff --git a/service/internal/auth/sessions.go b/service/internal/auth/sessions.go new file mode 100644 index 0000000..043b8c8 --- /dev/null +++ b/service/internal/auth/sessions.go @@ -0,0 +1,110 @@ +package auth + +import ( + "os" + "sync" + "time" + + "github.com/OliveTin/OliveTin/internal/config" + "gopkg.in/yaml.v3" +) + +// Session management for user authentication +type UserSession struct { + Username string + Expiry int64 +} + +type SessionProvider struct { + Sessions map[string]*UserSession +} + +type SessionStorage struct { + Providers map[string]*SessionProvider +} + +var ( + sessionStorage *SessionStorage + sessionStorageMutex sync.RWMutex +) + +func init() { + sessionStorage = &SessionStorage{ + Providers: make(map[string]*SessionProvider), + } +} + +// RegisterUserSession registers a user session +func RegisterUserSession(cfg *config.Config, provider string, sid string, username string) { + sessionStorageMutex.Lock() + defer sessionStorageMutex.Unlock() + + if sessionStorage.Providers[provider] == nil { + sessionStorage.Providers[provider] = &SessionProvider{ + Sessions: make(map[string]*UserSession), + } + } + + sessionStorage.Providers[provider].Sessions[sid] = &UserSession{ + Username: username, + Expiry: time.Now().Unix() + 31556952, // 1 year + } + + saveUserSessions(cfg) +} + +// GetUserSession retrieves a user session +func GetUserSession(provider string, sid string) *UserSession { + sessionStorageMutex.RLock() + defer sessionStorageMutex.RUnlock() + + if sessionStorage.Providers[provider] == nil { + return nil + } + + session := sessionStorage.Providers[provider].Sessions[sid] + if session == nil { + return nil + } + + if session.Expiry < time.Now().Unix() { + delete(sessionStorage.Providers[provider].Sessions, sid) + return nil + } + + return session +} + +// LoadUserSessions loads sessions from disk +func LoadUserSessions(cfg *config.Config) { + sessionStorageMutex.Lock() + defer sessionStorageMutex.Unlock() + + data, err := os.ReadFile(cfg.GetDir() + "/sessions.yaml") + if err != nil { + return + } + + err = yaml.Unmarshal(data, &sessionStorage) + if err != nil { + return + } + + if sessionStorage == nil { + sessionStorage = &SessionStorage{ + Providers: make(map[string]*SessionProvider), + } + } +} + +func saveUserSessions(cfg *config.Config) { + out, err := yaml.Marshal(sessionStorage) + if err != nil { + return + } + + err = os.WriteFile(cfg.GetDir()+"/sessions.yaml", out, 0600) + if err != nil { + return + } +} diff --git a/service/internal/config/config.go b/service/internal/config/config.go index 5ea6559..3c27b14 100644 --- a/service/internal/config/config.go +++ b/service/internal/config/config.go @@ -99,7 +99,6 @@ type Config struct { ListenAddressSingleHTTPFrontend string ListenAddressWebUI string ListenAddressRestActions string - ListenAddressGrpcActions string ListenAddressPrometheus string ExternalRestAddress string LogLevel string @@ -256,7 +255,6 @@ func DefaultConfigWithBasePort(basePort int) *Config { config.ListenAddressSingleHTTPFrontend = fmt.Sprintf("0.0.0.0:%d", basePort) config.ListenAddressRestActions = fmt.Sprintf("localhost:%d", basePort+1) - config.ListenAddressGrpcActions = fmt.Sprintf("localhost:%d", basePort+2) config.ListenAddressWebUI = fmt.Sprintf("localhost:%d", basePort+3) config.ListenAddressPrometheus = fmt.Sprintf("localhost:%d", basePort+4) diff --git a/service/internal/config/config_helpers_test.go b/service/internal/config/config_helpers_test.go index 1a8aa2f..398a5b1 100644 --- a/service/internal/config/config_helpers_test.go +++ b/service/internal/config/config_helpers_test.go @@ -1,8 +1,9 @@ package config import ( - "github.com/stretchr/testify/assert" "testing" + + "github.com/stretchr/testify/assert" ) func TestFindAction(t *testing.T) { @@ -51,3 +52,40 @@ func TestSetDir(t *testing.T) { assert.Equal(t, "test", c.GetDir(), "SetDir") } + +func TestFindUserByUsername(t *testing.T) { + c := DefaultConfig() + + // Test with empty users list + assert.Nil(t, c.FindUserByUsername("nonexistent"), "Find user in empty list should return nil") + + // Add test users + user1 := &LocalUser{ + Username: "admin", + Usergroup: "admin", + Password: "adminpass", + } + user2 := &LocalUser{ + Username: "guest", + Usergroup: "guest", + Password: "guestpass", + } + + c.AuthLocalUsers.Users = append(c.AuthLocalUsers.Users, user1, user2) + + // Test finding existing users + foundUser := c.FindUserByUsername("admin") + assert.NotNil(t, foundUser, "Find existing user 'admin'") + assert.Equal(t, "admin", foundUser.Username, "Found user should have correct username") + assert.Equal(t, "admin", foundUser.Usergroup, "Found user should have correct usergroup") + assert.Equal(t, "adminpass", foundUser.Password, "Found user should have correct password") + + foundUser = c.FindUserByUsername("guest") + assert.NotNil(t, foundUser, "Find existing user 'guest'") + assert.Equal(t, "guest", foundUser.Username, "Found user should have correct username") + assert.Equal(t, "guest", foundUser.Usergroup, "Found user should have correct usergroup") + + // Test finding non-existent user + assert.Nil(t, c.FindUserByUsername("nonexistent"), "Find non-existent user should return nil") + assert.Nil(t, c.FindUserByUsername(""), "Find empty username should return nil") +} diff --git a/service/internal/config/config_reloader.go b/service/internal/config/config_reloader.go index b7b8ed8..4187d87 100644 --- a/service/internal/config/config_reloader.go +++ b/service/internal/config/config_reloader.go @@ -76,59 +76,40 @@ func AppendSource(cfg *Config, k *koanf.Koanf, configPath string) { } } + // If authLocalUsers are not loaded by default unmarshaling, try manual unmarshaling + // This is a workaround for a koanf issue where nested struct fields are not unmarshaled correctly + if len(cfg.AuthLocalUsers.Users) == 0 && k.Exists("authLocalUsers") { + var authLocalUsers AuthLocalUsersConfig + err := k.Unmarshal("authLocalUsers", &authLocalUsers) + if err != nil { + log.Errorf("Error manually unmarshaling authLocalUsers: %v", err) + } else { + cfg.AuthLocalUsers = authLocalUsers + } + } + // Manual field assignment for other config fields that might not be unmarshaled correctly - if k.Exists("showFooter") { - cfg.ShowFooter = k.Bool("showFooter") - } - if k.Exists("showNavigation") { - cfg.ShowNavigation = k.Bool("showNavigation") - } - if k.Exists("checkForUpdates") { - cfg.CheckForUpdates = k.Bool("checkForUpdates") - } - if k.Exists("pageTitle") { - cfg.PageTitle = k.String("pageTitle") - } - if k.Exists("listenAddressSingleHTTPFrontend") { - cfg.ListenAddressSingleHTTPFrontend = k.String("listenAddressSingleHTTPFrontend") - } - if k.Exists("listenAddressWebUI") { - cfg.ListenAddressWebUI = k.String("listenAddressWebUI") - } - if k.Exists("listenAddressRestActions") { - cfg.ListenAddressRestActions = k.String("listenAddressRestActions") - } - if k.Exists("listenAddressGrpcActions") { - cfg.ListenAddressGrpcActions = k.String("listenAddressGrpcActions") - } - if k.Exists("listenAddressPrometheus") { - cfg.ListenAddressPrometheus = k.String("listenAddressPrometheus") - } - if k.Exists("useSingleHTTPFrontend") { - cfg.UseSingleHTTPFrontend = k.Bool("useSingleHTTPFrontend") - } - if k.Exists("logLevel") { - cfg.LogLevel = k.String("logLevel") - } + boolVal(k, "showFooter", &cfg.ShowFooter) + boolVal(k, "showNavigation", &cfg.ShowNavigation) + boolVal(k, "checkForUpdates", &cfg.CheckForUpdates) + stringVal(k, "pageTitle", &cfg.PageTitle) + stringVal(k, "listenAddressSingleHTTPFrontend", &cfg.ListenAddressSingleHTTPFrontend) + stringVal(k, "listenAddressWebUI", &cfg.ListenAddressWebUI) + stringVal(k, "listenAddressRestActions", &cfg.ListenAddressRestActions) + stringVal(k, "listenAddressPrometheus", &cfg.ListenAddressPrometheus) + boolVal(k, "useSingleHTTPFrontend", &cfg.UseSingleHTTPFrontend) + stringVal(k, "logLevel", &cfg.LogLevel) // Handle defaultPolicy nested struct if k.Exists("defaultPolicy") { - if k.Exists("defaultPolicy.showDiagnostics") { - cfg.DefaultPolicy.ShowDiagnostics = k.Bool("defaultPolicy.showDiagnostics") - } - if k.Exists("defaultPolicy.showLogList") { - cfg.DefaultPolicy.ShowLogList = k.Bool("defaultPolicy.showLogList") - } + boolVal(k, "defaultPolicy.showDiagnostics", &cfg.DefaultPolicy.ShowDiagnostics) + boolVal(k, "defaultPolicy.showLogList", &cfg.DefaultPolicy.ShowLogList) } // Handle prometheus nested struct if k.Exists("prometheus") { - if k.Exists("prometheus.enabled") { - cfg.Prometheus.Enabled = k.Bool("prometheus.enabled") - } - if k.Exists("prometheus.defaultGoMetrics") { - cfg.Prometheus.DefaultGoMetrics = k.Bool("prometheus.defaultGoMetrics") - } + boolVal(k, "prometheus.enabled", &cfg.Prometheus.Enabled) + boolVal(k, "prometheus.defaultGoMetrics", &cfg.Prometheus.DefaultGoMetrics) } metricConfigReloadedCount.Inc() @@ -144,6 +125,25 @@ func AppendSource(cfg *Config, k *koanf.Koanf, configPath string) { var envRegex = regexp.MustCompile(`\${{ *?(\S+) *?}}`) +// Helper functions to reduce repetitive if/set chains +func stringVal(k *koanf.Koanf, key string, dest *string) { + if k.Exists(key) { + *dest = k.String(key) + } +} + +func boolVal(k *koanf.Koanf, key string, dest *bool) { + if k.Exists(key) { + *dest = k.Bool(key) + } +} + +func int64Val(k *koanf.Koanf, key string, dest *int64) { + if k.Exists(key) { + *dest = k.Int64(key) + } +} + func envDecodeHookFunc(from reflect.Type, to reflect.Type, data any) (any, error) { log.Debugf("envDecodeHookFunc called: from=%v, to=%v, data=%v", from, to, data) if from.Kind() != reflect.String { diff --git a/service/internal/config/config_reloader_user_test.go b/service/internal/config/config_reloader_user_test.go new file mode 100644 index 0000000..3b5b7ca --- /dev/null +++ b/service/internal/config/config_reloader_user_test.go @@ -0,0 +1,168 @@ +package config + +import ( + "os" + "testing" + + "github.com/knadh/koanf/parsers/yaml" + "github.com/knadh/koanf/providers/file" + "github.com/knadh/koanf/v2" + "github.com/stretchr/testify/assert" +) + +func TestUserLoadingFromConfig(t *testing.T) { + // Create a temporary test config file + testConfig := ` +authLocalUsers: + enabled: true + users: + - username: testuser1 + usergroup: admin + password: password1 + - username: testuser2 + usergroup: guest + password: password2 + +actions: + - title: Test Action + shell: echo "test" +` + + // Create temporary file + tmpFile, err := os.CreateTemp("", "test_config_*.yaml") + assert.NoError(t, err, "Should create temporary file") + defer os.Remove(tmpFile.Name()) + + // Write test config to file + _, err = tmpFile.WriteString(testConfig) + assert.NoError(t, err, "Should write test config to file") + tmpFile.Close() + + // Load config using koanf + k := koanf.New(".") + err = k.Load(file.Provider(tmpFile.Name()), yaml.Parser()) + assert.NoError(t, err, "Should load config file") + + // Create config struct and load it + cfg := &Config{} + AppendSource(cfg, k, tmpFile.Name()) + + // Test that authLocalUsers was loaded correctly + assert.True(t, cfg.AuthLocalUsers.Enabled, "AuthLocalUsers should be enabled") + assert.Equal(t, 2, len(cfg.AuthLocalUsers.Users), "Should load 2 users") + + // Test individual users + user1 := cfg.FindUserByUsername("testuser1") + assert.NotNil(t, user1, "Should find testuser1") + assert.Equal(t, "testuser1", user1.Username, "User1 should have correct username") + assert.Equal(t, "admin", user1.Usergroup, "User1 should have correct usergroup") + assert.Equal(t, "password1", user1.Password, "User1 should have correct password") + + user2 := cfg.FindUserByUsername("testuser2") + assert.NotNil(t, user2, "Should find testuser2") + assert.Equal(t, "testuser2", user2.Username, "User2 should have correct username") + assert.Equal(t, "guest", user2.Usergroup, "User2 should have correct usergroup") + assert.Equal(t, "password2", user2.Password, "User2 should have correct password") + + // Test non-existent user + assert.Nil(t, cfg.FindUserByUsername("nonexistent"), "Should return nil for non-existent user") +} + +func TestUserLoadingWithEmptyUsers(t *testing.T) { + // Test config with enabled but no users + testConfig := ` +authLocalUsers: + enabled: true + users: [] + +actions: + - title: Test Action + shell: echo "test" +` + + tmpFile, err := os.CreateTemp("", "test_config_empty_*.yaml") + assert.NoError(t, err, "Should create temporary file") + defer os.Remove(tmpFile.Name()) + + _, err = tmpFile.WriteString(testConfig) + assert.NoError(t, err, "Should write test config to file") + tmpFile.Close() + + k := koanf.New(".") + err = k.Load(file.Provider(tmpFile.Name()), yaml.Parser()) + assert.NoError(t, err, "Should load config file") + + cfg := &Config{} + AppendSource(cfg, k, tmpFile.Name()) + + assert.True(t, cfg.AuthLocalUsers.Enabled, "AuthLocalUsers should be enabled") + assert.Equal(t, 0, len(cfg.AuthLocalUsers.Users), "Should have 0 users") + assert.Nil(t, cfg.FindUserByUsername("anyuser"), "Should return nil for any user") +} + +func TestUserLoadingWithDisabledAuth(t *testing.T) { + // Test config with disabled auth + testConfig := ` +authLocalUsers: + enabled: false + users: + - username: testuser + usergroup: admin + password: password + +actions: + - title: Test Action + shell: echo "test" +` + + tmpFile, err := os.CreateTemp("", "test_config_disabled_*.yaml") + assert.NoError(t, err, "Should create temporary file") + defer os.Remove(tmpFile.Name()) + + _, err = tmpFile.WriteString(testConfig) + assert.NoError(t, err, "Should write test config to file") + tmpFile.Close() + + k := koanf.New(".") + err = k.Load(file.Provider(tmpFile.Name()), yaml.Parser()) + assert.NoError(t, err, "Should load config file") + + cfg := &Config{} + AppendSource(cfg, k, tmpFile.Name()) + + assert.False(t, cfg.AuthLocalUsers.Enabled, "AuthLocalUsers should be disabled") + assert.Equal(t, 1, len(cfg.AuthLocalUsers.Users), "Should still load users even when disabled") + + // User should still be findable even when auth is disabled + user := cfg.FindUserByUsername("testuser") + assert.NotNil(t, user, "Should find user even when auth is disabled") +} + +func TestUserLoadingWithoutAuthSection(t *testing.T) { + // Test config without authLocalUsers section + testConfig := ` +actions: + - title: Test Action + shell: echo "test" +` + + tmpFile, err := os.CreateTemp("", "test_config_no_auth_*.yaml") + assert.NoError(t, err, "Should create temporary file") + defer os.Remove(tmpFile.Name()) + + _, err = tmpFile.WriteString(testConfig) + assert.NoError(t, err, "Should write test config to file") + tmpFile.Close() + + k := koanf.New(".") + err = k.Load(file.Provider(tmpFile.Name()), yaml.Parser()) + assert.NoError(t, err, "Should load config file") + + cfg := &Config{} + AppendSource(cfg, k, tmpFile.Name()) + + // Should have default values + assert.False(t, cfg.AuthLocalUsers.Enabled, "AuthLocalUsers should be disabled by default") + assert.Equal(t, 0, len(cfg.AuthLocalUsers.Users), "Should have 0 users by default") + assert.Nil(t, cfg.FindUserByUsername("anyuser"), "Should return nil for any user") +} diff --git a/service/internal/httpservers/restapi.go b/service/internal/httpservers/restapi.go index 3ba2be9..9d6ef75 100644 --- a/service/internal/httpservers/restapi.go +++ b/service/internal/httpservers/restapi.go @@ -1,14 +1,11 @@ package httpservers import ( - "context" - "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" - log "github.com/sirupsen/logrus" - "google.golang.org/grpc/metadata" - "google.golang.org/protobuf/reflect/protoreflect" "net/http" "strings" + log "github.com/sirupsen/logrus" + // apiv1 "github.com/OliveTin/OliveTin/gen/olivetin/api/v1" config "github.com/OliveTin/OliveTin/internal/config" @@ -41,109 +38,7 @@ func parseHttpHeaderForAuth(cfg *config.Config, req *http.Request) (string, stri } //gocyclo:ignore -func parseRequestMetadata(cfg *config.Config, ctx context.Context, req *http.Request) metadata.MD { - username := "" - usergroup := "" - provider := "unknown" - sid := "" - - if cfg.AuthJwtHeader != "" { - username, usergroup = parseJwtHeader(cfg, req) - provider = "jwt-header" - } - - if cfg.AuthJwtCookieName != "" { - username, usergroup = parseJwtCookie(cfg, req) - provider = "jwt-cookie" - } - - if cfg.AuthHttpHeaderUsername != "" && username == "" { - username, usergroup = parseHttpHeaderForAuth(cfg, req) - provider = "http-header" - } - - // if len(cfg.AuthOAuth2Providers) > 0 && username == "" { - // username, usergroup, sid = parseOAuth2Cookie(req) - // provider = "oauth2" - // } - - if cfg.AuthLocalUsers.Enabled && username == "" { - username, usergroup, sid = parseLocalUserCookie(cfg, req) - provider = "local" - } - - md := metadata.New(map[string]string{ - "username": username, - "usergroup": usergroup, - "provider": provider, - "sid": sid, - }) - - log.Tracef("api request metadata: %+v", md) - - return md -} - func parseJwtHeader(cfg *config.Config, req *http.Request) (string, string) { // JWTs in the Authorization header are usually prefixed with "Bearer " which is not part of the JWT token. return parseJwt(cfg, strings.TrimPrefix(req.Header.Get(cfg.AuthJwtHeader), "Bearer ")) } - -func (h *OAuth2Handler) forwardResponseHandler(cfg *config.Config, ctx context.Context, w http.ResponseWriter, msg protoreflect.ProtoMessage) error { - md, ok := runtime.ServerMetadataFromContext(ctx) - - if !ok { - log.Warn("Could not get ServerMetadata from context") - return nil - } - - forwardResponseHandlerLoginLocalUser(cfg, md.HeaderMD, w) - h.forwardResponseHandlerLogout(cfg, md.HeaderMD, w) - - return nil -} - -func (h *OAuth2Handler) forwardResponseHandlerLogout(cfg *config.Config, md metadata.MD, w http.ResponseWriter) { - if getMetadataKeyOrEmpty(md, "logout-provider") != "" { - sid := getMetadataKeyOrEmpty(md, "logout-sid") - - delete(h.registeredStates, sid) - http.SetCookie( - w, - &http.Cookie{ - Name: "olivetin-sid-oauth", - MaxAge: 31556952, // 1 year - Value: "", - HttpOnly: true, - Path: "/", - }, - ) - - deleteLocalUserSession(cfg, "local", sid) - - http.SetCookie( - w, - &http.Cookie{ - Name: "olivetin-sid-local", - MaxAge: 31556952, // 1 year - Value: "", - HttpOnly: true, - Path: "/", - }, - ) - - w.Header().Set("Content-Type", "text/html") - // We cannot send a HTTP redirect here, because we don't have access to req. - w.Write([]byte("")) - } -} - -func getMetadataKeyOrEmpty(md metadata.MD, key string) string { - mdValues := md.Get(key) - - if len(mdValues) > 0 { - return mdValues[0] - } - - return "" -} diff --git a/service/internal/httpservers/restapi_auth.go b/service/internal/httpservers/restapi_auth.go deleted file mode 100644 index 88d9eaa..0000000 --- a/service/internal/httpservers/restapi_auth.go +++ /dev/null @@ -1,177 +0,0 @@ -package httpservers - -import ( - "github.com/OliveTin/OliveTin/internal/config" - "github.com/OliveTin/OliveTin/internal/filehelper" - log "github.com/sirupsen/logrus" - "gopkg.in/yaml.v3" - "os" - "path/filepath" - "sync" - "time" -) - -var sessionStorageMutex sync.Mutex - -type UserSession struct { - Username string - Expiry int64 -} - -type SessionProvider struct { - Sessions map[string]*UserSession -} - -type SessionStorage struct { - Providers map[string]*SessionProvider -} - -var ( - sessionStorage *SessionStorage -) - -func registerSessionProviders() { - sessionStorage = &SessionStorage{ - Providers: make(map[string]*SessionProvider), - } - - registerSessionProvider("local") - registerSessionProvider("oauth2") -} - -func registerSessionProvider(provider string) { - sessionStorage.Providers[provider] = &SessionProvider{ - Sessions: make(map[string]*UserSession), - } -} - -func deleteLocalUserSession(cfg *config.Config, provider string, sid string) { - sessionStorageMutex.Lock() - - deleteLocalUserSessionBatch(provider, sid) - - sessionStorageMutex.Unlock() - - saveUserSessions(cfg) -} - -func deleteLocalUserSessionBatch(provider string, sid string) { - log.WithFields(log.Fields{ - "sid": sid, - "provider": provider, - }).Debug("Deleting user session") - - if _, ok := sessionStorage.Providers[provider]; !ok { - return - } - - delete(sessionStorage.Providers[provider].Sessions, sid) -} - -func registerUserSession(cfg *config.Config, provider string, sid string, username string) { - sessionStorageMutex.Lock() - sessionStorage.Providers[provider].Sessions[sid] = &UserSession{ - Username: username, - Expiry: time.Now().Unix() + 31556952, // 1 year - } - sessionStorageMutex.Unlock() - - saveUserSessions(cfg) -} - -func saveUserSessions(cfg *config.Config) { - sessionStorageMutex.Lock() - defer sessionStorageMutex.Unlock() - - filename := filepath.Join(cfg.GetDir(), "sessions.db.yaml") - - out, err := yaml.Marshal(sessionStorage) - - if err != nil { - log.WithFields(log.Fields{ - "error": err, - }).Errorf("Failed to marshal session data to %v", filename) - return - } - - filehelper.WriteFile(filename, out) -} - -func loadUserSessions(cfg *config.Config) { - registerSessionProviders() - - filename := filepath.Join(cfg.GetDir(), "sessions.db.yaml") - - if _, err := os.Stat(filename); os.IsNotExist(err) { - return - } - - data, err := os.ReadFile(filename) - - if err != nil { - log.WithFields(log.Fields{ - "error": err, - }).Errorf("Failed to read %v", filename) - return - } - - err = yaml.Unmarshal(data, &sessionStorage) - - if err != nil { - log.WithFields(log.Fields{ - "error": err, - }).Error("Failed to unmarshal sessions.local.db") - return - } - - deleteExpiredSessions(cfg) -} - -func deleteExpiredSessions(cfg *config.Config) { - sessionStorageMutex.Lock() - - for provider, sessions := range sessionStorage.Providers { - for sid, session := range sessions.Sessions { - if session.Expiry < time.Now().Unix() { - deleteLocalUserSessionBatch(provider, sid) - } - } - } - - sessionStorageMutex.Unlock() - - saveUserSessions(cfg) -} - -func getUserFromSession(cfg *config.Config, providerName string, sid string) *config.LocalUser { - provider, ok := sessionStorage.Providers[providerName] - - if !ok { - log.WithFields(log.Fields{ - "provider": providerName, - }).Warnf("Provider not found") - return nil - } - - session, ok := provider.Sessions[sid] - - if !ok { - log.WithFields(log.Fields{ - "sid": sid, - "provider": providerName, - }).Warnf("Stale session") - return nil - } - - user := cfg.FindUserByUsername(session.Username) - - if user == nil { - log.WithFields(log.Fields{ - "sid": sid, - "provider": providerName, - }).Warnf("User not found") - return nil - } - - return user -} diff --git a/service/internal/httpservers/restapi_auth_local.go b/service/internal/httpservers/restapi_auth_local.go index b449cc8..197b840 100644 --- a/service/internal/httpservers/restapi_auth_local.go +++ b/service/internal/httpservers/restapi_auth_local.go @@ -1,11 +1,11 @@ package httpservers import ( - "github.com/OliveTin/OliveTin/internal/config" - "google.golang.org/grpc/metadata" "net/http" - "github.com/google/uuid" + "github.com/OliveTin/OliveTin/internal/auth" + "github.com/OliveTin/OliveTin/internal/config" + log "github.com/sirupsen/logrus" ) func parseLocalUserCookie(cfg *config.Config, req *http.Request) (string, string, string) { @@ -17,39 +17,18 @@ func parseLocalUserCookie(cfg *config.Config, req *http.Request) (string, string cookieValue := cookie.Value - user := getUserFromSession(cfg, "local", cookieValue) + session := auth.GetUserSession("local", cookieValue) + if session == nil { + return "", "", "" + } + user := cfg.FindUserByUsername(session.Username) if user == nil { + log.WithFields(log.Fields{ + "username": session.Username, + }).Warnf("User not found in config") return "", "", "" } return user.Username, user.Usergroup, cookie.Value } - -func forwardResponseHandlerLoginLocalUser(cfg *config.Config, md metadata.MD, w http.ResponseWriter) error { - setUsername := getMetadataKeyOrEmpty(md, "set-username") - - if setUsername != "" { - user := cfg.FindUserByUsername(setUsername) - - if user == nil { - return nil - } - - sid := uuid.NewString() - registerUserSession(cfg, "local", sid, user.Username) - - http.SetCookie( - w, - &http.Cookie{ - Name: "olivetin-sid-local", - Value: sid, - MaxAge: 31556952, // 1 year - HttpOnly: true, - Path: "/", - }, - ) - } - - return nil -} diff --git a/service/internal/httpservers/singleFrontend.go b/service/internal/httpservers/singleFrontend.go index ba4c5be..e7627e6 100644 --- a/service/internal/httpservers/singleFrontend.go +++ b/service/internal/httpservers/singleFrontend.go @@ -18,7 +18,6 @@ import ( config "github.com/OliveTin/OliveTin/internal/config" "github.com/OliveTin/OliveTin/internal/executor" log "github.com/sirupsen/logrus" - "google.golang.org/grpc/metadata" ) func logDebugRequest(cfg *config.Config, source string, r *http.Request) { @@ -56,12 +55,6 @@ func StartSingleHTTPFrontend(cfg *config.Config, ex *executor.Executor) { log.Debugf("SingleFrontend HTTP API Req URL after rewrite: %v", r.URL.Path) - // Process HTTP headers for authentication and add to context - ctx := r.Context() - md := parseRequestMetadata(cfg, ctx, r) - ctx = metadata.NewIncomingContext(ctx, md) - r = r.WithContext(ctx) - apiHandler.ServeHTTP(w, r) })) diff --git a/service/internal/installationinfo/sosreport.go b/service/internal/installationinfo/sosreport.go index b434c3a..3dd1e77 100644 --- a/service/internal/installationinfo/sosreport.go +++ b/service/internal/installationinfo/sosreport.go @@ -19,7 +19,6 @@ type sosReportConfig struct { ListenAddressSingleHTTPFrontend string ListenAddressWebUI string ListenAddressRestActions string - ListenAddressGrpcActions string Timezone string TimeNow string ConfigDirectory string @@ -34,7 +33,6 @@ func configToSosreport(cfg *config.Config) *sosReportConfig { ListenAddressSingleHTTPFrontend: cfg.ListenAddressSingleHTTPFrontend, ListenAddressWebUI: cfg.ListenAddressWebUI, ListenAddressRestActions: cfg.ListenAddressRestActions, - ListenAddressGrpcActions: cfg.ListenAddressGrpcActions, Timezone: time.Now().Location().String(), TimeNow: time.Now().String(), ConfigDirectory: cfg.GetDir(), diff --git a/service/tools.go b/service/tools.go index 70e4683..b3593da 100644 --- a/service/tools.go +++ b/service/tools.go @@ -7,6 +7,5 @@ import ( _ "github.com/bufbuild/buf/cmd/buf" _ "github.com/fzipp/gocyclo/cmd/gocyclo" _ "github.com/go-critic/go-critic/cmd/gocritic" - _ "google.golang.org/grpc/cmd/protoc-gen-go-grpc" _ "google.golang.org/protobuf/cmd/protoc-gen-go" ) diff --git a/var/tekton/gobuilder/Dockerfile b/var/tekton/gobuilder/Dockerfile index 774957c..dacb182 100644 --- a/var/tekton/gobuilder/Dockerfile +++ b/var/tekton/gobuilder/Dockerfile @@ -8,7 +8,4 @@ WORKDIR /workspace RUN go install -v "github.com/bufbuild/buf/cmd/buf" RUN go install -v "github.com/fzipp/gocyclo/cmd/gocyclo" RUN go install -v "github.com/go-critic/go-critic/cmd/gocritic" -RUN go install -v "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway" -RUN go install -v "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2" -RUN go install -v "google.golang.org/grpc/cmd/protoc-gen-go-grpc" RUN go install -v "google.golang.org/protobuf/cmd/protoc-gen-go"