Update execution and container services

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
This commit is contained in:
Michael Crosby 2016-12-02 10:27:51 -08:00
parent 052a18f5a4
commit d0e2f3778a
13 changed files with 4710 additions and 8241 deletions

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,118 @@
syntax = "proto3";
package containerd.v1;
import "empty.proto";
import "gogoproto/gogo.proto";
service ContainerService {
rpc Get(GetContainerRequest) returns (GetContainerResponse);
rpc Update(UpdateContainerRequest) returns (Empty);
rpc Pause(PauseContainerRequest) returns (Empty);
rpc Resume(ResumeContainerRequest) returns (Empty);
rpc CreateProcess(CreateProcessRequest) returns (CreateProcessResponse);
rpc GetProcess(GetProcessRequest) returns (GetProcessResponse);
rpc StartProcess(StartProcessRequest) returns (StartProcessResponse);
rpc SignalProcess(SignalProcessRequest) returns (Empty);
rpc DeleteProcess(DeleteProcessRequest) returns (Empty);
rpc ListProcesses(ListProcessesRequest) returns (ListProcessesResponse);
}
message CreateProcessRequest {
Process process = 1;
string stdin = 2;
string stdout = 3;
string stderr = 4;
}
message CreateProcessResponse {
Process process = 1;
}
message Container {
string id = 1 [(gogoproto.customname) = "ID"];
string bundle_path = 2;
Process process = 3;
Status status = 4;
}
message Process {
string id = 1 [(gogoproto.customname) = "ID"];
uint64 pid = 2;
repeated string args = 3;
repeated string env = 4;
User user = 5;
string cwd = 6;
bool terminal = 7;
}
enum Status {
CREATED = 0;
RUNNING = 1;
STOPPED = 2;
PAUSED = 3;
}
message User {
uint32 uid = 1;
uint32 gid = 2;
repeated uint32 additionalGids = 3;
}
message GetContainerRequest {
string id = 1 [(gogoproto.customname) = "ID"];
}
message GetContainerResponse {
Container container = 1;
}
message UpdateContainerRequest {
Container container = 1;
string bundle_path = 2;
}
message PauseContainerRequest {
string id = 1 [(gogoproto.customname) = "ID"];
}
message ResumeContainerRequest {
string id = 1 [(gogoproto.customname) = "ID"];
}
message StartProcessRequest {
Process process = 1;
}
message StartProcessResponse {
Process process = 1;
}
message GetProcessRequest {
Container container = 1;
string process_id = 2;
}
message GetProcessResponse {
Process process = 1;
}
message SignalProcessRequest {
Process process = 1;
uint32 signal = 2;
}
message DeleteProcessRequest {
Process process = 1;
}
message ListProcessesRequest {
Container container = 1;
}
message ListProcessesResponse {
repeated Process processes = 1;
}

317
api/execution/empty.pb.go Normal file
View file

