mirror of
https://github.com/containerd/containerd.git
synced 2026-11-06 13:27:16 +00:00
A shim that performs some mount types or transformations itself, so that containerd's mount manager does not perform them on its behalf, had no way to say so other than a comma separated string in the generic annotations map of its RuntimeInfo. Add a containerd.types.MountCapabilities extension a shim can attach to its BootstrapResult, naming the mount types and transforms it handles. Detail lives in an extension rather than fields of BootstrapResult so that containerd can ignore an extension whose type it does not recognize, letting a shim advertise unconditionally. Presence of the extension is enough: it is not gated behind a Capability enum value, since with no other consumer of that field an enum value here would only ever duplicate what the extension's presence already says, while still permitting states with no single correct interpretation, such as the enum value being set with no extension attached, or the reverse. This is additive: only a new field is added to BootstrapResult, and buf breaking is clean. Signed-off-by: Derek McGowan <derek@mcg.dev>
506 lines
18 KiB
Go
506 lines
18 KiB
Go
//
|
|
//Copyright The containerd Authors.
|
|
//
|
|
//Licensed under the Apache License, Version 2.0 (the "License");
|
|
//you may not use this file except in compliance with the License.
|
|
//You may obtain a copy of the License at
|
|
//
|
|
//http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
//Unless required by applicable law or agreed to in writing, software
|
|
//distributed under the License is distributed on an "AS IS" BASIS,
|
|
//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
//See the License for the specific language governing permissions and
|
|
//limitations under the License.
|
|
|
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
|
// versions:
|
|
// protoc-gen-go v1.28.1
|
|
// protoc (unknown)
|
|
// source: types/mount.proto
|
|
|
|
package types
|
|
|
|
import (
|
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
|
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
|
|
reflect "reflect"
|
|
sync "sync"
|
|
)
|
|
|
|
const (
|
|
// Verify that this generated code is sufficiently up-to-date.
|
|
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
|
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
|
)
|
|
|
|
// Mount describes mounts for a container.
|
|
//
|
|
// This type is the lingua franca of ContainerD. All services provide mounts
|
|
// to be used with the container at creation time.
|
|
//
|
|
// The Mount type follows the structure of the mount syscall, including a type,
|
|
// source, target and options.
|
|
type Mount struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Type defines the nature of the mount.
|
|
Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
|
|
// Source specifies the name of the mount. Depending on mount type, this
|
|
// may be a volume name or a host path, or even ignored.
|
|
Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"`
|
|
// Target path in container
|
|
Target string `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"`
|
|
// Options specifies zero or more fstab style mount options.
|
|
Options []string `protobuf:"bytes,4,rep,name=options,proto3" json:"options,omitempty"`
|
|
}
|
|
|
|
func (x *Mount) Reset() {
|
|
*x = Mount{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_types_mount_proto_msgTypes[0]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Mount) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Mount) ProtoMessage() {}
|
|
|
|
func (x *Mount) ProtoReflect() protoreflect.Message {
|
|
mi := &file_types_mount_proto_msgTypes[0]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Mount.ProtoReflect.Descriptor instead.
|
|
func (*Mount) Descriptor() ([]byte, []int) {
|
|
return file_types_mount_proto_rawDescGZIP(), []int{0}
|
|
}
|
|
|
|
func (x *Mount) GetType() string {
|
|
if x != nil {
|
|
return x.Type
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Mount) GetSource() string {
|
|
if x != nil {
|
|
return x.Source
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Mount) GetTarget() string {
|
|
if x != nil {
|
|
return x.Target
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Mount) GetOptions() []string {
|
|
if x != nil {
|
|
return x.Options
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type ActiveMount struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Mount *Mount `protobuf:"bytes,1,opt,name=mount,proto3" json:"mount,omitempty"`
|
|
MountedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=mounted_at,json=mountedAt,proto3" json:"mounted_at,omitempty"`
|
|
MountPoint string `protobuf:"bytes,3,opt,name=mount_point,json=mountPoint,proto3" json:"mount_point,omitempty"`
|
|
Data map[string]string `protobuf:"bytes,4,rep,name=data,proto3" json:"data,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
|
}
|
|
|
|
func (x *ActiveMount) Reset() {
|
|
*x = ActiveMount{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_types_mount_proto_msgTypes[1]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ActiveMount) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ActiveMount) ProtoMessage() {}
|
|
|
|
func (x *ActiveMount) ProtoReflect() protoreflect.Message {
|
|
mi := &file_types_mount_proto_msgTypes[1]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ActiveMount.ProtoReflect.Descriptor instead.
|
|
func (*ActiveMount) Descriptor() ([]byte, []int) {
|
|
return file_types_mount_proto_rawDescGZIP(), []int{1}
|
|
}
|
|
|
|
func (x *ActiveMount) GetMount() *Mount {
|
|
if x != nil {
|
|
return x.Mount
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ActiveMount) GetMountedAt() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.MountedAt
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ActiveMount) GetMountPoint() string {
|
|
if x != nil {
|
|
return x.MountPoint
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ActiveMount) GetData() map[string]string {
|
|
if x != nil {
|
|
return x.Data
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type ActivationInfo struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
|
Active []*ActiveMount `protobuf:"bytes,2,rep,name=active,proto3" json:"active,omitempty"`
|
|
System []*Mount `protobuf:"bytes,3,rep,name=system,proto3" json:"system,omitempty"`
|
|
Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
|
}
|
|
|
|
func (x *ActivationInfo) Reset() {
|
|
*x = ActivationInfo{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_types_mount_proto_msgTypes[2]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ActivationInfo) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ActivationInfo) ProtoMessage() {}
|
|
|
|
func (x *ActivationInfo) ProtoReflect() protoreflect.Message {
|
|
mi := &file_types_mount_proto_msgTypes[2]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ActivationInfo.ProtoReflect.Descriptor instead.
|
|
func (*ActivationInfo) Descriptor() ([]byte, []int) {
|
|
return file_types_mount_proto_rawDescGZIP(), []int{2}
|
|
}
|
|
|
|
func (x *ActivationInfo) GetName() string {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ActivationInfo) GetActive() []*ActiveMount {
|
|
if x != nil {
|
|
return x.Active
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ActivationInfo) GetSystem() []*Mount {
|
|
if x != nil {
|
|
return x.System
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ActivationInfo) GetLabels() map[string]string {
|
|
if x != nil {
|
|
return x.Labels
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// MountCapabilities describes mount handling that a component performs itself,
|
|
// so that the mount manager does not perform it on the component's behalf.
|
|
//
|
|
// A shim advertises this as an extension of its BootstrapResult. A runtime
|
|
// may be able to handle a mount more efficiently than the host can; a VM
|
|
// based runtime, for example, may pass a disk image directly to the guest
|
|
// instead of having a loop device set up for it on the host.
|
|
//
|
|
// Mount types and transforms are named with open ended strings, so
|
|
// supporting a new one of either is not a change to this protocol.
|
|
type MountCapabilities struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Types are the mount types the sender performs itself, such as "erofs" or
|
|
// "loop". These are base mount types, with any transform prefixes removed.
|
|
Types []string `protobuf:"bytes,1,rep,name=types,proto3" json:"types,omitempty"`
|
|
// Transforms are the mount transforms the sender applies itself, such as
|
|
// "format", "mkfs" or "mkdir".
|
|
//
|
|
// A transform is named on its own, without the "/<mount-type>" suffix that
|
|
// appears in a mount type, so "format" covers the mount types "format/bind"
|
|
// and "format/mkdir/overlay" alike.
|
|
Transforms []string `protobuf:"bytes,2,rep,name=transforms,proto3" json:"transforms,omitempty"`
|
|
}
|
|
|
|
func (x *MountCapabilities) Reset() {
|
|
*x = MountCapabilities{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_types_mount_proto_msgTypes[3]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *MountCapabilities) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*MountCapabilities) ProtoMessage() {}
|
|
|
|
func (x *MountCapabilities) ProtoReflect() protoreflect.Message {
|
|
mi := &file_types_mount_proto_msgTypes[3]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use MountCapabilities.ProtoReflect.Descriptor instead.
|
|
func (*MountCapabilities) Descriptor() ([]byte, []int) {
|
|
return file_types_mount_proto_rawDescGZIP(), []int{3}
|
|
}
|
|
|
|
func (x *MountCapabilities) GetTypes() []string {
|
|
if x != nil {
|
|
return x.Types
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *MountCapabilities) GetTransforms() []string {
|
|
if x != nil {
|
|
return x.Transforms
|
|
}
|
|
return nil
|
|
}
|
|
|
|
var File_types_mount_proto protoreflect.FileDescriptor
|
|
|
|
var file_types_mount_proto_rawDesc = []byte{
|
|
0x0a, 0x11, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x70, 0x72,
|
|
0x6f, 0x74, 0x6f, 0x12, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x2e,
|
|
0x74, 0x79, 0x70, 0x65, 0x73, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
|
|
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
|
|
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x65, 0x0a, 0x05, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x12,
|
|
0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74,
|
|
0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20,
|
|
0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74,
|
|
0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x72,
|
|
0x67, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04,
|
|
0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x8e, 0x02,
|
|
0x0a, 0x0b, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, 0x0a,
|
|
0x05, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63,
|
|
0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e,
|
|
0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x05, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x0a,
|
|
0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
|
|
0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
|
|
0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x6d, 0x6f,
|
|
0x75, 0x6e, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x6f, 0x75, 0x6e, 0x74,
|
|
0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x6f,
|
|
0x75, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61,
|
|
0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
|
|
0x65, 0x72, 0x64, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65,
|
|
0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
|
|
0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x37, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74,
|
|
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
|
0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
|
|
0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8d,
|
|
0x02, 0x0a, 0x0e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66,
|
|
0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
|
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18,
|
|
0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65,
|
|
0x72, 0x64, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d,
|
|
0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x2f, 0x0a, 0x06,
|
|
0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63,
|
|
0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e,
|
|
0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x44, 0x0a,
|
|
0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e,
|
|
0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73,
|
|
0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x2e,
|
|
0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62,
|
|
0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74,
|
|
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
|
0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
|
|
0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x49,
|
|
0x0a, 0x11, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74,
|
|
0x69, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03,
|
|
0x28, 0x09, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x72, 0x61,
|
|
0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x74,
|
|
0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x42, 0x32, 0x5a, 0x30, 0x67, 0x69, 0x74,
|
|
0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65,
|
|
0x72, 0x64, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x2f, 0x61, 0x70,
|
|
0x69, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x3b, 0x74, 0x79, 0x70, 0x65, 0x73, 0x62, 0x06, 0x70,
|
|
0x72, 0x6f, 0x74, 0x6f, 0x33,
|
|
}
|
|
|
|
var (
|
|
file_types_mount_proto_rawDescOnce sync.Once
|
|
file_types_mount_proto_rawDescData = file_types_mount_proto_rawDesc
|
|
)
|
|
|
|
func file_types_mount_proto_rawDescGZIP() []byte {
|
|
file_types_mount_proto_rawDescOnce.Do(func() {
|
|
file_types_mount_proto_rawDescData = protoimpl.X.CompressGZIP(file_types_mount_proto_rawDescData)
|
|
})
|
|
return file_types_mount_proto_rawDescData
|
|
}
|
|
|
|
var file_types_mount_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
|
|
var file_types_mount_proto_goTypes = []interface{}{
|
|
(*Mount)(nil), // 0: containerd.types.Mount
|
|
(*ActiveMount)(nil), // 1: containerd.types.ActiveMount
|
|
(*ActivationInfo)(nil), // 2: containerd.types.ActivationInfo
|
|
(*MountCapabilities)(nil), // 3: containerd.types.MountCapabilities
|
|
nil, // 4: containerd.types.ActiveMount.DataEntry
|
|
nil, // 5: containerd.types.ActivationInfo.LabelsEntry
|
|
(*timestamppb.Timestamp)(nil), // 6: google.protobuf.Timestamp
|
|
}
|
|
var file_types_mount_proto_depIdxs = []int32{
|
|
0, // 0: containerd.types.ActiveMount.mount:type_name -> containerd.types.Mount
|
|
6, // 1: containerd.types.ActiveMount.mounted_at:type_name -> google.protobuf.Timestamp
|
|
4, // 2: containerd.types.ActiveMount.data:type_name -> containerd.types.ActiveMount.DataEntry
|
|
1, // 3: containerd.types.ActivationInfo.active:type_name -> containerd.types.ActiveMount
|
|
0, // 4: containerd.types.ActivationInfo.system:type_name -> containerd.types.Mount
|
|
5, // 5: containerd.types.ActivationInfo.labels:type_name -> containerd.types.ActivationInfo.LabelsEntry
|
|
6, // [6:6] is the sub-list for method output_type
|
|
6, // [6:6] is the sub-list for method input_type
|
|
6, // [6:6] is the sub-list for extension type_name
|
|
6, // [6:6] is the sub-list for extension extendee
|
|
0, // [0:6] is the sub-list for field type_name
|
|
}
|
|
|
|
func init() { file_types_mount_proto_init() }
|
|
func file_types_mount_proto_init() {
|
|
if File_types_mount_proto != nil {
|
|
return
|
|
}
|
|
if !protoimpl.UnsafeEnabled {
|
|
file_types_mount_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Mount); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_types_mount_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ActiveMount); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_types_mount_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ActivationInfo); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_types_mount_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*MountCapabilities); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
}
|
|
type x struct{}
|
|
out := protoimpl.TypeBuilder{
|
|
File: protoimpl.DescBuilder{
|
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
|
RawDescriptor: file_types_mount_proto_rawDesc,
|
|
NumEnums: 0,
|
|
NumMessages: 6,
|
|
NumExtensions: 0,
|
|
NumServices: 0,
|
|
},
|
|
GoTypes: file_types_mount_proto_goTypes,
|
|
DependencyIndexes: file_types_mount_proto_depIdxs,
|
|
MessageInfos: file_types_mount_proto_msgTypes,
|
|
}.Build()
|
|
File_types_mount_proto = out.File
|
|
file_types_mount_proto_rawDesc = nil
|
|
file_types_mount_proto_goTypes = nil
|
|
file_types_mount_proto_depIdxs = nil
|
|
}
|