Merge pull request #1167 from crosbymichael/multi-ss
support using multiple snapshotters simultaneously
This commit is contained in:
commit
1a49f5ea79
@ -78,6 +78,8 @@ type Container struct {
|
|||||||
Runtime *Container_Runtime `protobuf:"bytes,4,opt,name=runtime" json:"runtime,omitempty"`
|
Runtime *Container_Runtime `protobuf:"bytes,4,opt,name=runtime" json:"runtime,omitempty"`
|
||||||
// Spec to be used when creating the container. This is runtime specific.
|
// Spec to be used when creating the container. This is runtime specific.
|
||||||
Spec *google_protobuf1.Any `protobuf:"bytes,5,opt,name=spec" json:"spec,omitempty"`
|
Spec *google_protobuf1.Any `protobuf:"bytes,5,opt,name=spec" json:"spec,omitempty"`
|
||||||
|
// Snapshotter specifies the snapshotter name used for rootfs
|
||||||
|
Snapshotter string `protobuf:"bytes,6,opt,name=snapshotter,proto3" json:"snapshotter,omitempty"`
|
||||||
// RootFS specifies the snapshot key to use for the container's root
|
// RootFS specifies the snapshot key to use for the container's root
|
||||||
// filesystem. When starting a task from this container, a caller should
|
// filesystem. When starting a task from this container, a caller should
|
||||||
// look up the mounts from the snapshot service and include those on the
|
// look up the mounts from the snapshot service and include those on the
|
||||||
@ -86,11 +88,11 @@ type Container struct {
|
|||||||
// Snapshots referenced in this field will not be garbage collected.
|
// Snapshots referenced in this field will not be garbage collected.
|
||||||
//
|
//
|
||||||
// This field may be updated.
|
// This field may be updated.
|
||||||
RootFS string `protobuf:"bytes,6,opt,name=rootfs,proto3" json:"rootfs,omitempty"`
|
RootFS string `protobuf:"bytes,7,opt,name=rootfs,proto3" json:"rootfs,omitempty"`
|
||||||
// CreatedAt is the time the container was first created.
|
// CreatedAt is the time the container was first created.
|
||||||
CreatedAt time.Time `protobuf:"bytes,7,opt,name=created_at,json=createdAt,stdtime" json:"created_at"`
|
CreatedAt time.Time `protobuf:"bytes,8,opt,name=created_at,json=createdAt,stdtime" json:"created_at"`
|
||||||
// UpdatedAt is the last time the container was mutated.
|
// UpdatedAt is the last time the container was mutated.
|
||||||
UpdatedAt time.Time `protobuf:"bytes,8,opt,name=updated_at,json=updatedAt,stdtime" json:"updated_at"`
|
UpdatedAt time.Time `protobuf:"bytes,9,opt,name=updated_at,json=updatedAt,stdtime" json:"updated_at"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Container) Reset() { *m = Container{} }
|
func (m *Container) Reset() { *m = Container{} }
|
||||||
@ -487,13 +489,19 @@ func (m *Container) MarshalTo(dAtA []byte) (int, error) {
|
|||||||
}
|
}
|
||||||
i += n2
|
i += n2
|
||||||
}
|
}
|
||||||
if len(m.RootFS) > 0 {
|
if len(m.Snapshotter) > 0 {
|
||||||
dAtA[i] = 0x32
|
dAtA[i] = 0x32
|
||||||
i++
|
i++
|
||||||
|
i = encodeVarintContainers(dAtA, i, uint64(len(m.Snapshotter)))
|
||||||
|
i += copy(dAtA[i:], m.Snapshotter)
|
||||||
|
}
|
||||||
|
if len(m.RootFS) > 0 {
|
||||||
|
dAtA[i] = 0x3a
|
||||||
|
i++
|
||||||
i = encodeVarintContainers(dAtA, i, uint64(len(m.RootFS)))
|
i = encodeVarintContainers(dAtA, i, uint64(len(m.RootFS)))
|
||||||
i += copy(dAtA[i:], m.RootFS)
|
i += copy(dAtA[i:], m.RootFS)
|
||||||
}
|
}
|
||||||
dAtA[i] = 0x3a
|
dAtA[i] = 0x42
|
||||||
i++
|
i++
|
||||||
i = encodeVarintContainers(dAtA, i, uint64(github_com_gogo_protobuf_types.SizeOfStdTime(m.CreatedAt)))
|
i = encodeVarintContainers(dAtA, i, uint64(github_com_gogo_protobuf_types.SizeOfStdTime(m.CreatedAt)))
|
||||||
n3, err := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.CreatedAt, dAtA[i:])
|
n3, err := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.CreatedAt, dAtA[i:])
|
||||||
@ -501,7 +509,7 @@ func (m *Container) MarshalTo(dAtA []byte) (int, error) {
|
|||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
i += n3
|
i += n3
|
||||||
dAtA[i] = 0x42
|
dAtA[i] = 0x4a
|
||||||
i++
|
i++
|
||||||
i = encodeVarintContainers(dAtA, i, uint64(github_com_gogo_protobuf_types.SizeOfStdTime(m.UpdatedAt)))
|
i = encodeVarintContainers(dAtA, i, uint64(github_com_gogo_protobuf_types.SizeOfStdTime(m.UpdatedAt)))
|
||||||
n4, err := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.UpdatedAt, dAtA[i:])
|
n4, err := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.UpdatedAt, dAtA[i:])
|
||||||
@ -851,6 +859,10 @@ func (m *Container) Size() (n int) {
|
|||||||
l = m.Spec.Size()
|
l = m.Spec.Size()
|
||||||
n += 1 + l + sovContainers(uint64(l))
|
n += 1 + l + sovContainers(uint64(l))
|
||||||
}
|
}
|
||||||
|
l = len(m.Snapshotter)
|
||||||
|
if l > 0 {
|
||||||
|
n += 1 + l + sovContainers(uint64(l))
|
||||||
|
}
|
||||||
l = len(m.RootFS)
|
l = len(m.RootFS)
|
||||||
if l > 0 {
|
if l > 0 {
|
||||||
n += 1 + l + sovContainers(uint64(l))
|
n += 1 + l + sovContainers(uint64(l))
|
||||||
@ -997,6 +1009,7 @@ func (this *Container) String() string {
|
|||||||
`Image:` + fmt.Sprintf("%v", this.Image) + `,`,
|
`Image:` + fmt.Sprintf("%v", this.Image) + `,`,
|
||||||
`Runtime:` + strings.Replace(fmt.Sprintf("%v", this.Runtime), "Container_Runtime", "Container_Runtime", 1) + `,`,
|
`Runtime:` + strings.Replace(fmt.Sprintf("%v", this.Runtime), "Container_Runtime", "Container_Runtime", 1) + `,`,
|
||||||
`Spec:` + strings.Replace(fmt.Sprintf("%v", this.Spec), "Any", "google_protobuf1.Any", 1) + `,`,
|
`Spec:` + strings.Replace(fmt.Sprintf("%v", this.Spec), "Any", "google_protobuf1.Any", 1) + `,`,
|
||||||
|
`Snapshotter:` + fmt.Sprintf("%v", this.Snapshotter) + `,`,
|
||||||
`RootFS:` + fmt.Sprintf("%v", this.RootFS) + `,`,
|
`RootFS:` + fmt.Sprintf("%v", this.RootFS) + `,`,
|
||||||
`CreatedAt:` + strings.Replace(strings.Replace(this.CreatedAt.String(), "Timestamp", "google_protobuf4.Timestamp", 1), `&`, ``, 1) + `,`,
|
`CreatedAt:` + strings.Replace(strings.Replace(this.CreatedAt.String(), "Timestamp", "google_protobuf4.Timestamp", 1), `&`, ``, 1) + `,`,
|
||||||
`UpdatedAt:` + strings.Replace(strings.Replace(this.UpdatedAt.String(), "Timestamp", "google_protobuf4.Timestamp", 1), `&`, ``, 1) + `,`,
|
`UpdatedAt:` + strings.Replace(strings.Replace(this.UpdatedAt.String(), "Timestamp", "google_protobuf4.Timestamp", 1), `&`, ``, 1) + `,`,
|
||||||
@ -1384,6 +1397,35 @@ func (m *Container) Unmarshal(dAtA []byte) error {
|
|||||||
}
|
}
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
case 6:
|
case 6:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field Snapshotter", wireType)
|
||||||
|
}
|
||||||
|
var stringLen uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowContainers
|
||||||
|
}
|
||||||
|
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 ErrInvalidLengthContainers
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + intStringLen
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
m.Snapshotter = string(dAtA[iNdEx:postIndex])
|
||||||
|
iNdEx = postIndex
|
||||||
|
case 7:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field RootFS", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field RootFS", wireType)
|
||||||
}
|
}
|
||||||
@ -1412,7 +1454,7 @@ func (m *Container) Unmarshal(dAtA []byte) error {
|
|||||||
}
|
}
|
||||||
m.RootFS = string(dAtA[iNdEx:postIndex])
|
m.RootFS = string(dAtA[iNdEx:postIndex])
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
case 7:
|
case 8:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field CreatedAt", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field CreatedAt", wireType)
|
||||||
}
|
}
|
||||||
@ -1442,7 +1484,7 @@ func (m *Container) Unmarshal(dAtA []byte) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
case 8:
|
case 9:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field UpdatedAt", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field UpdatedAt", wireType)
|
||||||
}
|
}
|
||||||
@ -2466,52 +2508,53 @@ func init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var fileDescriptorContainers = []byte{
|
var fileDescriptorContainers = []byte{
|
||||||
// 742 bytes of a gzipped FileDescriptorProto
|
// 757 bytes of a gzipped FileDescriptorProto
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xcd, 0x6e, 0xd3, 0x4a,
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xcb, 0x72, 0xd3, 0x4a,
|
||||||
0x14, 0xae, 0x93, 0xd4, 0x69, 0x4e, 0x36, 0x57, 0x73, 0x73, 0x73, 0x8d, 0x91, 0x92, 0x90, 0x55,
|
0x10, 0x8d, 0x6c, 0x47, 0x8e, 0xdb, 0x9b, 0x5b, 0x73, 0x7d, 0x7d, 0x85, 0xa8, 0xb2, 0x8d, 0x57,
|
||||||
0x16, 0xe0, 0xd0, 0x80, 0xa0, 0x3f, 0xab, 0xa6, 0x7f, 0x42, 0x6a, 0x51, 0x35, 0xc0, 0x06, 0x16,
|
0x5e, 0x80, 0x4c, 0x0c, 0x05, 0x79, 0xac, 0xe2, 0xbc, 0x8a, 0xaa, 0x84, 0x4a, 0x0d, 0xb0, 0x81,
|
||||||
0xc5, 0x49, 0x26, 0xa9, 0x89, 0xed, 0x31, 0x9e, 0x49, 0xa4, 0x88, 0x05, 0x3c, 0x02, 0x6f, 0xc1,
|
0x45, 0x90, 0xed, 0xb1, 0x23, 0x2c, 0x69, 0x84, 0x66, 0xec, 0x2a, 0x17, 0x0b, 0xf8, 0x04, 0xfe,
|
||||||
0x53, 0xb0, 0xef, 0x92, 0x25, 0xab, 0xd2, 0xe6, 0x49, 0x90, 0xc7, 0xe3, 0x3a, 0xe4, 0x47, 0x38,
|
0x82, 0x5f, 0xc9, 0x92, 0x25, 0xab, 0x3c, 0xfc, 0x25, 0x94, 0x46, 0xa3, 0xc8, 0xf8, 0x51, 0xc8,
|
||||||
0x85, 0xee, 0xe6, 0x78, 0xce, 0xf7, 0x9d, 0x33, 0xdf, 0x7c, 0x67, 0x64, 0x38, 0xea, 0x59, 0xfc,
|
0x81, 0xec, 0xa6, 0x3d, 0x7d, 0xba, 0x8f, 0x4e, 0x9f, 0x96, 0x05, 0x47, 0x3d, 0x8b, 0x9f, 0x0d,
|
||||||
0x6c, 0xd0, 0x32, 0xda, 0xd4, 0xa9, 0xb7, 0xa9, 0xcb, 0x4d, 0xcb, 0x25, 0x7e, 0x67, 0x72, 0x69,
|
0x5a, 0x46, 0x9b, 0x3a, 0xf5, 0x36, 0x75, 0xb9, 0x69, 0xb9, 0xc4, 0xef, 0x4c, 0x1e, 0x4d, 0xcf,
|
||||||
0x7a, 0x56, 0x9d, 0x11, 0x7f, 0x68, 0xb5, 0x09, 0x8b, 0xbf, 0xb3, 0xfa, 0x70, 0x7d, 0x22, 0x32,
|
0xaa, 0x33, 0xe2, 0x0f, 0xad, 0x36, 0x61, 0xf1, 0xef, 0xac, 0x3e, 0x5c, 0x9f, 0x88, 0x0c, 0xcf,
|
||||||
0x3c, 0x9f, 0x72, 0x8a, 0xee, 0xc5, 0x38, 0x23, 0xc2, 0x18, 0x13, 0x59, 0xc3, 0x75, 0xbd, 0xd0,
|
0xa7, 0x9c, 0xa2, 0x07, 0x31, 0xce, 0x88, 0x30, 0xc6, 0x44, 0xd6, 0x70, 0x5d, 0x2f, 0xf4, 0x68,
|
||||||
0xa3, 0x3d, 0x2a, 0xb2, 0xeb, 0xc1, 0x2a, 0x04, 0xea, 0x77, 0x7a, 0x94, 0xf6, 0x6c, 0x52, 0x17,
|
0x8f, 0x8a, 0xec, 0x7a, 0x70, 0x0a, 0x81, 0xfa, 0xbd, 0x1e, 0xa5, 0x3d, 0x9b, 0xd4, 0x45, 0xd4,
|
||||||
0x51, 0x6b, 0xd0, 0xad, 0x9b, 0xee, 0x48, 0x6e, 0xdd, 0x9d, 0xde, 0x22, 0x8e, 0xc7, 0xa3, 0xcd,
|
0x1a, 0x74, 0xeb, 0xa6, 0x3b, 0x92, 0x57, 0xf7, 0xa7, 0xaf, 0x88, 0xe3, 0xf1, 0xe8, 0xb2, 0x32,
|
||||||
0xca, 0xf4, 0x66, 0xd7, 0x22, 0x76, 0xe7, 0xd4, 0x31, 0x59, 0x5f, 0x66, 0x94, 0xa7, 0x33, 0xb8,
|
0x7d, 0xd9, 0xb5, 0x88, 0xdd, 0x39, 0x75, 0x4c, 0xd6, 0x97, 0x19, 0xe5, 0xe9, 0x0c, 0x6e, 0x39,
|
||||||
0xe5, 0x10, 0xc6, 0x4d, 0xc7, 0x93, 0x09, 0xdb, 0x89, 0x14, 0xe0, 0x23, 0x8f, 0xb0, 0x7a, 0x87,
|
0x84, 0x71, 0xd3, 0xf1, 0x64, 0xc2, 0x76, 0x22, 0x05, 0xf8, 0xc8, 0x23, 0xac, 0xde, 0x21, 0xac,
|
||||||
0xb0, 0xb6, 0x6f, 0x79, 0x9c, 0xfa, 0x21, 0xb8, 0xfa, 0x35, 0x03, 0xb9, 0xdd, 0x28, 0x13, 0x15,
|
0xed, 0x5b, 0x1e, 0xa7, 0x7e, 0x08, 0xae, 0x5e, 0x66, 0x20, 0xb7, 0x1b, 0x65, 0xa2, 0x22, 0xa4,
|
||||||
0x21, 0x65, 0x75, 0x34, 0xa5, 0xa2, 0xd4, 0x72, 0x4d, 0x75, 0x7c, 0x51, 0x4e, 0x3d, 0xdb, 0xc3,
|
0xac, 0x8e, 0xa6, 0x54, 0x94, 0x5a, 0xae, 0xa9, 0x8e, 0x2f, 0xca, 0xa9, 0x17, 0x7b, 0x38, 0x65,
|
||||||
0x29, 0xab, 0x83, 0x4e, 0x40, 0xb5, 0xcd, 0x16, 0xb1, 0x99, 0x96, 0xaa, 0xa4, 0x6b, 0xf9, 0xc6,
|
0x75, 0xd0, 0x09, 0xa8, 0xb6, 0xd9, 0x22, 0x36, 0xd3, 0x52, 0x95, 0x74, 0x2d, 0xdf, 0xd8, 0x30,
|
||||||
0x86, 0xf1, 0x5b, 0x9d, 0x8c, 0x6b, 0x56, 0xe3, 0x48, 0x40, 0xf7, 0x5d, 0xee, 0x8f, 0xb0, 0xe4,
|
0x7e, 0xab, 0x93, 0x71, 0x53, 0xd5, 0x38, 0x12, 0xd0, 0x7d, 0x97, 0xfb, 0x23, 0x2c, 0xeb, 0xa0,
|
||||||
0x41, 0x05, 0x58, 0xb5, 0x1c, 0xb3, 0x47, 0xb4, 0x74, 0x50, 0x0c, 0x87, 0x01, 0x7a, 0x0e, 0x59,
|
0x02, 0xac, 0x5a, 0x8e, 0xd9, 0x23, 0x5a, 0x3a, 0x68, 0x86, 0xc3, 0x00, 0xbd, 0x84, 0xac, 0x3f,
|
||||||
0x7f, 0xe0, 0x06, 0x07, 0xd4, 0x32, 0x15, 0xa5, 0x96, 0x6f, 0x3c, 0x5e, 0xaa, 0x10, 0x0e, 0xb1,
|
0x70, 0x83, 0x07, 0xd4, 0x32, 0x15, 0xa5, 0x96, 0x6f, 0x3c, 0x5d, 0xaa, 0x11, 0x0e, 0xb1, 0x38,
|
||||||
0x38, 0x22, 0x41, 0x35, 0xc8, 0x30, 0x8f, 0xb4, 0xb5, 0x55, 0x41, 0x56, 0x30, 0x42, 0x29, 0x8d,
|
0x2a, 0x82, 0x6a, 0x90, 0x61, 0x1e, 0x69, 0x6b, 0xab, 0xa2, 0x58, 0xc1, 0x08, 0xa5, 0x34, 0x22,
|
||||||
0x48, 0x4a, 0x63, 0xc7, 0x1d, 0x61, 0x91, 0x81, 0xaa, 0xa0, 0xfa, 0x94, 0xf2, 0x2e, 0xd3, 0x54,
|
0x29, 0x8d, 0x1d, 0x77, 0x84, 0x45, 0x06, 0xaa, 0x40, 0x9e, 0xb9, 0xa6, 0xc7, 0xce, 0x28, 0xe7,
|
||||||
0x71, 0x7a, 0x18, 0x5f, 0x94, 0x55, 0x4c, 0x29, 0x3f, 0x78, 0x81, 0xe5, 0x0e, 0xda, 0x05, 0x68,
|
0xc4, 0xd7, 0x54, 0xc1, 0x6a, 0xf2, 0x27, 0x54, 0x05, 0xd5, 0xa7, 0x94, 0x77, 0x99, 0x96, 0x15,
|
||||||
0xfb, 0xc4, 0xe4, 0xa4, 0x73, 0x6a, 0x72, 0x2d, 0x2b, 0x38, 0xf5, 0x19, 0xce, 0x97, 0xd1, 0xf5,
|
0xfa, 0xc0, 0xf8, 0xa2, 0xac, 0x62, 0x4a, 0xf9, 0xc1, 0x2b, 0x2c, 0x6f, 0xd0, 0x2e, 0x40, 0xdb,
|
||||||
0x34, 0xd7, 0xce, 0x2f, 0xca, 0x2b, 0x9f, 0x7f, 0x94, 0x15, 0x9c, 0x93, 0xb8, 0x1d, 0x1e, 0x90,
|
0x27, 0x26, 0x27, 0x9d, 0x53, 0x93, 0x6b, 0x6b, 0xa2, 0xab, 0x3e, 0xd3, 0xf5, 0x75, 0x34, 0xc0,
|
||||||
0x0c, 0xbc, 0x4e, 0x44, 0xb2, 0xb6, 0x0c, 0x89, 0xc4, 0xed, 0x70, 0x7d, 0x13, 0xf2, 0x13, 0xa2,
|
0xe6, 0xda, 0xf9, 0x45, 0x79, 0xe5, 0xeb, 0x65, 0x59, 0xc1, 0x39, 0x89, 0xdb, 0xe1, 0x41, 0x91,
|
||||||
0xa2, 0x7f, 0x20, 0xdd, 0x27, 0xa3, 0xf0, 0xde, 0x70, 0xb0, 0x0c, 0xe4, 0x1d, 0x9a, 0xf6, 0x80,
|
0x81, 0xd7, 0x89, 0x8a, 0xe4, 0x96, 0x29, 0x22, 0x71, 0x3b, 0x5c, 0xdf, 0x84, 0xfc, 0x84, 0xec,
|
||||||
0x68, 0xa9, 0x50, 0x5e, 0x11, 0x6c, 0xa5, 0x36, 0x14, 0xfd, 0x18, 0xb2, 0x52, 0x26, 0x84, 0x20,
|
0xe8, 0x1f, 0x48, 0xf7, 0xc9, 0x28, 0x9c, 0x2c, 0x0e, 0x8e, 0xc1, 0x00, 0x86, 0xa6, 0x3d, 0x20,
|
||||||
0xe3, 0x9a, 0x0e, 0x91, 0x38, 0xb1, 0x46, 0x06, 0x64, 0xa9, 0xc7, 0x2d, 0xea, 0x32, 0x01, 0x5d,
|
0x5a, 0x2a, 0x1c, 0x80, 0x08, 0xb6, 0x52, 0x1b, 0x8a, 0x7e, 0x0c, 0x59, 0x29, 0x24, 0x42, 0x90,
|
||||||
0x24, 0x5a, 0x94, 0x54, 0x7d, 0x00, 0xff, 0x1e, 0x12, 0x7e, 0x7d, 0x05, 0x98, 0xbc, 0x1f, 0x10,
|
0x71, 0x4d, 0x87, 0x48, 0x9c, 0x38, 0x23, 0x03, 0xb2, 0xd4, 0xe3, 0x16, 0x75, 0x99, 0x80, 0x2e,
|
||||||
0xc6, 0x17, 0x19, 0xa9, 0x7a, 0x06, 0x85, 0x5f, 0xd3, 0x99, 0x47, 0x5d, 0x46, 0xd0, 0x09, 0xe4,
|
0x92, 0x35, 0x4a, 0xaa, 0x3e, 0x82, 0x7f, 0x0f, 0x09, 0xbf, 0x19, 0x12, 0x26, 0x1f, 0x07, 0x84,
|
||||||
0xae, 0x2f, 0x55, 0xc0, 0xf2, 0x8d, 0xfb, 0xcb, 0x5c, 0x7d, 0x33, 0x13, 0xc8, 0x84, 0x63, 0x92,
|
0xf1, 0x45, 0x56, 0xab, 0x9e, 0x41, 0xe1, 0xd7, 0x74, 0xe6, 0x51, 0x97, 0x11, 0x74, 0x02, 0xb9,
|
||||||
0xea, 0x3a, 0xfc, 0x77, 0x64, 0xb1, 0xb8, 0x14, 0x8b, 0x5a, 0xd3, 0x20, 0xdb, 0xb5, 0x6c, 0x4e,
|
0x9b, 0xb1, 0x0b, 0x58, 0xbe, 0xf1, 0x70, 0x19, 0x73, 0x34, 0x33, 0x81, 0x4c, 0x38, 0x2e, 0x52,
|
||||||
0x7c, 0xa6, 0x29, 0x95, 0x74, 0x2d, 0x87, 0xa3, 0xb0, 0x6a, 0x43, 0x71, 0x1a, 0x22, 0xdb, 0xc3,
|
0x5d, 0x87, 0xff, 0x8e, 0x2c, 0x16, 0xb7, 0x62, 0x11, 0x35, 0x0d, 0xb2, 0x5d, 0xcb, 0xe6, 0xc4,
|
||||||
0x00, 0x71, 0x61, 0x01, 0xbb, 0x59, 0x7f, 0x13, 0x2c, 0xd5, 0x77, 0x50, 0xdc, 0x15, 0xae, 0x98,
|
0x67, 0x9a, 0x52, 0x49, 0xd7, 0x72, 0x38, 0x0a, 0xab, 0x36, 0x14, 0xa7, 0x21, 0x92, 0x1e, 0x06,
|
||||||
0x11, 0xef, 0xef, 0x8b, 0xd1, 0x87, 0xff, 0x67, 0x6a, 0xdd, 0x9a, 0xf2, 0x5f, 0x14, 0x28, 0xbe,
|
0x88, 0x1b, 0x0b, 0xd8, 0xed, 0xf8, 0x4d, 0x54, 0xa9, 0x7e, 0x80, 0xe2, 0xae, 0x70, 0xc5, 0x8c,
|
||||||
0x12, 0x56, 0xbd, 0xfd, 0x93, 0xa1, 0x6d, 0xc8, 0x87, 0x63, 0x21, 0x9e, 0x4c, 0xe9, 0xd9, 0xd9,
|
0x78, 0x7f, 0x5f, 0x8c, 0x3e, 0xfc, 0x3f, 0xd3, 0xeb, 0xce, 0x94, 0xff, 0xa6, 0x40, 0xf1, 0x8d,
|
||||||
0x79, 0x3a, 0x08, 0x5e, 0xd5, 0x63, 0x93, 0xf5, 0xb1, 0x9c, 0xbe, 0x60, 0x1d, 0xc8, 0x32, 0xd3,
|
0xb0, 0xea, 0xdd, 0x3f, 0x19, 0xda, 0x86, 0x7c, 0xb8, 0x16, 0xe2, 0xa5, 0x2a, 0x3d, 0x3b, 0xbb,
|
||||||
0xe8, 0xad, 0xc9, 0xf2, 0x10, 0x8a, 0x7b, 0xc4, 0x26, 0x73, 0x54, 0x59, 0x30, 0x2c, 0x8d, 0xcb,
|
0x4f, 0x07, 0xc1, 0x7b, 0xf7, 0xd8, 0x64, 0x7d, 0x2c, 0xb7, 0x2f, 0x38, 0x07, 0xb2, 0xcc, 0x10,
|
||||||
0x0c, 0x40, 0x6c, 0x46, 0x34, 0x84, 0xf4, 0x21, 0xe1, 0xe8, 0x49, 0x82, 0x36, 0xe6, 0x8c, 0xa4,
|
0xbd, 0x33, 0x59, 0x1e, 0x43, 0x71, 0x8f, 0xd8, 0x64, 0x8e, 0x2a, 0x0b, 0x96, 0xa5, 0x71, 0x95,
|
||||||
0xfe, 0x74, 0x69, 0x9c, 0x94, 0xe2, 0x03, 0x64, 0x82, 0xb1, 0x40, 0x49, 0x1e, 0xfd, 0xb9, 0x23,
|
0x01, 0x88, 0xcd, 0x88, 0x86, 0x90, 0x3e, 0x24, 0x1c, 0x3d, 0x4b, 0x40, 0x63, 0xce, 0x4a, 0xea,
|
||||||
0xa7, 0x6f, 0xde, 0x00, 0x29, 0x8b, 0x7f, 0x04, 0x35, 0x74, 0x2e, 0x4a, 0x42, 0x32, 0x7f, 0xa0,
|
0xcf, 0x97, 0xc6, 0x49, 0x29, 0x3e, 0x41, 0x26, 0x58, 0x0b, 0x94, 0xe4, 0x6f, 0x61, 0xee, 0xca,
|
||||||
0xf4, 0xad, 0x9b, 0x40, 0xe3, 0x06, 0x42, 0x8f, 0x24, 0x6a, 0x60, 0xbe, 0xef, 0x13, 0x35, 0xb0,
|
0xe9, 0x9b, 0xb7, 0x40, 0xca, 0xe6, 0x9f, 0x41, 0x0d, 0x9d, 0x8b, 0x92, 0x14, 0x99, 0xbf, 0x50,
|
||||||
0xc8, 0x89, 0x6f, 0x40, 0x0d, 0x7d, 0x93, 0xa8, 0x81, 0xf9, 0x16, 0xd3, 0x8b, 0x33, 0x13, 0xb1,
|
0xfa, 0xd6, 0x6d, 0xa0, 0x31, 0x81, 0xd0, 0x23, 0x89, 0x08, 0xcc, 0xf7, 0x7d, 0x22, 0x02, 0x8b,
|
||||||
0x1f, 0xfc, 0x84, 0x34, 0xdf, 0x9e, 0x5f, 0x95, 0x56, 0xbe, 0x5f, 0x95, 0x56, 0x3e, 0x8d, 0x4b,
|
0x9c, 0xf8, 0x0e, 0xd4, 0xd0, 0x37, 0x89, 0x08, 0xcc, 0xb7, 0x98, 0x5e, 0x9c, 0xd9, 0x88, 0xfd,
|
||||||
0xca, 0xf9, 0xb8, 0xa4, 0x7c, 0x1b, 0x97, 0x94, 0xcb, 0x71, 0x49, 0x79, 0x7d, 0xf0, 0x07, 0xff,
|
0xe0, 0x33, 0xa5, 0xf9, 0xfe, 0xfc, 0xba, 0xb4, 0xf2, 0xe3, 0xba, 0xb4, 0xf2, 0x65, 0x5c, 0x52,
|
||||||
0x55, 0xdb, 0x71, 0xd4, 0x52, 0x45, 0xc5, 0x47, 0x3f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x6b, 0x95,
|
0xce, 0xc7, 0x25, 0xe5, 0xfb, 0xb8, 0xa4, 0x5c, 0x8d, 0x4b, 0xca, 0xdb, 0x83, 0x3f, 0xf8, 0xf2,
|
||||||
0xa9, 0x10, 0xa8, 0x09, 0x00, 0x00,
|
0xda, 0x8e, 0xa3, 0x96, 0x2a, 0x3a, 0x3e, 0xf9, 0x19, 0x00, 0x00, 0xff, 0xff, 0xa1, 0xaf, 0xe2,
|
||||||
|
0x52, 0xca, 0x09, 0x00, 0x00,
|
||||||
}
|
}
|
||||||
|
@ -65,6 +65,9 @@ message Container {
|
|||||||
// Spec to be used when creating the container. This is runtime specific.
|
// Spec to be used when creating the container. This is runtime specific.
|
||||||
google.protobuf.Any spec = 5;
|
google.protobuf.Any spec = 5;
|
||||||
|
|
||||||
|
// Snapshotter specifies the snapshotter name used for rootfs
|
||||||
|
string snapshotter = 6;
|
||||||
|
|
||||||
// RootFS specifies the snapshot key to use for the container's root
|
// RootFS specifies the snapshot key to use for the container's root
|
||||||
// filesystem. When starting a task from this container, a caller should
|
// filesystem. When starting a task from this container, a caller should
|
||||||
// look up the mounts from the snapshot service and include those on the
|
// look up the mounts from the snapshot service and include those on the
|
||||||
@ -73,13 +76,13 @@ message Container {
|
|||||||
// Snapshots referenced in this field will not be garbage collected.
|
// Snapshots referenced in this field will not be garbage collected.
|
||||||
//
|
//
|
||||||
// This field may be updated.
|
// This field may be updated.
|
||||||
string rootfs = 6 [(gogoproto.customname) = "RootFS"];
|
string rootfs = 7 [(gogoproto.customname) = "RootFS"];
|
||||||
|
|
||||||
// CreatedAt is the time the container was first created.
|
// CreatedAt is the time the container was first created.
|
||||||
google.protobuf.Timestamp created_at = 7 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false];
|
google.protobuf.Timestamp created_at = 8 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false];
|
||||||
|
|
||||||
// UpdatedAt is the last time the container was mutated.
|
// UpdatedAt is the last time the container was mutated.
|
||||||
google.protobuf.Timestamp updated_at = 8 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false];
|
google.protobuf.Timestamp updated_at = 9 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false];
|
||||||
}
|
}
|
||||||
|
|
||||||
message GetContainerRequest {
|
message GetContainerRequest {
|
||||||
|
@ -79,7 +79,7 @@ type DiffRequest struct {
|
|||||||
MediaType string `protobuf:"bytes,3,opt,name=media_type,json=mediaType,proto3" json:"media_type,omitempty"`
|
MediaType string `protobuf:"bytes,3,opt,name=media_type,json=mediaType,proto3" json:"media_type,omitempty"`
|
||||||
// Ref identifies the pre-commit content store object. This
|
// Ref identifies the pre-commit content store object. This
|
||||||
// reference can be used to get the status from the content store.
|
// reference can be used to get the status from the content store.
|
||||||
Ref string `protobuf:"bytes,5,opt,name=ref,proto3" json:"ref,omitempty"`
|
Ref string `protobuf:"bytes,4,opt,name=ref,proto3" json:"ref,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *DiffRequest) Reset() { *m = DiffRequest{} }
|
func (m *DiffRequest) Reset() { *m = DiffRequest{} }
|
||||||
@ -331,7 +331,7 @@ func (m *DiffRequest) MarshalTo(dAtA []byte) (int, error) {
|
|||||||
i += copy(dAtA[i:], m.MediaType)
|
i += copy(dAtA[i:], m.MediaType)
|
||||||
}
|
}
|
||||||
if len(m.Ref) > 0 {
|
if len(m.Ref) > 0 {
|
||||||
dAtA[i] = 0x2a
|
dAtA[i] = 0x22
|
||||||
i++
|
i++
|
||||||
i = encodeVarintDiff(dAtA, i, uint64(len(m.Ref)))
|
i = encodeVarintDiff(dAtA, i, uint64(len(m.Ref)))
|
||||||
i += copy(dAtA[i:], m.Ref)
|
i += copy(dAtA[i:], m.Ref)
|
||||||
@ -838,7 +838,7 @@ func (m *DiffRequest) Unmarshal(dAtA []byte) error {
|
|||||||
}
|
}
|
||||||
m.MediaType = string(dAtA[iNdEx:postIndex])
|
m.MediaType = string(dAtA[iNdEx:postIndex])
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
case 5:
|
case 4:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field Ref", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field Ref", wireType)
|
||||||
}
|
}
|
||||||
@ -1083,30 +1083,30 @@ func init() {
|
|||||||
var fileDescriptorDiff = []byte{
|
var fileDescriptorDiff = []byte{
|
||||||
// 427 bytes of a gzipped FileDescriptorProto
|
// 427 bytes of a gzipped FileDescriptorProto
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x93, 0x31, 0x6f, 0xd4, 0x30,
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x93, 0x31, 0x6f, 0xd4, 0x30,
|
||||||
0x14, 0xc7, 0x6b, 0xee, 0xae, 0xa8, 0xbe, 0x22, 0x21, 0x0b, 0x89, 0xe8, 0x0a, 0xe1, 0x94, 0x29,
|
0x14, 0xc7, 0x6b, 0xee, 0x5a, 0x54, 0x5f, 0x91, 0x90, 0x85, 0x44, 0x94, 0x42, 0x38, 0x65, 0x4a,
|
||||||
0x05, 0x61, 0xd3, 0x43, 0xea, 0x40, 0x97, 0x82, 0x2a, 0x31, 0xb1, 0x44, 0x9d, 0x40, 0x02, 0xe5,
|
0x41, 0xd8, 0xf4, 0x90, 0x3a, 0xd0, 0xa5, 0xa0, 0x4a, 0x4c, 0x2c, 0x51, 0x27, 0x90, 0x40, 0xb9,
|
||||||
0x92, 0x97, 0xd4, 0x52, 0x12, 0xbb, 0xb1, 0x73, 0x52, 0x36, 0x3e, 0x07, 0x5f, 0x87, 0xa5, 0x23,
|
0xe4, 0x25, 0xb5, 0x94, 0xc4, 0x6e, 0xec, 0x9c, 0x94, 0x8d, 0xcf, 0xc1, 0xd7, 0x61, 0xe9, 0xc8,
|
||||||
0x23, 0x23, 0x97, 0x4f, 0x82, 0xe2, 0x38, 0x10, 0x81, 0x74, 0x84, 0x4e, 0x7e, 0xf1, 0xfb, 0xfd,
|
0xc8, 0x48, 0xf3, 0x49, 0x50, 0x1c, 0x07, 0x22, 0x90, 0x8e, 0xd0, 0xc9, 0x2f, 0x7e, 0xbf, 0xff,
|
||||||
0xdf, 0xfb, 0xfb, 0xc5, 0xc6, 0xe7, 0x29, 0xd7, 0x57, 0xd5, 0x9a, 0x46, 0x22, 0x67, 0x91, 0x28,
|
0x7b, 0x7f, 0xbf, 0xd8, 0xf8, 0x2c, 0xe3, 0xfa, 0xb2, 0x5e, 0xd3, 0x58, 0x14, 0x2c, 0x16, 0xa5,
|
||||||
0x74, 0xc8, 0x0b, 0x28, 0xe3, 0x61, 0x18, 0x4a, 0xce, 0x14, 0x94, 0x1b, 0x1e, 0x81, 0x62, 0x31,
|
0x8e, 0x78, 0x09, 0x55, 0x32, 0x0e, 0x23, 0xc9, 0x99, 0x82, 0x6a, 0xc3, 0x63, 0x50, 0x2c, 0xe1,
|
||||||
0x4f, 0x12, 0xb6, 0x39, 0x31, 0x2b, 0x95, 0xa5, 0xd0, 0x82, 0x1c, 0xfd, 0x66, 0x69, 0xcf, 0x51,
|
0x69, 0xca, 0x36, 0xc7, 0x66, 0xa5, 0xb2, 0x12, 0x5a, 0x90, 0xc3, 0xdf, 0x2c, 0x1d, 0x38, 0x6a,
|
||||||
0x93, 0xdf, 0x9c, 0x2c, 0x1e, 0xa4, 0x22, 0x15, 0x86, 0x63, 0x6d, 0xd4, 0x49, 0x16, 0x47, 0xa9,
|
0xf2, 0x9b, 0x63, 0xf7, 0x41, 0x26, 0x32, 0x61, 0x38, 0xd6, 0x45, 0xbd, 0xc4, 0x3d, 0xcc, 0x84,
|
||||||
0x10, 0x69, 0x06, 0xcc, 0x7c, 0xad, 0xab, 0x84, 0x41, 0x2e, 0x75, 0x6d, 0x93, 0x4f, 0xfe, 0x4c,
|
0xc8, 0x72, 0x60, 0xe6, 0x6b, 0x5d, 0xa7, 0x0c, 0x0a, 0xa9, 0x1b, 0x9b, 0x7c, 0xf2, 0x67, 0x52,
|
||||||
0x6a, 0x9e, 0x83, 0xd2, 0x61, 0x2e, 0x2d, 0x70, 0x3a, 0xca, 0xb2, 0xae, 0x25, 0x28, 0x96, 0x8b,
|
0xf3, 0x02, 0x94, 0x8e, 0x0a, 0x69, 0x81, 0x93, 0x49, 0x96, 0x75, 0x23, 0x41, 0xb1, 0x42, 0xd4,
|
||||||
0xaa, 0xd0, 0x56, 0x77, 0xf6, 0x1f, 0xba, 0x18, 0x54, 0x54, 0x72, 0xa9, 0x45, 0xd9, 0x89, 0xbd,
|
0xa5, 0xb6, 0xba, 0xd3, 0xff, 0xd0, 0x25, 0xa0, 0xe2, 0x8a, 0x4b, 0x2d, 0xaa, 0x5e, 0xec, 0x5f,
|
||||||
0x6b, 0x7c, 0xf8, 0x5a, 0xca, 0xac, 0x0e, 0xe0, 0xba, 0x02, 0xa5, 0xc9, 0x0b, 0x3c, 0x6d, 0xcf,
|
0xe1, 0x83, 0xd7, 0x52, 0xe6, 0x4d, 0x08, 0x57, 0x35, 0x28, 0x4d, 0x5e, 0xe0, 0x79, 0x77, 0x46,
|
||||||
0xe8, 0xa0, 0x25, 0xf2, 0xe7, 0xab, 0x47, 0x74, 0x30, 0x04, 0x53, 0x81, 0x5e, 0xfc, 0xaa, 0x10,
|
0x07, 0x2d, 0x51, 0xb0, 0x58, 0x3d, 0xa2, 0xa3, 0x21, 0x98, 0x0a, 0xf4, 0xfc, 0x57, 0x85, 0xd0,
|
||||||
0x18, 0x92, 0x30, 0xbc, 0x6f, 0xdc, 0x28, 0xe7, 0xce, 0x72, 0xe2, 0xcf, 0x57, 0x0f, 0xff, 0xd6,
|
0x90, 0x84, 0xe1, 0x3d, 0xe3, 0x46, 0x39, 0x77, 0x96, 0xb3, 0x60, 0xb1, 0x7a, 0xf8, 0xb7, 0xe6,
|
||||||
0xbc, 0x6b, 0xf3, 0x81, 0xc5, 0xbc, 0xb7, 0xf8, 0x9e, 0x6d, 0xa9, 0xa4, 0x28, 0x14, 0x90, 0x53,
|
0x5d, 0x97, 0x0f, 0x2d, 0xe6, 0xbf, 0xc5, 0xf7, 0x6c, 0x4b, 0x25, 0x45, 0xa9, 0x80, 0x9c, 0xe0,
|
||||||
0x7c, 0x37, 0x94, 0x32, 0xe3, 0x10, 0x8f, 0x6a, 0xdb, 0xc3, 0xde, 0x17, 0x84, 0xe7, 0x17, 0x3c,
|
0xbb, 0x91, 0x94, 0x39, 0x87, 0x64, 0x52, 0xdb, 0x01, 0xf6, 0xbf, 0x20, 0xbc, 0x38, 0xe7, 0x69,
|
||||||
0x49, 0x7a, 0xef, 0xcf, 0xf0, 0x34, 0x83, 0x44, 0x3b, 0x68, 0xb7, 0x0f, 0x03, 0x91, 0xe7, 0x78,
|
0x3a, 0x78, 0x7f, 0x86, 0xe7, 0x39, 0xa4, 0xda, 0x41, 0xdb, 0x7d, 0x18, 0x88, 0x3c, 0xc7, 0xbb,
|
||||||
0x56, 0xf2, 0xf4, 0x4a, 0xff, 0xcb, 0x75, 0x47, 0x91, 0xc7, 0x18, 0xe7, 0x10, 0xf3, 0xf0, 0x53,
|
0x15, 0xcf, 0x2e, 0xf5, 0xbf, 0x5c, 0xf7, 0x14, 0x79, 0x8c, 0x71, 0x01, 0x09, 0x8f, 0x3e, 0x75,
|
||||||
0x9b, 0x73, 0x26, 0x4b, 0xe4, 0x1f, 0x04, 0x07, 0x66, 0xe7, 0xb2, 0x96, 0x40, 0xee, 0xe3, 0x49,
|
0x39, 0x67, 0xb6, 0x44, 0xc1, 0x7e, 0xb8, 0x6f, 0x76, 0x2e, 0x1a, 0x09, 0xe4, 0x3e, 0x9e, 0x55,
|
||||||
0x09, 0x89, 0x33, 0x33, 0xfb, 0x6d, 0xe8, 0x9d, 0xe3, 0xc3, 0xce, 0x9b, 0x3d, 0x64, 0x3f, 0xd8,
|
0x90, 0x3a, 0x73, 0xb3, 0xdf, 0x85, 0xfe, 0x19, 0x3e, 0xe8, 0xbd, 0xd9, 0x43, 0x0e, 0x83, 0x9d,
|
||||||
0xc9, 0xd8, 0xc1, 0xae, 0xbe, 0x22, 0x3c, 0x6d, 0x4b, 0x90, 0x8f, 0x78, 0x66, 0x06, 0x46, 0x8e,
|
0x4d, 0x1d, 0xec, 0xea, 0x2b, 0xc2, 0xf3, 0xae, 0x04, 0xf9, 0x88, 0x77, 0xcd, 0xc0, 0xc8, 0x11,
|
||||||
0xe9, 0x8e, 0x3b, 0x49, 0x87, 0xff, 0x71, 0xf1, 0x74, 0x0c, 0x6a, 0xad, 0x7d, 0xb0, 0x7d, 0xfc,
|
0xdd, 0x72, 0x27, 0xe9, 0xf8, 0x3f, 0xba, 0x4f, 0xa7, 0xa0, 0xd6, 0xda, 0x07, 0xdb, 0x27, 0xd8,
|
||||||
0x9d, 0x9a, 0xc1, 0xa4, 0x17, 0xc7, 0x23, 0xc8, 0xae, 0xf8, 0x9b, 0xcb, 0x9b, 0xad, 0xbb, 0xf7,
|
0xaa, 0x19, 0x4d, 0xda, 0x3d, 0x9a, 0x40, 0xf6, 0xc5, 0xdf, 0x5c, 0x5c, 0xdf, 0x78, 0x3b, 0xdf,
|
||||||
0x7d, 0xeb, 0xee, 0x7d, 0x6e, 0x5c, 0x74, 0xd3, 0xb8, 0xe8, 0x5b, 0xe3, 0xa2, 0x1f, 0x8d, 0x8b,
|
0x6f, 0xbc, 0x9d, 0xcf, 0xad, 0x87, 0xae, 0x5b, 0x0f, 0x7d, 0x6b, 0x3d, 0xf4, 0xa3, 0xf5, 0xd0,
|
||||||
0xde, 0xbf, 0xba, 0xd5, 0x13, 0x3d, 0x6b, 0xd7, 0xf5, 0xbe, 0xb9, 0xbd, 0x2f, 0x7f, 0x06, 0x00,
|
0xfb, 0x57, 0xb7, 0x7a, 0xa2, 0xa7, 0xdd, 0xba, 0xde, 0x33, 0xb7, 0xf7, 0xe5, 0xcf, 0x00, 0x00,
|
||||||
0x00, 0xff, 0xff, 0x66, 0x5a, 0xdb, 0x23, 0xe7, 0x03, 0x00, 0x00,
|
0x00, 0xff, 0xff, 0x44, 0x8b, 0x75, 0x5d, 0xe7, 0x03, 0x00, 0x00,
|
||||||
}
|
}
|
||||||
|
@ -51,7 +51,7 @@ message DiffRequest {
|
|||||||
|
|
||||||
// Ref identifies the pre-commit content store object. This
|
// Ref identifies the pre-commit content store object. This
|
||||||
// reference can be used to get the status from the content store.
|
// reference can be used to get the status from the content store.
|
||||||
string ref = 5;
|
string ref = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
message DiffResponse {
|
message DiffResponse {
|
||||||
|
@ -77,8 +77,9 @@ func (x Kind) String() string {
|
|||||||
func (Kind) EnumDescriptor() ([]byte, []int) { return fileDescriptorSnapshots, []int{0} }
|
func (Kind) EnumDescriptor() ([]byte, []int) { return fileDescriptorSnapshots, []int{0} }
|
||||||
|
|
||||||
type PrepareSnapshotRequest struct {
|
type PrepareSnapshotRequest struct {
|
||||||
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
|
Snapshotter string `protobuf:"bytes,1,opt,name=snapshotter,proto3" json:"snapshotter,omitempty"`
|
||||||
Parent string `protobuf:"bytes,2,opt,name=parent,proto3" json:"parent,omitempty"`
|
Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
|
||||||
|
Parent string `protobuf:"bytes,3,opt,name=parent,proto3" json:"parent,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *PrepareSnapshotRequest) Reset() { *m = PrepareSnapshotRequest{} }
|
func (m *PrepareSnapshotRequest) Reset() { *m = PrepareSnapshotRequest{} }
|
||||||
@ -94,8 +95,9 @@ func (*PrepareSnapshotResponse) ProtoMessage() {}
|
|||||||
func (*PrepareSnapshotResponse) Descriptor() ([]byte, []int) { return fileDescriptorSnapshots, []int{1} }
|
func (*PrepareSnapshotResponse) Descriptor() ([]byte, []int) { return fileDescriptorSnapshots, []int{1} }
|
||||||
|
|
||||||
type ViewSnapshotRequest struct {
|
type ViewSnapshotRequest struct {
|
||||||
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
|
Snapshotter string `protobuf:"bytes,1,opt,name=snapshotter,proto3" json:"snapshotter,omitempty"`
|
||||||
Parent string `protobuf:"bytes,2,opt,name=parent,proto3" json:"parent,omitempty"`
|
Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
|
||||||
|
Parent string `protobuf:"bytes,3,opt,name=parent,proto3" json:"parent,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *ViewSnapshotRequest) Reset() { *m = ViewSnapshotRequest{} }
|
func (m *ViewSnapshotRequest) Reset() { *m = ViewSnapshotRequest{} }
|
||||||
@ -111,7 +113,8 @@ func (*ViewSnapshotResponse) ProtoMessage() {}
|
|||||||
func (*ViewSnapshotResponse) Descriptor() ([]byte, []int) { return fileDescriptorSnapshots, []int{3} }
|
func (*ViewSnapshotResponse) Descriptor() ([]byte, []int) { return fileDescriptorSnapshots, []int{3} }
|
||||||
|
|
||||||
type MountsRequest struct {
|
type MountsRequest struct {
|
||||||
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
|
Snapshotter string `protobuf:"bytes,1,opt,name=snapshotter,proto3" json:"snapshotter,omitempty"`
|
||||||
|
Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *MountsRequest) Reset() { *m = MountsRequest{} }
|
func (m *MountsRequest) Reset() { *m = MountsRequest{} }
|
||||||
@ -127,7 +130,8 @@ func (*MountsResponse) ProtoMessage() {}
|
|||||||
func (*MountsResponse) Descriptor() ([]byte, []int) { return fileDescriptorSnapshots, []int{5} }
|
func (*MountsResponse) Descriptor() ([]byte, []int) { return fileDescriptorSnapshots, []int{5} }
|
||||||
|
|
||||||
type RemoveSnapshotRequest struct {
|
type RemoveSnapshotRequest struct {
|
||||||
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
|
Snapshotter string `protobuf:"bytes,1,opt,name=snapshotter,proto3" json:"snapshotter,omitempty"`
|
||||||
|
Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *RemoveSnapshotRequest) Reset() { *m = RemoveSnapshotRequest{} }
|
func (m *RemoveSnapshotRequest) Reset() { *m = RemoveSnapshotRequest{} }
|
||||||
@ -135,8 +139,9 @@ func (*RemoveSnapshotRequest) ProtoMessage() {}
|
|||||||
func (*RemoveSnapshotRequest) Descriptor() ([]byte, []int) { return fileDescriptorSnapshots, []int{6} }
|
func (*RemoveSnapshotRequest) Descriptor() ([]byte, []int) { return fileDescriptorSnapshots, []int{6} }
|
||||||
|
|
||||||
type CommitSnapshotRequest struct {
|
type CommitSnapshotRequest struct {
|
||||||
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
Snapshotter string `protobuf:"bytes,1,opt,name=snapshotter,proto3" json:"snapshotter,omitempty"`
|
||||||
Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
|
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
||||||
|
Key string `protobuf:"bytes,3,opt,name=key,proto3" json:"key,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *CommitSnapshotRequest) Reset() { *m = CommitSnapshotRequest{} }
|
func (m *CommitSnapshotRequest) Reset() { *m = CommitSnapshotRequest{} }
|
||||||
@ -144,7 +149,8 @@ func (*CommitSnapshotRequest) ProtoMessage() {}
|
|||||||
func (*CommitSnapshotRequest) Descriptor() ([]byte, []int) { return fileDescriptorSnapshots, []int{7} }
|
func (*CommitSnapshotRequest) Descriptor() ([]byte, []int) { return fileDescriptorSnapshots, []int{7} }
|
||||||
|
|
||||||
type StatSnapshotRequest struct {
|
type StatSnapshotRequest struct {
|
||||||
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
|
Snapshotter string `protobuf:"bytes,1,opt,name=snapshotter,proto3" json:"snapshotter,omitempty"`
|
||||||
|
Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *StatSnapshotRequest) Reset() { *m = StatSnapshotRequest{} }
|
func (m *StatSnapshotRequest) Reset() { *m = StatSnapshotRequest{} }
|
||||||
@ -171,6 +177,7 @@ func (*StatSnapshotResponse) ProtoMessage() {}
|
|||||||
func (*StatSnapshotResponse) Descriptor() ([]byte, []int) { return fileDescriptorSnapshots, []int{10} }
|
func (*StatSnapshotResponse) Descriptor() ([]byte, []int) { return fileDescriptorSnapshots, []int{10} }
|
||||||
|
|
||||||
type ListSnapshotsRequest struct {
|
type ListSnapshotsRequest struct {
|
||||||
|
Snapshotter string `protobuf:"bytes,1,opt,name=snapshotter,proto3" json:"snapshotter,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *ListSnapshotsRequest) Reset() { *m = ListSnapshotsRequest{} }
|
func (m *ListSnapshotsRequest) Reset() { *m = ListSnapshotsRequest{} }
|
||||||
@ -186,7 +193,8 @@ func (*ListSnapshotsResponse) ProtoMessage() {}
|
|||||||
func (*ListSnapshotsResponse) Descriptor() ([]byte, []int) { return fileDescriptorSnapshots, []int{12} }
|
func (*ListSnapshotsResponse) Descriptor() ([]byte, []int) { return fileDescriptorSnapshots, []int{12} }
|
||||||
|
|
||||||
type UsageRequest struct {
|
type UsageRequest struct {
|
||||||
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
|
Snapshotter string `protobuf:"bytes,1,opt,name=snapshotter,proto3" json:"snapshotter,omitempty"`
|
||||||
|
Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *UsageRequest) Reset() { *m = UsageRequest{} }
|
func (m *UsageRequest) Reset() { *m = UsageRequest{} }
|
||||||
@ -567,14 +575,20 @@ func (m *PrepareSnapshotRequest) MarshalTo(dAtA []byte) (int, error) {
|
|||||||
_ = i
|
_ = i
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
if len(m.Key) > 0 {
|
if len(m.Snapshotter) > 0 {
|
||||||
dAtA[i] = 0xa
|
dAtA[i] = 0xa
|
||||||
i++
|
i++
|
||||||
|
i = encodeVarintSnapshots(dAtA, i, uint64(len(m.Snapshotter)))
|
||||||
|
i += copy(dAtA[i:], m.Snapshotter)
|
||||||
|
}
|
||||||
|
if len(m.Key) > 0 {
|
||||||
|
dAtA[i] = 0x12
|
||||||
|
i++
|
||||||
i = encodeVarintSnapshots(dAtA, i, uint64(len(m.Key)))
|
i = encodeVarintSnapshots(dAtA, i, uint64(len(m.Key)))
|
||||||
i += copy(dAtA[i:], m.Key)
|
i += copy(dAtA[i:], m.Key)
|
||||||
}
|
}
|
||||||
if len(m.Parent) > 0 {
|
if len(m.Parent) > 0 {
|
||||||
dAtA[i] = 0x12
|
dAtA[i] = 0x1a
|
||||||
i++
|
i++
|
||||||
i = encodeVarintSnapshots(dAtA, i, uint64(len(m.Parent)))
|
i = encodeVarintSnapshots(dAtA, i, uint64(len(m.Parent)))
|
||||||
i += copy(dAtA[i:], m.Parent)
|
i += copy(dAtA[i:], m.Parent)
|
||||||
@ -627,14 +641,20 @@ func (m *ViewSnapshotRequest) MarshalTo(dAtA []byte) (int, error) {
|
|||||||
_ = i
|
_ = i
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
if len(m.Key) > 0 {
|
if len(m.Snapshotter) > 0 {
|
||||||
dAtA[i] = 0xa
|
dAtA[i] = 0xa
|
||||||
i++
|
i++
|
||||||
|
i = encodeVarintSnapshots(dAtA, i, uint64(len(m.Snapshotter)))
|
||||||
|
i += copy(dAtA[i:], m.Snapshotter)
|
||||||
|
}
|
||||||
|
if len(m.Key) > 0 {
|
||||||
|
dAtA[i] = 0x12
|
||||||
|
i++
|
||||||
i = encodeVarintSnapshots(dAtA, i, uint64(len(m.Key)))
|
i = encodeVarintSnapshots(dAtA, i, uint64(len(m.Key)))
|
||||||
i += copy(dAtA[i:], m.Key)
|
i += copy(dAtA[i:], m.Key)
|
||||||
}
|
}
|
||||||
if len(m.Parent) > 0 {
|
if len(m.Parent) > 0 {
|
||||||
dAtA[i] = 0x12
|
dAtA[i] = 0x1a
|
||||||
i++
|
i++
|
||||||
i = encodeVarintSnapshots(dAtA, i, uint64(len(m.Parent)))
|
i = encodeVarintSnapshots(dAtA, i, uint64(len(m.Parent)))
|
||||||
i += copy(dAtA[i:], m.Parent)
|
i += copy(dAtA[i:], m.Parent)
|
||||||
@ -687,9 +707,15 @@ func (m *MountsRequest) MarshalTo(dAtA []byte) (int, error) {
|
|||||||
_ = i
|
_ = i
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
if len(m.Key) > 0 {
|
if len(m.Snapshotter) > 0 {
|
||||||
dAtA[i] = 0xa
|
dAtA[i] = 0xa
|
||||||
i++
|
i++
|
||||||
|
i = encodeVarintSnapshots(dAtA, i, uint64(len(m.Snapshotter)))
|
||||||
|
i += copy(dAtA[i:], m.Snapshotter)
|
||||||
|
}
|
||||||
|
if len(m.Key) > 0 {
|
||||||
|
dAtA[i] = 0x12
|
||||||
|
i++
|
||||||
i = encodeVarintSnapshots(dAtA, i, uint64(len(m.Key)))
|
i = encodeVarintSnapshots(dAtA, i, uint64(len(m.Key)))
|
||||||
i += copy(dAtA[i:], m.Key)
|
i += copy(dAtA[i:], m.Key)
|
||||||
}
|
}
|
||||||
@ -741,9 +767,15 @@ func (m *RemoveSnapshotRequest) MarshalTo(dAtA []byte) (int, error) {
|
|||||||
_ = i
|
_ = i
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
if len(m.Key) > 0 {
|
if len(m.Snapshotter) > 0 {
|
||||||
dAtA[i] = 0xa
|
dAtA[i] = 0xa
|
||||||
i++
|
i++
|
||||||
|
i = encodeVarintSnapshots(dAtA, i, uint64(len(m.Snapshotter)))
|
||||||
|
i += copy(dAtA[i:], m.Snapshotter)
|
||||||
|
}
|
||||||
|
if len(m.Key) > 0 {
|
||||||
|
dAtA[i] = 0x12
|
||||||
|
i++
|
||||||
i = encodeVarintSnapshots(dAtA, i, uint64(len(m.Key)))
|
i = encodeVarintSnapshots(dAtA, i, uint64(len(m.Key)))
|
||||||
i += copy(dAtA[i:], m.Key)
|
i += copy(dAtA[i:], m.Key)
|
||||||
}
|
}
|
||||||
@ -765,14 +797,20 @@ func (m *CommitSnapshotRequest) MarshalTo(dAtA []byte) (int, error) {
|
|||||||
_ = i
|
_ = i
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
if len(m.Name) > 0 {
|
if len(m.Snapshotter) > 0 {
|
||||||
dAtA[i] = 0xa
|
dAtA[i] = 0xa
|
||||||
i++
|
i++
|
||||||
|
i = encodeVarintSnapshots(dAtA, i, uint64(len(m.Snapshotter)))
|
||||||
|
i += copy(dAtA[i:], m.Snapshotter)
|
||||||
|
}
|
||||||
|
if len(m.Name) > 0 {
|
||||||
|
dAtA[i] = 0x12
|
||||||
|
i++
|
||||||
i = encodeVarintSnapshots(dAtA, i, uint64(len(m.Name)))
|
i = encodeVarintSnapshots(dAtA, i, uint64(len(m.Name)))
|
||||||
i += copy(dAtA[i:], m.Name)
|
i += copy(dAtA[i:], m.Name)
|
||||||
}
|
}
|
||||||
if len(m.Key) > 0 {
|
if len(m.Key) > 0 {
|
||||||
dAtA[i] = 0x12
|
dAtA[i] = 0x1a
|
||||||
i++
|
i++
|
||||||
i = encodeVarintSnapshots(dAtA, i, uint64(len(m.Key)))
|
i = encodeVarintSnapshots(dAtA, i, uint64(len(m.Key)))
|
||||||
i += copy(dAtA[i:], m.Key)
|
i += copy(dAtA[i:], m.Key)
|
||||||
@ -795,9 +833,15 @@ func (m *StatSnapshotRequest) MarshalTo(dAtA []byte) (int, error) {
|
|||||||
_ = i
|
_ = i
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
if len(m.Key) > 0 {
|
if len(m.Snapshotter) > 0 {
|
||||||
dAtA[i] = 0xa
|
dAtA[i] = 0xa
|
||||||
i++
|
i++
|
||||||
|
i = encodeVarintSnapshots(dAtA, i, uint64(len(m.Snapshotter)))
|
||||||
|
i += copy(dAtA[i:], m.Snapshotter)
|
||||||
|
}
|
||||||
|
if len(m.Key) > 0 {
|
||||||
|
dAtA[i] = 0x12
|
||||||
|
i++
|
||||||
i = encodeVarintSnapshots(dAtA, i, uint64(len(m.Key)))
|
i = encodeVarintSnapshots(dAtA, i, uint64(len(m.Key)))
|
||||||
i += copy(dAtA[i:], m.Key)
|
i += copy(dAtA[i:], m.Key)
|
||||||
}
|
}
|
||||||
@ -890,6 +934,12 @@ func (m *ListSnapshotsRequest) MarshalTo(dAtA []byte) (int, error) {
|
|||||||
_ = i
|
_ = i
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
|
if len(m.Snapshotter) > 0 {
|
||||||
|
dAtA[i] = 0xa
|
||||||
|
i++
|
||||||
|
i = encodeVarintSnapshots(dAtA, i, uint64(len(m.Snapshotter)))
|
||||||
|
i += copy(dAtA[i:], m.Snapshotter)
|
||||||
|
}
|
||||||
return i, nil
|
return i, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -938,9 +988,15 @@ func (m *UsageRequest) MarshalTo(dAtA []byte) (int, error) {
|
|||||||
_ = i
|
_ = i
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
if len(m.Key) > 0 {
|
if len(m.Snapshotter) > 0 {
|
||||||
dAtA[i] = 0xa
|
dAtA[i] = 0xa
|
||||||
i++
|
i++
|
||||||
|
i = encodeVarintSnapshots(dAtA, i, uint64(len(m.Snapshotter)))
|
||||||
|
i += copy(dAtA[i:], m.Snapshotter)
|
||||||
|
}
|
||||||
|
if len(m.Key) > 0 {
|
||||||
|
dAtA[i] = 0x12
|
||||||
|
i++
|
||||||
i = encodeVarintSnapshots(dAtA, i, uint64(len(m.Key)))
|
i = encodeVarintSnapshots(dAtA, i, uint64(len(m.Key)))
|
||||||
i += copy(dAtA[i:], m.Key)
|
i += copy(dAtA[i:], m.Key)
|
||||||
}
|
}
|
||||||
@ -1005,6 +1061,10 @@ func encodeVarintSnapshots(dAtA []byte, offset int, v uint64) int {
|
|||||||
func (m *PrepareSnapshotRequest) Size() (n int) {
|
func (m *PrepareSnapshotRequest) Size() (n int) {
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
|
l = len(m.Snapshotter)
|
||||||
|
if l > 0 {
|
||||||
|
n += 1 + l + sovSnapshots(uint64(l))
|
||||||
|
}
|
||||||
l = len(m.Key)
|
l = len(m.Key)
|
||||||
if l > 0 {
|
if l > 0 {
|
||||||
n += 1 + l + sovSnapshots(uint64(l))
|
n += 1 + l + sovSnapshots(uint64(l))
|
||||||
@ -1031,6 +1091,10 @@ func (m *PrepareSnapshotResponse) Size() (n int) {
|
|||||||
func (m *ViewSnapshotRequest) Size() (n int) {
|
func (m *ViewSnapshotRequest) Size() (n int) {
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
|
l = len(m.Snapshotter)
|
||||||
|
if l > 0 {
|
||||||
|
n += 1 + l + sovSnapshots(uint64(l))
|
||||||
|
}
|
||||||
l = len(m.Key)
|
l = len(m.Key)
|
||||||
if l > 0 {
|
if l > 0 {
|
||||||
n += 1 + l + sovSnapshots(uint64(l))
|
n += 1 + l + sovSnapshots(uint64(l))
|
||||||
@ -1057,6 +1121,10 @@ func (m *ViewSnapshotResponse) Size() (n int) {
|
|||||||
func (m *MountsRequest) Size() (n int) {
|
func (m *MountsRequest) Size() (n int) {
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
|
l = len(m.Snapshotter)
|
||||||
|
if l > 0 {
|
||||||
|
n += 1 + l + sovSnapshots(uint64(l))
|
||||||
|
}
|
||||||
l = len(m.Key)
|
l = len(m.Key)
|
||||||
if l > 0 {
|
if l > 0 {
|
||||||
n += 1 + l + sovSnapshots(uint64(l))
|
n += 1 + l + sovSnapshots(uint64(l))
|
||||||
@ -1079,6 +1147,10 @@ func (m *MountsResponse) Size() (n int) {
|
|||||||
func (m *RemoveSnapshotRequest) Size() (n int) {
|
func (m *RemoveSnapshotRequest) Size() (n int) {
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
|
l = len(m.Snapshotter)
|
||||||
|
if l > 0 {
|
||||||
|
n += 1 + l + sovSnapshots(uint64(l))
|
||||||
|
}
|
||||||
l = len(m.Key)
|
l = len(m.Key)
|
||||||
if l > 0 {
|
if l > 0 {
|
||||||
n += 1 + l + sovSnapshots(uint64(l))
|
n += 1 + l + sovSnapshots(uint64(l))
|
||||||
@ -1089,6 +1161,10 @@ func (m *RemoveSnapshotRequest) Size() (n int) {
|
|||||||
func (m *CommitSnapshotRequest) Size() (n int) {
|
func (m *CommitSnapshotRequest) Size() (n int) {
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
|
l = len(m.Snapshotter)
|
||||||
|
if l > 0 {
|
||||||
|
n += 1 + l + sovSnapshots(uint64(l))
|
||||||
|
}
|
||||||
l = len(m.Name)
|
l = len(m.Name)
|
||||||
if l > 0 {
|
if l > 0 {
|
||||||
n += 1 + l + sovSnapshots(uint64(l))
|
n += 1 + l + sovSnapshots(uint64(l))
|
||||||
@ -1103,6 +1179,10 @@ func (m *CommitSnapshotRequest) Size() (n int) {
|
|||||||
func (m *StatSnapshotRequest) Size() (n int) {
|
func (m *StatSnapshotRequest) Size() (n int) {
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
|
l = len(m.Snapshotter)
|
||||||
|
if l > 0 {
|
||||||
|
n += 1 + l + sovSnapshots(uint64(l))
|
||||||
|
}
|
||||||
l = len(m.Key)
|
l = len(m.Key)
|
||||||
if l > 0 {
|
if l > 0 {
|
||||||
n += 1 + l + sovSnapshots(uint64(l))
|
n += 1 + l + sovSnapshots(uint64(l))
|
||||||
@ -1141,6 +1221,10 @@ func (m *StatSnapshotResponse) Size() (n int) {
|
|||||||
func (m *ListSnapshotsRequest) Size() (n int) {
|
func (m *ListSnapshotsRequest) Size() (n int) {
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
|
l = len(m.Snapshotter)
|
||||||
|
if l > 0 {
|
||||||
|
n += 1 + l + sovSnapshots(uint64(l))
|
||||||
|
}
|
||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1159,6 +1243,10 @@ func (m *ListSnapshotsResponse) Size() (n int) {
|
|||||||
func (m *UsageRequest) Size() (n int) {
|
func (m *UsageRequest) Size() (n int) {
|
||||||
var l int
|
var l int
|
||||||
_ = l
|
_ = l
|
||||||
|
l = len(m.Snapshotter)
|
||||||
|
if l > 0 {
|
||||||
|
n += 1 + l + sovSnapshots(uint64(l))
|
||||||
|
}
|
||||||
l = len(m.Key)
|
l = len(m.Key)
|
||||||
if l > 0 {
|
if l > 0 {
|
||||||
n += 1 + l + sovSnapshots(uint64(l))
|
n += 1 + l + sovSnapshots(uint64(l))
|
||||||
@ -1196,6 +1284,7 @@ func (this *PrepareSnapshotRequest) String() string {
|
|||||||
return "nil"
|
return "nil"
|
||||||
}
|
}
|
||||||
s := strings.Join([]string{`&PrepareSnapshotRequest{`,
|
s := strings.Join([]string{`&PrepareSnapshotRequest{`,
|
||||||
|
`Snapshotter:` + fmt.Sprintf("%v", this.Snapshotter) + `,`,
|
||||||
`Key:` + fmt.Sprintf("%v", this.Key) + `,`,
|
`Key:` + fmt.Sprintf("%v", this.Key) + `,`,
|
||||||
`Parent:` + fmt.Sprintf("%v", this.Parent) + `,`,
|
`Parent:` + fmt.Sprintf("%v", this.Parent) + `,`,
|
||||||
`}`,
|
`}`,
|
||||||
@ -1217,6 +1306,7 @@ func (this *ViewSnapshotRequest) String() string {
|
|||||||
return "nil"
|
return "nil"
|
||||||
}
|
}
|
||||||
s := strings.Join([]string{`&ViewSnapshotRequest{`,
|
s := strings.Join([]string{`&ViewSnapshotRequest{`,
|
||||||
|
`Snapshotter:` + fmt.Sprintf("%v", this.Snapshotter) + `,`,
|
||||||
`Key:` + fmt.Sprintf("%v", this.Key) + `,`,
|
`Key:` + fmt.Sprintf("%v", this.Key) + `,`,
|
||||||
`Parent:` + fmt.Sprintf("%v", this.Parent) + `,`,
|
`Parent:` + fmt.Sprintf("%v", this.Parent) + `,`,
|
||||||
`}`,
|
`}`,
|
||||||
@ -1238,6 +1328,7 @@ func (this *MountsRequest) String() string {
|
|||||||
return "nil"
|
return "nil"
|
||||||
}
|
}
|
||||||
s := strings.Join([]string{`&MountsRequest{`,
|
s := strings.Join([]string{`&MountsRequest{`,
|
||||||
|
`Snapshotter:` + fmt.Sprintf("%v", this.Snapshotter) + `,`,
|
||||||
`Key:` + fmt.Sprintf("%v", this.Key) + `,`,
|
`Key:` + fmt.Sprintf("%v", this.Key) + `,`,
|
||||||
`}`,
|
`}`,
|
||||||
}, "")
|
}, "")
|
||||||
@ -1258,6 +1349,7 @@ func (this *RemoveSnapshotRequest) String() string {
|
|||||||
return "nil"
|
return "nil"
|
||||||
}
|
}
|
||||||
s := strings.Join([]string{`&RemoveSnapshotRequest{`,
|
s := strings.Join([]string{`&RemoveSnapshotRequest{`,
|
||||||
|
`Snapshotter:` + fmt.Sprintf("%v", this.Snapshotter) + `,`,
|
||||||
`Key:` + fmt.Sprintf("%v", this.Key) + `,`,
|
`Key:` + fmt.Sprintf("%v", this.Key) + `,`,
|
||||||
`}`,
|
`}`,
|
||||||
}, "")
|
}, "")
|
||||||
@ -1268,6 +1360,7 @@ func (this *CommitSnapshotRequest) String() string {
|
|||||||
return "nil"
|
return "nil"
|
||||||
}
|
}
|
||||||
s := strings.Join([]string{`&CommitSnapshotRequest{`,
|
s := strings.Join([]string{`&CommitSnapshotRequest{`,
|
||||||
|
`Snapshotter:` + fmt.Sprintf("%v", this.Snapshotter) + `,`,
|
||||||
`Name:` + fmt.Sprintf("%v", this.Name) + `,`,
|
`Name:` + fmt.Sprintf("%v", this.Name) + `,`,
|
||||||
`Key:` + fmt.Sprintf("%v", this.Key) + `,`,
|
`Key:` + fmt.Sprintf("%v", this.Key) + `,`,
|
||||||
`}`,
|
`}`,
|
||||||
@ -1279,6 +1372,7 @@ func (this *StatSnapshotRequest) String() string {
|
|||||||
return "nil"
|
return "nil"
|
||||||
}
|
}
|
||||||
s := strings.Join([]string{`&StatSnapshotRequest{`,
|
s := strings.Join([]string{`&StatSnapshotRequest{`,
|
||||||
|
`Snapshotter:` + fmt.Sprintf("%v", this.Snapshotter) + `,`,
|
||||||
`Key:` + fmt.Sprintf("%v", this.Key) + `,`,
|
`Key:` + fmt.Sprintf("%v", this.Key) + `,`,
|
||||||
`}`,
|
`}`,
|
||||||
}, "")
|
}, "")
|
||||||
@ -1312,6 +1406,7 @@ func (this *ListSnapshotsRequest) String() string {
|
|||||||
return "nil"
|
return "nil"
|
||||||
}
|
}
|
||||||
s := strings.Join([]string{`&ListSnapshotsRequest{`,
|
s := strings.Join([]string{`&ListSnapshotsRequest{`,
|
||||||
|
`Snapshotter:` + fmt.Sprintf("%v", this.Snapshotter) + `,`,
|
||||||
`}`,
|
`}`,
|
||||||
}, "")
|
}, "")
|
||||||
return s
|
return s
|
||||||
@ -1331,6 +1426,7 @@ func (this *UsageRequest) String() string {
|
|||||||
return "nil"
|
return "nil"
|
||||||
}
|
}
|
||||||
s := strings.Join([]string{`&UsageRequest{`,
|
s := strings.Join([]string{`&UsageRequest{`,
|
||||||
|
`Snapshotter:` + fmt.Sprintf("%v", this.Snapshotter) + `,`,
|
||||||
`Key:` + fmt.Sprintf("%v", this.Key) + `,`,
|
`Key:` + fmt.Sprintf("%v", this.Key) + `,`,
|
||||||
`}`,
|
`}`,
|
||||||
}, "")
|
}, "")
|
||||||
@ -1385,6 +1481,35 @@ func (m *PrepareSnapshotRequest) Unmarshal(dAtA []byte) error {
|
|||||||
}
|
}
|
||||||
switch fieldNum {
|
switch fieldNum {
|
||||||
case 1:
|
case 1:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field Snapshotter", wireType)
|
||||||
|
}
|
||||||
|
var stringLen uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowSnapshots
|
||||||
|
}
|
||||||
|
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 ErrInvalidLengthSnapshots
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + intStringLen
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
m.Snapshotter = string(dAtA[iNdEx:postIndex])
|
||||||
|
iNdEx = postIndex
|
||||||
|
case 2:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
|
||||||
}
|
}
|
||||||
@ -1413,7 +1538,7 @@ func (m *PrepareSnapshotRequest) Unmarshal(dAtA []byte) error {
|
|||||||
}
|
}
|
||||||
m.Key = string(dAtA[iNdEx:postIndex])
|
m.Key = string(dAtA[iNdEx:postIndex])
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
case 2:
|
case 3:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field Parent", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field Parent", wireType)
|
||||||
}
|
}
|
||||||
@ -1574,6 +1699,35 @@ func (m *ViewSnapshotRequest) Unmarshal(dAtA []byte) error {
|
|||||||
}
|
}
|
||||||
switch fieldNum {
|
switch fieldNum {
|
||||||
case 1:
|
case 1:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field Snapshotter", wireType)
|
||||||
|
}
|
||||||
|
var stringLen uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowSnapshots
|
||||||
|
}
|
||||||
|
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 ErrInvalidLengthSnapshots
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + intStringLen
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
m.Snapshotter = string(dAtA[iNdEx:postIndex])
|
||||||
|
iNdEx = postIndex
|
||||||
|
case 2:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
|
||||||
}
|
}
|
||||||
@ -1602,7 +1756,7 @@ func (m *ViewSnapshotRequest) Unmarshal(dAtA []byte) error {
|
|||||||
}
|
}
|
||||||
m.Key = string(dAtA[iNdEx:postIndex])
|
m.Key = string(dAtA[iNdEx:postIndex])
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
case 2:
|
case 3:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field Parent", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field Parent", wireType)
|
||||||
}
|
}
|
||||||
@ -1763,6 +1917,35 @@ func (m *MountsRequest) Unmarshal(dAtA []byte) error {
|
|||||||
}
|
}
|
||||||
switch fieldNum {
|
switch fieldNum {
|
||||||
case 1:
|
case 1:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field Snapshotter", wireType)
|
||||||
|
}
|
||||||
|
var stringLen uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowSnapshots
|
||||||
|
}
|
||||||
|
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 ErrInvalidLengthSnapshots
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + intStringLen
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
m.Snapshotter = string(dAtA[iNdEx:postIndex])
|
||||||
|
iNdEx = postIndex
|
||||||
|
case 2:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
|
||||||
}
|
}
|
||||||
@ -1923,6 +2106,35 @@ func (m *RemoveSnapshotRequest) Unmarshal(dAtA []byte) error {
|
|||||||
}
|
}
|
||||||
switch fieldNum {
|
switch fieldNum {
|
||||||
case 1:
|
case 1:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field Snapshotter", wireType)
|
||||||
|
}
|
||||||
|
var stringLen uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowSnapshots
|
||||||
|
}
|
||||||
|
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 ErrInvalidLengthSnapshots
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + intStringLen
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
m.Snapshotter = string(dAtA[iNdEx:postIndex])
|
||||||
|
iNdEx = postIndex
|
||||||
|
case 2:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
|
||||||
}
|
}
|
||||||
@ -2002,6 +2214,35 @@ func (m *CommitSnapshotRequest) Unmarshal(dAtA []byte) error {
|
|||||||
}
|
}
|
||||||
switch fieldNum {
|
switch fieldNum {
|
||||||
case 1:
|
case 1:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field Snapshotter", wireType)
|
||||||
|
}
|
||||||
|
var stringLen uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowSnapshots
|
||||||
|
}
|
||||||
|
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 ErrInvalidLengthSnapshots
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + intStringLen
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
m.Snapshotter = string(dAtA[iNdEx:postIndex])
|
||||||
|
iNdEx = postIndex
|
||||||
|
case 2:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
|
||||||
}
|
}
|
||||||
@ -2030,7 +2271,7 @@ func (m *CommitSnapshotRequest) Unmarshal(dAtA []byte) error {
|
|||||||
}
|
}
|
||||||
m.Name = string(dAtA[iNdEx:postIndex])
|
m.Name = string(dAtA[iNdEx:postIndex])
|
||||||
iNdEx = postIndex
|
iNdEx = postIndex
|
||||||
case 2:
|
case 3:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
|
||||||
}
|
}
|
||||||
@ -2110,6 +2351,35 @@ func (m *StatSnapshotRequest) Unmarshal(dAtA []byte) error {
|
|||||||
}
|
}
|
||||||
switch fieldNum {
|
switch fieldNum {
|
||||||
case 1:
|
case 1:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field Snapshotter", wireType)
|
||||||
|
}
|
||||||
|
var stringLen uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowSnapshots
|
||||||
|
}
|
||||||
|
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 ErrInvalidLengthSnapshots
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + intStringLen
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
m.Snapshotter = string(dAtA[iNdEx:postIndex])
|
||||||
|
iNdEx = postIndex
|
||||||
|
case 2:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
|
||||||
}
|
}
|
||||||
@ -2415,6 +2685,35 @@ func (m *ListSnapshotsRequest) Unmarshal(dAtA []byte) error {
|
|||||||
return fmt.Errorf("proto: ListSnapshotsRequest: illegal tag %d (wire type %d)", fieldNum, wire)
|
return fmt.Errorf("proto: ListSnapshotsRequest: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||||
}
|
}
|
||||||
switch fieldNum {
|
switch fieldNum {
|
||||||
|
case 1:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field Snapshotter", wireType)
|
||||||
|
}
|
||||||
|
var stringLen uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowSnapshots
|
||||||
|
}
|
||||||
|
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 ErrInvalidLengthSnapshots
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + intStringLen
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
m.Snapshotter = string(dAtA[iNdEx:postIndex])
|
||||||
|
iNdEx = postIndex
|
||||||
default:
|
default:
|
||||||
iNdEx = preIndex
|
iNdEx = preIndex
|
||||||
skippy, err := skipSnapshots(dAtA[iNdEx:])
|
skippy, err := skipSnapshots(dAtA[iNdEx:])
|
||||||
@ -2547,6 +2846,35 @@ func (m *UsageRequest) Unmarshal(dAtA []byte) error {
|
|||||||
}
|
}
|
||||||
switch fieldNum {
|
switch fieldNum {
|
||||||
case 1:
|
case 1:
|
||||||
|
if wireType != 2 {
|
||||||
|
return fmt.Errorf("proto: wrong wireType = %d for field Snapshotter", wireType)
|
||||||
|
}
|
||||||
|
var stringLen uint64
|
||||||
|
for shift := uint(0); ; shift += 7 {
|
||||||
|
if shift >= 64 {
|
||||||
|
return ErrIntOverflowSnapshots
|
||||||
|
}
|
||||||
|
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 ErrInvalidLengthSnapshots
|
||||||
|
}
|
||||||
|
postIndex := iNdEx + intStringLen
|
||||||
|
if postIndex > l {
|
||||||
|
return io.ErrUnexpectedEOF
|
||||||
|
}
|
||||||
|
m.Snapshotter = string(dAtA[iNdEx:postIndex])
|
||||||
|
iNdEx = postIndex
|
||||||
|
case 2:
|
||||||
if wireType != 2 {
|
if wireType != 2 {
|
||||||
return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
|
return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType)
|
||||||
}
|
}
|
||||||
@ -2794,50 +3122,52 @@ func init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var fileDescriptorSnapshots = []byte{
|
var fileDescriptorSnapshots = []byte{
|
||||||
// 720 bytes of a gzipped FileDescriptorProto
|
// 738 bytes of a gzipped FileDescriptorProto
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0x4d, 0x6f, 0xd3, 0x4c,
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x5d, 0x4f, 0xd4, 0x4c,
|
||||||
0x10, 0x8e, 0x1b, 0xbf, 0x69, 0x3b, 0xfd, 0x50, 0xdf, 0x6d, 0x9a, 0x46, 0x7e, 0x25, 0xbf, 0xc6,
|
0x18, 0xdd, 0xd2, 0xbe, 0x0b, 0x3c, 0x7c, 0x84, 0x77, 0x58, 0x60, 0xd3, 0x37, 0xe9, 0xdb, 0xf4,
|
||||||
0x07, 0x08, 0x1c, 0xec, 0xb6, 0x88, 0x16, 0xa8, 0x10, 0x34, 0xa5, 0x42, 0xa1, 0x54, 0x20, 0xb7,
|
0xc2, 0x10, 0x2f, 0x5a, 0xc0, 0x08, 0x28, 0x37, 0xb2, 0x2b, 0x31, 0x2b, 0x12, 0x4d, 0x41, 0x22,
|
||||||
0x54, 0x14, 0x71, 0x71, 0x93, 0x6d, 0x6a, 0xb5, 0xf6, 0x9a, 0xec, 0x26, 0x28, 0x1c, 0x10, 0xdc,
|
0xc6, 0xc4, 0x94, 0xed, 0xb0, 0x34, 0xd0, 0x4e, 0xed, 0xcc, 0xae, 0x59, 0x2f, 0x8c, 0xde, 0x19,
|
||||||
0x50, 0xff, 0x43, 0x4f, 0xf0, 0x2b, 0xf8, 0x05, 0x3d, 0x72, 0xe4, 0x84, 0x68, 0x7e, 0x09, 0xda,
|
0xfe, 0x03, 0x57, 0xfa, 0x2b, 0xfc, 0x05, 0x5c, 0x7a, 0xe9, 0x95, 0x91, 0xfd, 0x25, 0xa6, 0xd3,
|
||||||
0xf5, 0x26, 0xfd, 0x72, 0x64, 0x37, 0xb7, 0xd9, 0xdd, 0x79, 0x9e, 0x67, 0x76, 0xc6, 0x33, 0x6b,
|
0xd9, 0x0f, 0xa4, 0x66, 0xcb, 0x82, 0x77, 0xcf, 0x7c, 0x9c, 0xf3, 0x9c, 0x9d, 0xd3, 0x39, 0xb3,
|
||||||
0xa8, 0xd4, 0x3d, 0xb6, 0xdf, 0xdc, 0xb5, 0xaa, 0xc4, 0xb7, 0xab, 0x24, 0x60, 0xae, 0x17, 0xe0,
|
0x50, 0xa9, 0x79, 0xec, 0xb0, 0xbe, 0x6f, 0x56, 0x89, 0x6f, 0x55, 0x49, 0xc0, 0x1c, 0x2f, 0xc0,
|
||||||
0x46, 0xed, 0xbc, 0xe9, 0x86, 0x9e, 0x4d, 0x71, 0xa3, 0xe5, 0x55, 0x31, 0xb5, 0x69, 0xe0, 0x86,
|
0x91, 0xdb, 0x5b, 0x3a, 0xa1, 0x67, 0x51, 0x1c, 0x35, 0xbc, 0x2a, 0xa6, 0x16, 0x0d, 0x9c, 0x90,
|
||||||
0x74, 0x9f, 0x30, 0xbb, 0x35, 0xdf, 0xb3, 0xa9, 0x15, 0x36, 0x08, 0x23, 0xc8, 0x38, 0x03, 0x59,
|
0x1e, 0x12, 0x66, 0x35, 0x16, 0x3b, 0x35, 0x35, 0xc3, 0x88, 0x30, 0x82, 0xf4, 0x2e, 0xc8, 0x6c,
|
||||||
0x5d, 0x80, 0x75, 0xe6, 0xd4, 0x9a, 0xd7, 0xf2, 0x75, 0x52, 0x27, 0xc2, 0xd9, 0xe6, 0x56, 0x84,
|
0x03, 0xcc, 0xee, 0xa6, 0xc6, 0xa2, 0x5a, 0xa8, 0x91, 0x1a, 0xe1, 0x9b, 0xad, 0xb8, 0x4a, 0x70,
|
||||||
0xd3, 0xfe, 0xab, 0x13, 0x52, 0x3f, 0xc4, 0xb6, 0x58, 0xed, 0x36, 0xf7, 0x6c, 0xec, 0x87, 0xac,
|
0xea, 0x7f, 0x35, 0x42, 0x6a, 0xc7, 0xd8, 0xe2, 0xa3, 0xfd, 0xfa, 0x81, 0x85, 0xfd, 0x90, 0x35,
|
||||||
0x2d, 0x0f, 0x17, 0x53, 0xc5, 0xc7, 0xda, 0x21, 0xa6, 0xb6, 0x4f, 0x9a, 0x01, 0x8b, 0x70, 0x66,
|
0xc5, 0xe2, 0x72, 0x26, 0x7d, 0xac, 0x19, 0x62, 0x6a, 0xf9, 0xa4, 0x1e, 0xb0, 0x04, 0x67, 0xb8,
|
||||||
0x19, 0x0a, 0xaf, 0x1a, 0x38, 0x74, 0x1b, 0x78, 0x53, 0x46, 0xe0, 0xe0, 0xf7, 0x4d, 0x4c, 0x19,
|
0x30, 0xfb, 0x2c, 0xc2, 0xa1, 0x13, 0xe1, 0x6d, 0xa1, 0xc0, 0xc6, 0x6f, 0xea, 0x98, 0x32, 0xa4,
|
||||||
0x9a, 0x82, 0xec, 0x01, 0x6e, 0x17, 0x15, 0x43, 0x29, 0x8d, 0x3a, 0xdc, 0x44, 0x05, 0xc8, 0x71,
|
0xc3, 0x58, 0x5b, 0x14, 0xc3, 0x51, 0x51, 0xd2, 0xa5, 0xf9, 0x51, 0xbb, 0x77, 0x0a, 0x4d, 0x81,
|
||||||
0xc7, 0x80, 0x15, 0x87, 0xc4, 0xa6, 0x5c, 0x99, 0xcf, 0x61, 0xf6, 0x0a, 0x07, 0x0d, 0x49, 0x40,
|
0x7c, 0x84, 0x9b, 0xc5, 0x21, 0xbe, 0x12, 0x97, 0x68, 0x16, 0xf2, 0x31, 0x55, 0xc0, 0x8a, 0x32,
|
||||||
0x31, 0xb2, 0x21, 0x27, 0xd4, 0x68, 0x51, 0x31, 0xb2, 0xa5, 0xb1, 0x85, 0x59, 0xeb, 0xdc, 0xe5,
|
0x9f, 0x14, 0x23, 0xe3, 0x31, 0xcc, 0x5d, 0xea, 0x42, 0x43, 0x12, 0x50, 0x8c, 0x2c, 0xc8, 0x73,
|
||||||
0x45, 0x34, 0xd6, 0x06, 0x3f, 0x77, 0xa4, 0x9b, 0xf9, 0x18, 0xa6, 0xb7, 0x3d, 0xfc, 0x61, 0xf0,
|
0x3d, 0xb4, 0x28, 0xe9, 0xf2, 0xfc, 0xd8, 0xd2, 0x9c, 0xd9, 0x73, 0x3c, 0x5c, 0xaf, 0xb9, 0x15,
|
||||||
0x60, 0x9e, 0x41, 0xfe, 0x22, 0xc1, 0xa0, 0x91, 0xdc, 0x80, 0x09, 0xb1, 0x41, 0xfb, 0xc6, 0x60,
|
0xaf, 0xdb, 0x62, 0x9b, 0xe1, 0xc0, 0xf4, 0xae, 0x87, 0xdf, 0xfe, 0x4d, 0xb9, 0x8f, 0xa0, 0x70,
|
||||||
0xae, 0xc0, 0x64, 0xd7, 0x65, 0x50, 0x95, 0xdb, 0x30, 0xe3, 0x60, 0x9f, 0xb4, 0x92, 0xd3, 0x6f,
|
0xb1, 0xc5, 0xa0, 0x5a, 0xcb, 0x30, 0xc1, 0x27, 0xe8, 0x35, 0x54, 0x1a, 0xeb, 0x30, 0xd9, 0x26,
|
||||||
0x3e, 0x82, 0x99, 0x55, 0xe2, 0xfb, 0x1e, 0xbb, 0xec, 0x8a, 0x40, 0x0d, 0x5c, 0x1f, 0x4b, 0x5f,
|
0x19, 0x54, 0xc7, 0x26, 0xcc, 0xd8, 0xd8, 0x27, 0x8d, 0x9b, 0x30, 0xd9, 0x78, 0x0d, 0x33, 0x65,
|
||||||
0x61, 0x77, 0xe1, 0x43, 0x67, 0xf0, 0x5b, 0x30, 0xbd, 0xc9, 0x5c, 0x96, 0xac, 0x73, 0xa4, 0x80,
|
0xe2, 0xfb, 0x1e, 0xbb, 0x3a, 0x19, 0x02, 0x25, 0x70, 0x7c, 0x2c, 0xd8, 0x78, 0xdd, 0x6e, 0x20,
|
||||||
0x5a, 0x09, 0xf6, 0x48, 0x2c, 0x6f, 0x9f, 0xb4, 0xa3, 0x87, 0xa0, 0x1e, 0x78, 0x41, 0xad, 0x98,
|
0x77, 0x1b, 0x54, 0x60, 0x7a, 0x9b, 0x39, 0xec, 0x26, 0xb4, 0x9e, 0x48, 0xa0, 0x54, 0x82, 0x03,
|
||||||
0x35, 0x94, 0xd2, 0xe4, 0xc2, 0x4d, 0x2b, 0xe9, 0x1b, 0xb7, 0xd6, 0xbd, 0xa0, 0xe6, 0x08, 0x0c,
|
0xd2, 0xe9, 0x2c, 0xf5, 0x74, 0xee, 0xda, 0x3f, 0xd4, 0x6b, 0x3f, 0xba, 0x0f, 0xca, 0x91, 0x17,
|
||||||
0xd2, 0x60, 0xa4, 0x81, 0xdd, 0x1a, 0x09, 0x0e, 0xdb, 0x45, 0xd5, 0x50, 0x4a, 0x23, 0x4e, 0x6f,
|
0xb8, 0x5c, 0xd2, 0xe4, 0xd2, 0x2d, 0xb3, 0xdf, 0x7d, 0x35, 0x37, 0xbd, 0xc0, 0xb5, 0x39, 0x06,
|
||||||
0x6d, 0xbe, 0x81, 0xfc, 0xc5, 0xa8, 0x65, 0xa2, 0x9f, 0x80, 0xea, 0x05, 0x7b, 0x44, 0xc4, 0x36,
|
0xa9, 0x30, 0x12, 0x61, 0xc7, 0x25, 0xc1, 0x71, 0xb3, 0xa8, 0xe8, 0xd2, 0xfc, 0x88, 0xdd, 0x19,
|
||||||
0x96, 0x46, 0x8f, 0xdf, 0xa8, 0xac, 0x9e, 0xfc, 0xfe, 0x3f, 0xe3, 0x08, 0xa4, 0x59, 0x80, 0xfc,
|
0x1b, 0x2f, 0xa0, 0x70, 0xf1, 0x77, 0x09, 0x3b, 0x1f, 0x80, 0xe2, 0x05, 0x07, 0x84, 0x6b, 0x1b,
|
||||||
0x0b, 0x8f, 0xf6, 0x98, 0xbb, 0x65, 0x36, 0x77, 0x60, 0xe6, 0xd2, 0xfe, 0x15, 0xc9, 0xec, 0x80,
|
0xcb, 0xd2, 0x2f, 0xfe, 0x45, 0x25, 0xe5, 0xec, 0xc7, 0xff, 0x39, 0x9b, 0x23, 0x8d, 0x55, 0x28,
|
||||||
0x92, 0x06, 0x8c, 0xbf, 0xa6, 0x6e, 0x1d, 0xf7, 0xcf, 0xfd, 0x32, 0x4c, 0x48, 0x0f, 0x29, 0x8a,
|
0x3c, 0xf1, 0x68, 0x87, 0x39, 0xfb, 0xe7, 0x66, 0xec, 0xc1, 0xcc, 0x6f, 0xc8, 0x4b, 0xa2, 0xe4,
|
||||||
0x40, 0xa5, 0xde, 0xc7, 0xa8, 0x06, 0x59, 0x47, 0xd8, 0xbc, 0x06, 0x5e, 0x40, 0x6a, 0x98, 0x8a,
|
0x01, 0x45, 0x95, 0x60, 0xfc, 0x39, 0x75, 0x6a, 0xf8, 0x3a, 0xfe, 0xad, 0xc1, 0x84, 0xe0, 0x10,
|
||||||
0x1a, 0x64, 0x1d, 0xb9, 0xba, 0xe3, 0x80, 0xba, 0x1e, 0xe5, 0x33, 0xb7, 0xb2, 0xba, 0x55, 0xd9,
|
0xb2, 0x10, 0x28, 0xd4, 0x7b, 0x97, 0xf8, 0x28, 0xdb, 0xbc, 0x8e, 0x7d, 0xf4, 0x02, 0xe2, 0x62,
|
||||||
0x5e, 0x9b, 0xca, 0x68, 0x93, 0x47, 0xc7, 0x06, 0xf0, 0xdd, 0x95, 0x2a, 0xf3, 0x5a, 0x18, 0x19,
|
0xca, 0x91, 0xb2, 0x2d, 0x46, 0xb7, 0x6d, 0x50, 0x36, 0x13, 0x4f, 0xf2, 0xeb, 0xe5, 0x9d, 0xca,
|
||||||
0x30, 0xba, 0xfa, 0x72, 0x63, 0xa3, 0xb2, 0xb5, 0xb5, 0xf6, 0x74, 0x4a, 0xd1, 0xfe, 0x3d, 0x3a,
|
0xee, 0xc6, 0x54, 0x4e, 0x9d, 0x3c, 0x39, 0xd5, 0x21, 0x9e, 0x5d, 0xaf, 0x32, 0xaf, 0x81, 0x91,
|
||||||
0x36, 0x26, 0xf8, 0x71, 0xf4, 0x65, 0x31, 0x5c, 0xd3, 0xc6, 0xbf, 0x7e, 0xd3, 0x33, 0x3f, 0xbe,
|
0x0e, 0xa3, 0xe5, 0xa7, 0x5b, 0x5b, 0x95, 0x9d, 0x9d, 0x8d, 0x87, 0x53, 0x92, 0xfa, 0xef, 0xc9,
|
||||||
0xeb, 0x82, 0x6b, 0xe1, 0xcb, 0x30, 0x8c, 0xf6, 0x52, 0x81, 0x3e, 0xc1, 0xb0, 0xec, 0x74, 0x74,
|
0xa9, 0x3e, 0x11, 0x2f, 0x27, 0x5f, 0x38, 0xc3, 0xae, 0x3a, 0xfe, 0xe9, 0xb3, 0x96, 0xfb, 0xfa,
|
||||||
0x3f, 0xf9, 0xfe, 0xf1, 0x83, 0x45, 0x7b, 0x30, 0x00, 0x52, 0x66, 0xa3, 0x09, 0x2a, 0x6f, 0x6e,
|
0x45, 0xe3, 0x5c, 0x4b, 0x1f, 0x87, 0x61, 0xb4, 0x73, 0x58, 0xe8, 0x3d, 0x0c, 0x8b, 0x5c, 0x43,
|
||||||
0x74, 0x2f, 0x99, 0x22, 0x66, 0x8a, 0x68, 0x8b, 0xd7, 0x85, 0x49, 0xd9, 0x03, 0xc8, 0x45, 0x7d,
|
0xab, 0xfd, 0x4f, 0x28, 0x3d, 0x68, 0xd5, 0x7b, 0x03, 0x20, 0xc5, 0x69, 0xd4, 0x41, 0x89, 0x83,
|
||||||
0x8e, 0xec, 0x64, 0x86, 0x0b, 0x43, 0x43, 0x9b, 0x4b, 0x0f, 0x90, 0x62, 0x3b, 0x90, 0x8b, 0x8a,
|
0x0a, 0xdd, 0xed, 0x4f, 0x91, 0x92, 0x99, 0xea, 0xf2, 0x55, 0x61, 0xa2, 0xed, 0x11, 0xe4, 0x93,
|
||||||
0x81, 0x96, 0x92, 0xb1, 0xb1, 0x03, 0x41, 0x2b, 0x58, 0xd1, 0x53, 0x61, 0x75, 0x9f, 0x0a, 0x6b,
|
0x44, 0x42, 0x56, 0x7f, 0x86, 0x0b, 0x01, 0xa8, 0x2e, 0x64, 0x07, 0x88, 0x66, 0x7b, 0x90, 0x4f,
|
||||||
0x8d, 0x3f, 0x15, 0x9c, 0x3a, 0x1a, 0x36, 0x69, 0xa8, 0x63, 0xc7, 0x52, 0x5f, 0xea, 0x26, 0xa8,
|
0xcc, 0x40, 0x2b, 0xfd, 0xb1, 0xa9, 0xc1, 0xa4, 0xce, 0x9a, 0xc9, 0xd3, 0x69, 0xb6, 0x9f, 0x4e,
|
||||||
0xbc, 0x4f, 0xd3, 0x54, 0x26, 0x66, 0x0a, 0xa5, 0xa9, 0x4c, 0xec, 0x18, 0x68, 0x83, 0xca, 0x9b,
|
0x73, 0x23, 0x7e, 0x3a, 0x63, 0xea, 0x24, 0x16, 0xb3, 0x50, 0xa7, 0x06, 0xe8, 0x1f, 0xa9, 0xeb,
|
||||||
0x15, 0xa5, 0xc0, 0xc7, 0x35, 0xbb, 0xb6, 0x74, 0x6d, 0x5c, 0x24, 0x3c, 0xa7, 0xa0, 0x7d, 0xf8,
|
0xa0, 0xc4, 0x77, 0x3d, 0x8b, 0x33, 0x29, 0x59, 0x97, 0xc5, 0x99, 0xd4, 0x28, 0x69, 0x82, 0x12,
|
||||||
0x47, 0xb4, 0x2a, 0xb2, 0x92, 0x39, 0xce, 0x77, 0xbd, 0x66, 0xa7, 0xf6, 0x8f, 0xb4, 0xca, 0xef,
|
0x5f, 0x67, 0x94, 0x01, 0x9f, 0x16, 0x18, 0xea, 0xca, 0x95, 0x71, 0x49, 0xe3, 0x05, 0x09, 0x1d,
|
||||||
0x4e, 0x4e, 0xf5, 0xcc, 0xaf, 0x53, 0x3d, 0xf3, 0xb9, 0xa3, 0x2b, 0x27, 0x1d, 0x5d, 0xf9, 0xd9,
|
0xc2, 0x3f, 0xfc, 0xaa, 0x22, 0xb3, 0x3f, 0x47, 0x6f, 0x2e, 0xa8, 0x56, 0xe6, 0xfd, 0x49, 0xaf,
|
||||||
0xd1, 0x95, 0x3f, 0x1d, 0x5d, 0x79, 0x5b, 0x1e, 0xf8, 0xaf, 0x64, 0xb9, 0x6b, 0xef, 0xe6, 0x44,
|
0xd2, 0xab, 0xb3, 0x73, 0x2d, 0xf7, 0xfd, 0x5c, 0xcb, 0x7d, 0x68, 0x69, 0xd2, 0x59, 0x4b, 0x93,
|
||||||
0x25, 0xef, 0xfe, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x03, 0x65, 0xd8, 0x3b, 0xe2, 0x08, 0x00, 0x00,
|
0xbe, 0xb5, 0x34, 0xe9, 0x67, 0x4b, 0x93, 0x5e, 0x96, 0x06, 0xfe, 0x97, 0xb6, 0xd6, 0xae, 0xf7,
|
||||||
|
0xf3, 0xdc, 0xc9, 0x3b, 0xbf, 0x02, 0x00, 0x00, 0xff, 0xff, 0x62, 0xfd, 0xaf, 0x9e, 0xf2, 0x09,
|
||||||
|
0x00, 0x00,
|
||||||
}
|
}
|
||||||
|
@ -21,8 +21,9 @@ service Snapshots {
|
|||||||
}
|
}
|
||||||
|
|
||||||
message PrepareSnapshotRequest {
|
message PrepareSnapshotRequest {
|
||||||
string key = 1;
|
string snapshotter = 1;
|
||||||
string parent = 2;
|
string key = 2;
|
||||||
|
string parent = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
message PrepareSnapshotResponse {
|
message PrepareSnapshotResponse {
|
||||||
@ -30,8 +31,9 @@ message PrepareSnapshotResponse {
|
|||||||
}
|
}
|
||||||
|
|
||||||
message ViewSnapshotRequest {
|
message ViewSnapshotRequest {
|
||||||
string key = 1;
|
string snapshotter = 1;
|
||||||
string parent = 2;
|
string key = 2;
|
||||||
|
string parent = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
message ViewSnapshotResponse {
|
message ViewSnapshotResponse {
|
||||||
@ -39,7 +41,8 @@ message ViewSnapshotResponse {
|
|||||||
}
|
}
|
||||||
|
|
||||||
message MountsRequest {
|
message MountsRequest {
|
||||||
string key = 1;
|
string snapshotter = 1;
|
||||||
|
string key = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
message MountsResponse {
|
message MountsResponse {
|
||||||
@ -47,16 +50,19 @@ message MountsResponse {
|
|||||||
}
|
}
|
||||||
|
|
||||||
message RemoveSnapshotRequest {
|
message RemoveSnapshotRequest {
|
||||||
string key = 1;
|
string snapshotter = 1;
|
||||||
}
|
|
||||||
|
|
||||||
message CommitSnapshotRequest {
|
|
||||||
string name = 1;
|
|
||||||
string key = 2;
|
string key = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
message CommitSnapshotRequest {
|
||||||
|
string snapshotter = 1;
|
||||||
|
string name = 2;
|
||||||
|
string key = 3;
|
||||||
|
}
|
||||||
|
|
||||||
message StatSnapshotRequest {
|
message StatSnapshotRequest {
|
||||||
string key = 1;
|
string snapshotter = 1;
|
||||||
|
string key = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
enum Kind {
|
enum Kind {
|
||||||
@ -80,6 +86,7 @@ message StatSnapshotResponse {
|
|||||||
}
|
}
|
||||||
|
|
||||||
message ListSnapshotsRequest{
|
message ListSnapshotsRequest{
|
||||||
|
string snapshotter = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
message ListSnapshotsResponse {
|
message ListSnapshotsResponse {
|
||||||
@ -87,7 +94,8 @@ message ListSnapshotsResponse {
|
|||||||
}
|
}
|
||||||
|
|
||||||
message UsageRequest {
|
message UsageRequest {
|
||||||
string key = 1;
|
string snapshotter = 1;
|
||||||
|
string key = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
message UsageResponse {
|
message UsageResponse {
|
||||||
|
30
client.go
30
client.go
@ -166,7 +166,7 @@ func WithContainerLabels(labels map[string]string) NewContainerOpts {
|
|||||||
func WithExistingRootFS(id string) NewContainerOpts {
|
func WithExistingRootFS(id string) NewContainerOpts {
|
||||||
return func(ctx context.Context, client *Client, c *containers.Container) error {
|
return func(ctx context.Context, client *Client, c *containers.Container) error {
|
||||||
// check that the snapshot exists, if not, fail on creation
|
// check that the snapshot exists, if not, fail on creation
|
||||||
if _, err := client.SnapshotService().Mounts(ctx, id); err != nil {
|
if _, err := client.SnapshotService(c.Snapshotter).Mounts(ctx, id); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
c.RootFS = id
|
c.RootFS = id
|
||||||
@ -182,7 +182,7 @@ func WithNewRootFS(id string, i Image) NewContainerOpts {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if _, err := client.SnapshotService().Prepare(ctx, id, identity.ChainID(diffIDs).String()); err != nil {
|
if _, err := client.SnapshotService(c.Snapshotter).Prepare(ctx, id, identity.ChainID(diffIDs).String()); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
c.RootFS = id
|
c.RootFS = id
|
||||||
@ -199,7 +199,7 @@ func WithNewReadonlyRootFS(id string, i Image) NewContainerOpts {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if _, err := client.SnapshotService().View(ctx, id, identity.ChainID(diffIDs).String()); err != nil {
|
if _, err := client.SnapshotService(c.Snapshotter).View(ctx, id, identity.ChainID(diffIDs).String()); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
c.RootFS = id
|
c.RootFS = id
|
||||||
@ -219,6 +219,13 @@ func WithRuntime(name string) NewContainerOpts {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func WithSnapshotter(name string) NewContainerOpts {
|
||||||
|
return func(ctx context.Context, client *Client, c *containers.Container) error {
|
||||||
|
c.Snapshotter = name
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func WithImage(i Image) NewContainerOpts {
|
func WithImage(i Image) NewContainerOpts {
|
||||||
return func(ctx context.Context, client *Client, c *containers.Container) error {
|
return func(ctx context.Context, client *Client, c *containers.Container) error {
|
||||||
c.Image = i.Name()
|
c.Image = i.Name()
|
||||||
@ -273,6 +280,9 @@ type RemoteContext struct {
|
|||||||
// afterwards. Unpacking is required to run an image.
|
// afterwards. Unpacking is required to run an image.
|
||||||
Unpack bool
|
Unpack bool
|
||||||
|
|
||||||
|
// Snapshotter used for unpacking
|
||||||
|
Snapshotter string
|
||||||
|
|
||||||
// BaseHandlers are a set of handlers which get are called on dispatch.
|
// BaseHandlers are a set of handlers which get are called on dispatch.
|
||||||
// These handlers always get called before any operation specific
|
// These handlers always get called before any operation specific
|
||||||
// handlers.
|
// handlers.
|
||||||
@ -300,6 +310,14 @@ func WithPullUnpack(client *Client, c *RemoteContext) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WithPullSnapshotter specifies snapshotter name used for unpacking
|
||||||
|
func WithPullSnapshotter(snapshotterName string) RemoteOpts {
|
||||||
|
return func(client *Client, c *RemoteContext) error {
|
||||||
|
c.Snapshotter = snapshotterName
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// WithSchema1Conversion is used to convert Docker registry schema 1
|
// WithSchema1Conversion is used to convert Docker registry schema 1
|
||||||
// manifests to oci manifests on pull. Without this option schema 1
|
// manifests to oci manifests on pull. Without this option schema 1
|
||||||
// manifests will return a not supported error.
|
// manifests will return a not supported error.
|
||||||
@ -392,7 +410,7 @@ func (c *Client) Pull(ctx context.Context, ref string, opts ...RemoteOpts) (Imag
|
|||||||
i: imgrec,
|
i: imgrec,
|
||||||
}
|
}
|
||||||
if pullCtx.Unpack {
|
if pullCtx.Unpack {
|
||||||
if err := img.Unpack(ctx); err != nil {
|
if err := img.Unpack(ctx, pullCtx.Snapshotter); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -496,8 +514,8 @@ func (c *Client) ContentStore() content.Store {
|
|||||||
return contentservice.NewStoreFromClient(contentapi.NewContentClient(c.conn))
|
return contentservice.NewStoreFromClient(contentapi.NewContentClient(c.conn))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Client) SnapshotService() snapshot.Snapshotter {
|
func (c *Client) SnapshotService(snapshotterName string) snapshot.Snapshotter {
|
||||||
return snapshotservice.NewSnapshotterFromClient(snapshotapi.NewSnapshotsClient(c.conn))
|
return snapshotservice.NewSnapshotterFromClient(snapshotapi.NewSnapshotsClient(c.conn), snapshotterName)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Client) TaskService() tasks.TasksClient {
|
func (c *Client) TaskService() tasks.TasksClient {
|
||||||
|
@ -48,7 +48,7 @@ var runCommand = cli.Command{
|
|||||||
Name: "run",
|
Name: "run",
|
||||||
Usage: "run a container",
|
Usage: "run a container",
|
||||||
ArgsUsage: "IMAGE ID [COMMAND] [ARG...]",
|
ArgsUsage: "IMAGE ID [COMMAND] [ARG...]",
|
||||||
Flags: []cli.Flag{
|
Flags: append([]cli.Flag{
|
||||||
cli.BoolFlag{
|
cli.BoolFlag{
|
||||||
Name: "tty,t",
|
Name: "tty,t",
|
||||||
Usage: "allocate a TTY for the container",
|
Usage: "allocate a TTY for the container",
|
||||||
@ -86,7 +86,7 @@ var runCommand = cli.Command{
|
|||||||
Name: "checkpoint",
|
Name: "checkpoint",
|
||||||
Usage: "provide the checkpoint digest to restore the container",
|
Usage: "provide the checkpoint digest to restore the container",
|
||||||
},
|
},
|
||||||
},
|
}, snapshotterFlags...),
|
||||||
Action: func(context *cli.Context) error {
|
Action: func(context *cli.Context) error {
|
||||||
var (
|
var (
|
||||||
err error
|
err error
|
||||||
|
@ -106,6 +106,7 @@ func newContainer(ctx gocontext.Context, client *containerd.Client, context *cli
|
|||||||
containerd.WithSpec(spec),
|
containerd.WithSpec(spec),
|
||||||
containerd.WithImage(image),
|
containerd.WithImage(image),
|
||||||
containerd.WithContainerLabels(labels),
|
containerd.WithContainerLabels(labels),
|
||||||
|
containerd.WithSnapshotter(context.String("snapshotter")),
|
||||||
rootfs,
|
rootfs,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -19,6 +19,7 @@ import (
|
|||||||
var snapshotCommand = cli.Command{
|
var snapshotCommand = cli.Command{
|
||||||
Name: "snapshot",
|
Name: "snapshot",
|
||||||
Usage: "snapshot management",
|
Usage: "snapshot management",
|
||||||
|
Flags: snapshotterFlags,
|
||||||
Subcommands: cli.Commands{
|
Subcommands: cli.Commands{
|
||||||
archiveSnapshotCommand,
|
archiveSnapshotCommand,
|
||||||
listSnapshotCommand,
|
listSnapshotCommand,
|
||||||
@ -79,13 +80,11 @@ var listSnapshotCommand = cli.Command{
|
|||||||
ctx, cancel := appContext(clicontext)
|
ctx, cancel := appContext(clicontext)
|
||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
||||||
client, err := newClient(clicontext)
|
snapshotter, err := getSnapshotter(clicontext)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
snapshotter := client.SnapshotService()
|
|
||||||
|
|
||||||
tw := tabwriter.NewWriter(os.Stdout, 1, 8, 1, ' ', 0)
|
tw := tabwriter.NewWriter(os.Stdout, 1, 8, 1, ' ', 0)
|
||||||
fmt.Fprintln(tw, "ID\tParent\tState\tReadonly\t")
|
fmt.Fprintln(tw, "ID\tParent\tState\tReadonly\t")
|
||||||
|
|
||||||
@ -125,11 +124,6 @@ var usageSnapshotCommand = cli.Command{
|
|||||||
ctx, cancel := appContext(clicontext)
|
ctx, cancel := appContext(clicontext)
|
||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
||||||
client, err := newClient(clicontext)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
var displaySize func(int64) string
|
var displaySize func(int64) string
|
||||||
if clicontext.Bool("b") {
|
if clicontext.Bool("b") {
|
||||||
displaySize = func(s int64) string {
|
displaySize = func(s int64) string {
|
||||||
@ -141,7 +135,10 @@ var usageSnapshotCommand = cli.Command{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
snapshotter := client.SnapshotService()
|
snapshotter, err := getSnapshotter(clicontext)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
tw := tabwriter.NewWriter(os.Stdout, 1, 8, 1, ' ', 0)
|
tw := tabwriter.NewWriter(os.Stdout, 1, 8, 1, ' ', 0)
|
||||||
fmt.Fprintln(tw, "ID\tSize\tInodes\t")
|
fmt.Fprintln(tw, "ID\tSize\tInodes\t")
|
||||||
@ -180,13 +177,11 @@ var removeSnapshotCommand = cli.Command{
|
|||||||
ctx, cancel := appContext(clicontext)
|
ctx, cancel := appContext(clicontext)
|
||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
||||||
client, err := newClient(clicontext)
|
snapshotter, err := getSnapshotter(clicontext)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
snapshotter := client.SnapshotService()
|
|
||||||
|
|
||||||
for _, id := range clicontext.Args() {
|
for _, id := range clicontext.Args() {
|
||||||
err = snapshotter.Remove(ctx, id)
|
err = snapshotter.Remove(ctx, id)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -219,12 +214,11 @@ var prepareSnapshotCommand = cli.Command{
|
|||||||
|
|
||||||
logrus.Infof("preparing mounts %s", dgst.String())
|
logrus.Infof("preparing mounts %s", dgst.String())
|
||||||
|
|
||||||
client, err := newClient(clicontext)
|
snapshotter, err := getSnapshotter(clicontext)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
snapshotter := client.SnapshotService()
|
|
||||||
mounts, err := snapshotter.Prepare(ctx, target, dgst.String())
|
mounts, err := snapshotter.Prepare(ctx, target, dgst.String())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -35,6 +35,13 @@ import (
|
|||||||
"google.golang.org/grpc"
|
"google.golang.org/grpc"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var snapshotterFlags = []cli.Flag{
|
||||||
|
cli.StringFlag{
|
||||||
|
Name: "snapshotter",
|
||||||
|
Usage: "Snapshotter name. Empty value stands for the daemon default value.",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
var grpcConn *grpc.ClientConn
|
var grpcConn *grpc.ClientConn
|
||||||
|
|
||||||
// appContext returns the context for a command. Should only be called once per
|
// appContext returns the context for a command. Should only be called once per
|
||||||
@ -111,7 +118,7 @@ func getSnapshotter(context *cli.Context) (snapshot.Snapshotter, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return snapshotservice.NewSnapshotterFromClient(snapshotapi.NewSnapshotsClient(conn)), nil
|
return snapshotservice.NewSnapshotterFromClient(snapshotapi.NewSnapshotsClient(conn), context.GlobalString("snapshotter")), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func getImageStore(clicontext *cli.Context) (images.Store, error) {
|
func getImageStore(clicontext *cli.Context) (images.Store, error) {
|
||||||
|
7
cmd/dist/common.go
vendored
7
cmd/dist/common.go
vendored
@ -44,6 +44,13 @@ var registryFlags = []cli.Flag{
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var snapshotterFlags = []cli.Flag{
|
||||||
|
cli.StringFlag{
|
||||||
|
Name: "snapshotter",
|
||||||
|
Usage: "Snapshotter name. Empty value stands for the daemon default value.",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
func getClient(context *cli.Context) (*containerd.Client, error) {
|
func getClient(context *cli.Context) (*containerd.Client, error) {
|
||||||
address := context.GlobalString("address")
|
address := context.GlobalString("address")
|
||||||
//timeout := context.GlobalDuration("connect-timeout")
|
//timeout := context.GlobalDuration("connect-timeout")
|
||||||
|
4
cmd/dist/pull.go
vendored
4
cmd/dist/pull.go
vendored
@ -20,7 +20,7 @@ command. As part of this process, we do the following:
|
|||||||
2. Prepare the snapshot filesystem with the pulled resources.
|
2. Prepare the snapshot filesystem with the pulled resources.
|
||||||
3. Register metadata for the image.
|
3. Register metadata for the image.
|
||||||
`,
|
`,
|
||||||
Flags: registryFlags,
|
Flags: append(registryFlags, snapshotterFlags...),
|
||||||
Action: func(clicontext *cli.Context) error {
|
Action: func(clicontext *cli.Context) error {
|
||||||
var (
|
var (
|
||||||
ref = clicontext.Args().First()
|
ref = clicontext.Args().First()
|
||||||
@ -38,7 +38,7 @@ command. As part of this process, we do the following:
|
|||||||
|
|
||||||
// TODO: Show unpack status
|
// TODO: Show unpack status
|
||||||
fmt.Printf("unpacking %s...", img.Target().Digest)
|
fmt.Printf("unpacking %s...", img.Target().Digest)
|
||||||
err = img.Unpack(ctx)
|
err = img.Unpack(ctx, clicontext.String("snapshotter"))
|
||||||
fmt.Println("done")
|
fmt.Println("done")
|
||||||
return err
|
return err
|
||||||
},
|
},
|
||||||
|
4
cmd/dist/rootfs.go
vendored
4
cmd/dist/rootfs.go
vendored
@ -21,7 +21,7 @@ var rootfsUnpackCommand = cli.Command{
|
|||||||
Name: "unpack",
|
Name: "unpack",
|
||||||
Usage: "unpack applies layers from a manifest to a snapshot",
|
Usage: "unpack applies layers from a manifest to a snapshot",
|
||||||
ArgsUsage: "[flags] <digest>",
|
ArgsUsage: "[flags] <digest>",
|
||||||
Flags: []cli.Flag{},
|
Flags: snapshotterFlags,
|
||||||
Action: func(clicontext *cli.Context) error {
|
Action: func(clicontext *cli.Context) error {
|
||||||
ctx, cancel := appContext(clicontext)
|
ctx, cancel := appContext(clicontext)
|
||||||
defer cancel()
|
defer cancel()
|
||||||
@ -49,7 +49,7 @@ var rootfsUnpackCommand = cli.Command{
|
|||||||
for _, image := range images {
|
for _, image := range images {
|
||||||
if image.Target().Digest == dgst {
|
if image.Target().Digest == dgst {
|
||||||
fmt.Printf("unpacking %s (%s)...", dgst, image.Target().MediaType)
|
fmt.Printf("unpacking %s (%s)...", dgst, image.Target().MediaType)
|
||||||
if err := image.Unpack(ctx); err != nil {
|
if err := image.Unpack(ctx, clicontext.String("snapshotter")); err != nil {
|
||||||
fmt.Println()
|
fmt.Println()
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -124,7 +124,7 @@ func (c *container) Spec() (*specs.Spec, error) {
|
|||||||
// WithRootFSDeletion deletes the rootfs allocated for the container
|
// WithRootFSDeletion deletes the rootfs allocated for the container
|
||||||
func WithRootFSDeletion(ctx context.Context, client *Client, c containers.Container) error {
|
func WithRootFSDeletion(ctx context.Context, client *Client, c containers.Container) error {
|
||||||
if c.RootFS != "" {
|
if c.RootFS != "" {
|
||||||
return client.SnapshotService().Remove(ctx, c.RootFS)
|
return client.SnapshotService(c.Snapshotter).Remove(ctx, c.RootFS)
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -185,7 +185,7 @@ func (c *container) NewTask(ctx context.Context, ioCreate IOCreation, opts ...Ne
|
|||||||
}
|
}
|
||||||
if c.c.RootFS != "" {
|
if c.c.RootFS != "" {
|
||||||
// get the rootfs from the snapshotter and add it to the request
|
// get the rootfs from the snapshotter and add it to the request
|
||||||
mounts, err := c.client.SnapshotService().Mounts(ctx, c.c.RootFS)
|
mounts, err := c.client.SnapshotService(c.c.Snapshotter).Mounts(ctx, c.c.RootFS)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -45,7 +45,7 @@ func WithCheckpoint(desc v1.Descriptor, rootfsID string) NewContainerOpts {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if _, err := client.SnapshotService().Prepare(ctx, rootfsID, identity.ChainID(diffIDs).String()); err != nil {
|
if _, err := client.SnapshotService(c.Snapshotter).Prepare(ctx, rootfsID, identity.ChainID(diffIDs).String()); err != nil {
|
||||||
if !errdefs.IsAlreadyExists(err) {
|
if !errdefs.IsAlreadyExists(err) {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -70,7 +70,7 @@ func WithCheckpoint(desc v1.Descriptor, rootfsID string) NewContainerOpts {
|
|||||||
}
|
}
|
||||||
if rw != nil {
|
if rw != nil {
|
||||||
// apply the rw snapshot to the new rw layer
|
// apply the rw snapshot to the new rw layer
|
||||||
mounts, err := client.SnapshotService().Mounts(ctx, rootfsID)
|
mounts, err := client.SnapshotService(c.Snapshotter).Mounts(ctx, rootfsID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -12,14 +12,15 @@ import (
|
|||||||
//
|
//
|
||||||
// The resources specified in this object are used to create tasks from the container.
|
// The resources specified in this object are used to create tasks from the container.
|
||||||
type Container struct {
|
type Container struct {
|
||||||
ID string
|
ID string
|
||||||
Labels map[string]string
|
Labels map[string]string
|
||||||
Image string
|
Image string
|
||||||
Runtime RuntimeInfo
|
Runtime RuntimeInfo
|
||||||
Spec *types.Any
|
Spec *types.Any
|
||||||
RootFS string
|
RootFS string
|
||||||
CreatedAt time.Time
|
Snapshotter string
|
||||||
UpdatedAt time.Time
|
CreatedAt time.Time
|
||||||
|
UpdatedAt time.Time
|
||||||
}
|
}
|
||||||
|
|
||||||
type RuntimeInfo struct {
|
type RuntimeInfo struct {
|
||||||
|
6
image.go
6
image.go
@ -15,7 +15,7 @@ type Image interface {
|
|||||||
Name() string
|
Name() string
|
||||||
Target() ocispec.Descriptor
|
Target() ocispec.Descriptor
|
||||||
|
|
||||||
Unpack(context.Context) error
|
Unpack(context.Context, string) error
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ = (Image)(&image{})
|
var _ = (Image)(&image{})
|
||||||
@ -34,12 +34,12 @@ func (i *image) Target() ocispec.Descriptor {
|
|||||||
return i.i.Target
|
return i.i.Target
|
||||||
}
|
}
|
||||||
|
|
||||||
func (i *image) Unpack(ctx context.Context) error {
|
func (i *image) Unpack(ctx context.Context, snapshotterName string) error {
|
||||||
layers, err := i.getLayers(ctx)
|
layers, err := i.getLayers(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if _, err := rootfs.ApplyLayers(ctx, layers, i.client.SnapshotService(), i.client.DiffService()); err != nil {
|
if _, err := rootfs.ApplyLayers(ctx, layers, i.client.SnapshotService(snapshotterName), i.client.DiffService()); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
@ -24,8 +24,9 @@ func containerToProto(container *containers.Container) api.Container {
|
|||||||
Name: container.Runtime.Name,
|
Name: container.Runtime.Name,
|
||||||
Options: container.Runtime.Options,
|
Options: container.Runtime.Options,
|
||||||
},
|
},
|
||||||
Spec: container.Spec,
|
Spec: container.Spec,
|
||||||
RootFS: container.RootFS,
|
Snapshotter: container.Snapshotter,
|
||||||
|
RootFS: container.RootFS,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -38,11 +39,12 @@ func containerFromProto(containerpb *api.Container) containers.Container {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
return containers.Container{
|
return containers.Container{
|
||||||
ID: containerpb.ID,
|
ID: containerpb.ID,
|
||||||
Labels: containerpb.Labels,
|
Labels: containerpb.Labels,
|
||||||
Image: containerpb.Image,
|
Image: containerpb.Image,
|
||||||
Runtime: runtime,
|
Runtime: runtime,
|
||||||
Spec: containerpb.Spec,
|
Spec: containerpb.Spec,
|
||||||
RootFS: containerpb.RootFS,
|
Snapshotter: containerpb.Snapshotter,
|
||||||
|
RootFS: containerpb.RootFS,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -13,18 +13,24 @@ import (
|
|||||||
|
|
||||||
// NewSnapshotterFromClient returns a new Snapshotter which communicates
|
// NewSnapshotterFromClient returns a new Snapshotter which communicates
|
||||||
// over a GRPC connection.
|
// over a GRPC connection.
|
||||||
func NewSnapshotterFromClient(client snapshotapi.SnapshotsClient) snapshot.Snapshotter {
|
func NewSnapshotterFromClient(client snapshotapi.SnapshotsClient, snapshotterName string) snapshot.Snapshotter {
|
||||||
return &remoteSnapshotter{
|
return &remoteSnapshotter{
|
||||||
client: client,
|
client: client,
|
||||||
|
snapshotterName: snapshotterName,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
type remoteSnapshotter struct {
|
type remoteSnapshotter struct {
|
||||||
client snapshotapi.SnapshotsClient
|
client snapshotapi.SnapshotsClient
|
||||||
|
snapshotterName string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *remoteSnapshotter) Stat(ctx context.Context, key string) (snapshot.Info, error) {
|
func (r *remoteSnapshotter) Stat(ctx context.Context, key string) (snapshot.Info, error) {
|
||||||
resp, err := r.client.Stat(ctx, &snapshotapi.StatSnapshotRequest{Key: key})
|
resp, err := r.client.Stat(ctx,
|
||||||
|
&snapshotapi.StatSnapshotRequest{
|
||||||
|
Snapshotter: r.snapshotterName,
|
||||||
|
Key: key,
|
||||||
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return snapshot.Info{}, errdefs.FromGRPC(err)
|
return snapshot.Info{}, errdefs.FromGRPC(err)
|
||||||
}
|
}
|
||||||
@ -32,7 +38,10 @@ func (r *remoteSnapshotter) Stat(ctx context.Context, key string) (snapshot.Info
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (r *remoteSnapshotter) Usage(ctx context.Context, key string) (snapshot.Usage, error) {
|
func (r *remoteSnapshotter) Usage(ctx context.Context, key string) (snapshot.Usage, error) {
|
||||||
resp, err := r.client.Usage(ctx, &snapshotapi.UsageRequest{Key: key})
|
resp, err := r.client.Usage(ctx, &snapshotapi.UsageRequest{
|
||||||
|
Snapshotter: r.snapshotterName,
|
||||||
|
Key: key,
|
||||||
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return snapshot.Usage{}, errdefs.FromGRPC(err)
|
return snapshot.Usage{}, errdefs.FromGRPC(err)
|
||||||
}
|
}
|
||||||
@ -40,7 +49,10 @@ func (r *remoteSnapshotter) Usage(ctx context.Context, key string) (snapshot.Usa
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (r *remoteSnapshotter) Mounts(ctx context.Context, key string) ([]mount.Mount, error) {
|
func (r *remoteSnapshotter) Mounts(ctx context.Context, key string) ([]mount.Mount, error) {
|
||||||
resp, err := r.client.Mounts(ctx, &snapshotapi.MountsRequest{Key: key})
|
resp, err := r.client.Mounts(ctx, &snapshotapi.MountsRequest{
|
||||||
|
Snapshotter: r.snapshotterName,
|
||||||
|
Key: key,
|
||||||
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errdefs.FromGRPC(err)
|
return nil, errdefs.FromGRPC(err)
|
||||||
}
|
}
|
||||||
@ -48,7 +60,11 @@ func (r *remoteSnapshotter) Mounts(ctx context.Context, key string) ([]mount.Mou
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (r *remoteSnapshotter) Prepare(ctx context.Context, key, parent string) ([]mount.Mount, error) {
|
func (r *remoteSnapshotter) Prepare(ctx context.Context, key, parent string) ([]mount.Mount, error) {
|
||||||
resp, err := r.client.Prepare(ctx, &snapshotapi.PrepareSnapshotRequest{Key: key, Parent: parent})
|
resp, err := r.client.Prepare(ctx, &snapshotapi.PrepareSnapshotRequest{
|
||||||
|
Snapshotter: r.snapshotterName,
|
||||||
|
Key: key,
|
||||||
|
Parent: parent,
|
||||||
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errdefs.FromGRPC(err)
|
return nil, errdefs.FromGRPC(err)
|
||||||
}
|
}
|
||||||
@ -56,7 +72,11 @@ func (r *remoteSnapshotter) Prepare(ctx context.Context, key, parent string) ([]
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (r *remoteSnapshotter) View(ctx context.Context, key, parent string) ([]mount.Mount, error) {
|
func (r *remoteSnapshotter) View(ctx context.Context, key, parent string) ([]mount.Mount, error) {
|
||||||
resp, err := r.client.View(ctx, &snapshotapi.ViewSnapshotRequest{Key: key, Parent: parent})
|
resp, err := r.client.View(ctx, &snapshotapi.ViewSnapshotRequest{
|
||||||
|
Snapshotter: r.snapshotterName,
|
||||||
|
Key: key,
|
||||||
|
Parent: parent,
|
||||||
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errdefs.FromGRPC(err)
|
return nil, errdefs.FromGRPC(err)
|
||||||
}
|
}
|
||||||
@ -65,19 +85,25 @@ func (r *remoteSnapshotter) View(ctx context.Context, key, parent string) ([]mou
|
|||||||
|
|
||||||
func (r *remoteSnapshotter) Commit(ctx context.Context, name, key string) error {
|
func (r *remoteSnapshotter) Commit(ctx context.Context, name, key string) error {
|
||||||
_, err := r.client.Commit(ctx, &snapshotapi.CommitSnapshotRequest{
|
_, err := r.client.Commit(ctx, &snapshotapi.CommitSnapshotRequest{
|
||||||
Name: name,
|
Snapshotter: r.snapshotterName,
|
||||||
Key: key,
|
Name: name,
|
||||||
|
Key: key,
|
||||||
})
|
})
|
||||||
return errdefs.FromGRPC(err)
|
return errdefs.FromGRPC(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *remoteSnapshotter) Remove(ctx context.Context, key string) error {
|
func (r *remoteSnapshotter) Remove(ctx context.Context, key string) error {
|
||||||
_, err := r.client.Remove(ctx, &snapshotapi.RemoveSnapshotRequest{Key: key})
|
_, err := r.client.Remove(ctx, &snapshotapi.RemoveSnapshotRequest{
|
||||||
|
Snapshotter: r.snapshotterName,
|
||||||
|
Key: key,
|
||||||
|
})
|
||||||
return errdefs.FromGRPC(err)
|
return errdefs.FromGRPC(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *remoteSnapshotter) Walk(ctx context.Context, fn func(context.Context, snapshot.Info) error) error {
|
func (r *remoteSnapshotter) Walk(ctx context.Context, fn func(context.Context, snapshot.Info) error) error {
|
||||||
sc, err := r.client.List(ctx, &snapshotapi.ListSnapshotsRequest{})
|
sc, err := r.client.List(ctx, &snapshotapi.ListSnapshotsRequest{
|
||||||
|
Snapshotter: r.snapshotterName,
|
||||||
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
errdefs.FromGRPC(err)
|
errdefs.FromGRPC(err)
|
||||||
}
|
}
|
||||||
|
@ -43,34 +43,50 @@ func init() {
|
|||||||
var empty = &protoempty.Empty{}
|
var empty = &protoempty.Empty{}
|
||||||
|
|
||||||
type service struct {
|
type service struct {
|
||||||
snapshotter snapshot.Snapshotter
|
snapshotters map[string]snapshot.Snapshotter
|
||||||
emitter events.Poster
|
defaultSnapshotterName string
|
||||||
|
emitter events.Poster
|
||||||
}
|
}
|
||||||
|
|
||||||
func newService(ic *plugin.InitContext) (interface{}, error) {
|
func newService(ic *plugin.InitContext) (interface{}, error) {
|
||||||
evts := events.GetPoster(ic.Context)
|
evts := events.GetPoster(ic.Context)
|
||||||
snapshotters, err := ic.GetAll(plugin.SnapshotPlugin)
|
rawSnapshotters, err := ic.GetAll(plugin.SnapshotPlugin)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
cfg := ic.Config.(*config)
|
|
||||||
|
|
||||||
sn, ok := snapshotters[cfg.Default]
|
|
||||||
if !ok {
|
|
||||||
return nil, errors.Errorf("default snapshotter not loaded: %s", cfg.Default)
|
|
||||||
}
|
|
||||||
|
|
||||||
md, err := ic.Get(plugin.MetadataPlugin)
|
md, err := ic.Get(plugin.MetadataPlugin)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
snapshotters := make(map[string]snapshot.Snapshotter)
|
||||||
|
for name, sn := range rawSnapshotters {
|
||||||
|
snapshotters[name] = metadata.NewSnapshotter(md.(*bolt.DB), name, sn.(snapshot.Snapshotter))
|
||||||
|
}
|
||||||
|
|
||||||
|
cfg := ic.Config.(*config)
|
||||||
|
_, ok := snapshotters[cfg.Default]
|
||||||
|
if !ok {
|
||||||
|
return nil, errors.Errorf("default snapshotter not loaded: %s", cfg.Default)
|
||||||
|
}
|
||||||
|
|
||||||
return &service{
|
return &service{
|
||||||
snapshotter: metadata.NewSnapshotter(md.(*bolt.DB), cfg.Default, sn.(snapshot.Snapshotter)),
|
snapshotters: snapshotters,
|
||||||
emitter: evts,
|
defaultSnapshotterName: cfg.Default,
|
||||||
|
emitter: evts,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *service) getSnapshotter(name string) (snapshot.Snapshotter, error) {
|
||||||
|
if name == "" {
|
||||||
|
name = s.defaultSnapshotterName
|
||||||
|
}
|
||||||
|
sn, ok := s.snapshotters[name]
|
||||||
|
if !ok {
|
||||||
|
return nil, errors.Errorf("snapshotter not loaded: %s", name)
|
||||||
|
}
|
||||||
|
return sn, nil
|
||||||
|
}
|
||||||
|
|
||||||
func (s *service) Register(gs *grpc.Server) error {
|
func (s *service) Register(gs *grpc.Server) error {
|
||||||
snapshotapi.RegisterSnapshotsServer(gs, s)
|
snapshotapi.RegisterSnapshotsServer(gs, s)
|
||||||
return nil
|
return nil
|
||||||
@ -78,9 +94,13 @@ func (s *service) Register(gs *grpc.Server) error {
|
|||||||
|
|
||||||
func (s *service) Prepare(ctx context.Context, pr *snapshotapi.PrepareSnapshotRequest) (*snapshotapi.PrepareSnapshotResponse, error) {
|
func (s *service) Prepare(ctx context.Context, pr *snapshotapi.PrepareSnapshotRequest) (*snapshotapi.PrepareSnapshotResponse, error) {
|
||||||
log.G(ctx).WithField("parent", pr.Parent).WithField("key", pr.Key).Debugf("Preparing snapshot")
|
log.G(ctx).WithField("parent", pr.Parent).WithField("key", pr.Key).Debugf("Preparing snapshot")
|
||||||
|
sn, err := s.getSnapshotter(pr.Snapshotter)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
// TODO: Apply namespace
|
// TODO: Apply namespace
|
||||||
// TODO: Lookup snapshot id from metadata store
|
// TODO: Lookup snapshot id from metadata store
|
||||||
mounts, err := s.snapshotter.Prepare(ctx, pr.Key, pr.Parent)
|
mounts, err := sn.Prepare(ctx, pr.Key, pr.Parent)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errdefs.ToGRPC(err)
|
return nil, errdefs.ToGRPC(err)
|
||||||
}
|
}
|
||||||
@ -98,9 +118,13 @@ func (s *service) Prepare(ctx context.Context, pr *snapshotapi.PrepareSnapshotRe
|
|||||||
|
|
||||||
func (s *service) View(ctx context.Context, pr *snapshotapi.ViewSnapshotRequest) (*snapshotapi.ViewSnapshotResponse, error) {
|
func (s *service) View(ctx context.Context, pr *snapshotapi.ViewSnapshotRequest) (*snapshotapi.ViewSnapshotResponse, error) {
|
||||||
log.G(ctx).WithField("parent", pr.Parent).WithField("key", pr.Key).Debugf("Preparing view snapshot")
|
log.G(ctx).WithField("parent", pr.Parent).WithField("key", pr.Key).Debugf("Preparing view snapshot")
|
||||||
|
sn, err := s.getSnapshotter(pr.Snapshotter)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
// TODO: Apply namespace
|
// TODO: Apply namespace
|
||||||
// TODO: Lookup snapshot id from metadata store
|
// TODO: Lookup snapshot id from metadata store
|
||||||
mounts, err := s.snapshotter.View(ctx, pr.Key, pr.Parent)
|
mounts, err := sn.View(ctx, pr.Key, pr.Parent)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errdefs.ToGRPC(err)
|
return nil, errdefs.ToGRPC(err)
|
||||||
}
|
}
|
||||||
@ -111,9 +135,13 @@ func (s *service) View(ctx context.Context, pr *snapshotapi.ViewSnapshotRequest)
|
|||||||
|
|
||||||
func (s *service) Mounts(ctx context.Context, mr *snapshotapi.MountsRequest) (*snapshotapi.MountsResponse, error) {
|
func (s *service) Mounts(ctx context.Context, mr *snapshotapi.MountsRequest) (*snapshotapi.MountsResponse, error) {
|
||||||
log.G(ctx).WithField("key", mr.Key).Debugf("Getting snapshot mounts")
|
log.G(ctx).WithField("key", mr.Key).Debugf("Getting snapshot mounts")
|
||||||
|
sn, err := s.getSnapshotter(mr.Snapshotter)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
// TODO: Apply namespace
|
// TODO: Apply namespace
|
||||||
// TODO: Lookup snapshot id from metadata store
|
// TODO: Lookup snapshot id from metadata store
|
||||||
mounts, err := s.snapshotter.Mounts(ctx, mr.Key)
|
mounts, err := sn.Mounts(ctx, mr.Key)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errdefs.ToGRPC(err)
|
return nil, errdefs.ToGRPC(err)
|
||||||
}
|
}
|
||||||
@ -124,9 +152,13 @@ func (s *service) Mounts(ctx context.Context, mr *snapshotapi.MountsRequest) (*s
|
|||||||
|
|
||||||
func (s *service) Commit(ctx context.Context, cr *snapshotapi.CommitSnapshotRequest) (*protoempty.Empty, error) {
|
func (s *service) Commit(ctx context.Context, cr *snapshotapi.CommitSnapshotRequest) (*protoempty.Empty, error) {
|
||||||
log.G(ctx).WithField("key", cr.Key).WithField("name", cr.Name).Debugf("Committing snapshot")
|
log.G(ctx).WithField("key", cr.Key).WithField("name", cr.Name).Debugf("Committing snapshot")
|
||||||
|
sn, err := s.getSnapshotter(cr.Snapshotter)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
// TODO: Apply namespace
|
// TODO: Apply namespace
|
||||||
// TODO: Lookup snapshot id from metadata store
|
// TODO: Lookup snapshot id from metadata store
|
||||||
if err := s.snapshotter.Commit(ctx, cr.Name, cr.Key); err != nil {
|
if err := sn.Commit(ctx, cr.Name, cr.Key); err != nil {
|
||||||
return nil, errdefs.ToGRPC(err)
|
return nil, errdefs.ToGRPC(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -141,9 +173,13 @@ func (s *service) Commit(ctx context.Context, cr *snapshotapi.CommitSnapshotRequ
|
|||||||
|
|
||||||
func (s *service) Remove(ctx context.Context, rr *snapshotapi.RemoveSnapshotRequest) (*protoempty.Empty, error) {
|
func (s *service) Remove(ctx context.Context, rr *snapshotapi.RemoveSnapshotRequest) (*protoempty.Empty, error) {
|
||||||
log.G(ctx).WithField("key", rr.Key).Debugf("Removing snapshot")
|
log.G(ctx).WithField("key", rr.Key).Debugf("Removing snapshot")
|
||||||
|
sn, err := s.getSnapshotter(rr.Snapshotter)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
// TODO: Apply namespace
|
// TODO: Apply namespace
|
||||||
// TODO: Lookup snapshot id from metadata store
|
// TODO: Lookup snapshot id from metadata store
|
||||||
if err := s.snapshotter.Remove(ctx, rr.Key); err != nil {
|
if err := sn.Remove(ctx, rr.Key); err != nil {
|
||||||
return nil, errdefs.ToGRPC(err)
|
return nil, errdefs.ToGRPC(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -157,8 +193,12 @@ func (s *service) Remove(ctx context.Context, rr *snapshotapi.RemoveSnapshotRequ
|
|||||||
|
|
||||||
func (s *service) Stat(ctx context.Context, sr *snapshotapi.StatSnapshotRequest) (*snapshotapi.StatSnapshotResponse, error) {
|
func (s *service) Stat(ctx context.Context, sr *snapshotapi.StatSnapshotRequest) (*snapshotapi.StatSnapshotResponse, error) {
|
||||||
log.G(ctx).WithField("key", sr.Key).Debugf("Statting snapshot")
|
log.G(ctx).WithField("key", sr.Key).Debugf("Statting snapshot")
|
||||||
|
sn, err := s.getSnapshotter(sr.Snapshotter)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
// TODO: Apply namespace
|
// TODO: Apply namespace
|
||||||
info, err := s.snapshotter.Stat(ctx, sr.Key)
|
info, err := sn.Stat(ctx, sr.Key)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errdefs.ToGRPC(err)
|
return nil, errdefs.ToGRPC(err)
|
||||||
}
|
}
|
||||||
@ -167,6 +207,10 @@ func (s *service) Stat(ctx context.Context, sr *snapshotapi.StatSnapshotRequest)
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *service) List(sr *snapshotapi.ListSnapshotsRequest, ss snapshotapi.Snapshots_ListServer) error {
|
func (s *service) List(sr *snapshotapi.ListSnapshotsRequest, ss snapshotapi.Snapshots_ListServer) error {
|
||||||
|
sn, err := s.getSnapshotter(sr.Snapshotter)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
// TODO: Apply namespace
|
// TODO: Apply namespace
|
||||||
var (
|
var (
|
||||||
buffer []snapshotapi.Info
|
buffer []snapshotapi.Info
|
||||||
@ -176,7 +220,7 @@ func (s *service) List(sr *snapshotapi.ListSnapshotsRequest, ss snapshotapi.Snap
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
err := s.snapshotter.Walk(ss.Context(), func(ctx gocontext.Context, info snapshot.Info) error {
|
err = sn.Walk(ss.Context(), func(ctx gocontext.Context, info snapshot.Info) error {
|
||||||
buffer = append(buffer, fromInfo(info))
|
buffer = append(buffer, fromInfo(info))
|
||||||
|
|
||||||
if len(buffer) >= 100 {
|
if len(buffer) >= 100 {
|
||||||
@ -203,8 +247,12 @@ func (s *service) List(sr *snapshotapi.ListSnapshotsRequest, ss snapshotapi.Snap
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *service) Usage(ctx context.Context, ur *snapshotapi.UsageRequest) (*snapshotapi.UsageResponse, error) {
|
func (s *service) Usage(ctx context.Context, ur *snapshotapi.UsageRequest) (*snapshotapi.UsageResponse, error) {
|
||||||
|
sn, err := s.getSnapshotter(ur.Snapshotter)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
// TODO: Apply namespace
|
// TODO: Apply namespace
|
||||||
usage, err := s.snapshotter.Usage(ctx, ur.Key)
|
usage, err := sn.Usage(ctx, ur.Key)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errdefs.ToGRPC(err)
|
return nil, errdefs.ToGRPC(err)
|
||||||
}
|
}
|
||||||
|
6
task.go
6
task.go
@ -264,7 +264,7 @@ func (t *task) Checkpoint(ctx context.Context, opts ...CheckpointOpts) (d v1.Des
|
|||||||
if err := t.checkpointImage(ctx, &index, cr.Container.Image); err != nil {
|
if err := t.checkpointImage(ctx, &index, cr.Container.Image); err != nil {
|
||||||
return d, err
|
return d, err
|
||||||
}
|
}
|
||||||
if err := t.checkpointRWSnapshot(ctx, &index, cr.Container.RootFS); err != nil {
|
if err := t.checkpointRWSnapshot(ctx, &index, cr.Container.Snapshotter, cr.Container.RootFS); err != nil {
|
||||||
return d, err
|
return d, err
|
||||||
}
|
}
|
||||||
index.Annotations = make(map[string]string)
|
index.Annotations = make(map[string]string)
|
||||||
@ -307,8 +307,8 @@ func (t *task) checkpointTask(ctx context.Context, index *v1.Index, request *tas
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *task) checkpointRWSnapshot(ctx context.Context, index *v1.Index, id string) error {
|
func (t *task) checkpointRWSnapshot(ctx context.Context, index *v1.Index, snapshotterName string, id string) error {
|
||||||
rw, err := rootfs.Diff(ctx, id, fmt.Sprintf("checkpoint-rw-%s", id), t.client.SnapshotService(), t.client.DiffService())
|
rw, err := rootfs.Diff(ctx, id, fmt.Sprintf("checkpoint-rw-%s", id), t.client.SnapshotService(snapshotterName), t.client.DiffService())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user