@ -0,0 +1,317 @@
// Code generated by protoc-gen-gogo.
// source: empty.proto
// DO NOT EDIT!
package execution
import proto "github.com/gogo/protobuf/proto"
import fmt "fmt"
import math "math"
import _ "github.com/gogo/protobuf/gogoproto"
import strings "strings"
import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto"
import sort "sort"
import strconv "strconv"
import reflect "reflect"
import io "io"
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
type Empty struct {
}
func (m *Empty) Reset() { *m = Empty{} }
func (*Empty) ProtoMessage() {}
func (*Empty) Descriptor() ([]byte, []int) { return fileDescriptorEmpty, []int{0} }
func init() {
proto.RegisterType((*Empty)(nil), "containerd.v1.Empty")
}
func (this *Empty) GoString() string {
if this == nil {
return "nil"
}
s := make([]string, 0, 4)
s = append(s, "&execution.Empty{")
s = append(s, "}")
return strings.Join(s, "")
}
func valueToGoStringEmpty(v interface{}, typ string) string {
rv := reflect.ValueOf(v)
if rv.IsNil() {
return "nil"
}
pv := reflect.Indirect(rv).Interface()
return fmt.Sprintf("func(v %v) *%v { return &v } ( %#v )", typ, typ, pv)
}
func extensionToGoStringEmpty(m github_com_gogo_protobuf_proto.Message) string {
e := github_com_gogo_protobuf_proto.GetUnsafeExtensionsMap(m)
if e == nil {
return "nil"
}
s := "proto.NewUnsafeXXX_InternalExtensions(map[int32]proto.Extension{"
keys := make([]int, 0, len(e))
for k := range e {
keys = append(keys, int(k))
}
sort.Ints(keys)
ss := []string{}
for _, k := range keys {
ss = append(ss, strconv.Itoa(k)+": "+e[int32(k)].GoString())
}
s += strings.Join(ss, ",") + "})"
return s
}
func (m *Empty) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalTo(dAtA)
if err != nil {
return nil, err
}
return dAtA[:n], nil
}
func (m *Empty) MarshalTo(dAtA []byte) (int, error) {
var i int
_ = i
var l int
_ = l
return i, nil
}
func encodeFixed64Empty(dAtA []byte, offset int, v uint64) int {
dAtA[offset] = uint8(v)
dAtA[offset+1] = uint8(v >> 8)
dAtA[offset+2] = uint8(v >> 16)
dAtA[offset+3] = uint8(v >> 24)
dAtA[offset+4] = uint8(v >> 32)
dAtA[offset+5] = uint8(v >> 40)
dAtA[offset+6] = uint8(v >> 48)
dAtA[offset+7] = uint8(v >> 56)
return offset + 8
}
func encodeFixed32Empty(dAtA []byte, offset int, v uint32) int {
dAtA[offset] = uint8(v)
dAtA[offset+1] = uint8(v >> 8)
dAtA[offset+2] = uint8(v >> 16)
dAtA[offset+3] = uint8(v >> 24)
return offset + 4
}
func encodeVarintEmpty(dAtA []byte, offset int, v uint64) int {
for v >= 1<<7 {
dAtA[offset] = uint8(v&0x7f | 0x80)
v >>= 7
offset++
}
dAtA[offset] = uint8(v)
return offset + 1
}
func (m *Empty) Size() (n int) {
var l int
_ = l
return n
}
func sovEmpty(x uint64) (n int) {
for {
n++
x >>= 7
if x == 0 {
break
}
}
return n
}
func sozEmpty(x uint64) (n int) {
return sovEmpty(uint64((x << 1) ^ uint64((int64(x) >> 63))))
}
func (this *Empty) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&Empty{`,
`}`,
}, "")
return s
}
func valueToStringEmpty(v interface{}) string {
rv := reflect.ValueOf(v)
if rv.IsNil() {
return "nil"
}
pv := reflect.Indirect(rv).Interface()
return fmt.Sprintf("*%v", pv)
}
func (m *Empty) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
preIndex := iNdEx
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowEmpty
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
wire |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
return fmt.Errorf("proto: Empty: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: Empty: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
default:
iNdEx = preIndex
skippy, err := skipEmpty(dAtA[iNdEx:])
if err != nil {
return err
}
if skippy < 0 {
return ErrInvalidLengthEmpty
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
}
iNdEx += skippy
}
}
if iNdEx > l {
return io.ErrUnexpectedEOF
}
return nil
}
func skipEmpty(dAtA []byte) (n int, err error) {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return 0, ErrIntOverflowEmpty
}
if iNdEx >= l {
return 0, io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
wire |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
wireType := int(wire & 0x7)
switch wireType {
case 0:
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return 0, ErrIntOverflowEmpty
}
if iNdEx >= l {
return 0, io.ErrUnexpectedEOF
}
iNdEx++
if dAtA[iNdEx-1] < 0x80 {
break
}
}
return iNdEx, nil
case 1:
iNdEx += 8
return iNdEx, nil
case 2:
var length int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return 0, ErrIntOverflowEmpty
}
if iNdEx >= l {
return 0, io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
length |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
iNdEx += length
if length < 0 {
return 0, ErrInvalidLengthEmpty
}
return iNdEx, nil
case 3:
for {
var innerWire uint64
var start int = iNdEx
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return 0, ErrIntOverflowEmpty
}
if iNdEx >= l {
return 0, io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
innerWire |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
innerWireType := int(innerWire & 0x7)
if innerWireType == 4 {
break
}
next, err := skipEmpty(dAtA[start:])
if err != nil {
return 0, err
}
iNdEx = start + next
}
return iNdEx, nil
case 4:
return iNdEx, nil
case 5:
iNdEx += 4
return iNdEx, nil
default:
return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
}
}
panic("unreachable")
}
var (
ErrInvalidLengthEmpty = fmt.Errorf("proto: negative length found during unmarshaling")
ErrIntOverflowEmpty = fmt.Errorf("proto: integer overflow")
)
func init() { proto.RegisterFile("empty.proto", fileDescriptorEmpty) }
var fileDescriptorEmpty = []byte{
// 108 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0xe2, 0x4e, 0xcd, 0x2d, 0x28,
0xa9, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x4d, 0xce, 0xcf, 0x2b, 0x49, 0xcc, 0xcc,
0x4b, 0x2d, 0x4a, 0xd1, 0x2b, 0x33, 0x94, 0x12, 0x49, 0xcf, 0x4f, 0xcf, 0x07, 0xcb, 0xe8, 0x83,
0x58, 0x10, 0x45, 0x4a, 0xec, 0x5c, 0xac, 0xae, 0x20, 0x3d, 0x4e, 0x32, 0x27, 0x1e, 0xca, 0x31,
0xdc, 0x78, 0x28, 0xc7, 0xf0, 0xe1, 0xa1, 0x1c, 0x63, 0xc3, 0x23, 0x39, 0xc6, 0x13, 0x8f, 0xe4,
0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, 0x31, 0x89, 0x0d, 0xac, 0xda, 0x18, 0x10,
0x00, 0x00, 0xff, 0xff, 0xe0, 0x96, 0x22, 0x83, 0x61, 0x00, 0x00, 0x00,
}

View file

@ -0,0 +1,8 @@
syntax = "proto3";
package containerd.v1;
import "gogoproto/gogo.proto";
message Empty {
}

File diff suppressed because it is too large Load diff

View file

@ -2,86 +2,28 @@ syntax = "proto3";
package containerd.v1; package containerd.v1;
import "api/mount/mount.proto"; import "container.proto";
import "empty.proto";
import "gogoproto/gogo.proto"; import "gogoproto/gogo.proto";
service Execution { service ExecutionService{
rpc CreateContainer(CreateContainerRequest) returns (CreateContainerResponse); rpc Create(CreateContainerRequest) returns (CreateContainerResponse);
rpc StartContainer(StartContainerRequest) returns (StartContainerResponse); rpc Delete(DeleteContainerRequest) returns (Empty);
rpc DeleteContainer(DeleteContainerRequest) returns (DeleteContainerResponse); rpc List(ListContainersRequest) returns (ListContainersResponse);
rpc StateContainer(StateContainerRequest) returns (StateContainerResponse);
rpc UpdateContainer(UpdateContainerRequest) returns (UpdateContainerResponse);
rpc PauseContainer(PauseContainerRequest) returns (PauseContainerResponse);
rpc ResumeContainer(ResumeContainerRequest) returns (ResumeContainerResponse);
rpc ContainerList(ContainerListRequest) returns (ContainerListResponse);
rpc CreateProcess(CreateProcessRequest) returns (CreateProcessResponse);
rpc StartProcess(StartProcessRequest) returns (StartProcessResponse);
rpc ProcessState(ProcessStateRequest) returns (ProcessStateResponse);
rpc SignalProcess(SignalProcessRequest) returns (SignalProcessResponse);
rpc DeleteProcess(DeleteProcessRequest) returns (DeleteProcessResponse);
rpc ProcessList(ProcessListRequest) returns (ProcessListResponse);
rpc Events(EventsRequest) returns (stream EventsResponse);
}
message Container {
string id = 1 [(gogoproto.customname) = "ID"];
repeated Mount mounts = 2;
string owner = 3;
Process process = 4;
}
message Process {
uint64 pid = 1;
repeated string args = 2;
repeated string env = 3;
User user = 4;
string cwd = 5;
bool terminal = 6;
}
message ProcessSpec {
repeated string args = 1;
repeated string env = 2;
User user = 3;
string cwd = 4;
bool terminal = 5;
string stdin = 6;
string stdout = 7;
string stderr = 8;
}
message User {
uint32 uid = 1;
uint32 gid = 2;
repeated uint32 additionalGids = 3;
} }
message CreateContainerRequest { message CreateContainerRequest {
string id = 1 [(gogoproto.customname) = "ID"]; string id = 1 [(gogoproto.customname) = "ID"];
ProcessSpec process = 2; string bundle_path = 2;
repeated Mount mounts = 3; string stdin = 3;
string owner = 4; string stdout = 4;
string config_path = 5; string stderr = 5;
} }
message CreateContainerResponse { message CreateContainerResponse {
Container container = 1; Container container = 1;
} }
message StartContainerRequest {
string id = 1 [(gogoproto.customname) = "ID"];
}
message State {
}
message StartContainerResponse {
State state = 1;
}
message DeleteContainerRequest { message DeleteContainerRequest {
string id = 1 [(gogoproto.customname) = "ID"]; string id = 1 [(gogoproto.customname) = "ID"];
} }
@ -89,95 +31,10 @@ message DeleteContainerRequest {
message DeleteContainerResponse { message DeleteContainerResponse {
} }
message ContainerListRequest { message ListContainersRequest {
repeated string owner = 1; repeated string owner = 1;
} }
message ContainerListResponse { message ListContainersResponse {
repeated Container containers = 1; repeated Container containers = 1;
} }
message StateContainerRequest {
string id = 1 [(gogoproto.customname) = "ID"];
}
message StateContainerResponse {
Container container = 1;
}
message UpdateContainerRequest {
string id = 1 [(gogoproto.customname) = "ID"];
}
message UpdateContainerResponse {
}
message PauseContainerRequest {
string id = 1 [(gogoproto.customname) = "ID"];
}
message PauseContainerResponse {
}
message ResumeContainerRequest {
string id = 1 [(gogoproto.customname) = "ID"];
}
message ResumeContainerResponse {
}
message CreateProcessRequest {
string id = 1 [(gogoproto.customname) = "ID"];
ProcessSpec spec = 2;
}
message CreateProcessResponse {
}
message StartProcessRequest {
string cid = 1;
string pid = 2;
}
message StartProcessResponse {
uint32 pid = 1;
}
message ProcessStateRequest {
string cid = 1;
string pid = 2;
}
message ProcessStateResponse {
State state = 1;
}
message SignalProcessRequest {
string cid = 1;
string pid = 2;
uint32 signal = 3;
}
message SignalProcessResponse {
}
message DeleteProcessRequest {
string cid = 1;
string pid = 2;
}
message DeleteProcessResponse {
}
message ProcessListRequest {
string id = 1 [(gogoproto.customname) = "ID"];
}
message ProcessListResponse {
}
message EventsRequest {
}
message EventsResponse {
}

View file

@ -1,3 +1,3 @@
package execution package execution
//go:generate protoc -I.:../..:../../../../../github.com/gogo/protobuf:/usr/local/include --gogoctrd_out=plugins=grpc,import_path=github.com/docker/containerd/api/execution,Mgogoproto/gogo.proto=github.com/gogo/protobuf/gogoproto,Mgoogle/protobuf/descriptor.proto=github.com/gogo/protobuf/protoc-gen-gogo/descriptor,Mapi/mount/mount.proto=github.com/docker/containerd/api/mount:. execution.proto //go:generate protoc -I.:../..:../../../../../github.com/gogo/protobuf:/usr/local/include --gogoctrd_out=plugins=grpc,import_path=github.com/docker/containerd/api/execution,Mgogoproto/gogo.proto=github.com/gogo/protobuf/gogoproto,Mgoogle/protobuf/descriptor.proto=github.com/gogo/protobuf/protoc-gen-gogo/descriptor:. execution.proto empty.proto container.proto

View file

@ -1,3 +0,0 @@
package mount
//go:generate protoc -I.:../../../../../github.com/gogo/protobuf:/usr/local/include --gogoctrd_out=plugins=grpc,import_path=github.com/docker/containerd/api/mount,Mgogoproto/gogo.proto=github.com/gogo/protobuf/gogoproto,Mgoogle/protobuf/descriptor.proto=github.com/gogo/protobuf/protoc-gen-gogo/descriptor:. mount.proto

View file

@ -1,515 +0,0 @@
// Code generated by protoc-gen-gogo.
// source: mount.proto
// DO NOT EDIT!
/*
Package mount is a generated protocol buffer package.
It is generated from these files:
mount.proto
It has these top-level messages:
Mount
*/
package mount
import proto "github.com/gogo/protobuf/proto"
import fmt "fmt"
import math "math"
import _ "github.com/gogo/protobuf/gogoproto"
import strings "strings"
import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto"
import sort "sort"
import strconv "strconv"
import reflect "reflect"
import io "io"
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
type Mount struct {
Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
Target string `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
Source string `protobuf:"bytes,3,opt,name=source,proto3" json:"source,omitempty"`
Options []string `protobuf:"bytes,4,rep,name=options" json:"options,omitempty"`
}
func (m *Mount) Reset() { *m = Mount{} }
func (*Mount) ProtoMessage() {}
func (*Mount) Descriptor() ([]byte, []int) { return fileDescriptorMount, []int{0} }
func init() {
proto.RegisterType((*Mount)(nil), "containerd.v1.Mount")
}
func (this *Mount) GoString() string {
if this == nil {
return "nil"
}
s := make([]string, 0, 8)
s = append(s, "&mount.Mount{")
s = append(s, "Type: "+fmt.Sprintf("%#v", this.Type)+",\n")
s = append(s, "Target: "+fmt.Sprintf("%#v", this.Target)+",\n")
s = append(s, "Source: "+fmt.Sprintf("%#v", this.Source)+",\n")
s = append(s, "Options: "+fmt.Sprintf("%#v", this.Options)+",\n")
s = append(s, "}")
return strings.Join(s, "")
}
func valueToGoStringMount(v interface{}, typ string) string {
rv := reflect.ValueOf(v)
if rv.IsNil() {
return "nil"
}
pv := reflect.Indirect(rv).Interface()
return fmt.Sprintf("func(v %v) *%v { return &v } ( %#v )", typ, typ, pv)
}
func extensionToGoStringMount(m github_com_gogo_protobuf_proto.Message) string {
e := github_com_gogo_protobuf_proto.GetUnsafeExtensionsMap(m)
if e == nil {
return "nil"
}
s := "proto.NewUnsafeXXX_InternalExtensions(map[int32]proto.Extension{"
keys := make([]int, 0, len(e))
for k := range e {
keys = append(keys, int(k))
}
sort.Ints(keys)
ss := []string{}
for _, k := range keys {
ss = append(ss, strconv.Itoa(k)+": "+e[int32(k)].GoString())
}
s += strings.Join(ss, ",") + "})"
return s
}
func (m *Mount) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
n, err := m.MarshalTo(dAtA)
if err != nil {
return nil, err
}
return dAtA[:n], nil
}
func (m *Mount) MarshalTo(dAtA []byte) (int, error) {
var i int
_ = i
var l int
_ = l
if len(m.Type) > 0 {
dAtA[i] = 0xa
i++
i = encodeVarintMount(dAtA, i, uint64(len(m.Type)))
i += copy(dAtA[i:], m.Type)
}
if len(m.Target) > 0 {
dAtA[i] = 0x12
i++
i = encodeVarintMount(dAtA, i, uint64(len(m.Target)))
i += copy(dAtA[i:], m.Target)
}
if len(m.Source) > 0 {
dAtA[i] = 0x1a
i++
i = encodeVarintMount(dAtA, i, uint64(len(m.Source)))
i += copy(dAtA[i:], m.Source)
}
if len(m.Options) > 0 {
for _, s := range m.Options {
dAtA[i] = 0x22
i++
l = len(s)
for l >= 1<<7 {
dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
l >>= 7
i++
}
dAtA[i] = uint8(l)
i++
i += copy(dAtA[i:], s)
}
}
return i, nil
}
func encodeFixed64Mount(dAtA []byte, offset int, v uint64) int {
dAtA[offset] = uint8(v)
dAtA[offset+1] = uint8(v >> 8)
dAtA[offset+2] = uint8(v >> 16)
dAtA[offset+3] = uint8(v >> 24)
dAtA[offset+4] = uint8(v >> 32)
dAtA[offset+5] = uint8(v >> 40)
dAtA[offset+6] = uint8(v >> 48)
dAtA[offset+7] = uint8(v >> 56)
return offset + 8
}
func encodeFixed32Mount(dAtA []byte, offset int, v uint32) int {
dAtA[offset] = uint8(v)
dAtA[offset+1] = uint8(v >> 8)
dAtA[offset+2] = uint8(v >> 16)
dAtA[offset+3] = uint8(v >> 24)
return offset + 4
}
func encodeVarintMount(dAtA []byte, offset int, v uint64) int {
for v >= 1<<7 {
dAtA[offset] = uint8(v&0x7f | 0x80)
v >>= 7
offset++
}
dAtA[offset] = uint8(v)
return offset + 1
}
func (m *Mount) Size() (n int) {
var l int
_ = l
l = len(m.Type)
if l > 0 {
n += 1 + l + sovMount(uint64(l))
}
l = len(m.Target)
if l > 0 {
n += 1 + l + sovMount(uint64(l))
}
l = len(m.Source)
if l > 0 {
n += 1 + l + sovMount(uint64(l))
}
if len(m.Options) > 0 {
for _, s := range m.Options {
l = len(s)
n += 1 + l + sovMount(uint64(l))
}
}
return n
}
func sovMount(x uint64) (n int) {
for {
n++
x >>= 7
if x == 0 {
break
}
}
return n
}
func sozMount(x uint64) (n int) {
return sovMount(uint64((x << 1) ^ uint64((int64(x) >> 63))))
}
func (this *Mount) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&Mount{`,
`Type:` + fmt.Sprintf("%v", this.Type) + `,`,
`Target:` + fmt.Sprintf("%v", this.Target) + `,`,
`Source:` + fmt.Sprintf("%v", this.Source) + `,`,
`Options:` + fmt.Sprintf("%v", this.Options) + `,`,
`}`,
}, "")
return s
}
func valueToStringMount(v interface{}) string {
rv := reflect.ValueOf(v)
if rv.IsNil() {
return "nil"
}
pv := reflect.Indirect(rv).Interface()
return fmt.Sprintf("*%v", pv)
}
func (m *Mount) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
preIndex := iNdEx
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowMount
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
wire |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
return fmt.Errorf("proto: Mount: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: Mount: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowMount
}
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 ErrInvalidLengthMount
}
postIndex := iNdEx + intStringLen
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Type = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 2:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Target", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowMount
}
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 ErrInvalidLengthMount
}
postIndex := iNdEx + intStringLen
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Target = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 3:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Source", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowMount
}
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 ErrInvalidLengthMount
}
postIndex := iNdEx + intStringLen
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Source = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
case 4:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Options", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowMount
}
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 ErrInvalidLengthMount
}
postIndex := iNdEx + intStringLen
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Options = append(m.Options, string(dAtA[iNdEx:postIndex]))
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipMount(dAtA[iNdEx:])
if err != nil {
return err
}
if skippy < 0 {
return ErrInvalidLengthMount
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
}
iNdEx += skippy
}
}
if iNdEx > l {
return io.ErrUnexpectedEOF
}
return nil
}
func skipMount(dAtA []byte) (n int, err error) {
l := len(dAtA)
iNdEx := 0
for iNdEx < l {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return 0, ErrIntOverflowMount
}
if iNdEx >= l {
return 0, io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
wire |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
wireType := int(wire & 0x7)
switch wireType {
case 0:
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return 0, ErrIntOverflowMount
}
if iNdEx >= l {
return 0, io.ErrUnexpectedEOF
}
iNdEx++
if dAtA[iNdEx-1] < 0x80 {
break
}
}
return iNdEx, nil
case 1:
iNdEx += 8
return iNdEx, nil
case 2:
var length int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return 0, ErrIntOverflowMount
}
if iNdEx >= l {
return 0, io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
length |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
iNdEx += length
if length < 0 {
return 0, ErrInvalidLengthMount
}
return iNdEx, nil
case 3:
for {
var innerWire uint64
var start int = iNdEx
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return 0, ErrIntOverflowMount
}
if iNdEx >= l {
return 0, io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
innerWire |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
innerWireType := int(innerWire & 0x7)
if innerWireType == 4 {
break
}
next, err := skipMount(dAtA[start:])
if err != nil {
return 0, err
}
iNdEx = start + next
}
return iNdEx, nil
case 4:
return iNdEx, nil
case 5:
iNdEx += 4
return iNdEx, nil
default:
return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
}
}
panic("unreachable")
}
var (
ErrInvalidLengthMount = fmt.Errorf("proto: negative length found during unmarshaling")
ErrIntOverflowMount = fmt.Errorf("proto: integer overflow")
)
func init() { proto.RegisterFile("mount.proto", fileDescriptorMount) }
var fileDescriptorMount = []byte{
// 174 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0xe2, 0xce, 0xcd, 0x2f, 0xcd,
0x2b, 0xd1, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x4d, 0xce, 0xcf, 0x2b, 0x49, 0xcc, 0xcc,
0x4b, 0x2d, 0x4a, 0xd1, 0x2b, 0x33, 0x94, 0x12, 0x49, 0xcf, 0x4f, 0xcf, 0x07, 0xcb, 0xe8, 0x83,
0x58, 0x10, 0x45, 0x4a, 0xa9, 0x5c, 0xac, 0xbe, 0x20, 0x3d, 0x42, 0x42, 0x5c, 0x2c, 0x25, 0x95,
0x05, 0xa9, 0x12, 0x8c, 0x0a, 0x8c, 0x1a, 0x9c, 0x41, 0x60, 0xb6, 0x90, 0x18, 0x17, 0x5b, 0x49,
0x62, 0x51, 0x7a, 0x6a, 0x89, 0x04, 0x13, 0x58, 0x14, 0xca, 0x03, 0x89, 0x17, 0xe7, 0x97, 0x16,
0x25, 0xa7, 0x4a, 0x30, 0x43, 0xc4, 0x21, 0x3c, 0x21, 0x09, 0x2e, 0xf6, 0xfc, 0x82, 0x92, 0xcc,
0xfc, 0xbc, 0x62, 0x09, 0x16, 0x05, 0x66, 0x0d, 0xce, 0x20, 0x18, 0xd7, 0x49, 0xe6, 0xc4, 0x43,
0x39, 0x86, 0x1b, 0x0f, 0xe5, 0x18, 0x3e, 0x3c, 0x94, 0x63, 0x6c, 0x78, 0x24, 0xc7, 0x78, 0xe2,
0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0x26, 0xb1, 0x81, 0xdd, 0x62,
0x0c, 0x08, 0x00, 0x00, 0xff, 0xff, 0x3d, 0x07, 0xde, 0xe3, 0xbf, 0x00, 0x00, 0x00,
}

View file

@ -1,12 +0,0 @@
syntax = "proto3";
package containerd.v1;
import "gogoproto/gogo.proto";
message Mount {
string type = 1;
string target = 2;
string source = 3;
repeated string options = 4;
}

View file

@ -1,3 +0,0 @@
package registry
//go:generate protoc -I.:../../../../../github.com/gogo/protobuf:/usr/local/include --gogoctrd_out=plugins=grpc,import_path=github.com/docker/containerd/api/registry,Mgogoproto/gogo.proto=github.com/gogo/protobuf/gogoproto,Mgoogle/protobuf/descriptor.proto=github.com/gogo/protobuf/protoc-gen-gogo/descriptor:. registry.proto

File diff suppressed because it is too large Load diff

View file

@ -1,53 +0,0 @@
syntax = "proto3";
package containerd.v1;
import "gogoproto/gogo.proto";
service Registry {
// Pull an image from a registry
rpc Pull(PullRequest) returns (PullResponse);
// Push pushes a new or existing image to a registry
rpc Push(PushRequest) returns (PushResponse);
// Delete deletes an image from the registry
rpc Delete(DeleteRequest) returns (DeleteResponse);
// Status returns a progress stream of the push or pull operation
rpc Status(StatusRequest) returns (stream StatusResponse);
// Cancel cancels a push or pull operation
rpc Cancel(CancelRequest) returns (CancelResponse);
}
message PullRequest {
string uri = 1;
Authentication auth = 2;
}
message PullResponse {
string id = 1 [(gogoproto.customname) = "ID"];
repeated Layer layers = 2;
}
message PushRequest {}
message PushResponse {}
message StatusRequest {}
message StatusResponse {}
message DeleteRequest {}
message DeleteResponse {}
message CancelRequest{}
message CancelResponse{}
message Layer {
string id = 1 [(gogoproto.customname) = "ID"];
uint64 size = 2;
}
// TODO: we have no clue what should go here, halp stevvooo
message Authentication {
string username = 1;
string password = 2;
}