diff --git a/api/types/event/container.pb.go b/api/services/events/v1/container.pb.go similarity index 88% rename from api/types/event/container.pb.go rename to api/services/events/v1/container.pb.go index 7fee97980..5dee38d13 100644 --- a/api/types/event/container.pb.go +++ b/api/services/events/v1/container.pb.go @@ -1,25 +1,26 @@ // Code generated by protoc-gen-gogo. -// source: github.com/containerd/containerd/api/types/event/container.proto +// source: github.com/containerd/containerd/api/services/events/v1/container.proto // DO NOT EDIT! /* - Package event is a generated protocol buffer package. + Package events is a generated protocol buffer package. It is generated from these files: - github.com/containerd/containerd/api/types/event/container.proto - github.com/containerd/containerd/api/types/event/content.proto - github.com/containerd/containerd/api/types/event/event.proto - github.com/containerd/containerd/api/types/event/image.proto - github.com/containerd/containerd/api/types/event/namespace.proto - github.com/containerd/containerd/api/types/event/runtime.proto - github.com/containerd/containerd/api/types/event/snapshot.proto - github.com/containerd/containerd/api/types/event/task.proto + github.com/containerd/containerd/api/services/events/v1/container.proto + github.com/containerd/containerd/api/services/events/v1/content.proto + github.com/containerd/containerd/api/services/events/v1/events.proto + github.com/containerd/containerd/api/services/events/v1/image.proto + github.com/containerd/containerd/api/services/events/v1/namespace.proto + github.com/containerd/containerd/api/services/events/v1/runtime.proto + github.com/containerd/containerd/api/services/events/v1/snapshot.proto + github.com/containerd/containerd/api/services/events/v1/task.proto It has these top-level messages: ContainerCreate ContainerUpdate ContainerDelete ContentDelete + StreamEventsRequest Envelope ImageUpdate ImageDelete @@ -38,7 +39,7 @@ TaskStart TaskDelete */ -package event +package events import proto "github.com/gogo/protobuf/proto" import fmt "fmt" @@ -103,10 +104,10 @@ func (*ContainerDelete) ProtoMessage() {} func (*ContainerDelete) Descriptor() ([]byte, []int) { return fileDescriptorContainer, []int{2} } func init() { - proto.RegisterType((*ContainerCreate)(nil), "containerd.v1.types.ContainerCreate") - proto.RegisterType((*ContainerCreate_Runtime)(nil), "containerd.v1.types.ContainerCreate.Runtime") - proto.RegisterType((*ContainerUpdate)(nil), "containerd.v1.types.ContainerUpdate") - proto.RegisterType((*ContainerDelete)(nil), "containerd.v1.types.ContainerDelete") + proto.RegisterType((*ContainerCreate)(nil), "containerd.services.events.v1.ContainerCreate") + proto.RegisterType((*ContainerCreate_Runtime)(nil), "containerd.services.events.v1.ContainerCreate.Runtime") + proto.RegisterType((*ContainerUpdate)(nil), "containerd.services.events.v1.ContainerUpdate") + proto.RegisterType((*ContainerDelete)(nil), "containerd.services.events.v1.ContainerDelete") } func (m *ContainerCreate) Marshal() (dAtA []byte, err error) { size := m.Size() @@ -1226,34 +1227,35 @@ var ( ) func init() { - proto.RegisterFile("github.com/containerd/containerd/api/types/event/container.proto", fileDescriptorContainer) + proto.RegisterFile("github.com/containerd/containerd/api/services/events/v1/container.proto", fileDescriptorContainer) } var fileDescriptorContainer = []byte{ - // 387 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x52, 0x4f, 0x6b, 0xe2, 0x40, - 0x1c, 0x75, 0x12, 0x37, 0xb2, 0x13, 0xc1, 0x65, 0xd6, 0x43, 0xc8, 0x21, 0x8a, 0x27, 0x0f, 0xcb, - 0x64, 0xd7, 0xbd, 0xac, 0x9e, 0x16, 0xff, 0x51, 0xa1, 0x50, 0x18, 0xe9, 0xb9, 0x44, 0x33, 0x4d, - 0x43, 0x93, 0x4c, 0x48, 0x46, 0xc1, 0x5b, 0x0f, 0xfd, 0x3c, 0xfd, 0x1c, 0x1e, 0x7b, 0xe8, 0xa1, - 0x27, 0xa9, 0xf9, 0x24, 0x25, 0x93, 0x18, 0x43, 0x29, 0x05, 0x4b, 0x6f, 0xbf, 0xc9, 0x7b, 0xef, - 0xf7, 0x7b, 0xef, 0x11, 0xf8, 0xdf, 0x71, 0xf9, 0xcd, 0x6a, 0x81, 0x97, 0xcc, 0x37, 0x97, 0x2c, - 0xe0, 0x96, 0x1b, 0xd0, 0xc8, 0x2e, 0x8f, 0x56, 0xe8, 0x9a, 0x7c, 0x13, 0xd2, 0xd8, 0xa4, 0x6b, - 0x1a, 0xf0, 0x23, 0x84, 0xc3, 0x88, 0x71, 0x86, 0x7e, 0x1e, 0xb9, 0x78, 0xfd, 0x07, 0x0b, 0xaa, - 0xde, 0x74, 0x98, 0xc3, 0x04, 0x6e, 0xa6, 0x53, 0x46, 0xed, 0x3c, 0x49, 0xb0, 0x31, 0x3a, 0xb0, - 0x47, 0x11, 0xb5, 0x38, 0x45, 0x3d, 0x58, 0x2f, 0x16, 0x5c, 0xb9, 0xb6, 0x06, 0xda, 0xa0, 0xfb, - 0x7d, 0xd8, 0x48, 0x76, 0x2d, 0xb5, 0xa0, 0xce, 0xc6, 0x44, 0x2d, 0x48, 0x33, 0x1b, 0x35, 0xe1, - 0x37, 0xd7, 0xb7, 0x1c, 0xaa, 0x49, 0x29, 0x99, 0x64, 0x0f, 0x34, 0x85, 0xb5, 0x68, 0x15, 0x70, - 0xd7, 0xa7, 0x9a, 0xdc, 0x06, 0x5d, 0xb5, 0xf7, 0x0b, 0xbf, 0x63, 0x0d, 0xbf, 0x31, 0x80, 0x49, - 0xa6, 0x21, 0x07, 0xb1, 0xfe, 0x00, 0x60, 0x2d, 0xff, 0x88, 0x10, 0xac, 0x06, 0x96, 0x4f, 0x33, - 0x57, 0x44, 0xcc, 0x68, 0x0e, 0x6b, 0x2c, 0xe4, 0x2e, 0x0b, 0x62, 0x4d, 0x6a, 0xcb, 0x5d, 0xb5, - 0xd7, 0x3f, 0xe5, 0x0e, 0xbe, 0xc8, 0xb4, 0x93, 0x80, 0x47, 0x1b, 0x72, 0xd8, 0xa4, 0x0f, 0x60, - 0xbd, 0x0c, 0xa0, 0x1f, 0x50, 0xbe, 0xa5, 0x9b, 0xfc, 0x6e, 0x3a, 0xa6, 0xa1, 0xd7, 0x96, 0xb7, - 0x2a, 0x42, 0x8b, 0xc7, 0x40, 0xfa, 0x07, 0x3a, 0xf7, 0xe5, 0x5a, 0x2f, 0x43, 0xfb, 0x6b, 0x6b, - 0x3d, 0x83, 0x8a, 0x67, 0x2d, 0xa8, 0x17, 0x6b, 0xb2, 0x48, 0xfb, 0xfb, 0xe3, 0xb4, 0xd9, 0x7d, - 0x7c, 0x2e, 0x24, 0x59, 0xc8, 0x5c, 0x8f, 0x3a, 0x50, 0x89, 0x18, 0xe3, 0xd7, 0xb1, 0x56, 0x15, - 0x6e, 0x60, 0xb2, 0x6b, 0x29, 0x84, 0x31, 0x3e, 0x9d, 0x93, 0x1c, 0xd1, 0xfb, 0x50, 0x2d, 0x49, - 0x4f, 0xaa, 0x61, 0x52, 0x6a, 0x61, 0x4c, 0x3d, 0xfa, 0xb9, 0x16, 0x86, 0xda, 0x76, 0x6f, 0x54, - 0x9e, 0xf7, 0x46, 0xe5, 0x2e, 0x31, 0xc0, 0x36, 0x31, 0xc0, 0x63, 0x62, 0x80, 0x97, 0xc4, 0x00, - 0x0b, 0x45, 0xfc, 0xc5, 0x7f, 0x5f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x47, 0x2f, 0xd1, 0x73, 0x34, - 0x03, 0x00, 0x00, + // 406 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x53, 0xcd, 0xaa, 0xd3, 0x40, + 0x18, 0xed, 0x24, 0x35, 0xc5, 0x49, 0xa1, 0x32, 0x74, 0x11, 0x02, 0xa6, 0xa5, 0xab, 0xae, 0x26, + 0xb4, 0x82, 0x68, 0x05, 0x17, 0xfd, 0x51, 0x0a, 0x82, 0x32, 0x22, 0x88, 0x20, 0x92, 0x36, 0x63, + 0x1c, 0x4c, 0x32, 0x21, 0x99, 0x06, 0xba, 0xf3, 0x09, 0x7c, 0x1e, 0x1f, 0xa1, 0x4b, 0x97, 0xae, + 0x8a, 0xcd, 0xea, 0x3e, 0xc6, 0x25, 0x99, 0x24, 0x0d, 0x77, 0x71, 0xb9, 0xb7, 0xdc, 0xdd, 0x99, + 0x7c, 0xe7, 0x9c, 0x9c, 0xef, 0xc0, 0x07, 0xdf, 0x7a, 0x4c, 0xfc, 0xd8, 0x6d, 0xf0, 0x96, 0x07, + 0xf6, 0x96, 0x87, 0xc2, 0x61, 0x21, 0x8d, 0xdd, 0x26, 0x74, 0x22, 0x66, 0x27, 0x34, 0x4e, 0xd9, + 0x96, 0x26, 0x36, 0x4d, 0x69, 0x28, 0x12, 0x3b, 0x9d, 0x9c, 0x19, 0x38, 0x8a, 0xb9, 0xe0, 0xe8, + 0xe9, 0x59, 0x82, 0x2b, 0x3a, 0x96, 0x74, 0x9c, 0x4e, 0xcc, 0xbe, 0xc7, 0x3d, 0x5e, 0x30, 0xed, + 0x1c, 0x49, 0xd1, 0xe8, 0x4a, 0x81, 0xbd, 0x45, 0xa5, 0x5b, 0xc4, 0xd4, 0x11, 0x14, 0x4d, 0x61, + 0xb7, 0xb6, 0xfa, 0xc6, 0x5c, 0x03, 0x0c, 0xc1, 0xf8, 0xf1, 0xbc, 0x97, 0x1d, 0x07, 0x7a, 0x4d, + 0x5d, 0x2f, 0x89, 0x5e, 0x93, 0xd6, 0x2e, 0xea, 0xc3, 0x47, 0x2c, 0x70, 0x3c, 0x6a, 0x28, 0x39, + 0x99, 0xc8, 0x07, 0xfa, 0x00, 0x3b, 0xf1, 0x2e, 0x14, 0x2c, 0xa0, 0x86, 0x3a, 0x04, 0x63, 0x7d, + 0xfa, 0x1c, 0xdf, 0x1a, 0x12, 0xdf, 0x88, 0x82, 0x89, 0x54, 0x93, 0xca, 0xc6, 0xfc, 0x03, 0x60, + 0xa7, 0xfc, 0x88, 0x10, 0x6c, 0x87, 0x4e, 0x40, 0x65, 0x3e, 0x52, 0x60, 0xf4, 0x15, 0x76, 0x78, + 0x24, 0x18, 0x0f, 0x13, 0x43, 0x19, 0xaa, 0x63, 0x7d, 0xba, 0xb8, 0xec, 0x8f, 0xf8, 0xbd, 0x74, + 0x59, 0x85, 0x22, 0xde, 0x93, 0xca, 0xd3, 0x9c, 0xc1, 0x6e, 0x73, 0x80, 0x9e, 0x40, 0xf5, 0x27, + 0xdd, 0x97, 0x09, 0x72, 0x98, 0x17, 0x91, 0x3a, 0xfe, 0xae, 0x2e, 0xa2, 0x78, 0xcc, 0x94, 0x17, + 0x60, 0xf4, 0xbb, 0x59, 0xf5, 0xa7, 0xc8, 0x7d, 0xd8, 0xaa, 0x09, 0xd4, 0x7c, 0x67, 0x43, 0xfd, + 0xc4, 0x50, 0x8b, 0xbd, 0x67, 0x77, 0xdd, 0x5b, 0x26, 0xc1, 0xef, 0x0a, 0xb1, 0x5c, 0xb7, 0x74, + 0x42, 0x23, 0xa8, 0xc5, 0x9c, 0x8b, 0xef, 0x89, 0xd1, 0x2e, 0x72, 0xc1, 0xec, 0x38, 0xd0, 0x08, + 0xe7, 0xe2, 0xcd, 0x47, 0x52, 0x4e, 0xcc, 0x97, 0x50, 0x6f, 0x48, 0xef, 0x55, 0xc8, 0xaa, 0xd1, + 0xc7, 0x92, 0xfa, 0xf4, 0xb2, 0x3e, 0xe6, 0x9f, 0x0f, 0x27, 0xab, 0xf5, 0xef, 0x64, 0xb5, 0x7e, + 0x65, 0x16, 0x38, 0x64, 0x16, 0xf8, 0x9b, 0x59, 0xe0, 0x7f, 0x66, 0x81, 0x2f, 0xaf, 0x2f, 0x3c, + 0xad, 0x57, 0x12, 0x6d, 0xb4, 0xe2, 0x46, 0x9e, 0x5d, 0x07, 0x00, 0x00, 0xff, 0xff, 0x66, 0x84, + 0x14, 0x0e, 0xa3, 0x03, 0x00, 0x00, } diff --git a/api/types/event/container.proto b/api/services/events/v1/container.proto similarity index 77% rename from api/types/event/container.proto rename to api/services/events/v1/container.proto index eba13859b..882e213d2 100644 --- a/api/types/event/container.proto +++ b/api/services/events/v1/container.proto @@ -1,9 +1,11 @@ syntax = "proto3"; -package containerd.v1.types; +package containerd.services.events.v1; import "gogoproto/gogo.proto"; +option go_package = "github.com/containerd/containerd/api/services/events/v1;events"; + message ContainerCreate { string container_id = 1; string image = 2; diff --git a/api/types/event/content.pb.go b/api/services/events/v1/content.pb.go similarity index 82% rename from api/types/event/content.pb.go rename to api/services/events/v1/content.pb.go index 570c8a744..c2a279a0b 100644 --- a/api/types/event/content.pb.go +++ b/api/services/events/v1/content.pb.go @@ -1,8 +1,8 @@ // Code generated by protoc-gen-gogo. -// source: github.com/containerd/containerd/api/types/event/content.proto +// source: github.com/containerd/containerd/api/services/events/v1/content.proto // DO NOT EDIT! -package event +package events import proto "github.com/gogo/protobuf/proto" import fmt "fmt" @@ -30,7 +30,7 @@ func (*ContentDelete) ProtoMessage() {} func (*ContentDelete) Descriptor() ([]byte, []int) { return fileDescriptorContent, []int{0} } func init() { - proto.RegisterType((*ContentDelete)(nil), "containerd.v1.types.ContentDelete") + proto.RegisterType((*ContentDelete)(nil), "containerd.services.events.v1.ContentDelete") } func (m *ContentDelete) Marshal() (dAtA []byte, err error) { size := m.Size() @@ -309,21 +309,23 @@ var ( ) func init() { - proto.RegisterFile("github.com/containerd/containerd/api/types/event/content.proto", fileDescriptorContent) + proto.RegisterFile("github.com/containerd/containerd/api/services/events/v1/content.proto", fileDescriptorContent) } var fileDescriptorContent = []byte{ - // 192 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xb2, 0x4b, 0xcf, 0x2c, 0xc9, + // 210 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x72, 0x4d, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xce, 0xcf, 0x2b, 0x49, 0xcc, 0xcc, 0x4b, 0x2d, - 0x4a, 0x41, 0x66, 0x26, 0x16, 0x64, 0xea, 0x97, 0x54, 0x16, 0xa4, 0x16, 0xeb, 0xa7, 0x96, 0xa5, - 0xe6, 0x95, 0x80, 0xa5, 0x52, 0xf3, 0x4a, 0xf4, 0x0a, 0x8a, 0xf2, 0x4b, 0xf2, 0x85, 0x84, 0x11, - 0x2a, 0xf5, 0xca, 0x0c, 0xf5, 0xc0, 0x0a, 0xa5, 0x44, 0xd2, 0xf3, 0xd3, 0xf3, 0xc1, 0xf2, 0xfa, - 0x20, 0x16, 0x44, 0xa9, 0x52, 0x34, 0x17, 0xaf, 0x33, 0x44, 0xaf, 0x4b, 0x6a, 0x4e, 0x6a, 0x49, - 0xaa, 0x90, 0x17, 0x17, 0x5b, 0x4a, 0x66, 0x7a, 0x6a, 0x71, 0x89, 0x04, 0xa3, 0x02, 0xa3, 0x06, - 0xa7, 0x93, 0xd1, 0x89, 0x7b, 0xf2, 0x0c, 0xb7, 0xee, 0xc9, 0x6b, 0x21, 0xb9, 0x29, 0xbf, 0x20, - 0x35, 0x0f, 0x6e, 0x45, 0xb1, 0x7e, 0x7a, 0xbe, 0x2e, 0x44, 0x8b, 0x9e, 0x0b, 0x98, 0x0a, 0x82, - 0x9a, 0xe0, 0x24, 0x71, 0xe2, 0xa1, 0x1c, 0xc3, 0x8d, 0x87, 0x72, 0x0c, 0x0d, 0x8f, 0xe4, 0x18, - 0x4f, 0x3c, 0x92, 0x63, 0xbc, 0xf0, 0x48, 0x8e, 0xf1, 0xc1, 0x23, 0x39, 0xc6, 0x24, 0x36, 0xb0, - 0xed, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x3f, 0x6c, 0x08, 0x88, 0xea, 0x00, 0x00, 0x00, + 0x4a, 0x41, 0x66, 0x26, 0x16, 0x64, 0xea, 0x17, 0xa7, 0x16, 0x95, 0x65, 0x26, 0xa7, 0x16, 0xeb, + 0xa7, 0x96, 0xa5, 0xe6, 0x95, 0x14, 0xeb, 0x97, 0x19, 0x82, 0x55, 0xa4, 0xe6, 0x95, 0xe8, 0x15, + 0x14, 0xe5, 0x97, 0xe4, 0x0b, 0xc9, 0x22, 0x34, 0xe8, 0xc1, 0x14, 0xeb, 0x41, 0x14, 0xeb, 0x95, + 0x19, 0x4a, 0x89, 0xa4, 0xe7, 0xa7, 0xe7, 0x83, 0x55, 0xea, 0x83, 0x58, 0x10, 0x4d, 0x4a, 0xd1, + 0x5c, 0xbc, 0xce, 0x10, 0x53, 0x5c, 0x52, 0x73, 0x52, 0x4b, 0x52, 0x85, 0xbc, 0xb8, 0xd8, 0x52, + 0x32, 0xd3, 0x53, 0x8b, 0x4b, 0x24, 0x18, 0x15, 0x18, 0x35, 0x38, 0x9d, 0x8c, 0x4e, 0xdc, 0x93, + 0x67, 0xb8, 0x75, 0x4f, 0x5e, 0x0b, 0xc9, 0x91, 0xf9, 0x05, 0xa9, 0x79, 0x70, 0xcb, 0x8a, 0xf5, + 0xd3, 0xf3, 0x75, 0x21, 0x5a, 0xf4, 0x5c, 0xc0, 0x54, 0x10, 0xd4, 0x04, 0xa7, 0x88, 0x13, 0x0f, + 0xe5, 0x18, 0x6e, 0x3c, 0x94, 0x63, 0x68, 0x78, 0x24, 0xc7, 0x78, 0xe2, 0x91, 0x1c, 0xe3, 0x85, + 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0x46, 0xd9, 0x91, 0xe9, 0x65, 0x6b, 0x08, 0x2b, 0x89, + 0x0d, 0xec, 0x7a, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0x6a, 0x41, 0x46, 0x06, 0x3b, 0x01, + 0x00, 0x00, } diff --git a/api/types/event/content.proto b/api/services/events/v1/content.proto similarity index 61% rename from api/types/event/content.proto rename to api/services/events/v1/content.proto index 4bb9d6b2b..b358dda10 100644 --- a/api/types/event/content.proto +++ b/api/services/events/v1/content.proto @@ -1,9 +1,11 @@ syntax = "proto3"; -package containerd.v1.types; +package containerd.services.events.v1; import "gogoproto/gogo.proto"; +option go_package = "github.com/containerd/containerd/api/services/events/v1;events"; + message ContentDelete { string digest = 1 [(gogoproto.customtype) = "github.com/opencontainers/go-digest.Digest", (gogoproto.nullable) = false]; } diff --git a/api/services/events/v1/events.pb.go b/api/services/events/v1/events.pb.go index 2df4ccb26..3dfeb765e 100644 --- a/api/services/events/v1/events.pb.go +++ b/api/services/events/v1/events.pb.go @@ -2,27 +2,24 @@ // source: github.com/containerd/containerd/api/services/events/v1/events.proto // DO NOT EDIT! -/* - Package events is a generated protocol buffer package. - - It is generated from these files: - github.com/containerd/containerd/api/services/events/v1/events.proto - - It has these top-level messages: - StreamEventsRequest -*/ package events import proto "github.com/gogo/protobuf/proto" import fmt "fmt" import math "math" -import containerd_v1_types "github.com/containerd/containerd/api/types/event" +import _ "github.com/gogo/protobuf/gogoproto" +import _ "github.com/gogo/protobuf/types" +import google_protobuf2 "github.com/gogo/protobuf/types" + +import time "time" import ( context "golang.org/x/net/context" grpc "google.golang.org/grpc" ) +import github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" + import strings "strings" import reflect "reflect" @@ -32,12 +29,7 @@ import io "io" var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package +var _ = time.Kitchen type StreamEventsRequest struct { } @@ -46,8 +38,19 @@ func (m *StreamEventsRequest) Reset() { *m = StreamEventsRequ func (*StreamEventsRequest) ProtoMessage() {} func (*StreamEventsRequest) Descriptor() ([]byte, []int) { return fileDescriptorEvents, []int{0} } +type Envelope struct { + Timestamp time.Time `protobuf:"bytes,1,opt,name=timestamp,stdtime" json:"timestamp"` + Topic string `protobuf:"bytes,2,opt,name=topic,proto3" json:"topic,omitempty"` + Event *google_protobuf2.Any `protobuf:"bytes,3,opt,name=event" json:"event,omitempty"` +} + +func (m *Envelope) Reset() { *m = Envelope{} } +func (*Envelope) ProtoMessage() {} +func (*Envelope) Descriptor() ([]byte, []int) { return fileDescriptorEvents, []int{1} } + func init() { proto.RegisterType((*StreamEventsRequest)(nil), "containerd.services.events.v1.StreamEventsRequest") + proto.RegisterType((*Envelope)(nil), "containerd.services.events.v1.Envelope") } // Reference imports to suppress errors if they are not otherwise used. @@ -88,7 +91,7 @@ func (c *eventsClient) Stream(ctx context.Context, in *StreamEventsRequest, opts } type Events_StreamClient interface { - Recv() (*containerd_v1_types.Envelope, error) + Recv() (*Envelope, error) grpc.ClientStream } @@ -96,8 +99,8 @@ type eventsStreamClient struct { grpc.ClientStream } -func (x *eventsStreamClient) Recv() (*containerd_v1_types.Envelope, error) { - m := new(containerd_v1_types.Envelope) +func (x *eventsStreamClient) Recv() (*Envelope, error) { + m := new(Envelope) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } @@ -123,7 +126,7 @@ func _Events_Stream_Handler(srv interface{}, stream grpc.ServerStream) error { } type Events_StreamServer interface { - Send(*containerd_v1_types.Envelope) error + Send(*Envelope) error grpc.ServerStream } @@ -131,7 +134,7 @@ type eventsStreamServer struct { grpc.ServerStream } -func (x *eventsStreamServer) Send(m *containerd_v1_types.Envelope) error { +func (x *eventsStreamServer) Send(m *Envelope) error { return x.ServerStream.SendMsg(m) } @@ -167,6 +170,48 @@ func (m *StreamEventsRequest) MarshalTo(dAtA []byte) (int, error) { return i, nil } +func (m *Envelope) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Envelope) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintEvents(dAtA, i, uint64(github_com_gogo_protobuf_types.SizeOfStdTime(m.Timestamp))) + n1, err := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Timestamp, dAtA[i:]) + if err != nil { + return 0, err + } + i += n1 + if len(m.Topic) > 0 { + dAtA[i] = 0x12 + i++ + i = encodeVarintEvents(dAtA, i, uint64(len(m.Topic))) + i += copy(dAtA[i:], m.Topic) + } + if m.Event != nil { + dAtA[i] = 0x1a + i++ + i = encodeVarintEvents(dAtA, i, uint64(m.Event.Size())) + n2, err := m.Event.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n2 + } + return i, nil +} + func encodeFixed64Events(dAtA []byte, offset int, v uint64) int { dAtA[offset] = uint8(v) dAtA[offset+1] = uint8(v >> 8) @@ -200,6 +245,22 @@ func (m *StreamEventsRequest) Size() (n int) { return n } +func (m *Envelope) Size() (n int) { + var l int + _ = l + l = github_com_gogo_protobuf_types.SizeOfStdTime(m.Timestamp) + n += 1 + l + sovEvents(uint64(l)) + l = len(m.Topic) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + if m.Event != nil { + l = m.Event.Size() + n += 1 + l + sovEvents(uint64(l)) + } + return n +} + func sovEvents(x uint64) (n int) { for { n++ @@ -222,6 +283,18 @@ func (this *StreamEventsRequest) String() string { }, "") return s } +func (this *Envelope) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Envelope{`, + `Timestamp:` + strings.Replace(strings.Replace(this.Timestamp.String(), "Timestamp", "google_protobuf1.Timestamp", 1), `&`, ``, 1) + `,`, + `Topic:` + fmt.Sprintf("%v", this.Topic) + `,`, + `Event:` + strings.Replace(fmt.Sprintf("%v", this.Event), "Any", "google_protobuf2.Any", 1) + `,`, + `}`, + }, "") + return s +} func valueToStringEvents(v interface{}) string { rv := reflect.ValueOf(v) if rv.IsNil() { @@ -280,6 +353,148 @@ func (m *StreamEventsRequest) Unmarshal(dAtA []byte) error { } return nil } +func (m *Envelope) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Envelope: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Envelope: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.Timestamp, dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Topic", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Topic = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Event", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Event == nil { + m.Event = &google_protobuf2.Any{} + } + if err := m.Event.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipEvents(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthEvents + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipEvents(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 @@ -390,18 +605,25 @@ func init() { } var fileDescriptorEvents = []byte{ - // 205 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x72, 0x49, 0xcf, 0x2c, 0xc9, - 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xce, 0xcf, 0x2b, 0x49, 0xcc, 0xcc, 0x4b, 0x2d, - 0x4a, 0x41, 0x66, 0x26, 0x16, 0x64, 0xea, 0x17, 0xa7, 0x16, 0x95, 0x65, 0x26, 0xa7, 0x16, 0xeb, - 0xa7, 0x96, 0xa5, 0xe6, 0x95, 0x14, 0xeb, 0x97, 0x19, 0x42, 0x59, 0x7a, 0x05, 0x45, 0xf9, 0x25, - 0xf9, 0x42, 0xb2, 0x08, 0xf5, 0x7a, 0x30, 0xb5, 0x7a, 0x50, 0x15, 0x65, 0x86, 0x52, 0x36, 0x44, - 0x59, 0x52, 0x52, 0x59, 0x00, 0xb3, 0x01, 0x42, 0x42, 0x0c, 0x57, 0x12, 0xe5, 0x12, 0x0e, 0x2e, - 0x29, 0x4a, 0x4d, 0xcc, 0x75, 0x05, 0x1b, 0x18, 0x94, 0x5a, 0x58, 0x9a, 0x5a, 0x5c, 0x62, 0x94, - 0xce, 0xc5, 0x06, 0x11, 0x10, 0x8a, 0xe5, 0x62, 0x83, 0x28, 0x10, 0x32, 0xd2, 0xc3, 0xeb, 0x10, - 0x3d, 0x2c, 0xe6, 0x48, 0xc9, 0x22, 0xeb, 0x29, 0x33, 0xd4, 0x03, 0x3b, 0x43, 0xcf, 0x35, 0xaf, - 0x2c, 0x35, 0x27, 0xbf, 0x20, 0xd5, 0x80, 0xd1, 0x29, 0xe2, 0xc4, 0x43, 0x39, 0x86, 0x1b, 0x0f, - 0xe5, 0x18, 0x1a, 0x1e, 0xc9, 0x31, 0x9e, 0x78, 0x24, 0xc7, 0x78, 0xe1, 0x91, 0x1c, 0xe3, 0x83, - 0x47, 0x72, 0x8c, 0x51, 0x76, 0x64, 0x06, 0x9e, 0x35, 0x84, 0x95, 0xc4, 0x06, 0xf6, 0xa0, 0x31, - 0x20, 0x00, 0x00, 0xff, 0xff, 0xf9, 0x3a, 0x20, 0x52, 0x85, 0x01, 0x00, 0x00, + // 313 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x91, 0xc1, 0x4a, 0xc3, 0x30, + 0x1c, 0xc6, 0x17, 0x65, 0x63, 0x8b, 0xb7, 0x38, 0x61, 0x16, 0xcc, 0xc6, 0x2e, 0x0e, 0x0f, 0x89, + 0x9b, 0x47, 0x41, 0x70, 0xb8, 0x17, 0xa8, 0x1e, 0xc4, 0x5b, 0x57, 0xff, 0xc6, 0xc0, 0x9a, 0x74, + 0x6d, 0x56, 0xd8, 0xcd, 0x47, 0xd8, 0x63, 0xf5, 0xe8, 0xd1, 0x93, 0xba, 0x3e, 0x89, 0x98, 0xb4, + 0x4e, 0x54, 0x14, 0xbc, 0x7d, 0x7f, 0xf2, 0xfb, 0xbe, 0xfc, 0xbf, 0x04, 0x5f, 0x08, 0x69, 0xee, + 0x17, 0x53, 0x16, 0xea, 0x88, 0x87, 0x5a, 0x99, 0x40, 0x2a, 0x48, 0x6e, 0x3f, 0xcb, 0x20, 0x96, + 0x3c, 0x85, 0x24, 0x93, 0x21, 0xa4, 0x1c, 0x32, 0x50, 0x26, 0xe5, 0xd9, 0xb0, 0x54, 0x2c, 0x4e, + 0xb4, 0xd1, 0xe4, 0x60, 0xc3, 0xb3, 0x8a, 0x65, 0x25, 0x91, 0x0d, 0xbd, 0xb6, 0xd0, 0x42, 0x5b, + 0x92, 0xbf, 0x2b, 0x67, 0xf2, 0xba, 0x42, 0x6b, 0x31, 0x03, 0x6e, 0xa7, 0xe9, 0xe2, 0x8e, 0x1b, + 0x19, 0x41, 0x6a, 0x82, 0x28, 0x2e, 0x81, 0xfd, 0xaf, 0x40, 0xa0, 0x96, 0xee, 0xa8, 0xbf, 0x87, + 0x77, 0x2f, 0x4d, 0x02, 0x41, 0x34, 0xb1, 0x97, 0xf8, 0x30, 0x5f, 0x40, 0x6a, 0xfa, 0x2b, 0x84, + 0x9b, 0x13, 0x95, 0xc1, 0x4c, 0xc7, 0x40, 0xc6, 0xb8, 0xf5, 0x91, 0xd8, 0x41, 0x3d, 0x34, 0xd8, + 0x19, 0x79, 0xcc, 0x45, 0xb2, 0x2a, 0x92, 0x5d, 0x55, 0xc4, 0xb8, 0x99, 0x3f, 0x77, 0x6b, 0xab, + 0x97, 0x2e, 0xf2, 0x37, 0x36, 0xd2, 0xc6, 0x75, 0xa3, 0x63, 0x19, 0x76, 0xb6, 0x7a, 0x68, 0xd0, + 0xf2, 0xdd, 0x40, 0x8e, 0x70, 0xdd, 0x96, 0xeb, 0x6c, 0xdb, 0xd4, 0xf6, 0xb7, 0xd4, 0x73, 0xb5, + 0xf4, 0x1d, 0x32, 0x9a, 0xe3, 0x86, 0xdb, 0x91, 0x08, 0xdc, 0x70, 0x3b, 0x93, 0x11, 0xfb, 0xf5, + 0xbd, 0xd8, 0x0f, 0xd5, 0xbc, 0xc3, 0x3f, 0x3c, 0x55, 0xed, 0x63, 0x34, 0xbe, 0xce, 0xd7, 0xb4, + 0xf6, 0xb4, 0xa6, 0xb5, 0x87, 0x82, 0xa2, 0xbc, 0xa0, 0xe8, 0xb1, 0xa0, 0xe8, 0xb5, 0xa0, 0xe8, + 0xe6, 0xec, 0x9f, 0xbf, 0x7d, 0xea, 0xd4, 0xb4, 0x61, 0x1b, 0x9e, 0xbc, 0x05, 0x00, 0x00, 0xff, + 0xff, 0xc3, 0x54, 0xa2, 0xf3, 0x36, 0x02, 0x00, 0x00, } diff --git a/api/services/events/v1/events.proto b/api/services/events/v1/events.proto index 356b7d9fd..9340e8bad 100644 --- a/api/services/events/v1/events.proto +++ b/api/services/events/v1/events.proto @@ -2,12 +2,20 @@ syntax = "proto3"; package containerd.services.events.v1; -import "github.com/containerd/containerd/api/types/event/event.proto"; +import "gogoproto/gogo.proto"; +import "google/protobuf/timestamp.proto"; +import "google/protobuf/any.proto"; option go_package = "github.com/containerd/containerd/api/services/events/v1;events"; service Events { - rpc Stream(StreamEventsRequest) returns (stream containerd.v1.types.Envelope); + rpc Stream(StreamEventsRequest) returns (stream Envelope); } message StreamEventsRequest {} + +message Envelope { + google.protobuf.Timestamp timestamp = 1 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false]; + string topic = 2; + google.protobuf.Any event = 3; +} diff --git a/api/types/event/image.pb.go b/api/services/events/v1/image.pb.go similarity index 88% rename from api/types/event/image.pb.go rename to api/services/events/v1/image.pb.go index 25dec7bf3..cdb256323 100644 --- a/api/types/event/image.pb.go +++ b/api/services/events/v1/image.pb.go @@ -1,8 +1,8 @@ // Code generated by protoc-gen-gogo. -// source: github.com/containerd/containerd/api/types/event/image.proto +// source: github.com/containerd/containerd/api/services/events/v1/image.proto // DO NOT EDIT! -package event +package events import proto "github.com/gogo/protobuf/proto" import fmt "fmt" @@ -37,8 +37,8 @@ func (*ImageDelete) ProtoMessage() {} func (*ImageDelete) Descriptor() ([]byte, []int) { return fileDescriptorImage, []int{1} } func init() { - proto.RegisterType((*ImageUpdate)(nil), "containerd.v1.types.ImageUpdate") - proto.RegisterType((*ImageDelete)(nil), "containerd.v1.types.ImageDelete") + proto.RegisterType((*ImageUpdate)(nil), "containerd.services.images.v1.ImageUpdate") + proto.RegisterType((*ImageDelete)(nil), "containerd.services.images.v1.ImageDelete") } func (m *ImageUpdate) Marshal() (dAtA []byte, err error) { size := m.Size() @@ -592,24 +592,25 @@ var ( ) func init() { - proto.RegisterFile("github.com/containerd/containerd/api/types/event/image.proto", fileDescriptorImage) + proto.RegisterFile("github.com/containerd/containerd/api/services/events/v1/image.proto", fileDescriptorImage) } var fileDescriptorImage = []byte{ - // 232 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xb2, 0x49, 0xcf, 0x2c, 0xc9, + // 251 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x72, 0x4e, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xce, 0xcf, 0x2b, 0x49, 0xcc, 0xcc, 0x4b, 0x2d, - 0x4a, 0x41, 0x66, 0x26, 0x16, 0x64, 0xea, 0x97, 0x54, 0x16, 0xa4, 0x16, 0xeb, 0xa7, 0x96, 0xa5, - 0xe6, 0x95, 0xe8, 0x67, 0xe6, 0x26, 0xa6, 0xa7, 0xea, 0x15, 0x14, 0xe5, 0x97, 0xe4, 0x0b, 0x09, - 0x23, 0xd4, 0xe9, 0x95, 0x19, 0xea, 0x81, 0x95, 0x29, 0x2d, 0x62, 0xe4, 0xe2, 0xf6, 0x04, 0x29, - 0x0a, 0x2d, 0x48, 0x49, 0x2c, 0x49, 0x15, 0x12, 0xe2, 0x62, 0xc9, 0x4b, 0xcc, 0x4d, 0x95, 0x60, - 0x54, 0x60, 0xd4, 0xe0, 0x0c, 0x02, 0xb3, 0x85, 0x5c, 0xb8, 0xd8, 0x72, 0x12, 0x93, 0x52, 0x73, - 0x8a, 0x25, 0x98, 0x14, 0x98, 0x35, 0xb8, 0x8d, 0x74, 0xf4, 0xb0, 0x98, 0xa4, 0x87, 0x64, 0x8a, - 0x9e, 0x0f, 0x58, 0xb9, 0x6b, 0x5e, 0x49, 0x51, 0x65, 0x10, 0x54, 0xaf, 0x94, 0x25, 0x17, 0x37, - 0x92, 0xb0, 0x90, 0x00, 0x17, 0x73, 0x76, 0x6a, 0x25, 0xd4, 0x1e, 0x10, 0x53, 0x48, 0x84, 0x8b, - 0xb5, 0x2c, 0x31, 0xa7, 0x34, 0x55, 0x82, 0x09, 0x2c, 0x06, 0xe1, 0x58, 0x31, 0x59, 0x30, 0x2a, - 0x29, 0x42, 0xdd, 0xe8, 0x92, 0x9a, 0x93, 0x8a, 0xdd, 0x8d, 0x4e, 0x12, 0x27, 0x1e, 0xca, 0x31, - 0xdc, 0x78, 0x28, 0xc7, 0xd0, 0xf0, 0x48, 0x8e, 0xf1, 0xc4, 0x23, 0x39, 0xc6, 0x0b, 0x8f, 0xe4, - 0x18, 0x1f, 0x3c, 0x92, 0x63, 0x4c, 0x62, 0x03, 0xfb, 0xde, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, - 0xa7, 0x64, 0x49, 0x13, 0x3d, 0x01, 0x00, 0x00, + 0x4a, 0x41, 0x66, 0x26, 0x16, 0x64, 0xea, 0x17, 0xa7, 0x16, 0x95, 0x65, 0x26, 0xa7, 0x16, 0xeb, + 0xa7, 0x96, 0xa5, 0xe6, 0x95, 0x14, 0xeb, 0x97, 0x19, 0xea, 0x67, 0xe6, 0x26, 0xa6, 0xa7, 0xea, + 0x15, 0x14, 0xe5, 0x97, 0xe4, 0x0b, 0xc9, 0x22, 0x94, 0xeb, 0xc1, 0x94, 0xea, 0x81, 0x15, 0x14, + 0xeb, 0x95, 0x19, 0x2a, 0xad, 0x61, 0xe4, 0xe2, 0xf6, 0x04, 0xf1, 0x42, 0x0b, 0x52, 0x12, 0x4b, + 0x52, 0x85, 0x84, 0xb8, 0x58, 0xf2, 0x12, 0x73, 0x53, 0x25, 0x18, 0x15, 0x18, 0x35, 0x38, 0x83, + 0xc0, 0x6c, 0x21, 0x3f, 0x2e, 0xb6, 0x9c, 0xc4, 0xa4, 0xd4, 0x9c, 0x62, 0x09, 0x26, 0x05, 0x66, + 0x0d, 0x6e, 0x23, 0x33, 0x3d, 0xbc, 0x66, 0xea, 0x21, 0x99, 0xa7, 0xe7, 0x03, 0xd6, 0xe8, 0x9a, + 0x57, 0x52, 0x54, 0x19, 0x04, 0x35, 0x45, 0xca, 0x92, 0x8b, 0x1b, 0x49, 0x58, 0x48, 0x80, 0x8b, + 0x39, 0x3b, 0xb5, 0x12, 0x6a, 0x23, 0x88, 0x29, 0x24, 0xc2, 0xc5, 0x5a, 0x96, 0x98, 0x53, 0x9a, + 0x2a, 0xc1, 0x04, 0x16, 0x83, 0x70, 0xac, 0x98, 0x2c, 0x18, 0x95, 0x14, 0xa1, 0xae, 0x75, 0x49, + 0xcd, 0x49, 0xc5, 0xee, 0x5a, 0xa7, 0x88, 0x13, 0x0f, 0xe5, 0x18, 0x6e, 0x3c, 0x94, 0x63, 0x68, + 0x78, 0x24, 0xc7, 0x78, 0xe2, 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, + 0x46, 0xd9, 0x91, 0x19, 0x9e, 0xd6, 0x10, 0x56, 0x12, 0x1b, 0x38, 0x44, 0x8d, 0x01, 0x01, 0x00, + 0x00, 0xff, 0xff, 0x0c, 0x2f, 0x4e, 0xf3, 0x98, 0x01, 0x00, 0x00, } diff --git a/api/types/event/image.proto b/api/services/events/v1/image.proto similarity index 52% rename from api/types/event/image.proto rename to api/services/events/v1/image.proto index 5df9e595a..6f2e3d429 100644 --- a/api/types/event/image.proto +++ b/api/services/events/v1/image.proto @@ -1,6 +1,8 @@ syntax = "proto3"; -package containerd.v1.types; +package containerd.services.images.v1; + +option go_package = "github.com/containerd/containerd/api/services/events/v1;events"; message ImageUpdate { string name = 1; diff --git a/api/types/event/namespace.pb.go b/api/services/events/v1/namespace.pb.go similarity index 89% rename from api/types/event/namespace.pb.go rename to api/services/events/v1/namespace.pb.go index dd1625e41..479c7dd1b 100644 --- a/api/types/event/namespace.pb.go +++ b/api/services/events/v1/namespace.pb.go @@ -1,12 +1,15 @@ // Code generated by protoc-gen-gogo. -// source: github.com/containerd/containerd/api/types/event/namespace.proto +// source: github.com/containerd/containerd/api/services/events/v1/namespace.proto // DO NOT EDIT! -package event +package events import proto "github.com/gogo/protobuf/proto" import fmt "fmt" import math "math" +import _ "github.com/gogo/protobuf/gogoproto" +import _ "github.com/gogo/protobuf/types" +import _ "github.com/gogo/protobuf/types" import strings "strings" import reflect "reflect" @@ -46,9 +49,9 @@ func (*NamespaceDelete) ProtoMessage() {} func (*NamespaceDelete) Descriptor() ([]byte, []int) { return fileDescriptorNamespace, []int{2} } func init() { - proto.RegisterType((*NamespaceCreate)(nil), "containerd.v1.types.NamespaceCreate") - proto.RegisterType((*NamespaceUpdate)(nil), "containerd.v1.types.NamespaceUpdate") - proto.RegisterType((*NamespaceDelete)(nil), "containerd.v1.types.NamespaceDelete") + proto.RegisterType((*NamespaceCreate)(nil), "containerd.services.events.v1.NamespaceCreate") + proto.RegisterType((*NamespaceUpdate)(nil), "containerd.services.events.v1.NamespaceUpdate") + proto.RegisterType((*NamespaceDelete)(nil), "containerd.services.events.v1.NamespaceDelete") } func (m *NamespaceCreate) Marshal() (dAtA []byte, err error) { size := m.Size() @@ -877,25 +880,29 @@ var ( ) func init() { - proto.RegisterFile("github.com/containerd/containerd/api/types/event/namespace.proto", fileDescriptorNamespace) + proto.RegisterFile("github.com/containerd/containerd/api/services/events/v1/namespace.proto", fileDescriptorNamespace) } var fileDescriptorNamespace = []byte{ - // 247 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x72, 0x48, 0xcf, 0x2c, 0xc9, + // 311 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x72, 0x4f, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xce, 0xcf, 0x2b, 0x49, 0xcc, 0xcc, 0x4b, 0x2d, - 0x4a, 0x41, 0x66, 0x26, 0x16, 0x64, 0xea, 0x97, 0x54, 0x16, 0xa4, 0x16, 0xeb, 0xa7, 0x96, 0xa5, - 0xe6, 0x95, 0xe8, 0xe7, 0x25, 0xe6, 0xa6, 0x16, 0x17, 0x24, 0x26, 0xa7, 0xea, 0x15, 0x14, 0xe5, - 0x97, 0xe4, 0x0b, 0x09, 0x23, 0xd4, 0xea, 0x95, 0x19, 0xea, 0x81, 0x95, 0x2a, 0xad, 0x62, 0xe4, - 0xe2, 0xf7, 0x83, 0x29, 0x74, 0x2e, 0x4a, 0x4d, 0x2c, 0x49, 0x15, 0x12, 0xe2, 0x62, 0x01, 0xe9, - 0x95, 0x60, 0x54, 0x60, 0xd4, 0xe0, 0x0c, 0x02, 0xb3, 0x85, 0x3c, 0xb8, 0xd8, 0x72, 0x12, 0x93, - 0x52, 0x73, 0x8a, 0x25, 0x98, 0x14, 0x98, 0x35, 0xb8, 0x8d, 0x0c, 0xf4, 0xb0, 0x98, 0xa6, 0x87, - 0x66, 0x92, 0x9e, 0x0f, 0x58, 0x8b, 0x6b, 0x5e, 0x49, 0x51, 0x65, 0x10, 0x54, 0xbf, 0x94, 0x25, - 0x17, 0x37, 0x92, 0xb0, 0x90, 0x00, 0x17, 0x73, 0x76, 0x6a, 0x25, 0xd4, 0x2e, 0x10, 0x53, 0x48, - 0x84, 0x8b, 0xb5, 0x2c, 0x31, 0xa7, 0x34, 0x55, 0x82, 0x09, 0x2c, 0x06, 0xe1, 0x58, 0x31, 0x59, - 0x30, 0xa2, 0x3a, 0x36, 0xb4, 0x20, 0x85, 0x4a, 0x8e, 0x85, 0x98, 0x44, 0x6d, 0xc7, 0xaa, 0x22, - 0xb9, 0xd5, 0x25, 0x35, 0x27, 0x15, 0xbb, 0x5b, 0x9d, 0x24, 0x4e, 0x3c, 0x94, 0x63, 0xb8, 0xf1, - 0x50, 0x8e, 0xa1, 0xe1, 0x91, 0x1c, 0xe3, 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, - 0x78, 0x24, 0xc7, 0x98, 0xc4, 0x06, 0x8e, 0x36, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0x1c, - 0xab, 0x9e, 0xdf, 0xfa, 0x01, 0x00, 0x00, + 0x4a, 0x41, 0x66, 0x26, 0x16, 0x64, 0xea, 0x17, 0xa7, 0x16, 0x95, 0x65, 0x26, 0xa7, 0x16, 0xeb, + 0xa7, 0x96, 0xa5, 0xe6, 0x95, 0x14, 0xeb, 0x97, 0x19, 0xea, 0xe7, 0x25, 0xe6, 0xa6, 0x16, 0x17, + 0x24, 0x26, 0xa7, 0xea, 0x15, 0x14, 0xe5, 0x97, 0xe4, 0x0b, 0xc9, 0x22, 0xb4, 0xe8, 0xc1, 0x94, + 0xeb, 0x41, 0x94, 0xeb, 0x95, 0x19, 0x4a, 0x89, 0xa4, 0xe7, 0xa7, 0xe7, 0x83, 0x55, 0xea, 0x83, + 0x58, 0x10, 0x4d, 0x52, 0xf2, 0xe9, 0xf9, 0xf9, 0xe9, 0x39, 0xa9, 0xfa, 0x60, 0x5e, 0x52, 0x69, + 0x9a, 0x7e, 0x49, 0x66, 0x6e, 0x6a, 0x71, 0x49, 0x62, 0x6e, 0x01, 0x54, 0x81, 0x24, 0xba, 0x82, + 0xc4, 0xbc, 0x4a, 0x88, 0x94, 0xd2, 0x16, 0x46, 0x2e, 0x7e, 0x3f, 0x98, 0x23, 0x9c, 0x8b, 0x52, + 0x13, 0x4b, 0x52, 0x85, 0x84, 0xb8, 0x58, 0x40, 0xee, 0x92, 0x60, 0x54, 0x60, 0xd4, 0xe0, 0x0c, + 0x02, 0xb3, 0x85, 0x82, 0xb8, 0xd8, 0x72, 0x12, 0x93, 0x52, 0x73, 0x8a, 0x25, 0x98, 0x14, 0x98, + 0x35, 0xb8, 0x8d, 0xac, 0xf4, 0xf0, 0xba, 0x54, 0x0f, 0xcd, 0x4c, 0x3d, 0x1f, 0xb0, 0x66, 0xd7, + 0xbc, 0x92, 0xa2, 0xca, 0x20, 0xa8, 0x49, 0x52, 0x96, 0x5c, 0xdc, 0x48, 0xc2, 0x42, 0x02, 0x5c, + 0xcc, 0xd9, 0xa9, 0x95, 0x50, 0x5b, 0x41, 0x4c, 0x21, 0x11, 0x2e, 0xd6, 0xb2, 0xc4, 0x9c, 0xd2, + 0x54, 0x09, 0x26, 0xb0, 0x18, 0x84, 0x63, 0xc5, 0x64, 0xc1, 0x88, 0xea, 0xec, 0xd0, 0x82, 0x14, + 0xaa, 0x3b, 0x1b, 0x62, 0x26, 0xb5, 0x9d, 0xad, 0x8a, 0xe4, 0x6a, 0x97, 0xd4, 0x9c, 0x54, 0xec, + 0xae, 0x76, 0x8a, 0x38, 0xf1, 0x50, 0x8e, 0xe1, 0xc6, 0x43, 0x39, 0x86, 0x86, 0x47, 0x72, 0x8c, + 0x27, 0x1e, 0xc9, 0x31, 0x5e, 0x78, 0x24, 0xc7, 0xf8, 0xe0, 0x91, 0x1c, 0x63, 0x94, 0x1d, 0x99, + 0x09, 0xcd, 0x1a, 0xc2, 0x4a, 0x62, 0x03, 0xc7, 0xba, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0x78, + 0xf1, 0x6d, 0xaa, 0xb1, 0x02, 0x00, 0x00, } diff --git a/api/services/events/v1/namespace.proto b/api/services/events/v1/namespace.proto new file mode 100644 index 000000000..fa8ad0a62 --- /dev/null +++ b/api/services/events/v1/namespace.proto @@ -0,0 +1,23 @@ +syntax = "proto3"; + +package containerd.services.events.v1; + +import "gogoproto/gogo.proto"; +import "google/protobuf/timestamp.proto"; +import "google/protobuf/any.proto"; + +option go_package = "github.com/containerd/containerd/api/services/events/v1;events"; + +message NamespaceCreate { + string name = 1; + map labels = 2; +} + +message NamespaceUpdate { + string name = 1; + map labels = 2; +} + +message NamespaceDelete { + string name = 1; +} diff --git a/api/types/event/runtime.pb.go b/api/services/events/v1/runtime.pb.go similarity index 89% rename from api/types/event/runtime.pb.go rename to api/services/events/v1/runtime.pb.go index 6f86a2e6b..294405201 100644 --- a/api/types/event/runtime.pb.go +++ b/api/services/events/v1/runtime.pb.go @@ -1,8 +1,8 @@ // Code generated by protoc-gen-gogo. -// source: github.com/containerd/containerd/api/types/event/runtime.proto +// source: github.com/containerd/containerd/api/services/events/v1/runtime.proto // DO NOT EDIT! -package event +package events import proto "github.com/gogo/protobuf/proto" import fmt "fmt" @@ -83,11 +83,11 @@ func (*RuntimeDelete) ProtoMessage() {} func (*RuntimeDelete) Descriptor() ([]byte, []int) { return fileDescriptorRuntime, []int{4} } func init() { - proto.RegisterType((*RuntimeIO)(nil), "containerd.v1.types.RuntimeIO") - proto.RegisterType((*RuntimeMount)(nil), "containerd.v1.types.RuntimeMount") - proto.RegisterType((*RuntimeCreate)(nil), "containerd.v1.types.RuntimeCreate") - proto.RegisterType((*RuntimeEvent)(nil), "containerd.v1.types.RuntimeEvent") - proto.RegisterType((*RuntimeDelete)(nil), "containerd.v1.types.RuntimeDelete") + proto.RegisterType((*RuntimeIO)(nil), "containerd.services.events.v1.RuntimeIO") + proto.RegisterType((*RuntimeMount)(nil), "containerd.services.events.v1.RuntimeMount") + proto.RegisterType((*RuntimeCreate)(nil), "containerd.services.events.v1.RuntimeCreate") + proto.RegisterType((*RuntimeEvent)(nil), "containerd.services.events.v1.RuntimeEvent") + proto.RegisterType((*RuntimeDelete)(nil), "containerd.services.events.v1.RuntimeDelete") } func (m *RuntimeIO) Marshal() (dAtA []byte, err error) { size := m.Size() @@ -1475,42 +1475,44 @@ var ( ) func init() { - proto.RegisterFile("github.com/containerd/containerd/api/types/event/runtime.proto", fileDescriptorRuntime) + proto.RegisterFile("github.com/containerd/containerd/api/services/events/v1/runtime.proto", fileDescriptorRuntime) } var fileDescriptorRuntime = []byte{ - // 523 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x53, 0xcb, 0x6e, 0xd3, 0x40, - 0x14, 0xad, 0x9d, 0x34, 0x4d, 0x26, 0x04, 0xa1, 0xa1, 0x42, 0x56, 0x16, 0x76, 0x88, 0x58, 0x64, - 0x65, 0x8b, 0x20, 0x21, 0xc4, 0x02, 0xa9, 0xa1, 0x45, 0xca, 0x02, 0x45, 0x9a, 0x66, 0x5f, 0x39, - 0xf1, 0x34, 0x1d, 0x35, 0xf1, 0xb5, 0xc6, 0xd7, 0x15, 0xdd, 0xf1, 0x09, 0xfc, 0x04, 0xff, 0x92, - 0x25, 0x2b, 0xc4, 0x2a, 0x50, 0x7f, 0x09, 0x9a, 0x47, 0xdc, 0x08, 0x95, 0x48, 0xb0, 0x19, 0xdd, - 0x73, 0x7c, 0xe7, 0xcc, 0xb9, 0x0f, 0x93, 0x77, 0x0b, 0x81, 0x57, 0xc5, 0x2c, 0x9c, 0xc3, 0x2a, - 0x9a, 0x43, 0x8a, 0xb1, 0x48, 0xb9, 0x4c, 0x76, 0xc3, 0x38, 0x13, 0x11, 0xde, 0x66, 0x3c, 0x8f, - 0xf8, 0x0d, 0x4f, 0x31, 0x92, 0x45, 0x8a, 0x62, 0xc5, 0xc3, 0x4c, 0x02, 0x02, 0x7d, 0x7a, 0x9f, - 0x19, 0xde, 0xbc, 0x0c, 0x75, 0x62, 0xf7, 0x78, 0x01, 0x0b, 0xd0, 0xdf, 0x23, 0x15, 0x99, 0xd4, - 0x6e, 0xb0, 0x00, 0x58, 0x2c, 0x79, 0xa4, 0xd1, 0xac, 0xb8, 0x8c, 0x94, 0x4c, 0x8e, 0xf1, 0x2a, - 0xb3, 0x09, 0x6f, 0xff, 0xc1, 0x0b, 0xc6, 0xf9, 0xb5, 0x3e, 0xcc, 0xdd, 0xfe, 0x8a, 0xb4, 0x98, - 0x31, 0x36, 0x9e, 0xd0, 0x63, 0x72, 0x98, 0x63, 0x22, 0x52, 0xcf, 0xe9, 0x39, 0x83, 0x16, 0x33, - 0x80, 0x3e, 0x23, 0x8d, 0x1c, 0x13, 0x28, 0xd0, 0x73, 0x35, 0x6d, 0x91, 0xe5, 0xb9, 0x94, 0x5e, - 0xad, 0xe2, 0xb9, 0x94, 0xb4, 0x4b, 0x9a, 0xc8, 0xe5, 0x4a, 0xa4, 0xf1, 0xd2, 0xab, 0xf7, 0x9c, - 0x41, 0x93, 0x55, 0xb8, 0x3f, 0x25, 0x8f, 0xec, 0x73, 0x1f, 0xa1, 0x48, 0x91, 0x52, 0x52, 0x57, - 0xbe, 0xec, 0x83, 0x3a, 0xd6, 0xba, 0x50, 0xc8, 0x39, 0xaf, 0xde, 0xd3, 0x88, 0x7a, 0xe4, 0x08, - 0x32, 0x14, 0x90, 0xe6, 0x5e, 0xad, 0x57, 0x1b, 0xb4, 0xd8, 0x16, 0xf6, 0x37, 0x0e, 0xe9, 0x58, - 0xd9, 0xf7, 0x92, 0xc7, 0xa8, 0x34, 0x5c, 0x91, 0x18, 0xd5, 0x51, 0xa3, 0xdc, 0x04, 0xee, 0xf8, - 0x94, 0xb9, 0x22, 0x51, 0xda, 0xb3, 0x22, 0x4d, 0x96, 0x95, 0xb6, 0x41, 0xf4, 0x8c, 0x34, 0x24, - 0x00, 0x5e, 0x1a, 0xe9, 0xf6, 0xf0, 0x79, 0xf8, 0xc0, 0x7c, 0xc2, 0x5d, 0xeb, 0x23, 0x52, 0x6e, - 0x82, 0x06, 0x03, 0xc0, 0x0f, 0xe7, 0xcc, 0x5e, 0xa6, 0xaf, 0x89, 0x2b, 0x40, 0x17, 0xdd, 0x1e, - 0xfa, 0xfb, 0x24, 0xc6, 0x13, 0x6b, 0x6b, 0xc2, 0x5c, 0x01, 0xd4, 0x27, 0x64, 0x7e, 0xc5, 0xe7, - 0xd7, 0x19, 0x88, 0x14, 0xbd, 0x43, 0x6d, 0x6d, 0x87, 0xe9, 0x7f, 0x77, 0xaa, 0xbe, 0x9d, 0xa9, - 0x65, 0xfa, 0x6b, 0x7d, 0x6f, 0x6c, 0x3f, 0x55, 0x75, 0x8f, 0x87, 0x2f, 0x1e, 0xb4, 0xa0, 0x15, - 0xcc, 0x39, 0xbd, 0xcd, 0xb8, 0xed, 0xfa, 0x13, 0x52, 0xcb, 0x44, 0xa2, 0x47, 0xd9, 0x61, 0x2a, - 0xa4, 0x01, 0x69, 0xf3, 0x4f, 0x02, 0x2f, 0x72, 0x8c, 0xb1, 0xc8, 0x75, 0x55, 0x1d, 0x46, 0x14, - 0x75, 0xae, 0x19, 0x7a, 0x42, 0x5a, 0x0a, 0xf1, 0xe4, 0x22, 0x36, 0xa6, 0xdb, 0xc3, 0x6e, 0x68, - 0x96, 0x35, 0xdc, 0x2e, 0x6b, 0x38, 0xdd, 0x2e, 0xeb, 0xa8, 0xb9, 0xde, 0x04, 0x07, 0x5f, 0x7e, - 0x06, 0x0e, 0x6b, 0x9a, 0x6b, 0x27, 0xd8, 0xff, 0x7a, 0x3f, 0xb9, 0x53, 0xbe, 0xe4, 0x7b, 0x26, - 0xe7, 0x91, 0x23, 0xfb, 0x07, 0xd9, 0xd1, 0x6d, 0xe1, 0x9f, 0x3e, 0x6b, 0xfb, 0x7d, 0xd6, 0xff, - 0xc7, 0xe7, 0xc8, 0x5b, 0xdf, 0xf9, 0x07, 0x3f, 0xee, 0xfc, 0x83, 0xcf, 0xa5, 0xef, 0xac, 0x4b, - 0xdf, 0xf9, 0x56, 0xfa, 0xce, 0xaf, 0xd2, 0x77, 0x66, 0x0d, 0xad, 0xf0, 0xea, 0x77, 0x00, 0x00, - 0x00, 0xff, 0xff, 0xdd, 0x0e, 0xff, 0x3e, 0x11, 0x04, 0x00, 0x00, + // 555 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x54, 0xc1, 0x6a, 0xdb, 0x4c, + 0x10, 0x8e, 0x64, 0xc7, 0xb1, 0xd7, 0xbf, 0x7f, 0xca, 0x12, 0x8a, 0x30, 0x54, 0x32, 0xa6, 0x07, + 0x43, 0x61, 0x85, 0xdd, 0x4b, 0x69, 0xa1, 0x34, 0x6e, 0x52, 0xf0, 0xa1, 0x18, 0x36, 0x3e, 0x94, + 0x5e, 0x82, 0x2c, 0x6d, 0x9c, 0x25, 0xb6, 0x56, 0xec, 0x8e, 0x4c, 0x73, 0xeb, 0x23, 0xf4, 0x25, + 0xfa, 0x2e, 0x3e, 0xf6, 0x54, 0x7a, 0x72, 0x1b, 0x3d, 0x42, 0x9f, 0xa0, 0x68, 0x77, 0xed, 0x98, + 0x42, 0x4d, 0xc8, 0x65, 0x99, 0x6f, 0x98, 0xf9, 0xf6, 0x9b, 0xfd, 0x46, 0x42, 0x67, 0x33, 0x0e, + 0x57, 0xf9, 0x94, 0xc4, 0x62, 0x11, 0xc6, 0x22, 0x85, 0x88, 0xa7, 0x4c, 0x26, 0xbb, 0x61, 0x94, + 0xf1, 0x50, 0x31, 0xb9, 0xe4, 0x31, 0x53, 0x21, 0x5b, 0xb2, 0x14, 0x54, 0xb8, 0xec, 0x87, 0x32, + 0x4f, 0x81, 0x2f, 0x18, 0xc9, 0xa4, 0x00, 0x81, 0x9f, 0xdc, 0x35, 0x90, 0x4d, 0x31, 0x31, 0xc5, + 0x64, 0xd9, 0x6f, 0x1f, 0xcf, 0xc4, 0x4c, 0xe8, 0xca, 0xb0, 0x8c, 0x4c, 0x53, 0x3b, 0x98, 0x09, + 0x31, 0x9b, 0xb3, 0x50, 0xa3, 0x69, 0x7e, 0x19, 0x96, 0x84, 0x0a, 0xa2, 0x45, 0x66, 0x0b, 0x5e, + 0xde, 0x4b, 0x1c, 0xdc, 0x64, 0x4c, 0x85, 0x10, 0xa9, 0x6b, 0x7d, 0x98, 0xde, 0xee, 0x02, 0x35, + 0xa8, 0x91, 0x38, 0x1a, 0xe3, 0x63, 0x74, 0xa8, 0x20, 0xe1, 0xa9, 0xe7, 0x74, 0x9c, 0x5e, 0x83, + 0x1a, 0x80, 0x1f, 0xa3, 0x9a, 0x82, 0x44, 0xe4, 0xe0, 0xb9, 0x3a, 0x6d, 0x91, 0xcd, 0x33, 0x29, + 0xbd, 0xca, 0x36, 0xcf, 0xa4, 0xc4, 0x6d, 0x54, 0x07, 0x26, 0x17, 0x3c, 0x8d, 0xe6, 0x5e, 0xb5, + 0xe3, 0xf4, 0xea, 0x74, 0x8b, 0xbb, 0x13, 0xf4, 0x9f, 0xbd, 0xee, 0xbd, 0xc8, 0x53, 0xc0, 0x18, + 0x55, 0x4b, 0x5d, 0xf6, 0x42, 0x1d, 0x6b, 0x5e, 0x91, 0xcb, 0x98, 0x6d, 0xef, 0xd3, 0x08, 0x7b, + 0xe8, 0x48, 0x64, 0xc0, 0x45, 0xaa, 0xbc, 0x4a, 0xa7, 0xd2, 0x6b, 0xd0, 0x0d, 0xec, 0xfe, 0x76, + 0x50, 0xcb, 0xd2, 0xbe, 0x95, 0x2c, 0x82, 0x92, 0xc3, 0xe5, 0x89, 0x61, 0x1d, 0xd6, 0x8a, 0x75, + 0xe0, 0x8e, 0x4e, 0xa9, 0xcb, 0x93, 0x92, 0x7b, 0x9a, 0xa7, 0xc9, 0x7c, 0xcb, 0x6d, 0x10, 0x1e, + 0xa3, 0x9a, 0x14, 0x02, 0x2e, 0x0d, 0x75, 0x73, 0xf0, 0x8c, 0xec, 0x75, 0x8a, 0xec, 0x0e, 0x31, + 0x44, 0xc5, 0x3a, 0xa8, 0x51, 0x21, 0xe0, 0xdd, 0x39, 0xb5, 0x34, 0xf8, 0x0d, 0x72, 0xb9, 0xd0, + 0xe3, 0x37, 0x07, 0xbd, 0xfb, 0x91, 0x8d, 0xc6, 0x56, 0xea, 0x98, 0xba, 0x5c, 0x60, 0x1f, 0xa1, + 0xf8, 0x8a, 0xc5, 0xd7, 0x99, 0xe0, 0x29, 0x78, 0x87, 0x5a, 0xee, 0x4e, 0xa6, 0xfb, 0xdd, 0xd9, + 0xbe, 0xe5, 0x59, 0x49, 0xf5, 0xcf, 0x99, 0x5f, 0xd8, 0x37, 0x2e, 0x27, 0xfe, 0x7f, 0xf0, 0x74, + 0x57, 0xcc, 0xb2, 0x4f, 0xf4, 0x5a, 0x10, 0xcd, 0x60, 0xce, 0xc9, 0x4d, 0xc6, 0xac, 0x13, 0x8f, + 0x50, 0x25, 0xe3, 0x89, 0xb6, 0xb7, 0x45, 0xcb, 0x10, 0x07, 0xa8, 0xc9, 0x3e, 0x71, 0xb8, 0x50, + 0x10, 0x41, 0xae, 0xf4, 0x7c, 0x2d, 0x8a, 0xca, 0xd4, 0xb9, 0xce, 0xe0, 0x13, 0xd4, 0x28, 0x11, + 0x4b, 0x2e, 0x22, 0x23, 0xba, 0x39, 0x68, 0x13, 0xb3, 0xc0, 0x64, 0xb3, 0xc0, 0x64, 0xb2, 0x59, + 0xe0, 0x61, 0x7d, 0xb5, 0x0e, 0x0e, 0xbe, 0xfc, 0x0c, 0x1c, 0x5a, 0x37, 0x6d, 0x27, 0xd0, 0xfd, + 0x7a, 0xe7, 0xe6, 0x29, 0x9b, 0xb3, 0x3d, 0x6e, 0x7a, 0xe8, 0xc8, 0x7e, 0x5f, 0xd6, 0xce, 0x0d, + 0xfc, 0x5b, 0x67, 0x65, 0xbf, 0xce, 0xea, 0x43, 0x74, 0x0e, 0x3f, 0xac, 0x6e, 0xfd, 0x83, 0x1f, + 0xb7, 0xfe, 0xc1, 0xe7, 0xc2, 0x77, 0x56, 0x85, 0xef, 0x7c, 0x2b, 0x7c, 0xe7, 0x57, 0xe1, 0x3b, + 0x1f, 0x5f, 0x3f, 0xf0, 0x6f, 0xf1, 0xca, 0x44, 0xd3, 0x9a, 0x56, 0xf0, 0xfc, 0x4f, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xe0, 0x7b, 0x76, 0x39, 0x76, 0x04, 0x00, 0x00, } diff --git a/api/types/event/runtime.proto b/api/services/events/v1/runtime.proto similarity index 88% rename from api/types/event/runtime.proto rename to api/services/events/v1/runtime.proto index 42f475a73..6034e6483 100644 --- a/api/types/event/runtime.proto +++ b/api/services/events/v1/runtime.proto @@ -1,11 +1,13 @@ syntax = "proto3"; -package containerd.v1.types; +package containerd.services.events.v1; import "gogoproto/gogo.proto"; import "google/protobuf/timestamp.proto"; import "github.com/containerd/containerd/api/types/task/task.proto"; +option go_package = "github.com/containerd/containerd/api/services/events/v1;events"; + message RuntimeIO { string stdin = 1; string stdout = 2; diff --git a/api/types/event/snapshot.pb.go b/api/services/events/v1/snapshot.pb.go similarity index 89% rename from api/types/event/snapshot.pb.go rename to api/services/events/v1/snapshot.pb.go index e429d27ca..0d8e5208f 100644 --- a/api/types/event/snapshot.pb.go +++ b/api/services/events/v1/snapshot.pb.go @@ -1,8 +1,8 @@ // Code generated by protoc-gen-gogo. -// source: github.com/containerd/containerd/api/types/event/snapshot.proto +// source: github.com/containerd/containerd/api/services/events/v1/snapshot.proto // DO NOT EDIT! -package event +package events import proto "github.com/gogo/protobuf/proto" import fmt "fmt" @@ -45,9 +45,9 @@ func (*SnapshotRemove) ProtoMessage() {} func (*SnapshotRemove) Descriptor() ([]byte, []int) { return fileDescriptorSnapshot, []int{2} } func init() { - proto.RegisterType((*SnapshotPrepare)(nil), "containerd.v1.types.SnapshotPrepare") - proto.RegisterType((*SnapshotCommit)(nil), "containerd.v1.types.SnapshotCommit") - proto.RegisterType((*SnapshotRemove)(nil), "containerd.v1.types.SnapshotRemove") + proto.RegisterType((*SnapshotPrepare)(nil), "containerd.services.events.v1.SnapshotPrepare") + proto.RegisterType((*SnapshotCommit)(nil), "containerd.services.events.v1.SnapshotCommit") + proto.RegisterType((*SnapshotRemove)(nil), "containerd.services.events.v1.SnapshotRemove") } func (m *SnapshotPrepare) Marshal() (dAtA []byte, err error) { size := m.Size() @@ -652,22 +652,23 @@ var ( ) func init() { - proto.RegisterFile("github.com/containerd/containerd/api/types/event/snapshot.proto", fileDescriptorSnapshot) + proto.RegisterFile("github.com/containerd/containerd/api/services/events/v1/snapshot.proto", fileDescriptorSnapshot) } var fileDescriptorSnapshot = []byte{ - // 201 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xb2, 0x4f, 0xcf, 0x2c, 0xc9, + // 219 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x72, 0x4b, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xce, 0xcf, 0x2b, 0x49, 0xcc, 0xcc, 0x4b, 0x2d, - 0x4a, 0x41, 0x66, 0x26, 0x16, 0x64, 0xea, 0x97, 0x54, 0x16, 0xa4, 0x16, 0xeb, 0xa7, 0x96, 0xa5, - 0xe6, 0x95, 0xe8, 0x17, 0xe7, 0x25, 0x16, 0x14, 0x67, 0xe4, 0x97, 0xe8, 0x15, 0x14, 0xe5, 0x97, - 0xe4, 0x0b, 0x09, 0x23, 0x94, 0xea, 0x95, 0x19, 0xea, 0x81, 0x55, 0x2a, 0x59, 0x73, 0xf1, 0x07, - 0x43, 0x95, 0x05, 0x14, 0xa5, 0x16, 0x24, 0x16, 0xa5, 0x0a, 0x09, 0x70, 0x31, 0x67, 0xa7, 0x56, - 0x4a, 0x30, 0x2a, 0x30, 0x6a, 0x70, 0x06, 0x81, 0x98, 0x42, 0x62, 0x5c, 0x6c, 0x20, 0x99, 0xbc, - 0x12, 0x09, 0x26, 0xb0, 0x20, 0x94, 0xa7, 0x64, 0xc6, 0xc5, 0x07, 0xd3, 0xec, 0x9c, 0x9f, 0x9b, - 0x9b, 0x59, 0x82, 0x45, 0xaf, 0x10, 0x17, 0x4b, 0x5e, 0x62, 0x6e, 0x2a, 0x54, 0x27, 0x98, 0xad, - 0xa4, 0x84, 0xd0, 0x17, 0x94, 0x9a, 0x9b, 0x5f, 0x86, 0xc5, 0x4e, 0x27, 0x89, 0x13, 0x0f, 0xe5, - 0x18, 0x6e, 0x3c, 0x94, 0x63, 0x68, 0x78, 0x24, 0xc7, 0x78, 0xe2, 0x91, 0x1c, 0xe3, 0x85, 0x47, - 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0x26, 0xb1, 0x81, 0xbd, 0x63, 0x0c, 0x08, 0x00, 0x00, 0xff, - 0xff, 0x5e, 0xad, 0x28, 0x20, 0x11, 0x01, 0x00, 0x00, + 0x4a, 0x41, 0x66, 0x26, 0x16, 0x64, 0xea, 0x17, 0xa7, 0x16, 0x95, 0x65, 0x26, 0xa7, 0x16, 0xeb, + 0xa7, 0x96, 0xa5, 0xe6, 0x95, 0x14, 0xeb, 0x97, 0x19, 0xea, 0x17, 0xe7, 0x25, 0x16, 0x14, 0x67, + 0xe4, 0x97, 0xe8, 0x15, 0x14, 0xe5, 0x97, 0xe4, 0x0b, 0xc9, 0x22, 0x74, 0xe8, 0xc1, 0x54, 0xeb, + 0x41, 0x54, 0xeb, 0x95, 0x19, 0x2a, 0x59, 0x73, 0xf1, 0x07, 0x43, 0x35, 0x04, 0x14, 0xa5, 0x16, + 0x24, 0x16, 0xa5, 0x0a, 0x09, 0x70, 0x31, 0x67, 0xa7, 0x56, 0x4a, 0x30, 0x2a, 0x30, 0x6a, 0x70, + 0x06, 0x81, 0x98, 0x42, 0x62, 0x5c, 0x6c, 0x20, 0x99, 0xbc, 0x12, 0x09, 0x26, 0xb0, 0x20, 0x94, + 0xa7, 0x64, 0xc6, 0xc5, 0x07, 0xd3, 0xec, 0x9c, 0x9f, 0x9b, 0x9b, 0x59, 0x82, 0x45, 0xaf, 0x10, + 0x17, 0x4b, 0x5e, 0x62, 0x6e, 0x2a, 0x54, 0x27, 0x98, 0xad, 0xa4, 0x84, 0xd0, 0x17, 0x94, 0x9a, + 0x9b, 0x5f, 0x86, 0xc5, 0x4e, 0xa7, 0x88, 0x13, 0x0f, 0xe5, 0x18, 0x6e, 0x3c, 0x94, 0x63, 0x68, + 0x78, 0x24, 0xc7, 0x78, 0xe2, 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, + 0x46, 0xd9, 0x91, 0x19, 0x32, 0xd6, 0x10, 0x56, 0x12, 0x1b, 0x38, 0x60, 0x8c, 0x01, 0x01, 0x00, + 0x00, 0xff, 0xff, 0x10, 0x4c, 0x3d, 0xb2, 0x62, 0x01, 0x00, 0x00, } diff --git a/api/types/event/snapshot.proto b/api/services/events/v1/snapshot.proto similarity index 60% rename from api/types/event/snapshot.proto rename to api/services/events/v1/snapshot.proto index 447bd9ce7..a88f47d87 100644 --- a/api/types/event/snapshot.proto +++ b/api/services/events/v1/snapshot.proto @@ -1,6 +1,8 @@ syntax = "proto3"; -package containerd.v1.types; +package containerd.services.events.v1; + +option go_package = "github.com/containerd/containerd/api/services/events/v1;events"; message SnapshotPrepare { string key = 1; diff --git a/api/types/event/task.pb.go b/api/services/events/v1/task.pb.go similarity index 88% rename from api/types/event/task.pb.go rename to api/services/events/v1/task.pb.go index e1d57c947..d80459721 100644 --- a/api/types/event/task.pb.go +++ b/api/services/events/v1/task.pb.go @@ -1,8 +1,8 @@ // Code generated by protoc-gen-gogo. -// source: github.com/containerd/containerd/api/types/event/task.proto +// source: github.com/containerd/containerd/api/services/events/v1/task.proto // DO NOT EDIT! -package event +package events import proto "github.com/gogo/protobuf/proto" import fmt "fmt" @@ -45,9 +45,9 @@ func (*TaskDelete) ProtoMessage() {} func (*TaskDelete) Descriptor() ([]byte, []int) { return fileDescriptorTask, []int{2} } func init() { - proto.RegisterType((*TaskCreate)(nil), "containerd.v1.types.TaskCreate") - proto.RegisterType((*TaskStart)(nil), "containerd.v1.types.TaskStart") - proto.RegisterType((*TaskDelete)(nil), "containerd.v1.types.TaskDelete") + proto.RegisterType((*TaskCreate)(nil), "containerd.services.events.v1.TaskCreate") + proto.RegisterType((*TaskStart)(nil), "containerd.services.events.v1.TaskStart") + proto.RegisterType((*TaskDelete)(nil), "containerd.services.events.v1.TaskDelete") } func (m *TaskCreate) Marshal() (dAtA []byte, err error) { size := m.Size() @@ -628,24 +628,25 @@ var ( ) func init() { - proto.RegisterFile("github.com/containerd/containerd/api/types/event/task.proto", fileDescriptorTask) + proto.RegisterFile("github.com/containerd/containerd/api/services/events/v1/task.proto", fileDescriptorTask) } var fileDescriptorTask = []byte{ - // 228 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xb2, 0x4e, 0xcf, 0x2c, 0xc9, + // 245 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x72, 0x4a, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xce, 0xcf, 0x2b, 0x49, 0xcc, 0xcc, 0x4b, 0x2d, - 0x4a, 0x41, 0x66, 0x26, 0x16, 0x64, 0xea, 0x97, 0x54, 0x16, 0xa4, 0x16, 0xeb, 0xa7, 0x96, 0xa5, - 0xe6, 0x95, 0xe8, 0x97, 0x24, 0x16, 0x67, 0xeb, 0x15, 0x14, 0xe5, 0x97, 0xe4, 0x0b, 0x09, 0x23, - 0x94, 0xe9, 0x95, 0x19, 0xea, 0x81, 0x55, 0x29, 0x39, 0x70, 0x71, 0x85, 0x24, 0x16, 0x67, 0x3b, - 0x17, 0xa5, 0x26, 0x96, 0xa4, 0x0a, 0x19, 0x71, 0xf1, 0xc0, 0x15, 0xc5, 0x67, 0xa6, 0x48, 0x30, - 0x2a, 0x30, 0x6a, 0x70, 0x3a, 0xf1, 0x3f, 0xba, 0x27, 0xcf, 0xed, 0x0c, 0x13, 0xf7, 0x74, 0x09, - 0xe2, 0x86, 0x2b, 0xf2, 0x4c, 0x51, 0xb2, 0xe7, 0xe2, 0x04, 0x99, 0x10, 0x5c, 0x92, 0x58, 0x54, - 0x42, 0x96, 0x01, 0xc5, 0x10, 0x27, 0xb8, 0xa4, 0xe6, 0xa4, 0x92, 0xe7, 0x04, 0x21, 0x01, 0x2e, - 0xe6, 0x82, 0xcc, 0x14, 0x09, 0x26, 0x05, 0x46, 0x0d, 0xde, 0x20, 0x10, 0x53, 0x48, 0x9e, 0x8b, - 0x3b, 0xb5, 0x22, 0xb3, 0x24, 0xbe, 0xb8, 0x24, 0xb1, 0xa4, 0xb4, 0x58, 0x82, 0x19, 0x2c, 0xc3, - 0x05, 0x12, 0x0a, 0x06, 0x8b, 0x38, 0x49, 0x9c, 0x78, 0x28, 0xc7, 0x70, 0xe3, 0xa1, 0x1c, 0x43, - 0xc3, 0x23, 0x39, 0xc6, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, - 0x31, 0x89, 0x0d, 0x1c, 0x5a, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0e, 0x43, 0xc1, 0x0e, - 0x6c, 0x01, 0x00, 0x00, + 0x4a, 0x41, 0x66, 0x26, 0x16, 0x64, 0xea, 0x17, 0xa7, 0x16, 0x95, 0x65, 0x26, 0xa7, 0x16, 0xeb, + 0xa7, 0x96, 0xa5, 0xe6, 0x95, 0x14, 0xeb, 0x97, 0x19, 0xea, 0x97, 0x24, 0x16, 0x67, 0xeb, 0x15, + 0x14, 0xe5, 0x97, 0xe4, 0x0b, 0xc9, 0x22, 0x54, 0xeb, 0xc1, 0x54, 0xea, 0x41, 0x54, 0xea, 0x95, + 0x19, 0x2a, 0x39, 0x70, 0x71, 0x85, 0x24, 0x16, 0x67, 0x3b, 0x17, 0xa5, 0x26, 0x96, 0xa4, 0x0a, + 0x19, 0x71, 0xf1, 0xc0, 0x95, 0xc7, 0x67, 0xa6, 0x48, 0x30, 0x2a, 0x30, 0x6a, 0x70, 0x3a, 0xf1, + 0x3f, 0xba, 0x27, 0xcf, 0xed, 0x0c, 0x13, 0xf7, 0x74, 0x09, 0xe2, 0x86, 0x2b, 0xf2, 0x4c, 0x51, + 0xb2, 0xe7, 0xe2, 0x04, 0x99, 0x10, 0x5c, 0x92, 0x58, 0x54, 0x42, 0x96, 0x01, 0xc5, 0x10, 0x27, + 0xb8, 0xa4, 0xe6, 0xa4, 0x92, 0xe7, 0x04, 0x21, 0x01, 0x2e, 0xe6, 0x82, 0xcc, 0x14, 0x09, 0x26, + 0x05, 0x46, 0x0d, 0xde, 0x20, 0x10, 0x53, 0x48, 0x9e, 0x8b, 0x3b, 0xb5, 0x22, 0xb3, 0x24, 0xbe, + 0xb8, 0x24, 0xb1, 0xa4, 0xb4, 0x58, 0x82, 0x19, 0x2c, 0xc3, 0x05, 0x12, 0x0a, 0x06, 0x8b, 0x38, + 0x45, 0x9c, 0x78, 0x28, 0xc7, 0x70, 0xe3, 0xa1, 0x1c, 0x43, 0xc3, 0x23, 0x39, 0xc6, 0x13, 0x8f, + 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, 0x31, 0xca, 0x8e, 0xcc, 0x40, 0xb7, + 0x86, 0xb0, 0x92, 0xd8, 0xc0, 0xe1, 0x6e, 0x0c, 0x08, 0x00, 0x00, 0xff, 0xff, 0xfe, 0x52, 0xb1, + 0x6e, 0xbd, 0x01, 0x00, 0x00, } diff --git a/api/types/event/task.proto b/api/services/events/v1/task.proto similarity index 62% rename from api/types/event/task.proto rename to api/services/events/v1/task.proto index 78cfeff29..179c71cae 100644 --- a/api/types/event/task.proto +++ b/api/services/events/v1/task.proto @@ -1,6 +1,8 @@ syntax = "proto3"; -package containerd.v1.types; +package containerd.services.events.v1; + +option go_package = "github.com/containerd/containerd/api/services/events/v1;events"; message TaskCreate { string container_id = 1; diff --git a/api/types/event/event.pb.go b/api/types/event/event.pb.go deleted file mode 100644 index 30f205490..000000000 --- a/api/types/event/event.pb.go +++ /dev/null @@ -1,429 +0,0 @@ -// Code generated by protoc-gen-gogo. -// source: github.com/containerd/containerd/api/types/event/event.proto -// DO NOT EDIT! - -package event - -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" -import _ "github.com/gogo/protobuf/gogoproto" -import _ "github.com/gogo/protobuf/types" -import google_protobuf2 "github.com/gogo/protobuf/types" - -import time "time" - -import github_com_gogo_protobuf_types "github.com/gogo/protobuf/types" - -import strings "strings" -import reflect "reflect" - -import io "io" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf -var _ = time.Kitchen - -type Envelope struct { - Timestamp time.Time `protobuf:"bytes,1,opt,name=timestamp,stdtime" json:"timestamp"` - Topic string `protobuf:"bytes,2,opt,name=topic,proto3" json:"topic,omitempty"` - Event *google_protobuf2.Any `protobuf:"bytes,3,opt,name=event" json:"event,omitempty"` -} - -func (m *Envelope) Reset() { *m = Envelope{} } -func (*Envelope) ProtoMessage() {} -func (*Envelope) Descriptor() ([]byte, []int) { return fileDescriptorEvent, []int{0} } - -func init() { - proto.RegisterType((*Envelope)(nil), "containerd.v1.types.Envelope") -} -func (m *Envelope) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalTo(dAtA) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *Envelope) MarshalTo(dAtA []byte) (int, error) { - var i int - _ = i - var l int - _ = l - dAtA[i] = 0xa - i++ - i = encodeVarintEvent(dAtA, i, uint64(github_com_gogo_protobuf_types.SizeOfStdTime(m.Timestamp))) - n1, err := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.Timestamp, dAtA[i:]) - if err != nil { - return 0, err - } - i += n1 - if len(m.Topic) > 0 { - dAtA[i] = 0x12 - i++ - i = encodeVarintEvent(dAtA, i, uint64(len(m.Topic))) - i += copy(dAtA[i:], m.Topic) - } - if m.Event != nil { - dAtA[i] = 0x1a - i++ - i = encodeVarintEvent(dAtA, i, uint64(m.Event.Size())) - n2, err := m.Event.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n2 - } - return i, nil -} - -func encodeFixed64Event(dAtA []byte, offset int, v uint64) int { - dAtA[offset] = uint8(v) - dAtA[offset+1] = uint8(v >> 8) - dAtA[offset+2] = uint8(v >> 16) - dAtA[offset+3] = uint8(v >> 24) - dAtA[offset+4] = uint8(v >> 32) - dAtA[offset+5] = uint8(v >> 40) - dAtA[offset+6] = uint8(v >> 48) - dAtA[offset+7] = uint8(v >> 56) - return offset + 8 -} -func encodeFixed32Event(dAtA []byte, offset int, v uint32) int { - dAtA[offset] = uint8(v) - dAtA[offset+1] = uint8(v >> 8) - dAtA[offset+2] = uint8(v >> 16) - dAtA[offset+3] = uint8(v >> 24) - return offset + 4 -} -func encodeVarintEvent(dAtA []byte, offset int, v uint64) int { - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return offset + 1 -} -func (m *Envelope) Size() (n int) { - var l int - _ = l - l = github_com_gogo_protobuf_types.SizeOfStdTime(m.Timestamp) - n += 1 + l + sovEvent(uint64(l)) - l = len(m.Topic) - if l > 0 { - n += 1 + l + sovEvent(uint64(l)) - } - if m.Event != nil { - l = m.Event.Size() - n += 1 + l + sovEvent(uint64(l)) - } - return n -} - -func sovEvent(x uint64) (n int) { - for { - n++ - x >>= 7 - if x == 0 { - break - } - } - return n -} -func sozEvent(x uint64) (n int) { - return sovEvent(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (this *Envelope) String() string { - if this == nil { - return "nil" - } - s := strings.Join([]string{`&Envelope{`, - `Timestamp:` + strings.Replace(strings.Replace(this.Timestamp.String(), "Timestamp", "google_protobuf1.Timestamp", 1), `&`, ``, 1) + `,`, - `Topic:` + fmt.Sprintf("%v", this.Topic) + `,`, - `Event:` + strings.Replace(fmt.Sprintf("%v", this.Event), "Any", "google_protobuf2.Any", 1) + `,`, - `}`, - }, "") - return s -} -func valueToStringEvent(v interface{}) string { - rv := reflect.ValueOf(v) - if rv.IsNil() { - return "nil" - } - pv := reflect.Indirect(rv).Interface() - return fmt.Sprintf("*%v", pv) -} -func (m *Envelope) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvent - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: Envelope: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Envelope: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvent - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthEvent - } - postIndex := iNdEx + msglen - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := github_com_gogo_protobuf_types.StdTimeUnmarshal(&m.Timestamp, dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Topic", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvent - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthEvent - } - postIndex := iNdEx + intStringLen - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Topic = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Event", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowEvent - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthEvent - } - postIndex := iNdEx + msglen - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Event == nil { - m.Event = &google_protobuf2.Any{} - } - if err := m.Event.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipEvent(dAtA[iNdEx:]) - if err != nil { - return err - } - if skippy < 0 { - return ErrInvalidLengthEvent - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipEvent(dAtA []byte) (n int, err error) { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowEvent - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - wireType := int(wire & 0x7) - switch wireType { - case 0: - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowEvent - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - iNdEx++ - if dAtA[iNdEx-1] < 0x80 { - break - } - } - return iNdEx, nil - case 1: - iNdEx += 8 - return iNdEx, nil - case 2: - var length int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowEvent - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - length |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - iNdEx += length - if length < 0 { - return 0, ErrInvalidLengthEvent - } - return iNdEx, nil - case 3: - for { - var innerWire uint64 - var start int = iNdEx - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowEvent - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - innerWire |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - innerWireType := int(innerWire & 0x7) - if innerWireType == 4 { - break - } - next, err := skipEvent(dAtA[start:]) - if err != nil { - return 0, err - } - iNdEx = start + next - } - return iNdEx, nil - case 4: - return iNdEx, nil - case 5: - iNdEx += 4 - return iNdEx, nil - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - } - panic("unreachable") -} - -var ( - ErrInvalidLengthEvent = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowEvent = fmt.Errorf("proto: integer overflow") -) - -func init() { - proto.RegisterFile("github.com/containerd/containerd/api/types/event/event.proto", fileDescriptorEvent) -} - -var fileDescriptorEvent = []byte{ - // 248 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xb2, 0x49, 0xcf, 0x2c, 0xc9, - 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xce, 0xcf, 0x2b, 0x49, 0xcc, 0xcc, 0x4b, 0x2d, - 0x4a, 0x41, 0x66, 0x26, 0x16, 0x64, 0xea, 0x97, 0x54, 0x16, 0xa4, 0x16, 0xeb, 0xa7, 0x96, 0xa5, - 0xe6, 0x95, 0x40, 0x48, 0xbd, 0x82, 0xa2, 0xfc, 0x92, 0x7c, 0x21, 0x61, 0x84, 0x3a, 0xbd, 0x32, - 0x43, 0x3d, 0xb0, 0x32, 0x29, 0x91, 0xf4, 0xfc, 0xf4, 0x7c, 0xb0, 0xbc, 0x3e, 0x88, 0x05, 0x51, - 0x2a, 0x25, 0x9f, 0x9e, 0x9f, 0x9f, 0x9e, 0x93, 0xaa, 0x0f, 0xe6, 0x25, 0x95, 0xa6, 0xe9, 0x97, - 0x64, 0xe6, 0xa6, 0x16, 0x97, 0x24, 0xe6, 0x16, 0x40, 0x15, 0x48, 0xa2, 0x2b, 0x48, 0xcc, 0xab, - 0x84, 0x48, 0x29, 0x4d, 0x60, 0xe4, 0xe2, 0x70, 0xcd, 0x2b, 0x4b, 0xcd, 0xc9, 0x2f, 0x48, 0x15, - 0x72, 0xe2, 0xe2, 0x84, 0x6b, 0x95, 0x60, 0x54, 0x60, 0xd4, 0xe0, 0x36, 0x92, 0xd2, 0x83, 0xe8, - 0xd5, 0x83, 0xe9, 0xd5, 0x0b, 0x81, 0xa9, 0x70, 0xe2, 0x38, 0x71, 0x4f, 0x9e, 0x61, 0xc2, 0x7d, - 0x79, 0xc6, 0x20, 0x84, 0x36, 0x21, 0x11, 0x2e, 0xd6, 0x92, 0xfc, 0x82, 0xcc, 0x64, 0x09, 0x26, - 0x05, 0x46, 0x0d, 0xce, 0x20, 0x08, 0x47, 0x48, 0x8b, 0x8b, 0x15, 0xec, 0x39, 0x09, 0x66, 0xb0, - 0xa9, 0x22, 0x18, 0xa6, 0x3a, 0xe6, 0x55, 0x06, 0x41, 0x94, 0x38, 0x49, 0x9c, 0x78, 0x28, 0xc7, - 0x70, 0xe3, 0xa1, 0x1c, 0x43, 0xc3, 0x23, 0x39, 0xc6, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, - 0x63, 0x7c, 0xf0, 0x48, 0x8e, 0x31, 0x89, 0x0d, 0xac, 0xdc, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, - 0xb7, 0xff, 0x84, 0x18, 0x5a, 0x01, 0x00, 0x00, -} diff --git a/api/types/event/event.proto b/api/types/event/event.proto deleted file mode 100644 index 51e509a04..000000000 --- a/api/types/event/event.proto +++ /dev/null @@ -1,13 +0,0 @@ -syntax = "proto3"; - -package containerd.v1.types; - -import "gogoproto/gogo.proto"; -import "google/protobuf/timestamp.proto"; -import "google/protobuf/any.proto"; - -message Envelope { - google.protobuf.Timestamp timestamp = 1 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false]; - string topic = 2; - google.protobuf.Any event = 3; -} diff --git a/api/types/event/namespace.proto b/api/types/event/namespace.proto deleted file mode 100644 index 56eb73b6a..000000000 --- a/api/types/event/namespace.proto +++ /dev/null @@ -1,17 +0,0 @@ -syntax = "proto3"; - -package containerd.v1.types; - -message NamespaceCreate { - string name = 1; - map labels = 2; -} - -message NamespaceUpdate { - string name = 1; - map labels = 2; -} - -message NamespaceDelete { - string name = 1; -} diff --git a/cmd/ctr/events.go b/cmd/ctr/events.go index 8768c9e91..da3cdf547 100644 --- a/cmd/ctr/events.go +++ b/cmd/ctr/events.go @@ -7,8 +7,7 @@ import ( "text/tabwriter" eventsapi "github.com/containerd/containerd/api/services/events/v1" - "github.com/containerd/containerd/api/types/event" - "github.com/gogo/protobuf/proto" + "github.com/containerd/containerd/events" "github.com/urfave/cli" ) @@ -56,118 +55,55 @@ var eventsCommand = cli.Command{ }, } -func getEventOutput(evt *event.Envelope) (string, error) { - +func getEventOutput(env *eventsapi.Envelope) (string, error) { out := "" - switch evt.Event.TypeUrl { - case "types.containerd.io/containerd.v1.types.event.ContainerCreate": - e := &event.ContainerCreate{} - if err := proto.Unmarshal(evt.Event.Value, e); err != nil { - return out, err - } + + var de events.DynamicEvent + if err := events.UnmarshalEvent(env.Event, &de); err != nil { + return "", err + } + + switch e := de.Event.(type) { + case *eventsapi.ContainerCreate: out = fmt.Sprintf("id=%s image=%s runtime=%s", e.ContainerID, e.Image, e.Runtime) - case "types.containerd.io/containerd.v1.types.event.TaskCreate": - e := &event.TaskCreate{} - if err := proto.Unmarshal(evt.Event.Value, e); err != nil { - return out, err - } + case *eventsapi.TaskCreate: out = "id=" + e.ContainerID - case "types.containerd.io/containerd.v1.types.event.TaskStart": - e := &event.TaskStart{} - if err := proto.Unmarshal(evt.Event.Value, e); err != nil { - return out, err - } + case *eventsapi.TaskStart: out = "id=" + e.ContainerID - case "types.containerd.io/containerd.v1.types.event.TaskDelete": - e := &event.TaskDelete{} - if err := proto.Unmarshal(evt.Event.Value, e); err != nil { - return out, err - } + case *eventsapi.TaskDelete: out = fmt.Sprintf("id=%s pid=%d status=%d", e.ContainerID, e.Pid, e.ExitStatus) - case "types.containerd.io/containerd.v1.types.event.ContainerUpdate": - e := &event.ContainerUpdate{} - if err := proto.Unmarshal(evt.Event.Value, e); err != nil { - return out, err - } + case *eventsapi.ContainerUpdate: out = "id=" + e.ContainerID - case "types.containerd.io/containerd.v1.types.event.ContainerDelete": - e := &event.ContainerDelete{} - if err := proto.Unmarshal(evt.Event.Value, e); err != nil { - return out, err - } + case *eventsapi.ContainerDelete: out = "id=" + e.ContainerID - case "types.containerd.io/containerd.v1.types.event.SnapshotPrepare": - e := &event.SnapshotPrepare{} - if err := proto.Unmarshal(evt.Event.Value, e); err != nil { - return out, err - } + case *eventsapi.SnapshotPrepare: out = fmt.Sprintf("key=%s parent=%s", e.Key, e.Parent) - case "types.containerd.io/containerd.v1.types.event.SnapshotCommit": - e := &event.SnapshotCommit{} - if err := proto.Unmarshal(evt.Event.Value, e); err != nil { - return out, err - } + case *eventsapi.SnapshotCommit: out = fmt.Sprintf("key=%s name=%s", e.Key, e.Name) - case "types.containerd.io/containerd.v1.types.event.SnapshotRemove": - e := &event.SnapshotRemove{} - if err := proto.Unmarshal(evt.Event.Value, e); err != nil { - return out, err - } + case *eventsapi.SnapshotRemove: out = "key=" + e.Key - case "types.containerd.io/containerd.v1.types.event.ImageUpdate": - e := &event.ImageUpdate{} - if err := proto.Unmarshal(evt.Event.Value, e); err != nil { - return out, err - } + case *eventsapi.ImageUpdate: out = fmt.Sprintf("name=%s labels=%s", e.Name, e.Labels) - case "types.containerd.io/containerd.v1.types.event.ImageDelete": - e := &event.ImageDelete{} - if err := proto.Unmarshal(evt.Event.Value, e); err != nil { - return out, err - } + case *eventsapi.ImageDelete: out = "name=" + e.Name - case "types.containerd.io/containerd.v1.types.event.NamespaceCreate": - e := &event.NamespaceCreate{} - if err := proto.Unmarshal(evt.Event.Value, e); err != nil { - return out, err - } + case *eventsapi.NamespaceCreate: out = fmt.Sprintf("name=%s labels=%s", e.Name, e.Labels) - case "types.containerd.io/containerd.v1.types.event.NamespaceUpdate": - e := &event.NamespaceUpdate{} - if err := proto.Unmarshal(evt.Event.Value, e); err != nil { - return out, err - } + case *eventsapi.NamespaceUpdate: out = fmt.Sprintf("name=%s labels=%s", e.Name, e.Labels) - case "types.containerd.io/containerd.v1.types.event.NamespaceDelete": - e := &event.NamespaceDelete{} - if err := proto.Unmarshal(evt.Event.Value, e); err != nil { - return out, err - } + case *eventsapi.NamespaceDelete: out = "name=" + e.Name - case "types.containerd.io/containerd.v1.types.event.RuntimeCreate": - e := &event.RuntimeCreate{} - if err := proto.Unmarshal(evt.Event.Value, e); err != nil { - return out, err - } + case *eventsapi.RuntimeCreate: mounts := []string{} for _, m := range e.RootFS { mounts = append(mounts, fmt.Sprintf("type=%s:src=%s", m.Type, m.Source)) } out = fmt.Sprintf("id=%s bundle=%s rootfs=%s checkpoint=%s", e.ID, e.Bundle, strings.Join(mounts, ","), e.Checkpoint) - case "types.containerd.io/containerd.v1.types.event.RuntimeEvent": - e := &event.RuntimeEvent{} - if err := proto.Unmarshal(evt.Event.Value, e); err != nil { - return out, err - } + case *eventsapi.RuntimeEvent: out = fmt.Sprintf("id=%s type=%s pid=%d status=%d exited=%s", e.ID, e.Type, e.Pid, e.ExitStatus, e.ExitedAt) - case "types.containerd.io/containerd.v1.types.event.RuntimeDelete": - e := &event.RuntimeDelete{} - if err := proto.Unmarshal(evt.Event.Value, e); err != nil { - return out, err - } + case *eventsapi.RuntimeDelete: out = fmt.Sprintf("id=%s runtime=%s status=%d exited=%s", e.ID, e.Runtime, e.ExitStatus, e.ExitedAt) default: - out = evt.Event.TypeUrl + out = env.Event.TypeUrl } return out, nil diff --git a/events/convert.go b/events/convert.go index b7f2470a9..d9872298f 100644 --- a/events/convert.go +++ b/events/convert.go @@ -1,92 +1,72 @@ package events import ( - "path" - "strings" - - "github.com/containerd/containerd/api/types/event" "github.com/gogo/protobuf/proto" - protobuf "github.com/gogo/protobuf/types" + "github.com/gogo/protobuf/types" "github.com/pkg/errors" ) -func getUrl(name string) string { - base := "types.containerd.io" - return path.Join(base, strings.Join([]string{ - "containerd", - EventVersion, - "types", - "event", - name, - }, ".")) -} +const ( + typesPrefix = "types.containerd.io/" +) -func convertToAny(evt Event) (*protobuf.Any, error) { - url := "" - var pb proto.Message - switch v := evt.(type) { - case event.ContainerCreate: - url = getUrl("ContainerCreate") - pb = &v - case event.ContainerDelete: - url = getUrl("ContainerDelete") - pb = &v - case event.TaskCreate: - url = getUrl("TaskCreate") - pb = &v - case event.TaskStart: - url = getUrl("TaskStart") - pb = &v - case event.TaskDelete: - url = getUrl("TaskDelete") - pb = &v - case event.ContentDelete: - url = getUrl("ContentDelete") - pb = &v - case event.SnapshotPrepare: - url = getUrl("SnapshotPrepare") - pb = &v - case event.SnapshotCommit: - url = getUrl("SnapshotCommit") - pb = &v - case event.SnapshotRemove: - url = getUrl("SnapshotRemove") - pb = &v - case event.ImageUpdate: - url = getUrl("ImageUpdate") - pb = &v - case event.ImageDelete: - url = getUrl("ImageDelete") - pb = &v - case event.NamespaceCreate: - url = getUrl("NamespaceCreate") - pb = &v - case event.NamespaceUpdate: - url = getUrl("NamespaceUpdate") - pb = &v - case event.NamespaceDelete: - url = getUrl("NamespaceDelete") - pb = &v - case event.RuntimeCreate: - url = getUrl("RuntimeCreate") - pb = &v - case event.RuntimeEvent: - url = getUrl("RuntimeEvent") - pb = &v - case event.RuntimeDelete: - url = getUrl("RuntimeDelete") - pb = &v - default: - return nil, errors.Errorf("unsupported event type: %T", v) +// MarshalEvent marshal the event into an any, namespacing the type url to the +// containerd types. +func MarshalEvent(event Event) (*types.Any, error) { + pb, ok := event.(proto.Message) + if !ok { + return nil, errors.Errorf("%T not a protobuf", event) } + url := typesPrefix + proto.MessageName(pb) val, err := proto.Marshal(pb) if err != nil { return nil, err } - return &protobuf.Any{ + return &types.Any{ TypeUrl: url, Value: val, }, nil } + +// DynamEvent acts as a holder type for unmarshaling events where the type is +// not previously known. +type DynamicEvent struct { + Event +} + +// UnmarshalEvent provides an event object based on the provided any. +// +// Use with DynamicEvent (or protobuf/types.DynamicAny) if the type is not +// known before hand. +func UnmarshalEvent(any *types.Any, event Event) error { + switch v := event.(type) { + case proto.Message: + if err := types.UnmarshalAny(any, v); err != nil { + return errors.Wrapf(err, "failed to unmarshal event %v", any) + } + case *DynamicEvent: + var da types.DynamicAny + + if err := types.UnmarshalAny(any, &da); err != nil { + return errors.Wrapf(err, "failed to unmarshal event %v", any) + } + v.Event = da.Message + default: + return errors.Errorf("unsupported event type: %T", event) + } + + return nil + +} + +// Is returns true if the event in any will unmarashal into the provided event. +func Is(any *types.Any, event Event) bool { + pb, ok := event.(proto.Message) + if !ok { + return false + } + + return types.Is(any, pb) +} diff --git a/events/emitter.go b/events/emitter.go index a6bbed1ab..ed3902146 100644 --- a/events/emitter.go +++ b/events/emitter.go @@ -4,7 +4,7 @@ import ( "context" "sync" - "github.com/containerd/containerd/api/types/event" + events "github.com/containerd/containerd/api/services/events/v1" "github.com/containerd/containerd/namespaces" goevents "github.com/docker/go-events" ) @@ -38,12 +38,12 @@ func (e *Emitter) Post(ctx context.Context, evt Event) error { return nil } -func (e *Emitter) Events(ctx context.Context, clientID string) chan *event.Envelope { +func (e *Emitter) Events(ctx context.Context, clientID string) chan *events.Envelope { e.m.Lock() if _, ok := e.sinks[clientID]; !ok { ns, _ := namespaces.Namespace(ctx) s := &eventSink{ - ch: make(chan *event.Envelope), + ch: make(chan *events.Envelope), ns: ns, } e.sinks[clientID] = s diff --git a/events/sink.go b/events/sink.go index 9ae5912be..8d94b1b93 100644 --- a/events/sink.go +++ b/events/sink.go @@ -5,7 +5,7 @@ import ( "time" "github.com/Sirupsen/logrus" - "github.com/containerd/containerd/api/types/event" + "github.com/containerd/containerd/api/services/events/v1" "github.com/containerd/containerd/namespaces" goevents "github.com/docker/go-events" "github.com/pkg/errors" @@ -18,7 +18,7 @@ type sinkEvent struct { type eventSink struct { ns string - ch chan *event.Envelope + ch chan *events.Envelope } func (s *eventSink) Write(evt goevents.Event) error { @@ -34,7 +34,7 @@ func (s *eventSink) Write(evt goevents.Event) error { return nil } - eventData, err := convertToAny(e.event) + eventData, err := MarshalEvent(e.event) if err != nil { return err } @@ -45,7 +45,7 @@ func (s *eventSink) Write(evt goevents.Event) error { "ns": ns, }).Debug("event") - s.ch <- &event.Envelope{ + s.ch <- &events.Envelope{ Timestamp: time.Now(), Topic: topic, Event: eventData, diff --git a/linux/runtime.go b/linux/runtime.go index 28a9099b8..be3285323 100644 --- a/linux/runtime.go +++ b/linux/runtime.go @@ -16,8 +16,8 @@ import ( "google.golang.org/grpc" + eventsapi "github.com/containerd/containerd/api/services/events/v1" "github.com/containerd/containerd/api/services/shim/v1" - "github.com/containerd/containerd/api/types/event" "github.com/containerd/containerd/api/types/mount" "github.com/containerd/containerd/api/types/task" "github.com/containerd/containerd/events" @@ -242,19 +242,19 @@ func (r *Runtime) Create(ctx context.Context, id string, opts plugin.CreateOpts) return nil, err } - var runtimeMounts []*event.RuntimeMount + var runtimeMounts []*eventsapi.RuntimeMount for _, m := range opts.Rootfs { - runtimeMounts = append(runtimeMounts, &event.RuntimeMount{ + runtimeMounts = append(runtimeMounts, &eventsapi.RuntimeMount{ Type: m.Type, Source: m.Source, Options: m.Options, }) } - if err := r.emit(ctx, "/runtime/create", event.RuntimeCreate{ + if err := r.emit(ctx, "/runtime/create", &eventsapi.RuntimeCreate{ ID: id, Bundle: path, RootFS: runtimeMounts, - IO: &event.RuntimeIO{ + IO: &eventsapi.RuntimeIO{ Stdin: opts.IO.Stdin, Stdout: opts.IO.Stdout, Stderr: opts.IO.Stderr, @@ -290,7 +290,7 @@ func (r *Runtime) Delete(ctx context.Context, c plugin.Task) (*plugin.Exit, erro r.tasks.delete(ctx, lc) i := c.Info() - if err := r.emit(ctx, "/runtime/delete", event.RuntimeDelete{ + if err := r.emit(ctx, "/runtime/delete", &eventsapi.RuntimeDelete{ ID: i.ID, Runtime: i.Runtime, ExitStatus: rsp.ExitStatus, @@ -416,7 +416,7 @@ func (r *Runtime) forward(ctx context.Context, events shim.Shim_EventsClient) { ExitStatus: e.ExitStatus, ExitedAt: e.ExitedAt, } - if err := r.emit(ctx, "/runtime/"+topic, event.RuntimeEvent{ + if err := r.emit(ctx, "/runtime/"+topic, &eventsapi.RuntimeEvent{ ID: e.ID, Type: e.Type, Pid: e.Pid, diff --git a/process.go b/process.go index 7baf8231f..3784fbe08 100644 --- a/process.go +++ b/process.go @@ -7,9 +7,8 @@ import ( eventsapi "github.com/containerd/containerd/api/services/events/v1" "github.com/containerd/containerd/api/services/tasks/v1" - "github.com/containerd/containerd/api/types/event" tasktypes "github.com/containerd/containerd/api/types/task" - "github.com/gogo/protobuf/proto" + "github.com/containerd/containerd/events" protobuf "github.com/gogo/protobuf/types" specs "github.com/opencontainers/runtime-spec/specs-go" ) @@ -74,24 +73,27 @@ func (p *process) Kill(ctx context.Context, s syscall.Signal) error { func (p *process) Wait(ctx context.Context) (uint32, error) { // TODO (ehazlett): add filtering for specific event - events, err := p.task.client.EventService().Stream(ctx, &eventsapi.StreamEventsRequest{}) + eventstream, err := p.task.client.EventService().Stream(ctx, &eventsapi.StreamEventsRequest{}) if err != nil { return UnknownExitStatus, err } <-p.pidSync +evloop: for { - evt, err := events.Recv() + evt, err := eventstream.Recv() if err != nil { return UnknownExitStatus, err } - if evt.Event.TypeUrl == "types.containerd.io/containerd.v1.types.event.RuntimeEvent" { - e := &event.RuntimeEvent{} - if err := proto.Unmarshal(evt.Event.Value, e); err != nil { + + switch { + case events.Is(evt.Event, &eventsapi.RuntimeEvent{}): + var e eventsapi.RuntimeEvent + if err := events.UnmarshalEvent(evt.Event, &e); err != nil { return UnknownExitStatus, err } if e.Type != tasktypes.Event_EXIT { - continue + continue evloop } if e.ID == p.task.containerID && e.Pid == p.pid { diff --git a/services/containers/service.go b/services/containers/service.go index cf5f02bae..185228c2a 100644 --- a/services/containers/service.go +++ b/services/containers/service.go @@ -3,7 +3,7 @@ package containers import ( "github.com/boltdb/bolt" api "github.com/containerd/containerd/api/services/containers/v1" - "github.com/containerd/containerd/api/types/event" + eventsapi "github.com/containerd/containerd/api/services/events/v1" "github.com/containerd/containerd/containers" "github.com/containerd/containerd/events" "github.com/containerd/containerd/metadata" @@ -93,10 +93,10 @@ func (s *Service) Create(ctx context.Context, req *api.CreateContainerRequest) ( }); err != nil { return &resp, err } - if err := s.emit(ctx, "/containers/create", event.ContainerCreate{ + if err := s.emit(ctx, "/containers/create", &eventsapi.ContainerCreate{ ContainerID: resp.Container.ID, Image: resp.Container.Image, - Runtime: &event.ContainerCreate_Runtime{ + Runtime: &eventsapi.ContainerCreate_Runtime{ Name: resp.Container.Runtime.Name, Options: resp.Container.Runtime.Options, }, @@ -160,7 +160,7 @@ func (s *Service) Update(ctx context.Context, req *api.UpdateContainerRequest) ( return &resp, err } - if err := s.emit(ctx, "/containers/update", event.ContainerUpdate{ + if err := s.emit(ctx, "/containers/update", &eventsapi.ContainerUpdate{ ContainerID: resp.Container.ID, Image: resp.Container.Image, Labels: resp.Container.Labels, @@ -179,7 +179,7 @@ func (s *Service) Delete(ctx context.Context, req *api.DeleteContainerRequest) ( return &empty.Empty{}, mapGRPCError(err, req.ID) } - if err := s.emit(ctx, "/containers/delete", event.ContainerDelete{ + if err := s.emit(ctx, "/containers/delete", &eventsapi.ContainerDelete{ ContainerID: req.ID, }); err != nil { return &empty.Empty{}, err diff --git a/services/content/service.go b/services/content/service.go index 27879ac65..ca9cd8148 100644 --- a/services/content/service.go +++ b/services/content/service.go @@ -6,7 +6,7 @@ import ( "github.com/Sirupsen/logrus" api "github.com/containerd/containerd/api/services/content/v1" - "github.com/containerd/containerd/api/types/event" + eventsapi "github.com/containerd/containerd/api/services/events/v1" "github.com/containerd/containerd/content" "github.com/containerd/containerd/events" "github.com/containerd/containerd/log" @@ -128,7 +128,7 @@ func (s *Service) Delete(ctx context.Context, req *api.DeleteContentRequest) (*e return nil, serverErrorToGRPC(err, req.Digest.String()) } - if err := s.emit(ctx, "/content/delete", event.ContentDelete{ + if err := s.emit(ctx, "/content/delete", &eventsapi.ContentDelete{ Digest: req.Digest, }); err != nil { return nil, err diff --git a/services/images/service.go b/services/images/service.go index b5bc6e34e..9456794b1 100644 --- a/services/images/service.go +++ b/services/images/service.go @@ -2,8 +2,8 @@ package images import ( "github.com/boltdb/bolt" + eventsapi "github.com/containerd/containerd/api/services/events/v1" imagesapi "github.com/containerd/containerd/api/services/images/v1" - "github.com/containerd/containerd/api/types/event" "github.com/containerd/containerd/events" "github.com/containerd/containerd/images" "github.com/containerd/containerd/metadata" @@ -69,7 +69,7 @@ func (s *Service) Update(ctx context.Context, req *imagesapi.UpdateImageRequest) return nil, err } - if err := s.emit(ctx, "/images/update", event.ImageUpdate{ + if err := s.emit(ctx, "/images/update", &eventsapi.ImageUpdate{ Name: req.Image.Name, Labels: req.Image.Labels, }); err != nil { @@ -103,7 +103,7 @@ func (s *Service) Delete(ctx context.Context, req *imagesapi.DeleteImageRequest) return nil, err } - if err := s.emit(ctx, "/images/delete", event.ImageDelete{ + if err := s.emit(ctx, "/images/delete", &eventsapi.ImageDelete{ Name: req.Name, }); err != nil { return nil, err diff --git a/services/namespaces/service.go b/services/namespaces/service.go index f7051b70a..7ac29e79a 100644 --- a/services/namespaces/service.go +++ b/services/namespaces/service.go @@ -4,8 +4,8 @@ import ( "strings" "github.com/boltdb/bolt" + eventsapi "github.com/containerd/containerd/api/services/events/v1" api "github.com/containerd/containerd/api/services/namespaces/v1" - "github.com/containerd/containerd/api/types/event" "github.com/containerd/containerd/events" "github.com/containerd/containerd/metadata" "github.com/containerd/containerd/namespaces" @@ -118,7 +118,7 @@ func (s *Service) Create(ctx context.Context, req *api.CreateNamespaceRequest) ( return &resp, err } - if err := s.emit(ctx, "/namespaces/create", event.NamespaceCreate{ + if err := s.emit(ctx, "/namespaces/create", &eventsapi.NamespaceCreate{ Name: req.Namespace.Name, Labels: req.Namespace.Labels, }); err != nil { @@ -171,7 +171,7 @@ func (s *Service) Update(ctx context.Context, req *api.UpdateNamespaceRequest) ( return &resp, err } - if err := s.emit(ctx, "/namespaces/update", event.NamespaceUpdate{ + if err := s.emit(ctx, "/namespaces/update", &eventsapi.NamespaceUpdate{ Name: req.Namespace.Name, Labels: req.Namespace.Labels, }); err != nil { @@ -188,7 +188,7 @@ func (s *Service) Delete(ctx context.Context, req *api.DeleteNamespaceRequest) ( return &empty.Empty{}, err } - if err := s.emit(ctx, "/namespaces/delete", event.NamespaceDelete{ + if err := s.emit(ctx, "/namespaces/delete", &eventsapi.NamespaceDelete{ Name: req.Name, }); err != nil { return &empty.Empty{}, err diff --git a/services/snapshot/service.go b/services/snapshot/service.go index 59d7fe2de..509c1a2b2 100644 --- a/services/snapshot/service.go +++ b/services/snapshot/service.go @@ -3,8 +3,8 @@ package snapshot import ( gocontext "context" + eventsapi "github.com/containerd/containerd/api/services/events/v1" snapshotapi "github.com/containerd/containerd/api/services/snapshot/v1" - "github.com/containerd/containerd/api/types/event" mounttypes "github.com/containerd/containerd/api/types/mount" "github.com/containerd/containerd/events" "github.com/containerd/containerd/log" @@ -63,7 +63,7 @@ func (s *service) Prepare(ctx context.Context, pr *snapshotapi.PrepareSnapshotRe return nil, grpcError(err) } - if err := s.emit(ctx, "/snapshot/prepare", event.SnapshotPrepare{ + if err := s.emit(ctx, "/snapshot/prepare", &eventsapi.SnapshotPrepare{ Key: pr.Key, Parent: pr.Parent, }); err != nil { @@ -108,7 +108,7 @@ func (s *service) Commit(ctx context.Context, cr *snapshotapi.CommitSnapshotRequ return nil, grpcError(err) } - if err := s.emit(ctx, "/snapshot/commit", event.SnapshotCommit{ + if err := s.emit(ctx, "/snapshot/commit", &eventsapi.SnapshotCommit{ Key: cr.Key, Name: cr.Name, }); err != nil { @@ -125,7 +125,7 @@ func (s *service) Remove(ctx context.Context, rr *snapshotapi.RemoveSnapshotRequ return nil, grpcError(err) } - if err := s.emit(ctx, "/snapshot/remove", event.SnapshotRemove{ + if err := s.emit(ctx, "/snapshot/remove", &eventsapi.SnapshotRemove{ Key: rr.Key, }); err != nil { return nil, err diff --git a/services/tasks/service.go b/services/tasks/service.go index a5589fe90..9f14d974e 100644 --- a/services/tasks/service.go +++ b/services/tasks/service.go @@ -9,9 +9,9 @@ import ( "path/filepath" "github.com/boltdb/bolt" + eventsapi "github.com/containerd/containerd/api/services/events/v1" api "github.com/containerd/containerd/api/services/tasks/v1" "github.com/containerd/containerd/api/types/descriptor" - "github.com/containerd/containerd/api/types/event" "github.com/containerd/containerd/api/types/task" "github.com/containerd/containerd/archive" "github.com/containerd/containerd/containers" @@ -154,7 +154,7 @@ func (s *Service) Create(ctx context.Context, r *api.CreateTaskRequest) (*api.Cr log.G(ctx).Error(err) } - if err := s.emit(ctx, "/tasks/create", event.TaskCreate{ + if err := s.emit(ctx, "/tasks/create", &eventsapi.TaskCreate{ ContainerID: r.ContainerID, }); err != nil { return nil, err @@ -175,7 +175,7 @@ func (s *Service) Start(ctx context.Context, r *api.StartTaskRequest) (*google_p return nil, err } - if err := s.emit(ctx, "/tasks/start", event.TaskStart{ + if err := s.emit(ctx, "/tasks/start", &eventsapi.TaskStart{ ContainerID: r.ContainerID, }); err != nil { return nil, err @@ -197,7 +197,7 @@ func (s *Service) Delete(ctx context.Context, r *api.DeleteTaskRequest) (*api.De if err != nil { return nil, err } - if err := s.emit(ctx, "/tasks/delete", event.TaskDelete{ + if err := s.emit(ctx, "/tasks/delete", &eventsapi.TaskDelete{ ContainerID: r.ContainerID, Pid: exit.Pid, ExitStatus: exit.Status, diff --git a/task.go b/task.go index be720a6a5..1865b185b 100644 --- a/task.go +++ b/task.go @@ -13,11 +13,10 @@ import ( "github.com/containerd/containerd/api/services/containers/v1" eventsapi "github.com/containerd/containerd/api/services/events/v1" "github.com/containerd/containerd/api/services/tasks/v1" - "github.com/containerd/containerd/api/types/event" tasktypes "github.com/containerd/containerd/api/types/task" "github.com/containerd/containerd/content" + "github.com/containerd/containerd/events" "github.com/containerd/containerd/rootfs" - "github.com/gogo/protobuf/proto" "github.com/opencontainers/image-spec/specs-go/v1" specs "github.com/opencontainers/runtime-spec/specs-go" ) @@ -143,24 +142,27 @@ func (t *task) Status(ctx context.Context) (TaskStatus, error) { // Wait is a blocking call that will wait for the task to exit and return the exit status func (t *task) Wait(ctx context.Context) (uint32, error) { // TODO (ehazlett): add filtering for specific event - events, err := t.client.EventService().Stream(ctx, &eventsapi.StreamEventsRequest{}) + eventstream, err := t.client.EventService().Stream(ctx, &eventsapi.StreamEventsRequest{}) if err != nil { return UnknownExitStatus, err } <-t.pidSync +evloop: for { - evt, err := events.Recv() + evt, err := eventstream.Recv() if err != nil { return UnknownExitStatus, err } - if evt.Event.TypeUrl == "types.containerd.io/containerd.v1.types.event.RuntimeEvent" { - e := &event.RuntimeEvent{} - if err := proto.Unmarshal(evt.Event.Value, e); err != nil { + + switch { + case events.Is(evt.Event, &eventsapi.RuntimeEvent{}): + var e eventsapi.RuntimeEvent + if err := events.UnmarshalEvent(evt.Event, &e); err != nil { return UnknownExitStatus, err } if e.Type != tasktypes.Event_EXIT { - continue + continue evloop } if e.ID == t.containerID && e.Pid == t.pid {