containerd: 57b7c3da915ebe943bd304c00890959b191e5264
runc: d49ece5a83da3dcb820121d6850e2b61bd0a5fbe
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
| ... | ... |
@@ -250,7 +250,7 @@ RUN set -x \ |
| 250 | 250 |
&& rm -rf "$GOPATH" |
| 251 | 251 |
|
| 252 | 252 |
# Install runc |
| 253 |
-ENV RUNC_COMMIT baf6536d6259209c3edfa2b22237af82942d3dfa |
|
| 253 |
+ENV RUNC_COMMIT d49ece5a83da3dcb820121d6850e2b61bd0a5fbe |
|
| 254 | 254 |
RUN set -x \ |
| 255 | 255 |
&& export GOPATH="$(mktemp -d)" \ |
| 256 | 256 |
&& git clone https://github.com/opencontainers/runc.git "$GOPATH/src/github.com/opencontainers/runc" \ |
| ... | ... |
@@ -261,7 +261,7 @@ RUN set -x \ |
| 261 | 261 |
&& rm -rf "$GOPATH" |
| 262 | 262 |
|
| 263 | 263 |
# Install containerd |
| 264 |
-ENV CONTAINERD_COMMIT v0.2.1 |
|
| 264 |
+ENV CONTAINERD_COMMIT 57b7c3da915ebe943bd304c00890959b191e5264 |
|
| 265 | 265 |
RUN set -x \ |
| 266 | 266 |
&& export GOPATH="$(mktemp -d)" \ |
| 267 | 267 |
&& git clone https://github.com/docker/containerd.git "$GOPATH/src/github.com/docker/containerd" \ |
| ... | ... |
@@ -181,7 +181,7 @@ RUN set -x \ |
| 181 | 181 |
&& rm -rf "$GOPATH" |
| 182 | 182 |
|
| 183 | 183 |
# Install runc |
| 184 |
-ENV RUNC_COMMIT baf6536d6259209c3edfa2b22237af82942d3dfa |
|
| 184 |
+ENV RUNC_COMMIT d49ece5a83da3dcb820121d6850e2b61bd0a5fbe |
|
| 185 | 185 |
RUN set -x \ |
| 186 | 186 |
&& export GOPATH="$(mktemp -d)" \ |
| 187 | 187 |
&& git clone https://github.com/opencontainers/runc.git "$GOPATH/src/github.com/opencontainers/runc" \ |
| ... | ... |
@@ -192,7 +192,7 @@ RUN set -x \ |
| 192 | 192 |
&& rm -rf "$GOPATH" |
| 193 | 193 |
|
| 194 | 194 |
# Install containerd |
| 195 |
-ENV CONTAINERD_COMMIT v0.2.1 |
|
| 195 |
+ENV CONTAINERD_COMMIT 57b7c3da915ebe943bd304c00890959b191e5264 |
|
| 196 | 196 |
RUN set -x \ |
| 197 | 197 |
&& export GOPATH="$(mktemp -d)" \ |
| 198 | 198 |
&& git clone https://github.com/docker/containerd.git "$GOPATH/src/github.com/docker/containerd" \ |
| ... | ... |
@@ -192,7 +192,7 @@ RUN set -x \ |
| 192 | 192 |
&& rm -rf "$GOPATH" |
| 193 | 193 |
|
| 194 | 194 |
# Install runc |
| 195 |
-ENV RUNC_COMMIT baf6536d6259209c3edfa2b22237af82942d3dfa |
|
| 195 |
+ENV RUNC_COMMIT d49ece5a83da3dcb820121d6850e2b61bd0a5fbe |
|
| 196 | 196 |
RUN set -x \ |
| 197 | 197 |
&& export GOPATH="$(mktemp -d)" \ |
| 198 | 198 |
&& git clone https://github.com/opencontainers/runc.git "$GOPATH/src/github.com/opencontainers/runc" \ |
| ... | ... |
@@ -203,7 +203,7 @@ RUN set -x \ |
| 203 | 203 |
&& rm -rf "$GOPATH" |
| 204 | 204 |
|
| 205 | 205 |
# Install containerd |
| 206 |
-ENV CONTAINERD_COMMIT v0.2.1 |
|
| 206 |
+ENV CONTAINERD_COMMIT 57b7c3da915ebe943bd304c00890959b191e5264 |
|
| 207 | 207 |
RUN set -x \ |
| 208 | 208 |
&& export GOPATH="$(mktemp -d)" \ |
| 209 | 209 |
&& git clone https://github.com/docker/containerd.git "$GOPATH/src/github.com/docker/containerd" \ |
| ... | ... |
@@ -74,7 +74,7 @@ WORKDIR /go/src/github.com/docker/docker |
| 74 | 74 |
ENV DOCKER_BUILDTAGS apparmor seccomp selinux |
| 75 | 75 |
|
| 76 | 76 |
# Install runc |
| 77 |
-ENV RUNC_COMMIT baf6536d6259209c3edfa2b22237af82942d3dfa |
|
| 77 |
+ENV RUNC_COMMIT d49ece5a83da3dcb820121d6850e2b61bd0a5fbe |
|
| 78 | 78 |
RUN set -x \ |
| 79 | 79 |
&& export GOPATH="$(mktemp -d)" \ |
| 80 | 80 |
&& git clone https://github.com/opencontainers/runc.git "$GOPATH/src/github.com/opencontainers/runc" \ |
| ... | ... |
@@ -85,7 +85,7 @@ RUN set -x \ |
| 85 | 85 |
&& rm -rf "$GOPATH" |
| 86 | 86 |
|
| 87 | 87 |
# Install containerd |
| 88 |
-ENV CONTAINERD_COMMIT v0.2.1 |
|
| 88 |
+ENV CONTAINERD_COMMIT 57b7c3da915ebe943bd304c00890959b191e5264 |
|
| 89 | 89 |
RUN set -x \ |
| 90 | 90 |
&& export GOPATH="$(mktemp -d)" \ |
| 91 | 91 |
&& git clone https://github.com/docker/containerd.git "$GOPATH/src/github.com/docker/containerd" \ |
| ... | ... |
@@ -204,7 +204,7 @@ RUN set -x \ |
| 204 | 204 |
&& rm -rf "$GOPATH" |
| 205 | 205 |
|
| 206 | 206 |
# Install runc |
| 207 |
-ENV RUNC_COMMIT baf6536d6259209c3edfa2b22237af82942d3dfa |
|
| 207 |
+ENV RUNC_COMMIT d49ece5a83da3dcb820121d6850e2b61bd0a5fbe |
|
| 208 | 208 |
RUN set -x \ |
| 209 | 209 |
&& export GOPATH="$(mktemp -d)" \ |
| 210 | 210 |
&& git clone https://github.com/opencontainers/runc.git "$GOPATH/src/github.com/opencontainers/runc" \ |
| ... | ... |
@@ -215,7 +215,7 @@ RUN set -x \ |
| 215 | 215 |
&& rm -rf "$GOPATH" |
| 216 | 216 |
|
| 217 | 217 |
# Install containerd |
| 218 |
-ENV CONTAINERD_COMMIT v0.2.1 |
|
| 218 |
+ENV CONTAINERD_COMMIT 57b7c3da915ebe943bd304c00890959b191e5264 |
|
| 219 | 219 |
RUN set -x \ |
| 220 | 220 |
&& export GOPATH="$(mktemp -d)" \ |
| 221 | 221 |
&& git clone https://github.com/docker/containerd.git "$GOPATH/src/github.com/docker/containerd" \ |
| ... | ... |
@@ -194,7 +194,7 @@ RUN set -x \ |
| 194 | 194 |
&& rm -rf "$GOPATH" |
| 195 | 195 |
|
| 196 | 196 |
# Install runc |
| 197 |
-ENV RUNC_COMMIT baf6536d6259209c3edfa2b22237af82942d3dfa |
|
| 197 |
+ENV RUNC_COMMIT d49ece5a83da3dcb820121d6850e2b61bd0a5fbe |
|
| 198 | 198 |
RUN set -x \ |
| 199 | 199 |
&& export GOPATH="$(mktemp -d)" \ |
| 200 | 200 |
&& git clone https://github.com/opencontainers/runc.git "$GOPATH/src/github.com/opencontainers/runc" \ |
| ... | ... |
@@ -205,7 +205,7 @@ RUN set -x \ |
| 205 | 205 |
&& rm -rf "$GOPATH" |
| 206 | 206 |
|
| 207 | 207 |
# Install containerd |
| 208 |
-ENV CONTAINERD_COMMIT v0.2.1 |
|
| 208 |
+ENV CONTAINERD_COMMIT 57b7c3da915ebe943bd304c00890959b191e5264 |
|
| 209 | 209 |
RUN set -x \ |
| 210 | 210 |
&& export GOPATH="$(mktemp -d)" \ |
| 211 | 211 |
&& git clone https://github.com/docker/containerd.git "$GOPATH/src/github.com/docker/containerd" \ |
| ... | ... |
@@ -57,7 +57,7 @@ ENV GOPATH /go:/go/src/github.com/docker/docker/vendor |
| 57 | 57 |
ENV CGO_LDFLAGS -L/lib |
| 58 | 58 |
|
| 59 | 59 |
# Install runc |
| 60 |
-ENV RUNC_COMMIT baf6536d6259209c3edfa2b22237af82942d3dfa |
|
| 60 |
+ENV RUNC_COMMIT d49ece5a83da3dcb820121d6850e2b61bd0a5fbe |
|
| 61 | 61 |
RUN set -x \ |
| 62 | 62 |
&& export GOPATH="$(mktemp -d)" \ |
| 63 | 63 |
&& git clone https://github.com/opencontainers/runc.git "$GOPATH/src/github.com/opencontainers/runc" \ |
| ... | ... |
@@ -68,7 +68,7 @@ RUN set -x \ |
| 68 | 68 |
&& rm -rf "$GOPATH" |
| 69 | 69 |
|
| 70 | 70 |
# Install containerd |
| 71 |
-ENV CONTAINERD_COMMIT v0.2.1 |
|
| 71 |
+ENV CONTAINERD_COMMIT 57b7c3da915ebe943bd304c00890959b191e5264 |
|
| 72 | 72 |
RUN set -x \ |
| 73 | 73 |
&& export GOPATH="$(mktemp -d)" \ |
| 74 | 74 |
&& git clone https://github.com/docker/containerd.git "$GOPATH/src/github.com/docker/containerd" \ |
| ... | ... |
@@ -60,7 +60,7 @@ clone git github.com/miekg/pkcs11 df8ae6ca730422dba20c768ff38ef7d79077a59f |
| 60 | 60 |
clone git github.com/docker/go v1.5.1-1-1-gbaf439e |
| 61 | 61 |
clone git github.com/agl/ed25519 d2b94fd789ea21d12fac1a4443dd3a3f79cda72c |
| 62 | 62 |
|
| 63 |
-clone git github.com/opencontainers/runc 2441732d6fcc0fb0a542671a4372e0c7bc99c19e # libcontainer |
|
| 63 |
+clone git github.com/opencontainers/runc d49ece5a83da3dcb820121d6850e2b61bd0a5fbe # libcontainer |
|
| 64 | 64 |
clone git github.com/opencontainers/specs f955d90e70a98ddfb886bd930ffd076da9b67998 # specs |
| 65 | 65 |
clone git github.com/seccomp/libseccomp-golang 1b506fc7c24eec5a3693cdcbed40d9c226cfc6a1 |
| 66 | 66 |
# libcontainer deps (see src/github.com/opencontainers/runc/Godeps/Godeps.json) |
| ... | ... |
@@ -90,5 +90,5 @@ clone git google.golang.org/api dc6d2353af16e2a2b0ff6986af051d473a4ed468 https:/ |
| 90 | 90 |
clone git google.golang.org/cloud dae7e3d993bc3812a2185af60552bb6b847e52a0 https://code.googlesource.com/gocloud |
| 91 | 91 |
|
| 92 | 92 |
# containerd |
| 93 |
-clone git github.com/docker/containerd v0.2.1 |
|
| 93 |
+clone git github.com/docker/containerd 57b7c3da915ebe943bd304c00890959b191e5264 |
|
| 94 | 94 |
clean |
| ... | ... |
@@ -9,6 +9,8 @@ It is generated from these files: |
| 9 | 9 |
api.proto |
| 10 | 10 |
|
| 11 | 11 |
It has these top-level messages: |
| 12 |
+ GetServerVersionRequest |
|
| 13 |
+ GetServerVersionResponse |
|
| 12 | 14 |
UpdateProcessRequest |
| 13 | 15 |
UpdateProcessResponse |
| 14 | 16 |
CreateContainerRequest |
| ... | ... |
@@ -67,6 +69,30 @@ var _ = proto.Marshal |
| 67 | 67 |
var _ = fmt.Errorf |
| 68 | 68 |
var _ = math.Inf |
| 69 | 69 |
|
| 70 |
+// This is a compile-time assertion to ensure that this generated file |
|
| 71 |
+// is compatible with the proto package it is being compiled against. |
|
| 72 |
+const _ = proto.ProtoPackageIsVersion1 |
|
| 73 |
+ |
|
| 74 |
+type GetServerVersionRequest struct {
|
|
| 75 |
+} |
|
| 76 |
+ |
|
| 77 |
+func (m *GetServerVersionRequest) Reset() { *m = GetServerVersionRequest{} }
|
|
| 78 |
+func (m *GetServerVersionRequest) String() string { return proto.CompactTextString(m) }
|
|
| 79 |
+func (*GetServerVersionRequest) ProtoMessage() {}
|
|
| 80 |
+func (*GetServerVersionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
|
|
| 81 |
+ |
|
| 82 |
+type GetServerVersionResponse struct {
|
|
| 83 |
+ Major uint32 `protobuf:"varint,1,opt,name=major" json:"major,omitempty"` |
|
| 84 |
+ Minor uint32 `protobuf:"varint,2,opt,name=minor" json:"minor,omitempty"` |
|
| 85 |
+ Patch uint32 `protobuf:"varint,3,opt,name=patch" json:"patch,omitempty"` |
|
| 86 |
+ Revision string `protobuf:"bytes,4,opt,name=revision" json:"revision,omitempty"` |
|
| 87 |
+} |
|
| 88 |
+ |
|
| 89 |
+func (m *GetServerVersionResponse) Reset() { *m = GetServerVersionResponse{} }
|
|
| 90 |
+func (m *GetServerVersionResponse) String() string { return proto.CompactTextString(m) }
|
|
| 91 |
+func (*GetServerVersionResponse) ProtoMessage() {}
|
|
| 92 |
+func (*GetServerVersionResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
|
|
| 93 |
+ |
|
| 70 | 94 |
type UpdateProcessRequest struct {
|
| 71 | 95 |
Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` |
| 72 | 96 |
Pid string `protobuf:"bytes,2,opt,name=pid" json:"pid,omitempty"` |
| ... | ... |
@@ -78,7 +104,7 @@ type UpdateProcessRequest struct {
|
| 78 | 78 |
func (m *UpdateProcessRequest) Reset() { *m = UpdateProcessRequest{} }
|
| 79 | 79 |
func (m *UpdateProcessRequest) String() string { return proto.CompactTextString(m) }
|
| 80 | 80 |
func (*UpdateProcessRequest) ProtoMessage() {}
|
| 81 |
-func (*UpdateProcessRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
|
|
| 81 |
+func (*UpdateProcessRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
|
|
| 82 | 82 |
|
| 83 | 83 |
type UpdateProcessResponse struct {
|
| 84 | 84 |
} |
| ... | ... |
@@ -86,7 +112,7 @@ type UpdateProcessResponse struct {
|
| 86 | 86 |
func (m *UpdateProcessResponse) Reset() { *m = UpdateProcessResponse{} }
|
| 87 | 87 |
func (m *UpdateProcessResponse) String() string { return proto.CompactTextString(m) }
|
| 88 | 88 |
func (*UpdateProcessResponse) ProtoMessage() {}
|
| 89 |
-func (*UpdateProcessResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
|
|
| 89 |
+func (*UpdateProcessResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
|
|
| 90 | 90 |
|
| 91 | 91 |
type CreateContainerRequest struct {
|
| 92 | 92 |
Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` |
| ... | ... |
@@ -102,7 +128,7 @@ type CreateContainerRequest struct {
|
| 102 | 102 |
func (m *CreateContainerRequest) Reset() { *m = CreateContainerRequest{} }
|
| 103 | 103 |
func (m *CreateContainerRequest) String() string { return proto.CompactTextString(m) }
|
| 104 | 104 |
func (*CreateContainerRequest) ProtoMessage() {}
|
| 105 |
-func (*CreateContainerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
|
|
| 105 |
+func (*CreateContainerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
|
|
| 106 | 106 |
|
| 107 | 107 |
type CreateContainerResponse struct {
|
| 108 | 108 |
Container *Container `protobuf:"bytes,1,opt,name=container" json:"container,omitempty"` |
| ... | ... |
@@ -111,7 +137,7 @@ type CreateContainerResponse struct {
|
| 111 | 111 |
func (m *CreateContainerResponse) Reset() { *m = CreateContainerResponse{} }
|
| 112 | 112 |
func (m *CreateContainerResponse) String() string { return proto.CompactTextString(m) }
|
| 113 | 113 |
func (*CreateContainerResponse) ProtoMessage() {}
|
| 114 |
-func (*CreateContainerResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
|
|
| 114 |
+func (*CreateContainerResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
|
|
| 115 | 115 |
|
| 116 | 116 |
func (m *CreateContainerResponse) GetContainer() *Container {
|
| 117 | 117 |
if m != nil {
|
| ... | ... |
@@ -129,7 +155,7 @@ type SignalRequest struct {
|
| 129 | 129 |
func (m *SignalRequest) Reset() { *m = SignalRequest{} }
|
| 130 | 130 |
func (m *SignalRequest) String() string { return proto.CompactTextString(m) }
|
| 131 | 131 |
func (*SignalRequest) ProtoMessage() {}
|
| 132 |
-func (*SignalRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
|
|
| 132 |
+func (*SignalRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
|
|
| 133 | 133 |
|
| 134 | 134 |
type SignalResponse struct {
|
| 135 | 135 |
} |
| ... | ... |
@@ -137,7 +163,7 @@ type SignalResponse struct {
|
| 137 | 137 |
func (m *SignalResponse) Reset() { *m = SignalResponse{} }
|
| 138 | 138 |
func (m *SignalResponse) String() string { return proto.CompactTextString(m) }
|
| 139 | 139 |
func (*SignalResponse) ProtoMessage() {}
|
| 140 |
-func (*SignalResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
|
|
| 140 |
+func (*SignalResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
|
|
| 141 | 141 |
|
| 142 | 142 |
type AddProcessRequest struct {
|
| 143 | 143 |
Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` |
| ... | ... |
@@ -160,7 +186,7 @@ type AddProcessRequest struct {
|
| 160 | 160 |
func (m *AddProcessRequest) Reset() { *m = AddProcessRequest{} }
|
| 161 | 161 |
func (m *AddProcessRequest) String() string { return proto.CompactTextString(m) }
|
| 162 | 162 |
func (*AddProcessRequest) ProtoMessage() {}
|
| 163 |
-func (*AddProcessRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
|
|
| 163 |
+func (*AddProcessRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
|
|
| 164 | 164 |
|
| 165 | 165 |
func (m *AddProcessRequest) GetUser() *User {
|
| 166 | 166 |
if m != nil {
|
| ... | ... |
@@ -185,7 +211,7 @@ type Rlimit struct {
|
| 185 | 185 |
func (m *Rlimit) Reset() { *m = Rlimit{} }
|
| 186 | 186 |
func (m *Rlimit) String() string { return proto.CompactTextString(m) }
|
| 187 | 187 |
func (*Rlimit) ProtoMessage() {}
|
| 188 |
-func (*Rlimit) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
|
|
| 188 |
+func (*Rlimit) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
|
|
| 189 | 189 |
|
| 190 | 190 |
type User struct {
|
| 191 | 191 |
Uid uint32 `protobuf:"varint,1,opt,name=uid" json:"uid,omitempty"` |
| ... | ... |
@@ -196,7 +222,7 @@ type User struct {
|
| 196 | 196 |
func (m *User) Reset() { *m = User{} }
|
| 197 | 197 |
func (m *User) String() string { return proto.CompactTextString(m) }
|
| 198 | 198 |
func (*User) ProtoMessage() {}
|
| 199 |
-func (*User) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
|
|
| 199 |
+func (*User) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
|
|
| 200 | 200 |
|
| 201 | 201 |
type AddProcessResponse struct {
|
| 202 | 202 |
} |
| ... | ... |
@@ -204,7 +230,7 @@ type AddProcessResponse struct {
|
| 204 | 204 |
func (m *AddProcessResponse) Reset() { *m = AddProcessResponse{} }
|
| 205 | 205 |
func (m *AddProcessResponse) String() string { return proto.CompactTextString(m) }
|
| 206 | 206 |
func (*AddProcessResponse) ProtoMessage() {}
|
| 207 |
-func (*AddProcessResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
|
|
| 207 |
+func (*AddProcessResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
|
|
| 208 | 208 |
|
| 209 | 209 |
type CreateCheckpointRequest struct {
|
| 210 | 210 |
Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` |
| ... | ... |
@@ -214,7 +240,7 @@ type CreateCheckpointRequest struct {
|
| 214 | 214 |
func (m *CreateCheckpointRequest) Reset() { *m = CreateCheckpointRequest{} }
|
| 215 | 215 |
func (m *CreateCheckpointRequest) String() string { return proto.CompactTextString(m) }
|
| 216 | 216 |
func (*CreateCheckpointRequest) ProtoMessage() {}
|
| 217 |
-func (*CreateCheckpointRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
|
|
| 217 |
+func (*CreateCheckpointRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
|
|
| 218 | 218 |
|
| 219 | 219 |
func (m *CreateCheckpointRequest) GetCheckpoint() *Checkpoint {
|
| 220 | 220 |
if m != nil {
|
| ... | ... |
@@ -229,7 +255,7 @@ type CreateCheckpointResponse struct {
|
| 229 | 229 |
func (m *CreateCheckpointResponse) Reset() { *m = CreateCheckpointResponse{} }
|
| 230 | 230 |
func (m *CreateCheckpointResponse) String() string { return proto.CompactTextString(m) }
|
| 231 | 231 |
func (*CreateCheckpointResponse) ProtoMessage() {}
|
| 232 |
-func (*CreateCheckpointResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
|
|
| 232 |
+func (*CreateCheckpointResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
|
|
| 233 | 233 |
|
| 234 | 234 |
type DeleteCheckpointRequest struct {
|
| 235 | 235 |
Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` |
| ... | ... |
@@ -239,7 +265,7 @@ type DeleteCheckpointRequest struct {
|
| 239 | 239 |
func (m *DeleteCheckpointRequest) Reset() { *m = DeleteCheckpointRequest{} }
|
| 240 | 240 |
func (m *DeleteCheckpointRequest) String() string { return proto.CompactTextString(m) }
|
| 241 | 241 |
func (*DeleteCheckpointRequest) ProtoMessage() {}
|
| 242 |
-func (*DeleteCheckpointRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
|
|
| 242 |
+func (*DeleteCheckpointRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
|
|
| 243 | 243 |
|
| 244 | 244 |
type DeleteCheckpointResponse struct {
|
| 245 | 245 |
} |
| ... | ... |
@@ -247,7 +273,7 @@ type DeleteCheckpointResponse struct {
|
| 247 | 247 |
func (m *DeleteCheckpointResponse) Reset() { *m = DeleteCheckpointResponse{} }
|
| 248 | 248 |
func (m *DeleteCheckpointResponse) String() string { return proto.CompactTextString(m) }
|
| 249 | 249 |
func (*DeleteCheckpointResponse) ProtoMessage() {}
|
| 250 |
-func (*DeleteCheckpointResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
|
|
| 250 |
+func (*DeleteCheckpointResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
|
|
| 251 | 251 |
|
| 252 | 252 |
type ListCheckpointRequest struct {
|
| 253 | 253 |
Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` |
| ... | ... |
@@ -256,7 +282,7 @@ type ListCheckpointRequest struct {
|
| 256 | 256 |
func (m *ListCheckpointRequest) Reset() { *m = ListCheckpointRequest{} }
|
| 257 | 257 |
func (m *ListCheckpointRequest) String() string { return proto.CompactTextString(m) }
|
| 258 | 258 |
func (*ListCheckpointRequest) ProtoMessage() {}
|
| 259 |
-func (*ListCheckpointRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
|
|
| 259 |
+func (*ListCheckpointRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
|
|
| 260 | 260 |
|
| 261 | 261 |
type Checkpoint struct {
|
| 262 | 262 |
Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` |
| ... | ... |
@@ -269,7 +295,7 @@ type Checkpoint struct {
|
| 269 | 269 |
func (m *Checkpoint) Reset() { *m = Checkpoint{} }
|
| 270 | 270 |
func (m *Checkpoint) String() string { return proto.CompactTextString(m) }
|
| 271 | 271 |
func (*Checkpoint) ProtoMessage() {}
|
| 272 |
-func (*Checkpoint) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
|
|
| 272 |
+func (*Checkpoint) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
|
|
| 273 | 273 |
|
| 274 | 274 |
type ListCheckpointResponse struct {
|
| 275 | 275 |
Checkpoints []*Checkpoint `protobuf:"bytes,1,rep,name=checkpoints" json:"checkpoints,omitempty"` |
| ... | ... |
@@ -278,7 +304,7 @@ type ListCheckpointResponse struct {
|
| 278 | 278 |
func (m *ListCheckpointResponse) Reset() { *m = ListCheckpointResponse{} }
|
| 279 | 279 |
func (m *ListCheckpointResponse) String() string { return proto.CompactTextString(m) }
|
| 280 | 280 |
func (*ListCheckpointResponse) ProtoMessage() {}
|
| 281 |
-func (*ListCheckpointResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
|
|
| 281 |
+func (*ListCheckpointResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
|
|
| 282 | 282 |
|
| 283 | 283 |
func (m *ListCheckpointResponse) GetCheckpoints() []*Checkpoint {
|
| 284 | 284 |
if m != nil {
|
| ... | ... |
@@ -294,7 +320,7 @@ type StateRequest struct {
|
| 294 | 294 |
func (m *StateRequest) Reset() { *m = StateRequest{} }
|
| 295 | 295 |
func (m *StateRequest) String() string { return proto.CompactTextString(m) }
|
| 296 | 296 |
func (*StateRequest) ProtoMessage() {}
|
| 297 |
-func (*StateRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
|
|
| 297 |
+func (*StateRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }
|
|
| 298 | 298 |
|
| 299 | 299 |
type ContainerState struct {
|
| 300 | 300 |
Status string `protobuf:"bytes,1,opt,name=status" json:"status,omitempty"` |
| ... | ... |
@@ -303,7 +329,7 @@ type ContainerState struct {
|
| 303 | 303 |
func (m *ContainerState) Reset() { *m = ContainerState{} }
|
| 304 | 304 |
func (m *ContainerState) String() string { return proto.CompactTextString(m) }
|
| 305 | 305 |
func (*ContainerState) ProtoMessage() {}
|
| 306 |
-func (*ContainerState) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
|
|
| 306 |
+func (*ContainerState) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }
|
|
| 307 | 307 |
|
| 308 | 308 |
type Process struct {
|
| 309 | 309 |
Pid string `protobuf:"bytes,1,opt,name=pid" json:"pid,omitempty"` |
| ... | ... |
@@ -326,7 +352,7 @@ type Process struct {
|
| 326 | 326 |
func (m *Process) Reset() { *m = Process{} }
|
| 327 | 327 |
func (m *Process) String() string { return proto.CompactTextString(m) }
|
| 328 | 328 |
func (*Process) ProtoMessage() {}
|
| 329 |
-func (*Process) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }
|
|
| 329 |
+func (*Process) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }
|
|
| 330 | 330 |
|
| 331 | 331 |
func (m *Process) GetUser() *User {
|
| 332 | 332 |
if m != nil {
|
| ... | ... |
@@ -355,7 +381,7 @@ type Container struct {
|
| 355 | 355 |
func (m *Container) Reset() { *m = Container{} }
|
| 356 | 356 |
func (m *Container) String() string { return proto.CompactTextString(m) }
|
| 357 | 357 |
func (*Container) ProtoMessage() {}
|
| 358 |
-func (*Container) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }
|
|
| 358 |
+func (*Container) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} }
|
|
| 359 | 359 |
|
| 360 | 360 |
func (m *Container) GetProcesses() []*Process {
|
| 361 | 361 |
if m != nil {
|
| ... | ... |
@@ -373,7 +399,7 @@ type Machine struct {
|
| 373 | 373 |
func (m *Machine) Reset() { *m = Machine{} }
|
| 374 | 374 |
func (m *Machine) String() string { return proto.CompactTextString(m) }
|
| 375 | 375 |
func (*Machine) ProtoMessage() {}
|
| 376 |
-func (*Machine) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }
|
|
| 376 |
+func (*Machine) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} }
|
|
| 377 | 377 |
|
| 378 | 378 |
// StateResponse is information about containerd daemon |
| 379 | 379 |
type StateResponse struct {
|
| ... | ... |
@@ -384,7 +410,7 @@ type StateResponse struct {
|
| 384 | 384 |
func (m *StateResponse) Reset() { *m = StateResponse{} }
|
| 385 | 385 |
func (m *StateResponse) String() string { return proto.CompactTextString(m) }
|
| 386 | 386 |
func (*StateResponse) ProtoMessage() {}
|
| 387 |
-func (*StateResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} }
|
|
| 387 |
+func (*StateResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} }
|
|
| 388 | 388 |
|
| 389 | 389 |
func (m *StateResponse) GetContainers() []*Container {
|
| 390 | 390 |
if m != nil {
|
| ... | ... |
@@ -410,7 +436,7 @@ type UpdateContainerRequest struct {
|
| 410 | 410 |
func (m *UpdateContainerRequest) Reset() { *m = UpdateContainerRequest{} }
|
| 411 | 411 |
func (m *UpdateContainerRequest) String() string { return proto.CompactTextString(m) }
|
| 412 | 412 |
func (*UpdateContainerRequest) ProtoMessage() {}
|
| 413 |
-func (*UpdateContainerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} }
|
|
| 413 |
+func (*UpdateContainerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} }
|
|
| 414 | 414 |
|
| 415 | 415 |
func (m *UpdateContainerRequest) GetResources() *UpdateResource {
|
| 416 | 416 |
if m != nil {
|
| ... | ... |
@@ -435,7 +461,7 @@ type UpdateResource struct {
|
| 435 | 435 |
func (m *UpdateResource) Reset() { *m = UpdateResource{} }
|
| 436 | 436 |
func (m *UpdateResource) String() string { return proto.CompactTextString(m) }
|
| 437 | 437 |
func (*UpdateResource) ProtoMessage() {}
|
| 438 |
-func (*UpdateResource) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} }
|
|
| 438 |
+func (*UpdateResource) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} }
|
|
| 439 | 439 |
|
| 440 | 440 |
type UpdateContainerResponse struct {
|
| 441 | 441 |
} |
| ... | ... |
@@ -443,7 +469,7 @@ type UpdateContainerResponse struct {
|
| 443 | 443 |
func (m *UpdateContainerResponse) Reset() { *m = UpdateContainerResponse{} }
|
| 444 | 444 |
func (m *UpdateContainerResponse) String() string { return proto.CompactTextString(m) }
|
| 445 | 445 |
func (*UpdateContainerResponse) ProtoMessage() {}
|
| 446 |
-func (*UpdateContainerResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} }
|
|
| 446 |
+func (*UpdateContainerResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} }
|
|
| 447 | 447 |
|
| 448 | 448 |
type EventsRequest struct {
|
| 449 | 449 |
Timestamp uint64 `protobuf:"varint,1,opt,name=timestamp" json:"timestamp,omitempty"` |
| ... | ... |
@@ -452,7 +478,7 @@ type EventsRequest struct {
|
| 452 | 452 |
func (m *EventsRequest) Reset() { *m = EventsRequest{} }
|
| 453 | 453 |
func (m *EventsRequest) String() string { return proto.CompactTextString(m) }
|
| 454 | 454 |
func (*EventsRequest) ProtoMessage() {}
|
| 455 |
-func (*EventsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} }
|
|
| 455 |
+func (*EventsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{28} }
|
|
| 456 | 456 |
|
| 457 | 457 |
type Event struct {
|
| 458 | 458 |
Type string `protobuf:"bytes,1,opt,name=type" json:"type,omitempty"` |
| ... | ... |
@@ -465,58 +491,58 @@ type Event struct {
|
| 465 | 465 |
func (m *Event) Reset() { *m = Event{} }
|
| 466 | 466 |
func (m *Event) String() string { return proto.CompactTextString(m) }
|
| 467 | 467 |
func (*Event) ProtoMessage() {}
|
| 468 |
-func (*Event) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} }
|
|
| 468 |
+func (*Event) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{29} }
|
|
| 469 | 469 |
|
| 470 | 470 |
type NetworkStats struct {
|
| 471 | 471 |
Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` |
| 472 |
- RxBytes uint64 `protobuf:"varint,2,opt,name=rx_bytes,json=rxBytes" json:"rx_bytes,omitempty"` |
|
| 473 |
- Rx_Packets uint64 `protobuf:"varint,3,opt,name=rx_Packets,json=rxPackets" json:"rx_Packets,omitempty"` |
|
| 474 |
- RxErrors uint64 `protobuf:"varint,4,opt,name=Rx_errors,json=rxErrors" json:"Rx_errors,omitempty"` |
|
| 475 |
- RxDropped uint64 `protobuf:"varint,5,opt,name=Rx_dropped,json=rxDropped" json:"Rx_dropped,omitempty"` |
|
| 476 |
- TxBytes uint64 `protobuf:"varint,6,opt,name=Tx_bytes,json=txBytes" json:"Tx_bytes,omitempty"` |
|
| 477 |
- TxPackets uint64 `protobuf:"varint,7,opt,name=Tx_packets,json=txPackets" json:"Tx_packets,omitempty"` |
|
| 478 |
- TxErrors uint64 `protobuf:"varint,8,opt,name=Tx_errors,json=txErrors" json:"Tx_errors,omitempty"` |
|
| 479 |
- TxDropped uint64 `protobuf:"varint,9,opt,name=Tx_dropped,json=txDropped" json:"Tx_dropped,omitempty"` |
|
| 472 |
+ RxBytes uint64 `protobuf:"varint,2,opt,name=rx_bytes" json:"rx_bytes,omitempty"` |
|
| 473 |
+ Rx_Packets uint64 `protobuf:"varint,3,opt,name=rx_Packets" json:"rx_Packets,omitempty"` |
|
| 474 |
+ RxErrors uint64 `protobuf:"varint,4,opt,name=Rx_errors" json:"Rx_errors,omitempty"` |
|
| 475 |
+ RxDropped uint64 `protobuf:"varint,5,opt,name=Rx_dropped" json:"Rx_dropped,omitempty"` |
|
| 476 |
+ TxBytes uint64 `protobuf:"varint,6,opt,name=Tx_bytes" json:"Tx_bytes,omitempty"` |
|
| 477 |
+ TxPackets uint64 `protobuf:"varint,7,opt,name=Tx_packets" json:"Tx_packets,omitempty"` |
|
| 478 |
+ TxErrors uint64 `protobuf:"varint,8,opt,name=Tx_errors" json:"Tx_errors,omitempty"` |
|
| 479 |
+ TxDropped uint64 `protobuf:"varint,9,opt,name=Tx_dropped" json:"Tx_dropped,omitempty"` |
|
| 480 | 480 |
} |
| 481 | 481 |
|
| 482 | 482 |
func (m *NetworkStats) Reset() { *m = NetworkStats{} }
|
| 483 | 483 |
func (m *NetworkStats) String() string { return proto.CompactTextString(m) }
|
| 484 | 484 |
func (*NetworkStats) ProtoMessage() {}
|
| 485 |
-func (*NetworkStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{28} }
|
|
| 485 |
+func (*NetworkStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{30} }
|
|
| 486 | 486 |
|
| 487 | 487 |
type CpuUsage struct {
|
| 488 |
- TotalUsage uint64 `protobuf:"varint,1,opt,name=total_usage,json=totalUsage" json:"total_usage,omitempty"` |
|
| 489 |
- PercpuUsage []uint64 `protobuf:"varint,2,rep,name=percpu_usage,json=percpuUsage" json:"percpu_usage,omitempty"` |
|
| 490 |
- UsageInKernelmode uint64 `protobuf:"varint,3,opt,name=usage_in_kernelmode,json=usageInKernelmode" json:"usage_in_kernelmode,omitempty"` |
|
| 491 |
- UsageInUsermode uint64 `protobuf:"varint,4,opt,name=usage_in_usermode,json=usageInUsermode" json:"usage_in_usermode,omitempty"` |
|
| 488 |
+ TotalUsage uint64 `protobuf:"varint,1,opt,name=total_usage" json:"total_usage,omitempty"` |
|
| 489 |
+ PercpuUsage []uint64 `protobuf:"varint,2,rep,name=percpu_usage" json:"percpu_usage,omitempty"` |
|
| 490 |
+ UsageInKernelmode uint64 `protobuf:"varint,3,opt,name=usage_in_kernelmode" json:"usage_in_kernelmode,omitempty"` |
|
| 491 |
+ UsageInUsermode uint64 `protobuf:"varint,4,opt,name=usage_in_usermode" json:"usage_in_usermode,omitempty"` |
|
| 492 | 492 |
} |
| 493 | 493 |
|
| 494 | 494 |
func (m *CpuUsage) Reset() { *m = CpuUsage{} }
|
| 495 | 495 |
func (m *CpuUsage) String() string { return proto.CompactTextString(m) }
|
| 496 | 496 |
func (*CpuUsage) ProtoMessage() {}
|
| 497 |
-func (*CpuUsage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{29} }
|
|
| 497 |
+func (*CpuUsage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{31} }
|
|
| 498 | 498 |
|
| 499 | 499 |
type ThrottlingData struct {
|
| 500 | 500 |
Periods uint64 `protobuf:"varint,1,opt,name=periods" json:"periods,omitempty"` |
| 501 |
- ThrottledPeriods uint64 `protobuf:"varint,2,opt,name=throttled_periods,json=throttledPeriods" json:"throttled_periods,omitempty"` |
|
| 502 |
- ThrottledTime uint64 `protobuf:"varint,3,opt,name=throttled_time,json=throttledTime" json:"throttled_time,omitempty"` |
|
| 501 |
+ ThrottledPeriods uint64 `protobuf:"varint,2,opt,name=throttled_periods" json:"throttled_periods,omitempty"` |
|
| 502 |
+ ThrottledTime uint64 `protobuf:"varint,3,opt,name=throttled_time" json:"throttled_time,omitempty"` |
|
| 503 | 503 |
} |
| 504 | 504 |
|
| 505 | 505 |
func (m *ThrottlingData) Reset() { *m = ThrottlingData{} }
|
| 506 | 506 |
func (m *ThrottlingData) String() string { return proto.CompactTextString(m) }
|
| 507 | 507 |
func (*ThrottlingData) ProtoMessage() {}
|
| 508 |
-func (*ThrottlingData) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{30} }
|
|
| 508 |
+func (*ThrottlingData) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{32} }
|
|
| 509 | 509 |
|
| 510 | 510 |
type CpuStats struct {
|
| 511 |
- CpuUsage *CpuUsage `protobuf:"bytes,1,opt,name=cpu_usage,json=cpuUsage" json:"cpu_usage,omitempty"` |
|
| 512 |
- ThrottlingData *ThrottlingData `protobuf:"bytes,2,opt,name=throttling_data,json=throttlingData" json:"throttling_data,omitempty"` |
|
| 513 |
- SystemUsage uint64 `protobuf:"varint,3,opt,name=system_usage,json=systemUsage" json:"system_usage,omitempty"` |
|
| 511 |
+ CpuUsage *CpuUsage `protobuf:"bytes,1,opt,name=cpu_usage" json:"cpu_usage,omitempty"` |
|
| 512 |
+ ThrottlingData *ThrottlingData `protobuf:"bytes,2,opt,name=throttling_data" json:"throttling_data,omitempty"` |
|
| 513 |
+ SystemUsage uint64 `protobuf:"varint,3,opt,name=system_usage" json:"system_usage,omitempty"` |
|
| 514 | 514 |
} |
| 515 | 515 |
|
| 516 | 516 |
func (m *CpuStats) Reset() { *m = CpuStats{} }
|
| 517 | 517 |
func (m *CpuStats) String() string { return proto.CompactTextString(m) }
|
| 518 | 518 |
func (*CpuStats) ProtoMessage() {}
|
| 519 |
-func (*CpuStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{31} }
|
|
| 519 |
+func (*CpuStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{33} }
|
|
| 520 | 520 |
|
| 521 | 521 |
func (m *CpuStats) GetCpuUsage() *CpuUsage {
|
| 522 | 522 |
if m != nil {
|
| ... | ... |
@@ -540,11 +566,11 @@ type PidsStats struct {
|
| 540 | 540 |
func (m *PidsStats) Reset() { *m = PidsStats{} }
|
| 541 | 541 |
func (m *PidsStats) String() string { return proto.CompactTextString(m) }
|
| 542 | 542 |
func (*PidsStats) ProtoMessage() {}
|
| 543 |
-func (*PidsStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{32} }
|
|
| 543 |
+func (*PidsStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{34} }
|
|
| 544 | 544 |
|
| 545 | 545 |
type MemoryData struct {
|
| 546 | 546 |
Usage uint64 `protobuf:"varint,1,opt,name=usage" json:"usage,omitempty"` |
| 547 |
- MaxUsage uint64 `protobuf:"varint,2,opt,name=max_usage,json=maxUsage" json:"max_usage,omitempty"` |
|
| 547 |
+ MaxUsage uint64 `protobuf:"varint,2,opt,name=max_usage" json:"max_usage,omitempty"` |
|
| 548 | 548 |
Failcnt uint64 `protobuf:"varint,3,opt,name=failcnt" json:"failcnt,omitempty"` |
| 549 | 549 |
Limit uint64 `protobuf:"varint,4,opt,name=limit" json:"limit,omitempty"` |
| 550 | 550 |
} |
| ... | ... |
@@ -552,20 +578,20 @@ type MemoryData struct {
|
| 552 | 552 |
func (m *MemoryData) Reset() { *m = MemoryData{} }
|
| 553 | 553 |
func (m *MemoryData) String() string { return proto.CompactTextString(m) }
|
| 554 | 554 |
func (*MemoryData) ProtoMessage() {}
|
| 555 |
-func (*MemoryData) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{33} }
|
|
| 555 |
+func (*MemoryData) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{35} }
|
|
| 556 | 556 |
|
| 557 | 557 |
type MemoryStats struct {
|
| 558 | 558 |
Cache uint64 `protobuf:"varint,1,opt,name=cache" json:"cache,omitempty"` |
| 559 | 559 |
Usage *MemoryData `protobuf:"bytes,2,opt,name=usage" json:"usage,omitempty"` |
| 560 |
- SwapUsage *MemoryData `protobuf:"bytes,3,opt,name=swap_usage,json=swapUsage" json:"swap_usage,omitempty"` |
|
| 561 |
- KernelUsage *MemoryData `protobuf:"bytes,4,opt,name=kernel_usage,json=kernelUsage" json:"kernel_usage,omitempty"` |
|
| 560 |
+ SwapUsage *MemoryData `protobuf:"bytes,3,opt,name=swap_usage" json:"swap_usage,omitempty"` |
|
| 561 |
+ KernelUsage *MemoryData `protobuf:"bytes,4,opt,name=kernel_usage" json:"kernel_usage,omitempty"` |
|
| 562 | 562 |
Stats map[string]uint64 `protobuf:"bytes,5,rep,name=stats" json:"stats,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` |
| 563 | 563 |
} |
| 564 | 564 |
|
| 565 | 565 |
func (m *MemoryStats) Reset() { *m = MemoryStats{} }
|
| 566 | 566 |
func (m *MemoryStats) String() string { return proto.CompactTextString(m) }
|
| 567 | 567 |
func (*MemoryStats) ProtoMessage() {}
|
| 568 |
-func (*MemoryStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{34} }
|
|
| 568 |
+func (*MemoryStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{36} }
|
|
| 569 | 569 |
|
| 570 | 570 |
func (m *MemoryStats) GetUsage() *MemoryData {
|
| 571 | 571 |
if m != nil {
|
| ... | ... |
@@ -605,23 +631,23 @@ type BlkioStatsEntry struct {
|
| 605 | 605 |
func (m *BlkioStatsEntry) Reset() { *m = BlkioStatsEntry{} }
|
| 606 | 606 |
func (m *BlkioStatsEntry) String() string { return proto.CompactTextString(m) }
|
| 607 | 607 |
func (*BlkioStatsEntry) ProtoMessage() {}
|
| 608 |
-func (*BlkioStatsEntry) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{35} }
|
|
| 608 |
+func (*BlkioStatsEntry) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{37} }
|
|
| 609 | 609 |
|
| 610 | 610 |
type BlkioStats struct {
|
| 611 |
- IoServiceBytesRecursive []*BlkioStatsEntry `protobuf:"bytes,1,rep,name=io_service_bytes_recursive,json=ioServiceBytesRecursive" json:"io_service_bytes_recursive,omitempty"` |
|
| 612 |
- IoServicedRecursive []*BlkioStatsEntry `protobuf:"bytes,2,rep,name=io_serviced_recursive,json=ioServicedRecursive" json:"io_serviced_recursive,omitempty"` |
|
| 613 |
- IoQueuedRecursive []*BlkioStatsEntry `protobuf:"bytes,3,rep,name=io_queued_recursive,json=ioQueuedRecursive" json:"io_queued_recursive,omitempty"` |
|
| 614 |
- IoServiceTimeRecursive []*BlkioStatsEntry `protobuf:"bytes,4,rep,name=io_service_time_recursive,json=ioServiceTimeRecursive" json:"io_service_time_recursive,omitempty"` |
|
| 615 |
- IoWaitTimeRecursive []*BlkioStatsEntry `protobuf:"bytes,5,rep,name=io_wait_time_recursive,json=ioWaitTimeRecursive" json:"io_wait_time_recursive,omitempty"` |
|
| 616 |
- IoMergedRecursive []*BlkioStatsEntry `protobuf:"bytes,6,rep,name=io_merged_recursive,json=ioMergedRecursive" json:"io_merged_recursive,omitempty"` |
|
| 617 |
- IoTimeRecursive []*BlkioStatsEntry `protobuf:"bytes,7,rep,name=io_time_recursive,json=ioTimeRecursive" json:"io_time_recursive,omitempty"` |
|
| 618 |
- SectorsRecursive []*BlkioStatsEntry `protobuf:"bytes,8,rep,name=sectors_recursive,json=sectorsRecursive" json:"sectors_recursive,omitempty"` |
|
| 611 |
+ IoServiceBytesRecursive []*BlkioStatsEntry `protobuf:"bytes,1,rep,name=io_service_bytes_recursive" json:"io_service_bytes_recursive,omitempty"` |
|
| 612 |
+ IoServicedRecursive []*BlkioStatsEntry `protobuf:"bytes,2,rep,name=io_serviced_recursive" json:"io_serviced_recursive,omitempty"` |
|
| 613 |
+ IoQueuedRecursive []*BlkioStatsEntry `protobuf:"bytes,3,rep,name=io_queued_recursive" json:"io_queued_recursive,omitempty"` |
|
| 614 |
+ IoServiceTimeRecursive []*BlkioStatsEntry `protobuf:"bytes,4,rep,name=io_service_time_recursive" json:"io_service_time_recursive,omitempty"` |
|
| 615 |
+ IoWaitTimeRecursive []*BlkioStatsEntry `protobuf:"bytes,5,rep,name=io_wait_time_recursive" json:"io_wait_time_recursive,omitempty"` |
|
| 616 |
+ IoMergedRecursive []*BlkioStatsEntry `protobuf:"bytes,6,rep,name=io_merged_recursive" json:"io_merged_recursive,omitempty"` |
|
| 617 |
+ IoTimeRecursive []*BlkioStatsEntry `protobuf:"bytes,7,rep,name=io_time_recursive" json:"io_time_recursive,omitempty"` |
|
| 618 |
+ SectorsRecursive []*BlkioStatsEntry `protobuf:"bytes,8,rep,name=sectors_recursive" json:"sectors_recursive,omitempty"` |
|
| 619 | 619 |
} |
| 620 | 620 |
|
| 621 | 621 |
func (m *BlkioStats) Reset() { *m = BlkioStats{} }
|
| 622 | 622 |
func (m *BlkioStats) String() string { return proto.CompactTextString(m) }
|
| 623 | 623 |
func (*BlkioStats) ProtoMessage() {}
|
| 624 |
-func (*BlkioStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{36} }
|
|
| 624 |
+func (*BlkioStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{38} }
|
|
| 625 | 625 |
|
| 626 | 626 |
func (m *BlkioStats) GetIoServiceBytesRecursive() []*BlkioStatsEntry {
|
| 627 | 627 |
if m != nil {
|
| ... | ... |
@@ -681,7 +707,7 @@ func (m *BlkioStats) GetSectorsRecursive() []*BlkioStatsEntry {
|
| 681 | 681 |
|
| 682 | 682 |
type HugetlbStats struct {
|
| 683 | 683 |
Usage uint64 `protobuf:"varint,1,opt,name=usage" json:"usage,omitempty"` |
| 684 |
- MaxUsage uint64 `protobuf:"varint,2,opt,name=max_usage,json=maxUsage" json:"max_usage,omitempty"` |
|
| 684 |
+ MaxUsage uint64 `protobuf:"varint,2,opt,name=max_usage" json:"max_usage,omitempty"` |
|
| 685 | 685 |
Failcnt uint64 `protobuf:"varint,3,opt,name=failcnt" json:"failcnt,omitempty"` |
| 686 | 686 |
Limit uint64 `protobuf:"varint,4,opt,name=limit" json:"limit,omitempty"` |
| 687 | 687 |
} |
| ... | ... |
@@ -689,20 +715,20 @@ type HugetlbStats struct {
|
| 689 | 689 |
func (m *HugetlbStats) Reset() { *m = HugetlbStats{} }
|
| 690 | 690 |
func (m *HugetlbStats) String() string { return proto.CompactTextString(m) }
|
| 691 | 691 |
func (*HugetlbStats) ProtoMessage() {}
|
| 692 |
-func (*HugetlbStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{37} }
|
|
| 692 |
+func (*HugetlbStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{39} }
|
|
| 693 | 693 |
|
| 694 | 694 |
type CgroupStats struct {
|
| 695 |
- CpuStats *CpuStats `protobuf:"bytes,1,opt,name=cpu_stats,json=cpuStats" json:"cpu_stats,omitempty"` |
|
| 696 |
- MemoryStats *MemoryStats `protobuf:"bytes,2,opt,name=memory_stats,json=memoryStats" json:"memory_stats,omitempty"` |
|
| 697 |
- BlkioStats *BlkioStats `protobuf:"bytes,3,opt,name=blkio_stats,json=blkioStats" json:"blkio_stats,omitempty"` |
|
| 698 |
- HugetlbStats map[string]*HugetlbStats `protobuf:"bytes,4,rep,name=hugetlb_stats,json=hugetlbStats" json:"hugetlb_stats,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` |
|
| 699 |
- PidsStats *PidsStats `protobuf:"bytes,5,opt,name=pids_stats,json=pidsStats" json:"pids_stats,omitempty"` |
|
| 695 |
+ CpuStats *CpuStats `protobuf:"bytes,1,opt,name=cpu_stats" json:"cpu_stats,omitempty"` |
|
| 696 |
+ MemoryStats *MemoryStats `protobuf:"bytes,2,opt,name=memory_stats" json:"memory_stats,omitempty"` |
|
| 697 |
+ BlkioStats *BlkioStats `protobuf:"bytes,3,opt,name=blkio_stats" json:"blkio_stats,omitempty"` |
|
| 698 |
+ HugetlbStats map[string]*HugetlbStats `protobuf:"bytes,4,rep,name=hugetlb_stats" json:"hugetlb_stats,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` |
|
| 699 |
+ PidsStats *PidsStats `protobuf:"bytes,5,opt,name=pids_stats" json:"pids_stats,omitempty"` |
|
| 700 | 700 |
} |
| 701 | 701 |
|
| 702 | 702 |
func (m *CgroupStats) Reset() { *m = CgroupStats{} }
|
| 703 | 703 |
func (m *CgroupStats) String() string { return proto.CompactTextString(m) }
|
| 704 | 704 |
func (*CgroupStats) ProtoMessage() {}
|
| 705 |
-func (*CgroupStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{38} }
|
|
| 705 |
+func (*CgroupStats) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{40} }
|
|
| 706 | 706 |
|
| 707 | 707 |
func (m *CgroupStats) GetCpuStats() *CpuStats {
|
| 708 | 708 |
if m != nil {
|
| ... | ... |
@@ -740,15 +766,15 @@ func (m *CgroupStats) GetPidsStats() *PidsStats {
|
| 740 | 740 |
} |
| 741 | 741 |
|
| 742 | 742 |
type StatsResponse struct {
|
| 743 |
- NetworkStats []*NetworkStats `protobuf:"bytes,1,rep,name=network_stats,json=networkStats" json:"network_stats,omitempty"` |
|
| 744 |
- CgroupStats *CgroupStats `protobuf:"bytes,2,opt,name=cgroup_stats,json=cgroupStats" json:"cgroup_stats,omitempty"` |
|
| 743 |
+ NetworkStats []*NetworkStats `protobuf:"bytes,1,rep,name=network_stats" json:"network_stats,omitempty"` |
|
| 744 |
+ CgroupStats *CgroupStats `protobuf:"bytes,2,opt,name=cgroup_stats" json:"cgroup_stats,omitempty"` |
|
| 745 | 745 |
Timestamp uint64 `protobuf:"varint,3,opt,name=timestamp" json:"timestamp,omitempty"` |
| 746 | 746 |
} |
| 747 | 747 |
|
| 748 | 748 |
func (m *StatsResponse) Reset() { *m = StatsResponse{} }
|
| 749 | 749 |
func (m *StatsResponse) String() string { return proto.CompactTextString(m) }
|
| 750 | 750 |
func (*StatsResponse) ProtoMessage() {}
|
| 751 |
-func (*StatsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{39} }
|
|
| 751 |
+func (*StatsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{41} }
|
|
| 752 | 752 |
|
| 753 | 753 |
func (m *StatsResponse) GetNetworkStats() []*NetworkStats {
|
| 754 | 754 |
if m != nil {
|
| ... | ... |
@@ -771,9 +797,11 @@ type StatsRequest struct {
|
| 771 | 771 |
func (m *StatsRequest) Reset() { *m = StatsRequest{} }
|
| 772 | 772 |
func (m *StatsRequest) String() string { return proto.CompactTextString(m) }
|
| 773 | 773 |
func (*StatsRequest) ProtoMessage() {}
|
| 774 |
-func (*StatsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{40} }
|
|
| 774 |
+func (*StatsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{42} }
|
|
| 775 | 775 |
|
| 776 | 776 |
func init() {
|
| 777 |
+ proto.RegisterType((*GetServerVersionRequest)(nil), "types.GetServerVersionRequest") |
|
| 778 |
+ proto.RegisterType((*GetServerVersionResponse)(nil), "types.GetServerVersionResponse") |
|
| 777 | 779 |
proto.RegisterType((*UpdateProcessRequest)(nil), "types.UpdateProcessRequest") |
| 778 | 780 |
proto.RegisterType((*UpdateProcessResponse)(nil), "types.UpdateProcessResponse") |
| 779 | 781 |
proto.RegisterType((*CreateContainerRequest)(nil), "types.CreateContainerRequest") |
| ... | ... |
@@ -824,6 +852,7 @@ var _ grpc.ClientConn |
| 824 | 824 |
// Client API for API service |
| 825 | 825 |
|
| 826 | 826 |
type APIClient interface {
|
| 827 |
+ GetServerVersion(ctx context.Context, in *GetServerVersionRequest, opts ...grpc.CallOption) (*GetServerVersionResponse, error) |
|
| 827 | 828 |
CreateContainer(ctx context.Context, in *CreateContainerRequest, opts ...grpc.CallOption) (*CreateContainerResponse, error) |
| 828 | 829 |
UpdateContainer(ctx context.Context, in *UpdateContainerRequest, opts ...grpc.CallOption) (*UpdateContainerResponse, error) |
| 829 | 830 |
Signal(ctx context.Context, in *SignalRequest, opts ...grpc.CallOption) (*SignalResponse, error) |
| ... | ... |
@@ -845,6 +874,15 @@ func NewAPIClient(cc *grpc.ClientConn) APIClient {
|
| 845 | 845 |
return &aPIClient{cc}
|
| 846 | 846 |
} |
| 847 | 847 |
|
| 848 |
+func (c *aPIClient) GetServerVersion(ctx context.Context, in *GetServerVersionRequest, opts ...grpc.CallOption) (*GetServerVersionResponse, error) {
|
|
| 849 |
+ out := new(GetServerVersionResponse) |
|
| 850 |
+ err := grpc.Invoke(ctx, "/types.API/GetServerVersion", in, out, c.cc, opts...) |
|
| 851 |
+ if err != nil {
|
|
| 852 |
+ return nil, err |
|
| 853 |
+ } |
|
| 854 |
+ return out, nil |
|
| 855 |
+} |
|
| 856 |
+ |
|
| 848 | 857 |
func (c *aPIClient) CreateContainer(ctx context.Context, in *CreateContainerRequest, opts ...grpc.CallOption) (*CreateContainerResponse, error) {
|
| 849 | 858 |
out := new(CreateContainerResponse) |
| 850 | 859 |
err := grpc.Invoke(ctx, "/types.API/CreateContainer", in, out, c.cc, opts...) |
| ... | ... |
@@ -970,6 +1008,7 @@ func (c *aPIClient) Stats(ctx context.Context, in *StatsRequest, opts ...grpc.Ca |
| 970 | 970 |
// Server API for API service |
| 971 | 971 |
|
| 972 | 972 |
type APIServer interface {
|
| 973 |
+ GetServerVersion(context.Context, *GetServerVersionRequest) (*GetServerVersionResponse, error) |
|
| 973 | 974 |
CreateContainer(context.Context, *CreateContainerRequest) (*CreateContainerResponse, error) |
| 974 | 975 |
UpdateContainer(context.Context, *UpdateContainerRequest) (*UpdateContainerResponse, error) |
| 975 | 976 |
Signal(context.Context, *SignalRequest) (*SignalResponse, error) |
| ... | ... |
@@ -987,6 +1026,18 @@ func RegisterAPIServer(s *grpc.Server, srv APIServer) {
|
| 987 | 987 |
s.RegisterService(&_API_serviceDesc, srv) |
| 988 | 988 |
} |
| 989 | 989 |
|
| 990 |
+func _API_GetServerVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error) (interface{}, error) {
|
|
| 991 |
+ in := new(GetServerVersionRequest) |
|
| 992 |
+ if err := dec(in); err != nil {
|
|
| 993 |
+ return nil, err |
|
| 994 |
+ } |
|
| 995 |
+ out, err := srv.(APIServer).GetServerVersion(ctx, in) |
|
| 996 |
+ if err != nil {
|
|
| 997 |
+ return nil, err |
|
| 998 |
+ } |
|
| 999 |
+ return out, nil |
|
| 1000 |
+} |
|
| 1001 |
+ |
|
| 990 | 1002 |
func _API_CreateContainer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error) (interface{}, error) {
|
| 991 | 1003 |
in := new(CreateContainerRequest) |
| 992 | 1004 |
if err := dec(in); err != nil {
|
| ... | ... |
@@ -1133,6 +1184,10 @@ var _API_serviceDesc = grpc.ServiceDesc{
|
| 1133 | 1133 |
HandlerType: (*APIServer)(nil), |
| 1134 | 1134 |
Methods: []grpc.MethodDesc{
|
| 1135 | 1135 |
{
|
| 1136 |
+ MethodName: "GetServerVersion", |
|
| 1137 |
+ Handler: _API_GetServerVersion_Handler, |
|
| 1138 |
+ }, |
|
| 1139 |
+ {
|
|
| 1136 | 1140 |
MethodName: "CreateContainer", |
| 1137 | 1141 |
Handler: _API_CreateContainer_Handler, |
| 1138 | 1142 |
}, |
| ... | ... |
@@ -1183,144 +1238,148 @@ var _API_serviceDesc = grpc.ServiceDesc{
|
| 1183 | 1183 |
} |
| 1184 | 1184 |
|
| 1185 | 1185 |
var fileDescriptor0 = []byte{
|
| 1186 |
- // 2212 bytes of a gzipped FileDescriptorProto |
|
| 1187 |
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0x39, 0x4b, 0x73, 0x1c, 0x49, |
|
| 1188 |
- 0xd1, 0x9e, 0xa7, 0x34, 0x39, 0x0f, 0x49, 0x6d, 0x3d, 0xc6, 0xb3, 0x6b, 0xaf, 0xbf, 0x8e, 0x0f, |
|
| 1189 |
- 0xd6, 0xc0, 0x22, 0x8c, 0xbc, 0x1b, 0x38, 0x20, 0x20, 0x62, 0x2d, 0x1b, 0x30, 0x6b, 0x2d, 0x72, |
|
| 1190 |
- 0x4b, 0x8a, 0xbd, 0x10, 0x31, 0xd1, 0x9a, 0x2e, 0xcf, 0x34, 0xea, 0xe9, 0xee, 0xed, 0xae, 0xd1, |
|
| 1191 |
- 0xe3, 0xc2, 0x11, 0x6e, 0x1c, 0xb9, 0x10, 0xc1, 0x85, 0x1b, 0x77, 0x0e, 0xfc, 0x02, 0xfe, 0x09, |
|
| 1192 |
- 0xb1, 0x3f, 0x81, 0x23, 0x59, 0x95, 0xd5, 0x55, 0xd5, 0xf3, 0x90, 0x96, 0x03, 0xc1, 0x85, 0xcb, |
|
| 1193 |
- 0x44, 0xe5, 0xa3, 0x32, 0xb3, 0xf2, 0x55, 0xd9, 0x35, 0xd0, 0xf2, 0xd3, 0x70, 0x3f, 0xcd, 0x12, |
|
| 1194 |
- 0x9e, 0x38, 0x0d, 0x7e, 0x93, 0xb2, 0xdc, 0xfd, 0x6d, 0x05, 0xb6, 0xcf, 0xd2, 0xc0, 0xe7, 0xec, |
|
| 1195 |
- 0x38, 0x4b, 0x46, 0x2c, 0xcf, 0x3d, 0xf6, 0xe5, 0x8c, 0xe5, 0xdc, 0xe9, 0x41, 0x35, 0x0c, 0xfa, |
|
| 1196 |
- 0x95, 0xc7, 0x95, 0x27, 0x2d, 0x0f, 0x57, 0xce, 0x26, 0xd4, 0x52, 0x44, 0x54, 0x25, 0x42, 0x2c, |
|
| 1197 |
- 0x9d, 0x47, 0x00, 0xa3, 0x28, 0xc9, 0xd9, 0x09, 0x0f, 0xc2, 0xb8, 0x5f, 0x43, 0xc2, 0xba, 0x67, |
|
| 1198 |
- 0x61, 0x9c, 0x6d, 0x68, 0x5c, 0x85, 0x01, 0x9f, 0xf4, 0xeb, 0x48, 0xea, 0x7a, 0x04, 0x38, 0xbb, |
|
| 1199 |
- 0xd0, 0x9c, 0xb0, 0x70, 0x3c, 0xe1, 0xfd, 0x86, 0x44, 0x2b, 0xc8, 0xdd, 0x83, 0x9d, 0x39, 0x3b, |
|
| 1200 |
- 0xf2, 0x34, 0x89, 0x73, 0xe6, 0x7e, 0x55, 0x81, 0xdd, 0xc3, 0x8c, 0x21, 0xe5, 0x30, 0x89, 0xb9, |
|
| 1201 |
- 0x1f, 0xc6, 0x2c, 0x5b, 0x65, 0x23, 0x5a, 0x74, 0x3e, 0x8b, 0x83, 0x88, 0x1d, 0xfb, 0xa8, 0x96, |
|
| 1202 |
- 0x4c, 0xb5, 0x30, 0xd2, 0xe2, 0x09, 0x1b, 0x5d, 0xa4, 0x49, 0x18, 0x73, 0x69, 0x31, 0xd2, 0x0d, |
|
| 1203 |
- 0x46, 0x58, 0x9c, 0xcb, 0xc3, 0xd4, 0x25, 0x89, 0x00, 0x61, 0x31, 0x2e, 0x92, 0x19, 0x59, 0xdc, |
|
| 1204 |
- 0xf2, 0x14, 0xa4, 0xf0, 0x2c, 0xcb, 0xfa, 0x4d, 0x8d, 0x47, 0x48, 0xe0, 0x23, 0xff, 0x9c, 0x45, |
|
| 1205 |
- 0x79, 0x7f, 0xed, 0x71, 0x4d, 0xe0, 0x09, 0x72, 0x1e, 0x43, 0x3b, 0x4e, 0x8e, 0xc3, 0xcb, 0x84, |
|
| 1206 |
- 0x7b, 0x49, 0xc2, 0xfb, 0xeb, 0xd2, 0x61, 0x36, 0xca, 0x7d, 0x0d, 0x7b, 0x0b, 0x27, 0x25, 0x2f, |
|
| 1207 |
- 0x38, 0xfb, 0xd0, 0x1a, 0x15, 0x48, 0x79, 0xe2, 0xf6, 0xc1, 0xe6, 0xbe, 0x0c, 0xe1, 0xbe, 0x61, |
|
| 1208 |
- 0x36, 0x2c, 0x28, 0xaa, 0x7b, 0x12, 0x8e, 0x63, 0x3f, 0xfa, 0xfa, 0xf1, 0x14, 0xe7, 0x91, 0x5b, |
|
| 1209 |
- 0xa4, 0x67, 0x30, 0x32, 0x04, 0xb9, 0x9b, 0xd0, 0x2b, 0x44, 0xa9, 0x90, 0xfc, 0xb5, 0x06, 0x5b, |
|
| 1210 |
- 0x9f, 0x06, 0xc1, 0x1d, 0x19, 0x33, 0x80, 0x75, 0xce, 0xb2, 0x69, 0x28, 0x24, 0x56, 0xe5, 0x61, |
|
| 1211 |
- 0x35, 0xec, 0x7c, 0x00, 0xf5, 0x59, 0x8e, 0x27, 0xa9, 0xc9, 0x93, 0xb4, 0xd5, 0x49, 0xce, 0x10, |
|
| 1212 |
- 0xe5, 0x49, 0x82, 0xe3, 0x40, 0xdd, 0xcf, 0xc6, 0x39, 0x46, 0x42, 0xb8, 0x50, 0xae, 0x85, 0xc9, |
|
| 1213 |
- 0x2c, 0xbe, 0xc4, 0x28, 0x08, 0x94, 0x58, 0x0a, 0xcc, 0xe8, 0x2a, 0x50, 0xfe, 0x17, 0xcb, 0xe2, |
|
| 1214 |
- 0x58, 0x6b, 0xe6, 0x58, 0x3a, 0xa8, 0xeb, 0xcb, 0x83, 0xda, 0x5a, 0x11, 0x54, 0x28, 0x05, 0xd5, |
|
| 1215 |
- 0x85, 0xce, 0xc8, 0x4f, 0xfd, 0xf3, 0x30, 0x0a, 0x79, 0xc8, 0xf2, 0x7e, 0x5b, 0x1a, 0x51, 0xc2, |
|
| 1216 |
- 0x39, 0x4f, 0x60, 0xc3, 0x4f, 0x53, 0x3f, 0x9b, 0x26, 0x19, 0xba, 0xe6, 0x5d, 0x18, 0xb1, 0x7e, |
|
| 1217 |
- 0x47, 0x0a, 0x99, 0x47, 0x0b, 0x69, 0x39, 0x8b, 0xc2, 0x78, 0x76, 0xfd, 0x46, 0xe4, 0x46, 0xbf, |
|
| 1218 |
- 0x2b, 0xd9, 0x4a, 0x38, 0x21, 0x2d, 0x4e, 0x3e, 0x67, 0x57, 0xc7, 0x59, 0x78, 0x89, 0x7b, 0xc6, |
|
| 1219 |
- 0xa8, 0xb4, 0x27, 0xbd, 0x38, 0x8f, 0x76, 0x3e, 0x84, 0xb5, 0x2c, 0x0a, 0xa7, 0x21, 0xcf, 0xfb, |
|
| 1220 |
- 0x1b, 0x68, 0x56, 0xfb, 0xa0, 0xab, 0xfc, 0xe9, 0x49, 0xac, 0x57, 0x50, 0xdd, 0x97, 0xd0, 0x24, |
|
| 1221 |
- 0x94, 0x70, 0xaf, 0x60, 0x51, 0xd1, 0x92, 0x6b, 0x81, 0xcb, 0x93, 0x77, 0x5c, 0xc6, 0xaa, 0xee, |
|
| 1222 |
- 0xc9, 0xb5, 0xc0, 0x4d, 0xfc, 0x2c, 0x90, 0x71, 0x42, 0x9c, 0x58, 0xbb, 0x1e, 0xd4, 0x45, 0xa0, |
|
| 1223 |
- 0x84, 0xab, 0x67, 0x2a, 0xe0, 0x5d, 0x4f, 0x2c, 0x05, 0x66, 0xac, 0x72, 0x0a, 0x31, 0xb8, 0x74, |
|
| 1224 |
- 0xbe, 0x09, 0x3d, 0x3f, 0x08, 0xd0, 0x3d, 0x09, 0x46, 0xfd, 0x67, 0x61, 0x90, 0xa3, 0xa4, 0x1a, |
|
| 1225 |
- 0x12, 0xe7, 0xb0, 0xee, 0x36, 0x38, 0x76, 0x42, 0xa9, 0x3c, 0xfb, 0x95, 0xae, 0x07, 0x5d, 0xa3, |
|
| 1226 |
- 0xab, 0x92, 0xed, 0xfb, 0xa5, 0xd2, 0xae, 0xca, 0xb4, 0xda, 0x2a, 0x0a, 0xc4, 0xec, 0xb6, 0x98, |
|
| 1227 |
- 0xdc, 0x01, 0xf4, 0x17, 0xa5, 0x2b, 0xcd, 0x3f, 0x86, 0xbd, 0x97, 0x2c, 0x62, 0x5f, 0x47, 0x33, |
|
| 1228 |
- 0xba, 0x28, 0xf6, 0xa7, 0x4c, 0x55, 0x92, 0x5c, 0x0b, 0xd1, 0x8b, 0xdb, 0x95, 0xe8, 0x0f, 0x61, |
|
| 1229 |
- 0xe7, 0x4d, 0x98, 0xf3, 0x3b, 0x05, 0xbb, 0xbf, 0x01, 0x30, 0x4c, 0x5a, 0x4d, 0xc5, 0xa8, 0x11, |
|
| 1230 |
- 0x38, 0x76, 0x1d, 0x72, 0x55, 0x5d, 0x72, 0x2d, 0x62, 0xc0, 0x47, 0xa9, 0x6a, 0xc7, 0x62, 0x29, |
|
| 1231 |
- 0xfa, 0xce, 0x2c, 0x0e, 0xaf, 0x4f, 0x92, 0xd1, 0x05, 0xe3, 0xb9, 0xec, 0x6d, 0xd8, 0x77, 0x2c, |
|
| 1232 |
- 0x94, 0x2c, 0x91, 0x09, 0x8b, 0x22, 0xd9, 0xe0, 0xd6, 0x3d, 0x02, 0xdc, 0x23, 0xd8, 0x9d, 0x37, |
|
| 1233 |
- 0x54, 0x35, 0xa3, 0x67, 0xd0, 0x36, 0x7e, 0xcc, 0xd1, 0xa4, 0xda, 0x72, 0x6f, 0xdb, 0x5c, 0xee, |
|
| 1234 |
- 0x23, 0xe8, 0x9c, 0x70, 0xf4, 0xf6, 0xaa, 0xe3, 0x3e, 0x81, 0x9e, 0xee, 0x64, 0x92, 0x91, 0x6a, |
|
| 1235 |
- 0xd1, 0xe7, 0xb3, 0x5c, 0x71, 0x29, 0xc8, 0xfd, 0x5b, 0x0d, 0xd6, 0x54, 0xaa, 0x14, 0xf5, 0x5e, |
|
| 1236 |
- 0x31, 0xf5, 0xfe, 0x5f, 0x69, 0x3b, 0xef, 0x43, 0x2b, 0xbf, 0xc9, 0x39, 0x9b, 0x1e, 0xab, 0xe6, |
|
| 1237 |
- 0xd3, 0xf5, 0x0c, 0xe2, 0x7f, 0x2d, 0xc8, 0xb4, 0xa0, 0xbf, 0x57, 0xa0, 0xa5, 0xc3, 0xfc, 0x6f, |
|
| 1238 |
- 0x5f, 0xe0, 0x1f, 0x41, 0x2b, 0xa5, 0xc0, 0x33, 0xea, 0x24, 0xed, 0x83, 0x9e, 0x52, 0x54, 0xf4, |
|
| 1239 |
- 0x0e, 0xc3, 0x60, 0xe5, 0x4f, 0xdd, 0xce, 0x1f, 0xeb, 0x82, 0x6e, 0x94, 0x2e, 0x68, 0x0c, 0x7e, |
|
| 1240 |
- 0x2a, 0x5a, 0x54, 0x53, 0xb6, 0x28, 0xb9, 0x76, 0xfa, 0x78, 0xb0, 0x59, 0xcc, 0x43, 0xac, 0x3c, |
|
| 1241 |
- 0xba, 0x53, 0x0a, 0xd0, 0xfd, 0x04, 0xd6, 0x8e, 0xfc, 0xd1, 0x04, 0xcf, 0x21, 0x36, 0x8e, 0x52, |
|
| 1242 |
- 0x95, 0xa6, 0xb8, 0x51, 0xac, 0x85, 0x92, 0x29, 0x43, 0x7f, 0xdf, 0xa8, 0x7e, 0xaa, 0x20, 0xf7, |
|
| 1243 |
- 0x02, 0x2f, 0x66, 0x2a, 0x03, 0x55, 0x4c, 0x4f, 0xb1, 0x73, 0x15, 0x0e, 0x29, 0x6a, 0x69, 0xf1, |
|
| 1244 |
- 0x6a, 0xb7, 0x78, 0x30, 0x2c, 0x6b, 0x53, 0xd2, 0xac, 0x1a, 0x5d, 0xe1, 0x03, 0x65, 0x8f, 0x57, |
|
| 1245 |
- 0x90, 0xdd, 0xdf, 0xe1, 0xec, 0x44, 0x53, 0xd5, 0x9d, 0xb3, 0xd3, 0xf2, 0x79, 0x80, 0xdc, 0x57, |
|
| 1246 |
- 0x2b, 0xb9, 0xef, 0x19, 0xb4, 0x32, 0x96, 0x27, 0xb3, 0x0c, 0xdd, 0x2c, 0x3d, 0xdb, 0x3e, 0xd8, |
|
| 1247 |
- 0x29, 0x2a, 0x49, 0xea, 0xf2, 0x14, 0xd5, 0x33, 0x7c, 0xee, 0x57, 0x55, 0xe8, 0x95, 0xa9, 0xa2, |
|
| 1248 |
- 0x2f, 0x9d, 0x47, 0x17, 0x61, 0xf2, 0x05, 0x8d, 0x83, 0xe4, 0x3c, 0x1b, 0x25, 0xaa, 0x0a, 0x7d, |
|
| 1249 |
- 0x79, 0x82, 0xb7, 0x0e, 0x6a, 0xa2, 0x5b, 0xc5, 0x20, 0x14, 0xf5, 0x98, 0x65, 0x61, 0x12, 0xa8, |
|
| 1250 |
- 0x91, 0xc5, 0x20, 0x44, 0x1b, 0x40, 0xe0, 0xed, 0x2c, 0xe1, 0xbe, 0x1a, 0x40, 0x35, 0x2c, 0xe7, |
|
| 1251 |
- 0x40, 0x8c, 0x11, 0xe3, 0x87, 0x22, 0x6a, 0x0d, 0x35, 0x07, 0x6a, 0x8c, 0xa1, 0x1f, 0xb1, 0x69, |
|
| 1252 |
- 0xae, 0xca, 0xdc, 0xc2, 0x08, 0xcb, 0x29, 0x9a, 0x6f, 0x44, 0x52, 0xab, 0x7a, 0xb7, 0x51, 0x42, |
|
| 1253 |
- 0x02, 0x81, 0x27, 0x57, 0x7e, 0x2a, 0xcb, 0xbe, 0xeb, 0x59, 0x18, 0x4c, 0xe4, 0x2d, 0x82, 0xd0, |
|
| 1254 |
- 0x1b, 0x2c, 0xbb, 0xf4, 0xc5, 0x55, 0x28, 0xdb, 0x40, 0xd7, 0x5b, 0x24, 0x08, 0xee, 0x0b, 0x96, |
|
| 1255 |
- 0xc5, 0x2c, 0x3a, 0xb2, 0xb4, 0x02, 0x71, 0x2f, 0x10, 0xdc, 0x07, 0xb0, 0xb7, 0x10, 0x73, 0x75, |
|
| 1256 |
- 0xf7, 0x7c, 0x17, 0xba, 0xaf, 0x2e, 0x19, 0x76, 0xe3, 0x22, 0x0b, 0xd0, 0x87, 0x22, 0x99, 0x31, |
|
| 1257 |
- 0xb2, 0xd3, 0x54, 0x46, 0xa0, 0xee, 0x19, 0x84, 0x9b, 0x43, 0x43, 0xb2, 0x2f, 0x1d, 0x17, 0x28, |
|
| 1258 |
- 0x81, 0xaa, 0x3a, 0x81, 0xca, 0xe9, 0xd2, 0xd5, 0xe9, 0xa2, 0x12, 0xab, 0x6e, 0x12, 0xab, 0xa4, |
|
| 1259 |
- 0xb4, 0x31, 0xaf, 0xf4, 0xf7, 0x55, 0xe8, 0x7c, 0xce, 0xf8, 0x55, 0x92, 0x5d, 0x88, 0x42, 0xc9, |
|
| 1260 |
- 0x97, 0xde, 0x7c, 0x0f, 0x60, 0x3d, 0xbb, 0x1e, 0x9e, 0xdf, 0x70, 0x95, 0x18, 0x75, 0xac, 0xcb, |
|
| 1261 |
- 0xeb, 0x17, 0x02, 0x74, 0x1e, 0x02, 0x20, 0xe9, 0xd8, 0xa7, 0xdb, 0x8e, 0x06, 0x97, 0x56, 0x76, |
|
| 1262 |
- 0xad, 0x10, 0xce, 0x7b, 0xd0, 0xf2, 0xae, 0x87, 0xd8, 0x4f, 0x93, 0x8c, 0xb2, 0xb7, 0xee, 0xa1, |
|
| 1263 |
- 0xa8, 0x57, 0x12, 0x16, 0x7b, 0x91, 0x18, 0x64, 0x49, 0x9a, 0xb2, 0xa0, 0x30, 0x2d, 0xbb, 0x7e, |
|
| 1264 |
- 0x49, 0x08, 0xa1, 0xf5, 0xb4, 0xd0, 0xda, 0x24, 0xad, 0xdc, 0x68, 0x45, 0x52, 0xaa, 0xb4, 0xae, |
|
| 1265 |
- 0xa9, 0x43, 0xd9, 0x5a, 0x4f, 0xb5, 0xd6, 0x75, 0xd2, 0xca, 0x2d, 0xad, 0xa7, 0x46, 0x6b, 0xab, |
|
| 1266 |
- 0xd8, 0xab, 0xb4, 0xba, 0x7f, 0xa9, 0xc0, 0x3a, 0xa6, 0xe5, 0x59, 0xee, 0x8f, 0x19, 0xde, 0x60, |
|
| 1267 |
- 0x6d, 0x8e, 0x29, 0x1c, 0x0d, 0x67, 0x02, 0x54, 0x21, 0x03, 0x89, 0x22, 0x86, 0xff, 0x83, 0x4e, |
|
| 1268 |
- 0xca, 0x32, 0x4c, 0x56, 0xc5, 0x51, 0xc5, 0x86, 0x52, 0xf7, 0xda, 0x84, 0x23, 0x96, 0x7d, 0xb8, |
|
| 1269 |
- 0x2f, 0x69, 0xc3, 0x30, 0x1e, 0x52, 0xfa, 0x4c, 0x93, 0x80, 0x29, 0x57, 0x6d, 0x49, 0xd2, 0xeb, |
|
| 1270 |
- 0xf8, 0x33, 0x4d, 0x70, 0xbe, 0x0d, 0x5b, 0x9a, 0x5f, 0xdc, 0x92, 0x92, 0x9b, 0x5c, 0xb7, 0xa1, |
|
| 1271 |
- 0xb8, 0xcf, 0x14, 0x1a, 0x87, 0x96, 0xde, 0xe9, 0x04, 0x3f, 0x30, 0x39, 0x5e, 0x23, 0xe3, 0x97, |
|
| 1272 |
- 0x3e, 0x16, 0x1b, 0x76, 0xd0, 0x54, 0x96, 0x64, 0xae, 0xac, 0x2d, 0x40, 0xe7, 0x3b, 0xb0, 0xc5, |
|
| 1273 |
- 0x89, 0x97, 0x05, 0xc3, 0x82, 0x87, 0xa2, 0xb9, 0xa9, 0x09, 0xc7, 0x8a, 0xf9, 0x1b, 0xd0, 0x33, |
|
| 1274 |
- 0xcc, 0xb2, 0x1f, 0x93, 0xbd, 0x5d, 0x8d, 0x3d, 0x15, 0x5d, 0xf9, 0x8f, 0xe4, 0x2c, 0xca, 0x9c, |
|
| 1275 |
- 0x8f, 0x64, 0x87, 0xb0, 0x5c, 0xd5, 0x3e, 0xd8, 0x28, 0x3a, 0xab, 0x72, 0x86, 0xec, 0x0a, 0xe4, |
|
| 1276 |
- 0x96, 0x9f, 0xc0, 0x06, 0xd7, 0xa6, 0x0f, 0xb1, 0x80, 0x7c, 0xd5, 0x5e, 0x8b, 0xee, 0x56, 0x3e, |
|
| 1277 |
- 0x98, 0xd7, 0xe3, 0xe5, 0x83, 0xa2, 0xe7, 0xe9, 0xca, 0x57, 0x0a, 0xc9, 0xbe, 0x36, 0xe1, 0xa4, |
|
| 1278 |
- 0x0a, 0xf7, 0x47, 0xd0, 0xc2, 0x79, 0x20, 0x27, 0xeb, 0xd0, 0x31, 0xa3, 0x59, 0x96, 0x61, 0x7d, |
|
| 1279 |
- 0x15, 0x8e, 0x51, 0xa0, 0x98, 0x17, 0xe4, 0x75, 0xa9, 0x9c, 0x41, 0x80, 0x9b, 0x00, 0x50, 0x99, |
|
| 1280 |
- 0x4b, 0x6d, 0xc8, 0x63, 0xa7, 0x00, 0x01, 0x22, 0xcf, 0xa6, 0xfe, 0xb5, 0x0e, 0xbd, 0xcc, 0x33, |
|
| 1281 |
- 0x44, 0xd0, 0x01, 0x51, 0xe1, 0x3b, 0x3f, 0x8c, 0x46, 0xea, 0xdb, 0x17, 0x15, 0x2a, 0xd0, 0x28, |
|
| 1282 |
- 0xac, 0xdb, 0x0a, 0xff, 0x5c, 0x85, 0x36, 0x69, 0x24, 0x83, 0x91, 0x6b, 0x84, 0x17, 0x8b, 0x56, |
|
| 1283 |
- 0x29, 0x01, 0xbc, 0xfa, 0x1b, 0x46, 0x9d, 0x19, 0x03, 0x8d, 0xa9, 0x85, 0x6d, 0x78, 0xd1, 0xe5, |
|
| 1284 |
- 0xd8, 0xfb, 0x2c, 0xef, 0x2c, 0xe5, 0x6e, 0x09, 0x26, 0x32, 0xf8, 0x63, 0xe8, 0x50, 0x7e, 0xaa, |
|
| 1285 |
- 0x3d, 0xf5, 0x55, 0x7b, 0xda, 0xc4, 0x46, 0xbb, 0x9e, 0x89, 0x69, 0x0b, 0xed, 0x95, 0xb7, 0x7b, |
|
| 1286 |
- 0xfb, 0xe0, 0x61, 0x89, 0x5d, 0x9e, 0x64, 0x5f, 0xfe, 0xbe, 0x8a, 0x39, 0xb6, 0x59, 0xe2, 0x1d, |
|
| 1287 |
- 0x3c, 0x07, 0x30, 0x48, 0xd1, 0xb3, 0x2e, 0xd8, 0x4d, 0x31, 0x55, 0xe2, 0x52, 0x9c, 0xfd, 0xd2, |
|
| 1288 |
- 0x8f, 0x66, 0x85, 0x53, 0x09, 0xf8, 0x61, 0xf5, 0x79, 0xc5, 0x1d, 0xc1, 0xc6, 0x0b, 0x71, 0x67, |
|
| 1289 |
- 0x59, 0xdb, 0x91, 0x79, 0xea, 0xff, 0x3a, 0xc9, 0x0a, 0x47, 0x49, 0x40, 0x62, 0xc3, 0x18, 0xb1, |
|
| 1290 |
- 0x4a, 0x84, 0x04, 0x44, 0x1b, 0x4d, 0x52, 0x75, 0xc3, 0xe2, 0xca, 0x28, 0xaa, 0x5b, 0x8a, 0xdc, |
|
| 1291 |
- 0x7f, 0xd4, 0x01, 0x8c, 0x16, 0xe7, 0x04, 0x06, 0x61, 0x32, 0x14, 0x17, 0x44, 0x38, 0x62, 0xd4, |
|
| 1292 |
- 0x90, 0x86, 0x19, 0xc3, 0xf4, 0xc9, 0xc3, 0x4b, 0xa6, 0x66, 0x88, 0x5d, 0x75, 0xee, 0x39, 0xe3, |
|
| 1293 |
- 0xbc, 0x3d, 0x84, 0x68, 0xa3, 0xec, 0x5c, 0x5e, 0xb1, 0xcd, 0xf9, 0x05, 0xec, 0x18, 0xa1, 0x81, |
|
| 1294 |
- 0x25, 0xaf, 0x7a, 0xab, 0xbc, 0xfb, 0x5a, 0x5e, 0x60, 0x64, 0xfd, 0x14, 0x10, 0x3d, 0xc4, 0x3b, |
|
| 1295 |
- 0x66, 0x56, 0x92, 0x54, 0xbb, 0x55, 0xd2, 0x56, 0x98, 0xbc, 0x95, 0x3b, 0x8c, 0x9c, 0xb7, 0xf0, |
|
| 1296 |
- 0xc0, 0x3a, 0xa8, 0x28, 0x7b, 0x4b, 0x5a, 0xfd, 0x56, 0x69, 0xbb, 0xda, 0x2e, 0xd1, 0x18, 0x8c, |
|
| 1297 |
- 0xc8, 0xcf, 0x00, 0x29, 0xc3, 0x2b, 0x3f, 0xe4, 0xf3, 0xf2, 0x1a, 0x77, 0x9d, 0xf3, 0x0b, 0xdc, |
|
| 1298 |
- 0x54, 0x16, 0x46, 0xe7, 0x9c, 0xb2, 0x6c, 0x5c, 0x3a, 0x67, 0xf3, 0xae, 0x73, 0x1e, 0xc9, 0x1d, |
|
| 1299 |
- 0x46, 0xce, 0x0b, 0x40, 0xe4, 0xbc, 0x3d, 0x6b, 0xb7, 0x4a, 0xd9, 0x08, 0x93, 0xb2, 0x2d, 0x87, |
|
| 1300 |
- 0xb0, 0x95, 0xb3, 0x11, 0xc7, 0x1b, 0xc5, 0x92, 0xb1, 0x7e, 0xab, 0x8c, 0x4d, 0xb5, 0x41, 0x0b, |
|
| 1301 |
- 0x71, 0xbf, 0x84, 0xce, 0xcf, 0x67, 0x63, 0xc6, 0xa3, 0x73, 0x5d, 0xf3, 0xff, 0xe9, 0x36, 0xf3, |
|
| 1302 |
- 0x4f, 0x6c, 0x33, 0x87, 0xe3, 0x2c, 0x99, 0xa5, 0xa5, 0xae, 0x4d, 0x35, 0xbc, 0xd0, 0xb5, 0x25, |
|
| 1303 |
- 0x8f, 0xec, 0xda, 0xc4, 0xfd, 0x09, 0x74, 0x68, 0x60, 0x52, 0x1b, 0xa8, 0x0b, 0x39, 0x8b, 0x45, |
|
| 1304 |
- 0x5f, 0x0c, 0x68, 0xb4, 0xed, 0x40, 0x0d, 0x9f, 0x6a, 0x57, 0xb9, 0x1b, 0x19, 0x37, 0xe1, 0xd7, |
|
| 1305 |
- 0x87, 0xa9, 0xba, 0xd7, 0xd0, 0x9d, 0x90, 0x6f, 0xd4, 0x2e, 0x4a, 0xc0, 0xff, 0x2f, 0x8c, 0x33, |
|
| 1306 |
- 0x67, 0xd8, 0xb7, 0x7d, 0x48, 0xae, 0xee, 0x4c, 0x6c, 0xb7, 0x7e, 0x0f, 0x40, 0x7c, 0x5e, 0x0c, |
|
| 1307 |
- 0x8b, 0x46, 0x65, 0xbf, 0xe7, 0xe9, 0x1b, 0x02, 0xbf, 0x65, 0x8a, 0xe5, 0xe0, 0x14, 0xb6, 0x16, |
|
| 1308 |
- 0x64, 0x2e, 0x69, 0x53, 0xdf, 0xb2, 0xdb, 0x54, 0xfb, 0xe0, 0xbe, 0x12, 0x69, 0x6f, 0xb5, 0x7b, |
|
| 1309 |
- 0xd7, 0x9f, 0x2a, 0xf4, 0x35, 0xa2, 0x9f, 0x5c, 0x9c, 0xe7, 0xd0, 0x8d, 0x69, 0xf8, 0xd2, 0x01, |
|
| 1310 |
- 0xa8, 0x59, 0x82, 0xec, 0xc1, 0xcc, 0xeb, 0xc4, 0xf6, 0x98, 0x86, 0x81, 0x18, 0x49, 0x0f, 0x2c, |
|
| 1311 |
- 0x0d, 0x84, 0xe5, 0x1c, 0xaf, 0x3d, 0xb2, 0xa2, 0x5d, 0x1a, 0x06, 0x6b, 0xf3, 0xc3, 0xa0, 0x7a, |
|
| 1312 |
- 0x34, 0x58, 0xf5, 0xc6, 0x78, 0xf0, 0x87, 0x26, 0xd4, 0x3e, 0x3d, 0x7e, 0xed, 0x78, 0xb0, 0x31, |
|
| 1313 |
- 0xf7, 0x72, 0xea, 0x14, 0x7d, 0x7f, 0xf9, 0xdb, 0xf1, 0xe0, 0xd1, 0x2a, 0xb2, 0x1a, 0x95, 0xef, |
|
| 1314 |
- 0x09, 0x99, 0x73, 0x73, 0xb4, 0x96, 0xb9, 0xfc, 0x9b, 0x4a, 0xcb, 0x5c, 0x35, 0x7e, 0xdf, 0x73, |
|
| 1315 |
- 0x7e, 0x00, 0x4d, 0x7a, 0x4b, 0x75, 0xb6, 0x15, 0x6f, 0xe9, 0x95, 0x76, 0xb0, 0x33, 0x87, 0xd5, |
|
| 1316 |
- 0x1b, 0xdf, 0x40, 0xb7, 0xf4, 0x3c, 0xee, 0xbc, 0x57, 0xd2, 0x55, 0x7e, 0x8a, 0x1d, 0xbc, 0xbf, |
|
| 1317 |
- 0x9c, 0xa8, 0xa5, 0x1d, 0x02, 0x98, 0xe7, 0x36, 0xa7, 0xaf, 0xb8, 0x17, 0x9e, 0x74, 0x07, 0x0f, |
|
| 1318 |
- 0x96, 0x50, 0xb4, 0x90, 0x33, 0xd8, 0x9c, 0x7f, 0x3f, 0x73, 0xe6, 0xbc, 0x3a, 0xff, 0xc6, 0x35, |
|
| 1319 |
- 0xf8, 0x60, 0x25, 0xdd, 0x16, 0x3b, 0xff, 0x76, 0xa6, 0xc5, 0xae, 0x78, 0x93, 0xd3, 0x62, 0x57, |
|
| 1320 |
- 0x3e, 0xba, 0xdd, 0x73, 0x7e, 0x09, 0xbd, 0xf2, 0x6b, 0x96, 0x53, 0x38, 0x69, 0xe9, 0x6b, 0xdc, |
|
| 1321 |
- 0xe0, 0xe1, 0x0a, 0xaa, 0x16, 0xf8, 0x31, 0x34, 0xe8, 0x99, 0xaa, 0xa8, 0x0d, 0xfb, 0x75, 0x6b, |
|
| 1322 |
- 0xb0, 0x5d, 0x46, 0xea, 0x5d, 0x4f, 0xa1, 0x49, 0x5f, 0x60, 0x3a, 0x01, 0x4a, 0x1f, 0x64, 0x83, |
|
| 1323 |
- 0x8e, 0x8d, 0x75, 0xef, 0x3d, 0xad, 0x14, 0x7a, 0xf2, 0x92, 0x9e, 0x7c, 0x99, 0x1e, 0x2b, 0x38, |
|
| 1324 |
- 0xe7, 0x4d, 0xf9, 0x2f, 0xcf, 0xb3, 0x7f, 0x05, 0x00, 0x00, 0xff, 0xff, 0x9a, 0x70, 0x70, 0x7d, |
|
| 1325 |
- 0xf2, 0x19, 0x00, 0x00, |
|
| 1186 |
+ // 2285 bytes of a gzipped FileDescriptorProto |
|
| 1187 |
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0x19, 0xcb, 0x72, 0x1c, 0x49, |
|
| 1188 |
+ 0xd1, 0xf3, 0x94, 0x26, 0xe7, 0x21, 0xa9, 0xfd, 0xd0, 0x78, 0x76, 0xed, 0x35, 0x1d, 0xc0, 0x1a, |
|
| 1189 |
+ 0x58, 0x84, 0x91, 0x77, 0x03, 0x07, 0x04, 0x44, 0xac, 0x65, 0xb3, 0x98, 0xb5, 0x16, 0xb9, 0x25, |
|
| 1190 |
+ 0xb1, 0x17, 0x22, 0x26, 0x5a, 0x33, 0xe5, 0x99, 0x46, 0x33, 0xdd, 0xbd, 0xdd, 0x35, 0xd2, 0xe8, |
|
| 1191 |
+ 0xc2, 0x11, 0x6e, 0xfc, 0x00, 0x11, 0x5c, 0xb8, 0x71, 0xe7, 0xc0, 0x17, 0xf0, 0x27, 0xc4, 0x5e, |
|
| 1192 |
+ 0xb8, 0x73, 0x24, 0xab, 0x32, 0xbb, 0xba, 0x7a, 0x1e, 0xd2, 0x72, 0x20, 0xb8, 0xec, 0x65, 0xa2, |
|
| 1193 |
+ 0x32, 0x2b, 0x2b, 0x33, 0x2b, 0xdf, 0x5d, 0x03, 0x0d, 0x3f, 0x0e, 0xf6, 0xe2, 0x24, 0x92, 0x91, |
|
| 1194 |
+ 0x53, 0x93, 0x57, 0xb1, 0x48, 0xdd, 0xfb, 0xb0, 0xfb, 0x89, 0x90, 0xc7, 0x22, 0xb9, 0x10, 0xc9, |
|
| 1195 |
+ 0xaf, 0x45, 0x92, 0x06, 0x51, 0xe8, 0x89, 0x2f, 0x66, 0x22, 0x95, 0xee, 0x1c, 0xba, 0xcb, 0x5b, |
|
| 1196 |
+ 0x69, 0x1c, 0x85, 0xa9, 0x70, 0xee, 0x40, 0x6d, 0xea, 0xff, 0x36, 0x4a, 0xba, 0xa5, 0x47, 0xa5, |
|
| 1197 |
+ 0xc7, 0x6d, 0x8f, 0x00, 0x8d, 0x0d, 0x42, 0xc4, 0x96, 0x19, 0xab, 0x00, 0x85, 0x8d, 0x7d, 0x39, |
|
| 1198 |
+ 0x18, 0x77, 0x2b, 0x84, 0xd5, 0x80, 0xd3, 0x83, 0xcd, 0x44, 0x5c, 0x04, 0x8a, 0x6b, 0xb7, 0x8a, |
|
| 1199 |
+ 0x1b, 0x0d, 0xcf, 0xc0, 0xee, 0xef, 0x4b, 0x70, 0xe7, 0x34, 0x1e, 0xfa, 0x52, 0x1c, 0x25, 0xd1, |
|
| 1200 |
+ 0x40, 0xa4, 0x29, 0xab, 0xe4, 0x74, 0xa0, 0x1c, 0x0c, 0xb5, 0xcc, 0x86, 0x87, 0x2b, 0x67, 0x1b, |
|
| 1201 |
+ 0x2a, 0x31, 0x22, 0xca, 0x1a, 0xa1, 0x96, 0xce, 0x43, 0x80, 0xc1, 0x24, 0x4a, 0xc5, 0xb1, 0x1c, |
|
| 1202 |
+ 0x06, 0xa1, 0x96, 0xb8, 0xe9, 0x59, 0x18, 0xa5, 0xcc, 0x65, 0x30, 0x94, 0x63, 0x2d, 0x13, 0x95, |
|
| 1203 |
+ 0xd1, 0x80, 0x73, 0x0f, 0xea, 0x63, 0x11, 0x8c, 0xc6, 0xb2, 0x5b, 0xd3, 0x68, 0x86, 0xdc, 0x5d, |
|
| 1204 |
+ 0xb8, 0xbb, 0xa0, 0x07, 0xdd, 0xdf, 0xfd, 0xb2, 0x04, 0xf7, 0x0e, 0x12, 0x81, 0x3b, 0x07, 0x51, |
|
| 1205 |
+ 0x28, 0xfd, 0x20, 0x14, 0xc9, 0x3a, 0x1d, 0x51, 0xa3, 0xb3, 0x59, 0x38, 0x9c, 0x88, 0x23, 0x1f, |
|
| 1206 |
+ 0xc5, 0x92, 0xaa, 0x16, 0x46, 0x6b, 0x3c, 0x16, 0x83, 0xf3, 0x38, 0x0a, 0x42, 0xa9, 0x35, 0xc6, |
|
| 1207 |
+ 0xfd, 0x1c, 0xa3, 0x34, 0x4e, 0xf5, 0x65, 0xc8, 0x4a, 0x04, 0x28, 0x8d, 0x71, 0x11, 0xcd, 0x48, |
|
| 1208 |
+ 0xe3, 0x86, 0xc7, 0x10, 0xe3, 0x45, 0x92, 0x74, 0xeb, 0x06, 0x8f, 0x90, 0xc2, 0x4f, 0xfc, 0x33, |
|
| 1209 |
+ 0x31, 0x49, 0xbb, 0x1b, 0x8f, 0x2a, 0x0a, 0x4f, 0x90, 0xf3, 0x08, 0x9a, 0x61, 0x74, 0x14, 0x5c, |
|
| 1210 |
+ 0x44, 0xd2, 0x8b, 0x22, 0xd9, 0xdd, 0xd4, 0x06, 0xb3, 0x51, 0xee, 0x2b, 0xd8, 0x5d, 0xba, 0x29, |
|
| 1211 |
+ 0x47, 0xc1, 0x1e, 0x34, 0x06, 0x19, 0x52, 0xdf, 0xb8, 0xb9, 0xbf, 0xbd, 0xa7, 0xe3, 0x6a, 0x2f, |
|
| 1212 |
+ 0x27, 0xce, 0x49, 0x90, 0x55, 0xfb, 0x38, 0x18, 0x85, 0xfe, 0xe4, 0xab, 0xfb, 0x53, 0xdd, 0x47, |
|
| 1213 |
+ 0x1f, 0xe1, 0xe8, 0x61, 0xc8, 0xdd, 0x86, 0x4e, 0xc6, 0x8a, 0x5d, 0xf2, 0xb7, 0x0a, 0xec, 0x7c, |
|
| 1214 |
+ 0x3c, 0x1c, 0xde, 0x10, 0x31, 0x18, 0x76, 0x52, 0x24, 0x18, 0x98, 0xc8, 0xb1, 0xac, 0x2f, 0x6b, |
|
| 1215 |
+ 0x60, 0xe7, 0x3d, 0xa8, 0xce, 0x52, 0xbc, 0x49, 0x45, 0xdf, 0xa4, 0xc9, 0x37, 0x39, 0x45, 0x94, |
|
| 1216 |
+ 0xa7, 0x37, 0x1c, 0x07, 0xaa, 0x7e, 0x32, 0x4a, 0xd1, 0x13, 0xca, 0x84, 0x7a, 0xad, 0x54, 0x16, |
|
| 1217 |
+ 0xe1, 0x05, 0x7a, 0x41, 0xa1, 0xd4, 0x52, 0x61, 0x06, 0x97, 0x43, 0xb6, 0xbf, 0x5a, 0x66, 0xd7, |
|
| 1218 |
+ 0xda, 0xc8, 0xaf, 0x65, 0x9c, 0xba, 0xb9, 0xda, 0xa9, 0x8d, 0x35, 0x4e, 0x85, 0x82, 0x53, 0x5d, |
|
| 1219 |
+ 0x68, 0x0d, 0xfc, 0xd8, 0x3f, 0x0b, 0x26, 0x81, 0x0c, 0x44, 0xda, 0x6d, 0x6a, 0x25, 0x0a, 0x38, |
|
| 1220 |
+ 0xe7, 0x31, 0x6c, 0xf9, 0x71, 0xec, 0x27, 0xd3, 0x28, 0x41, 0xd3, 0xbc, 0x0d, 0x26, 0xa2, 0xdb, |
|
| 1221 |
+ 0xd2, 0x4c, 0x16, 0xd1, 0x8a, 0x5b, 0x2a, 0x26, 0x41, 0x38, 0x9b, 0xbf, 0x56, 0xb1, 0xd1, 0x6d, |
|
| 1222 |
+ 0x6b, 0xb2, 0x02, 0x4e, 0x71, 0x0b, 0xa3, 0xcf, 0xc4, 0xe5, 0x51, 0x12, 0x5c, 0xe0, 0x99, 0x11, |
|
| 1223 |
+ 0x0a, 0xed, 0x68, 0x2b, 0x2e, 0xa2, 0x9d, 0xf7, 0x61, 0x23, 0x99, 0x04, 0xd3, 0x40, 0xa6, 0xdd, |
|
| 1224 |
+ 0x2d, 0x54, 0xab, 0xb9, 0xdf, 0x66, 0x7b, 0x7a, 0x1a, 0xeb, 0x65, 0xbb, 0xee, 0x0b, 0xa8, 0x13, |
|
| 1225 |
+ 0x4a, 0x99, 0x57, 0x91, 0xb0, 0xb7, 0xf4, 0x5a, 0xe1, 0xd2, 0xe8, 0xad, 0xd4, 0xbe, 0xaa, 0x7a, |
|
| 1226 |
+ 0x7a, 0xad, 0x70, 0x63, 0x3f, 0x19, 0x6a, 0x3f, 0x21, 0x4e, 0xad, 0x5d, 0x0f, 0xaa, 0xca, 0x51, |
|
| 1227 |
+ 0xca, 0xd4, 0x33, 0x76, 0x78, 0xdb, 0x53, 0x4b, 0x85, 0x19, 0x71, 0x4c, 0x21, 0x06, 0x97, 0xce, |
|
| 1228 |
+ 0xb7, 0xa1, 0xe3, 0x0f, 0x87, 0x68, 0x9e, 0x08, 0xbd, 0xfe, 0x49, 0x30, 0x4c, 0x91, 0x53, 0x05, |
|
| 1229 |
+ 0x37, 0x17, 0xb0, 0xee, 0x1d, 0x70, 0xec, 0x80, 0xe2, 0x38, 0xfb, 0x8d, 0xc9, 0x07, 0x93, 0xa3, |
|
| 1230 |
+ 0xeb, 0x82, 0xed, 0x87, 0x85, 0xd4, 0x2e, 0xeb, 0xb0, 0xda, 0xc9, 0x12, 0x24, 0x3f, 0x6d, 0x11, |
|
| 1231 |
+ 0xb9, 0x3d, 0xe8, 0x2e, 0x73, 0x67, 0xc9, 0x3f, 0x85, 0xdd, 0x17, 0x62, 0x22, 0xbe, 0x8a, 0x64, |
|
| 1232 |
+ 0x34, 0x51, 0xe8, 0x4f, 0x05, 0x67, 0x92, 0x5e, 0x2b, 0xd6, 0xcb, 0xc7, 0x99, 0xf5, 0xfb, 0x70, |
|
| 1233 |
+ 0xf7, 0x75, 0x90, 0xca, 0x1b, 0x19, 0xbb, 0xbf, 0x03, 0xc8, 0x89, 0x8c, 0x98, 0x52, 0x2e, 0x46, |
|
| 1234 |
+ 0xe1, 0xc4, 0x3c, 0x90, 0x9c, 0x5d, 0x7a, 0xad, 0x7c, 0x20, 0x07, 0x31, 0x97, 0x63, 0xb5, 0x54, |
|
| 1235 |
+ 0x75, 0x67, 0x16, 0x06, 0xf3, 0xe3, 0x68, 0x70, 0x2e, 0x64, 0xaa, 0x6b, 0x1b, 0xd6, 0x1d, 0x0b, |
|
| 1236 |
+ 0xa5, 0x53, 0x64, 0x2c, 0x26, 0x13, 0x5d, 0xe0, 0x36, 0x3d, 0x02, 0xdc, 0x43, 0xb8, 0xb7, 0xa8, |
|
| 1237 |
+ 0x28, 0x17, 0xa3, 0xa7, 0xd0, 0xcc, 0xed, 0x98, 0xa2, 0x4a, 0x95, 0xd5, 0xd6, 0xb6, 0xa9, 0xdc, |
|
| 1238 |
+ 0x87, 0xd0, 0x3a, 0x96, 0x68, 0xed, 0x75, 0xd7, 0x7d, 0x0c, 0x1d, 0x53, 0xc9, 0x34, 0x21, 0xe5, |
|
| 1239 |
+ 0xa2, 0x2f, 0x67, 0x29, 0x53, 0x31, 0xe4, 0xfe, 0xbd, 0x02, 0x1b, 0x1c, 0x2a, 0x59, 0xbe, 0x97, |
|
| 1240 |
+ 0xf2, 0x7c, 0xff, 0xbf, 0x94, 0x9d, 0x77, 0xa1, 0x91, 0x5e, 0xa5, 0x52, 0x4c, 0x8f, 0xb8, 0xf8, |
|
| 1241 |
+ 0xb4, 0xbd, 0x1c, 0xf1, 0x75, 0x09, 0xca, 0x4b, 0xd0, 0x3f, 0x4a, 0xd0, 0x30, 0x6e, 0xfe, 0xaf, |
|
| 1242 |
+ 0x1b, 0xf8, 0x07, 0xd0, 0x88, 0xc9, 0xf1, 0x82, 0x2a, 0x49, 0x73, 0xbf, 0xc3, 0x82, 0xb2, 0xda, |
|
| 1243 |
+ 0x91, 0x13, 0x58, 0xf1, 0x53, 0xb5, 0xe3, 0xc7, 0x6a, 0xd0, 0xb5, 0x42, 0x83, 0x46, 0xe7, 0xc7, |
|
| 1244 |
+ 0xaa, 0x44, 0xd5, 0x75, 0x89, 0xd2, 0x6b, 0xa7, 0x8b, 0x17, 0x9b, 0x85, 0x32, 0xc0, 0xcc, 0xa3, |
|
| 1245 |
+ 0x9e, 0x92, 0x81, 0xee, 0x47, 0xb0, 0x71, 0xe8, 0x0f, 0xc6, 0x78, 0x0f, 0x75, 0x70, 0x10, 0x73, |
|
| 1246 |
+ 0x98, 0xe2, 0x41, 0xb5, 0x56, 0x42, 0xa6, 0x02, 0xed, 0x7d, 0xc5, 0xf5, 0x94, 0x21, 0xf7, 0x1c, |
|
| 1247 |
+ 0x1b, 0x33, 0xa5, 0x01, 0x27, 0xd3, 0x13, 0xac, 0x5c, 0x99, 0x41, 0xb2, 0x5c, 0x5a, 0x6e, 0xed, |
|
| 1248 |
+ 0x16, 0x0d, 0xba, 0x65, 0x63, 0x4a, 0x92, 0xb9, 0xd0, 0x65, 0x36, 0x60, 0x7d, 0xbc, 0x6c, 0xdb, |
|
| 1249 |
+ 0xfd, 0x03, 0xce, 0x4e, 0x34, 0x55, 0xdd, 0x38, 0x3b, 0xad, 0x9e, 0x07, 0xc8, 0x7c, 0x95, 0x82, |
|
| 1250 |
+ 0xf9, 0x9e, 0x42, 0x23, 0x11, 0x69, 0x34, 0x4b, 0xd0, 0xcc, 0xda, 0xb2, 0xcd, 0xfd, 0xbb, 0x59, |
|
| 1251 |
+ 0x26, 0x69, 0x59, 0x1e, 0xef, 0x7a, 0x39, 0x9d, 0xfb, 0x65, 0x19, 0x3a, 0xc5, 0x5d, 0x55, 0x97, |
|
| 1252 |
+ 0xce, 0x26, 0xe7, 0x41, 0xf4, 0x39, 0x8d, 0x83, 0x64, 0x3c, 0x1b, 0xa5, 0xb2, 0x0a, 0x6d, 0x79, |
|
| 1253 |
+ 0x8c, 0x5d, 0x07, 0x25, 0x51, 0x57, 0xc9, 0x11, 0xbc, 0x7b, 0x24, 0x92, 0x20, 0x1a, 0xf2, 0xc8, |
|
| 1254 |
+ 0x92, 0x23, 0x54, 0x19, 0x40, 0xe0, 0xcd, 0x2c, 0x92, 0x3e, 0x0f, 0xa0, 0x06, 0xd6, 0x73, 0x20, |
|
| 1255 |
+ 0xfa, 0x48, 0xc8, 0x03, 0xe5, 0xb5, 0x1a, 0xcf, 0x81, 0x06, 0x93, 0xef, 0x1f, 0x8a, 0x69, 0xca, |
|
| 1256 |
+ 0x69, 0x6e, 0x61, 0x94, 0xe6, 0xe4, 0xcd, 0xd7, 0x2a, 0xa8, 0x39, 0xdf, 0x6d, 0x94, 0xe2, 0x40, |
|
| 1257 |
+ 0xe0, 0xf1, 0xa5, 0x1f, 0xeb, 0xb4, 0x6f, 0x7b, 0x16, 0x06, 0x03, 0x79, 0x87, 0x20, 0xb4, 0x06, |
|
| 1258 |
+ 0x4e, 0xfd, 0xbe, 0x6a, 0x85, 0xba, 0x0c, 0xb4, 0xbd, 0xe5, 0x0d, 0x45, 0x7d, 0x2e, 0x92, 0x50, |
|
| 1259 |
+ 0x4c, 0x0e, 0x2d, 0xa9, 0x40, 0xd4, 0x4b, 0x1b, 0xea, 0x3b, 0x63, 0xc9, 0xe7, 0xdc, 0x7b, 0xbe, |
|
| 1260 |
+ 0x0f, 0xed, 0x97, 0x17, 0x02, 0xab, 0x71, 0x16, 0x05, 0x68, 0x43, 0x15, 0xcc, 0xe8, 0xd9, 0x69, |
|
| 1261 |
+ 0xac, 0x3d, 0x50, 0xf5, 0x72, 0x84, 0x9b, 0x42, 0x4d, 0x93, 0xaf, 0x1c, 0x17, 0x28, 0x80, 0xca, |
|
| 1262 |
+ 0x26, 0x80, 0x8a, 0xe1, 0xd2, 0x36, 0xe1, 0xc2, 0x81, 0x55, 0xcd, 0x03, 0xab, 0x20, 0xb4, 0xb6, |
|
| 1263 |
+ 0x28, 0xf4, 0x8f, 0x65, 0x68, 0x7d, 0x26, 0xe4, 0x65, 0x94, 0x9c, 0xab, 0x44, 0x49, 0x57, 0x76, |
|
| 1264 |
+ 0xbe, 0xfb, 0xf8, 0x49, 0x33, 0xef, 0x9f, 0x5d, 0x49, 0x0e, 0x8c, 0x2a, 0xe6, 0xe5, 0xfc, 0xb9, |
|
| 1265 |
+ 0x02, 0x9d, 0x07, 0x00, 0xb8, 0x75, 0xe4, 0x53, 0xb7, 0xa3, 0xc1, 0xa5, 0x91, 0xcc, 0x19, 0xe1, |
|
| 1266 |
+ 0xbc, 0x03, 0x0d, 0x6f, 0xde, 0xc7, 0x7a, 0x1a, 0x25, 0x14, 0xbd, 0x55, 0xfc, 0x1a, 0x9a, 0xbf, |
|
| 1267 |
+ 0xd4, 0xb0, 0x3a, 0x8b, 0x9b, 0xc3, 0x24, 0x8a, 0x63, 0x31, 0xcc, 0x54, 0x4b, 0xe6, 0x2f, 0x08, |
|
| 1268 |
+ 0xa1, 0xa4, 0x9e, 0x64, 0x52, 0xeb, 0x24, 0x55, 0xe6, 0x52, 0x71, 0x2b, 0x66, 0xa9, 0x1b, 0x7c, |
|
| 1269 |
+ 0x29, 0x5b, 0xea, 0x89, 0x91, 0xba, 0x49, 0x52, 0xa5, 0x25, 0xf5, 0x24, 0x97, 0xda, 0xc8, 0xce, |
|
| 1270 |
+ 0xb2, 0x54, 0xf7, 0xaf, 0x25, 0xd8, 0xc4, 0xb0, 0x3c, 0x4d, 0xfd, 0x91, 0xc0, 0x0e, 0xd6, 0x94, |
|
| 1271 |
+ 0x18, 0xc2, 0x93, 0xfe, 0x4c, 0x81, 0xec, 0x32, 0xd0, 0x28, 0x22, 0xf8, 0x06, 0xb4, 0x62, 0x91, |
|
| 1272 |
+ 0x60, 0xb0, 0x32, 0x45, 0x19, 0x0b, 0x4a, 0xd5, 0x6b, 0x12, 0x8e, 0x48, 0xf6, 0xe0, 0xb6, 0xde, |
|
| 1273 |
+ 0xeb, 0x07, 0x61, 0x9f, 0xc2, 0x67, 0x1a, 0x0d, 0x05, 0x9b, 0x6a, 0x47, 0x6f, 0xbd, 0x0a, 0x3f, |
|
| 1274 |
+ 0x35, 0x1b, 0xce, 0x77, 0x61, 0xc7, 0xd0, 0xab, 0x2e, 0xa9, 0xa9, 0xc9, 0x74, 0x5b, 0x4c, 0x7d, |
|
| 1275 |
+ 0xca, 0x68, 0x1c, 0x5a, 0x3a, 0x27, 0x63, 0xfc, 0xea, 0x95, 0xd8, 0x46, 0x46, 0x2f, 0x7c, 0x4c, |
|
| 1276 |
+ 0x36, 0xac, 0xa0, 0xb1, 0x4e, 0xc9, 0x94, 0xb5, 0xcd, 0x40, 0xe7, 0x7b, 0xb0, 0x23, 0x89, 0x56, |
|
| 1277 |
+ 0x0c, 0xfb, 0x19, 0x0d, 0x79, 0x73, 0xdb, 0x6c, 0x1c, 0x31, 0xf1, 0xb7, 0xa0, 0x93, 0x13, 0xeb, |
|
| 1278 |
+ 0x7a, 0x4c, 0xfa, 0xb6, 0x0d, 0xf6, 0x44, 0x55, 0xe5, 0x3f, 0x91, 0xb1, 0x28, 0x72, 0x3e, 0xd0, |
|
| 1279 |
+ 0x15, 0xc2, 0x32, 0x55, 0x73, 0x7f, 0x2b, 0xab, 0xac, 0x6c, 0x0c, 0x5d, 0x15, 0xc8, 0x2c, 0x3f, |
|
| 1280 |
+ 0x83, 0x2d, 0x69, 0x54, 0xef, 0x63, 0x02, 0xf9, 0x5c, 0x5e, 0xb3, 0xea, 0x56, 0xbc, 0x98, 0xd7, |
|
| 1281 |
+ 0x91, 0xc5, 0x8b, 0xa2, 0xe5, 0xa9, 0xe5, 0xb3, 0x40, 0xd2, 0xaf, 0x49, 0x38, 0x2d, 0xc2, 0xfd, |
|
| 1282 |
+ 0x09, 0x34, 0x70, 0x1e, 0x48, 0x49, 0x3b, 0x34, 0xcc, 0x60, 0x96, 0x24, 0x98, 0x5f, 0x99, 0x61, |
|
| 1283 |
+ 0x18, 0x54, 0xf3, 0x82, 0x6e, 0x97, 0x6c, 0x0c, 0x02, 0xdc, 0x08, 0x80, 0xd2, 0x5c, 0x4b, 0x43, |
|
| 1284 |
+ 0x1a, 0x3b, 0x04, 0x08, 0x50, 0x71, 0x36, 0xf5, 0xe7, 0xc6, 0xf5, 0x3a, 0xce, 0x10, 0x41, 0x17, |
|
| 1285 |
+ 0x44, 0x81, 0x6f, 0xfd, 0x60, 0x32, 0xe0, 0x6f, 0x5f, 0x14, 0xc8, 0x60, 0x2e, 0xb0, 0x6a, 0x0b, |
|
| 1286 |
+ 0xfc, 0x4b, 0x19, 0x9a, 0x24, 0x91, 0x14, 0x46, 0xaa, 0x01, 0x36, 0x16, 0x23, 0x52, 0x03, 0xd8, |
|
| 1287 |
+ 0xfa, 0x6b, 0xb9, 0xb8, 0x7c, 0x0c, 0xcc, 0x55, 0xcd, 0x74, 0xc3, 0x46, 0x97, 0x62, 0xed, 0xb3, |
|
| 1288 |
+ 0xac, 0xb3, 0x92, 0xba, 0xa1, 0x88, 0x48, 0xe1, 0x0f, 0xa1, 0x45, 0xf1, 0xc9, 0x67, 0xaa, 0xeb, |
|
| 1289 |
+ 0xce, 0x34, 0x89, 0x8c, 0x4e, 0x3d, 0x55, 0xd3, 0x16, 0xea, 0xab, 0xbb, 0x7b, 0x73, 0xff, 0x41, |
|
| 1290 |
+ 0x81, 0x5c, 0xdf, 0x64, 0x4f, 0xff, 0xbe, 0x0c, 0x25, 0x96, 0x59, 0xa2, 0xed, 0x3d, 0x03, 0xc8, |
|
| 1291 |
+ 0x91, 0xaa, 0x66, 0x9d, 0x8b, 0xab, 0x6c, 0xaa, 0xc4, 0xa5, 0xba, 0xfb, 0x85, 0x3f, 0x99, 0x65, |
|
| 1292 |
+ 0x46, 0x25, 0xe0, 0xc7, 0xe5, 0x67, 0x25, 0x77, 0x00, 0x5b, 0xcf, 0x55, 0xcf, 0xb2, 0x8e, 0x17, |
|
| 1293 |
+ 0x9e, 0x6c, 0xaa, 0x2b, 0x9f, 0x6c, 0xaa, 0xd9, 0x93, 0x0d, 0x96, 0xd1, 0x28, 0xe6, 0x0e, 0x8b, |
|
| 1294 |
+ 0xab, 0x5c, 0x50, 0xd5, 0x12, 0xe4, 0xfe, 0xb3, 0x0a, 0x90, 0x4b, 0x71, 0x8e, 0xa1, 0x17, 0x44, |
|
| 1295 |
+ 0x7d, 0xd5, 0x20, 0x82, 0x81, 0xa0, 0x82, 0xd4, 0x4f, 0x04, 0x86, 0x4f, 0x1a, 0x5c, 0x08, 0x9e, |
|
| 1296 |
+ 0x21, 0xee, 0xf1, 0xbd, 0x17, 0x94, 0xf3, 0x76, 0x11, 0xa2, 0x83, 0xba, 0x72, 0x79, 0xd9, 0x31, |
|
| 1297 |
+ 0xe7, 0x97, 0x70, 0x37, 0x67, 0x3a, 0xb4, 0xf8, 0x95, 0xaf, 0xe5, 0x77, 0xdb, 0xf0, 0x1b, 0xe6, |
|
| 1298 |
+ 0xbc, 0x7e, 0x0e, 0x88, 0xee, 0x63, 0x8f, 0x99, 0x15, 0x38, 0x55, 0xae, 0xe5, 0xb4, 0x13, 0x44, |
|
| 1299 |
+ 0x6f, 0xf4, 0x89, 0x9c, 0xcf, 0x1b, 0xb8, 0x6f, 0x5d, 0x54, 0xa5, 0xbd, 0xc5, 0xad, 0x7a, 0x2d, |
|
| 1300 |
+ 0xb7, 0x7b, 0x46, 0x2f, 0x55, 0x18, 0x72, 0x96, 0x9f, 0x02, 0xee, 0xf4, 0x2f, 0xfd, 0x40, 0x2e, |
|
| 1301 |
+ 0xf2, 0xab, 0xdd, 0x74, 0xcf, 0xcf, 0xf1, 0x50, 0x91, 0x19, 0xdd, 0x73, 0x2a, 0x92, 0x51, 0xe1, |
|
| 1302 |
+ 0x9e, 0xf5, 0x9b, 0xee, 0x79, 0xa8, 0x4f, 0xe4, 0x7c, 0x9e, 0x03, 0x22, 0x17, 0xf5, 0xd9, 0xb8, |
|
| 1303 |
+ 0x96, 0xcb, 0x56, 0x10, 0x15, 0x75, 0x39, 0x80, 0x9d, 0x54, 0x0c, 0x24, 0x76, 0x14, 0x8b, 0xc7, |
|
| 1304 |
+ 0xe6, 0xb5, 0x3c, 0xb6, 0xf9, 0x80, 0x61, 0xe2, 0x7e, 0x01, 0xad, 0x5f, 0xcc, 0x46, 0x42, 0x4e, |
|
| 1305 |
+ 0xce, 0x4c, 0xce, 0xff, 0xaf, 0xcb, 0xcc, 0xbf, 0xb1, 0xcc, 0x1c, 0x8c, 0x92, 0x68, 0x16, 0x17, |
|
| 1306 |
+ 0xaa, 0x36, 0xe5, 0xf0, 0x52, 0xd5, 0xd6, 0x34, 0xba, 0x6a, 0x13, 0xf5, 0x47, 0xd0, 0xa2, 0x81, |
|
| 1307 |
+ 0x89, 0x0f, 0x50, 0x15, 0x72, 0x96, 0x93, 0x3e, 0x1b, 0xd0, 0xe8, 0xd8, 0x3e, 0x0f, 0x9f, 0x7c, |
|
| 1308 |
+ 0xaa, 0x58, 0x8d, 0x72, 0x33, 0xe1, 0xd7, 0x47, 0x9e, 0x75, 0xaf, 0xa0, 0x3d, 0x26, 0xdb, 0xf0, |
|
| 1309 |
+ 0x29, 0x0a, 0xc0, 0x6f, 0x66, 0xca, 0xe5, 0x77, 0xd8, 0xb3, 0x6d, 0x48, 0xa6, 0x6e, 0x8d, 0x6d, |
|
| 1310 |
+ 0xb3, 0xfe, 0x00, 0x40, 0x7d, 0x5e, 0xf4, 0xb3, 0x42, 0x65, 0xbf, 0xe7, 0x99, 0x0e, 0x81, 0xdf, |
|
| 1311 |
+ 0x32, 0xd9, 0xb2, 0x77, 0x02, 0x3b, 0x4b, 0x3c, 0x57, 0x94, 0xa9, 0xef, 0xd8, 0x65, 0xaa, 0xb9, |
|
| 1312 |
+ 0x7f, 0x9b, 0x59, 0xda, 0x47, 0xed, 0xda, 0xf5, 0xe7, 0x12, 0x7d, 0x8d, 0x98, 0x27, 0x17, 0xe7, |
|
| 1313 |
+ 0x19, 0xb4, 0x43, 0x1a, 0xbe, 0x8c, 0x03, 0x2a, 0x16, 0x23, 0x7b, 0x30, 0xf3, 0x5a, 0xa1, 0x3d, |
|
| 1314 |
+ 0xa6, 0xa1, 0x23, 0x06, 0xda, 0x02, 0x2b, 0x1d, 0x61, 0x19, 0xc7, 0x6b, 0x0e, 0x2c, 0x6f, 0x17, |
|
| 1315 |
+ 0x86, 0xc1, 0xca, 0xe2, 0x30, 0xc8, 0x8f, 0x06, 0xeb, 0xde, 0x18, 0xf7, 0xff, 0x55, 0x87, 0xca, |
|
| 1316 |
+ 0xc7, 0x47, 0xaf, 0x9c, 0x53, 0xd8, 0x5e, 0x7c, 0x40, 0x77, 0x1e, 0xb2, 0xe8, 0x35, 0x8f, 0xee, |
|
| 1317 |
+ 0xbd, 0xf7, 0xd6, 0xee, 0xf3, 0xb4, 0x7c, 0xcb, 0xf1, 0x60, 0x6b, 0xe1, 0x41, 0xd6, 0xc9, 0xda, |
|
| 1318 |
+ 0xc9, 0xea, 0x27, 0xe9, 0xde, 0xc3, 0x75, 0xdb, 0x36, 0xcf, 0x85, 0xf1, 0xdc, 0xf0, 0x5c, 0xfd, |
|
| 1319 |
+ 0xa9, 0x66, 0x78, 0xae, 0x9b, 0xea, 0x6f, 0x39, 0x3f, 0x82, 0x3a, 0x3d, 0xd1, 0x3a, 0x77, 0x98, |
|
| 1320 |
+ 0xb6, 0xf0, 0xf8, 0xdb, 0xbb, 0xbb, 0x80, 0x35, 0x07, 0x5f, 0x43, 0xbb, 0xf0, 0xea, 0xee, 0xbc, |
|
| 1321 |
+ 0x53, 0x90, 0x55, 0x7c, 0xe1, 0xed, 0xbd, 0xbb, 0x7a, 0xd3, 0x70, 0x3b, 0x00, 0xc8, 0x5f, 0xf1, |
|
| 1322 |
+ 0x9c, 0x2e, 0x53, 0x2f, 0xbd, 0x14, 0xf7, 0xee, 0xaf, 0xd8, 0x31, 0x4c, 0xd0, 0x95, 0x8b, 0xcf, |
|
| 1323 |
+ 0x72, 0xce, 0x82, 0x55, 0x17, 0x9f, 0xce, 0x8c, 0x2b, 0xd7, 0xbe, 0xe7, 0x69, 0xb6, 0x8b, 0x4f, |
|
| 1324 |
+ 0x72, 0x86, 0xed, 0x9a, 0xa7, 0x3e, 0xc3, 0x76, 0xed, 0x5b, 0xde, 0x2d, 0xe7, 0x57, 0xd0, 0x29, |
|
| 1325 |
+ 0x3e, 0x92, 0x39, 0x99, 0x91, 0x56, 0x3e, 0xf2, 0xf5, 0x1e, 0xac, 0xd9, 0x35, 0x0c, 0x3f, 0x84, |
|
| 1326 |
+ 0x1a, 0xbd, 0x7e, 0x65, 0x29, 0x67, 0x3f, 0x9a, 0xf5, 0xee, 0x14, 0x91, 0xe6, 0xd4, 0x13, 0xa8, |
|
| 1327 |
+ 0xd3, 0x87, 0x9d, 0x09, 0x80, 0xc2, 0x77, 0x5e, 0xaf, 0x65, 0x63, 0xdd, 0x5b, 0x4f, 0x4a, 0x99, |
|
| 1328 |
+ 0x9c, 0xb4, 0x20, 0x27, 0x5d, 0x25, 0xc7, 0x72, 0xce, 0x59, 0x5d, 0xff, 0xa3, 0xf5, 0xf4, 0x3f, |
|
| 1329 |
+ 0x01, 0x00, 0x00, 0xff, 0xff, 0xf0, 0xa3, 0xf6, 0xb8, 0xde, 0x1a, 0x00, 0x00, |
|
| 1326 | 1330 |
} |
| ... | ... |
@@ -3,6 +3,7 @@ syntax = "proto3"; |
| 3 | 3 |
package types; |
| 4 | 4 |
|
| 5 | 5 |
service API {
|
| 6 |
+ rpc GetServerVersion(GetServerVersionRequest) returns (GetServerVersionResponse) {}
|
|
| 6 | 7 |
rpc CreateContainer(CreateContainerRequest) returns (CreateContainerResponse) {}
|
| 7 | 8 |
rpc UpdateContainer(UpdateContainerRequest) returns (UpdateContainerResponse) {}
|
| 8 | 9 |
rpc Signal(SignalRequest) returns (SignalResponse) {}
|
| ... | ... |
@@ -16,6 +17,16 @@ service API {
|
| 16 | 16 |
rpc Stats(StatsRequest) returns (StatsResponse) {}
|
| 17 | 17 |
} |
| 18 | 18 |
|
| 19 |
+message GetServerVersionRequest {
|
|
| 20 |
+} |
|
| 21 |
+ |
|
| 22 |
+message GetServerVersionResponse {
|
|
| 23 |
+ uint32 major = 1; |
|
| 24 |
+ uint32 minor = 2; |
|
| 25 |
+ uint32 patch = 3; |
|
| 26 |
+ string revision = 4; |
|
| 27 |
+} |
|
| 28 |
+ |
|
| 19 | 29 |
message UpdateProcessRequest {
|
| 20 | 30 |
string id = 1; |
| 21 | 31 |
string pid = 2; |
| ... | ... |
@@ -7,6 +7,7 @@ package apparmor |
| 7 | 7 |
// #include <stdlib.h> |
| 8 | 8 |
import "C" |
| 9 | 9 |
import ( |
| 10 |
+ "fmt" |
|
| 10 | 11 |
"io/ioutil" |
| 11 | 12 |
"os" |
| 12 | 13 |
"unsafe" |
| ... | ... |
@@ -32,7 +33,7 @@ func ApplyProfile(name string) error {
|
| 32 | 32 |
cName := C.CString(name) |
| 33 | 33 |
defer C.free(unsafe.Pointer(cName)) |
| 34 | 34 |
if _, err := C.aa_change_onexec(cName); err != nil {
|
| 35 |
- return err |
|
| 35 |
+ return fmt.Errorf("apparmor failed to apply profile: %s", err)
|
|
| 36 | 36 |
} |
| 37 | 37 |
return nil |
| 38 | 38 |
} |
| ... | ... |
@@ -11,6 +11,7 @@ type ThrottlingData struct {
|
| 11 | 11 |
ThrottledTime uint64 `json:"throttled_time,omitempty"` |
| 12 | 12 |
} |
| 13 | 13 |
|
| 14 |
+// CpuUsage denotes the usage of a CPU. |
|
| 14 | 15 |
// All CPU stats are aggregate since container inception. |
| 15 | 16 |
type CpuUsage struct {
|
| 16 | 17 |
// Total CPU time consumed. |
| ... | ... |
@@ -18,11 +18,14 @@ import ( |
| 18 | 18 |
|
| 19 | 19 |
const cgroupNamePrefix = "name=" |
| 20 | 20 |
|
| 21 |
-// https://www.kernel.org/doc/Documentation/cgroups/cgroups.txt |
|
| 21 |
+// https://www.kernel.org/doc/Documentation/cgroup-v1/cgroups.txt |
|
| 22 | 22 |
func FindCgroupMountpoint(subsystem string) (string, error) {
|
| 23 | 23 |
// We are not using mount.GetMounts() because it's super-inefficient, |
| 24 | 24 |
// parsing it directly sped up x10 times because of not using Sscanf. |
| 25 | 25 |
// It was one of two major performance drawbacks in container start. |
| 26 |
+ if !isSubsystemAvailable(subsystem) {
|
|
| 27 |
+ return "", NewNotFoundError(subsystem) |
|
| 28 |
+ } |
|
| 26 | 29 |
f, err := os.Open("/proc/self/mountinfo")
|
| 27 | 30 |
if err != nil {
|
| 28 | 31 |
return "", err |
| ... | ... |
@@ -47,6 +50,9 @@ func FindCgroupMountpoint(subsystem string) (string, error) {
|
| 47 | 47 |
} |
| 48 | 48 |
|
| 49 | 49 |
func FindCgroupMountpointAndRoot(subsystem string) (string, string, error) {
|
| 50 |
+ if !isSubsystemAvailable(subsystem) {
|
|
| 51 |
+ return "", "", NewNotFoundError(subsystem) |
|
| 52 |
+ } |
|
| 50 | 53 |
f, err := os.Open("/proc/self/mountinfo")
|
| 51 | 54 |
if err != nil {
|
| 52 | 55 |
return "", "", err |
| ... | ... |
@@ -70,6 +76,15 @@ func FindCgroupMountpointAndRoot(subsystem string) (string, string, error) {
|
| 70 | 70 |
return "", "", NewNotFoundError(subsystem) |
| 71 | 71 |
} |
| 72 | 72 |
|
| 73 |
+func isSubsystemAvailable(subsystem string) bool {
|
|
| 74 |
+ cgroups, err := ParseCgroupFile("/proc/self/cgroup")
|
|
| 75 |
+ if err != nil {
|
|
| 76 |
+ return false |
|
| 77 |
+ } |
|
| 78 |
+ _, avail := cgroups[subsystem] |
|
| 79 |
+ return avail |
|
| 80 |
+} |
|
| 81 |
+ |
|
| 73 | 82 |
func FindCgroupMountpointDir() (string, error) {
|
| 74 | 83 |
f, err := os.Open("/proc/self/mountinfo")
|
| 75 | 84 |
if err != nil {
|
| ... | ... |
@@ -124,7 +139,8 @@ func (m Mount) GetThisCgroupDir(cgroups map[string]string) (string, error) {
|
| 124 | 124 |
func getCgroupMountsHelper(ss map[string]bool, mi io.Reader) ([]Mount, error) {
|
| 125 | 125 |
res := make([]Mount, 0, len(ss)) |
| 126 | 126 |
scanner := bufio.NewScanner(mi) |
| 127 |
- for scanner.Scan() {
|
|
| 127 |
+ numFound := 0 |
|
| 128 |
+ for scanner.Scan() && numFound < len(ss) {
|
|
| 128 | 129 |
txt := scanner.Text() |
| 129 | 130 |
sepIdx := strings.Index(txt, " - ") |
| 130 | 131 |
if sepIdx == -1 {
|
| ... | ... |
@@ -139,12 +155,15 @@ func getCgroupMountsHelper(ss map[string]bool, mi io.Reader) ([]Mount, error) {
|
| 139 | 139 |
Root: fields[3], |
| 140 | 140 |
} |
| 141 | 141 |
for _, opt := range strings.Split(fields[len(fields)-1], ",") {
|
| 142 |
+ if !ss[opt] {
|
|
| 143 |
+ continue |
|
| 144 |
+ } |
|
| 142 | 145 |
if strings.HasPrefix(opt, cgroupNamePrefix) {
|
| 143 | 146 |
m.Subsystems = append(m.Subsystems, opt[len(cgroupNamePrefix):]) |
| 144 |
- } |
|
| 145 |
- if ss[opt] {
|
|
| 147 |
+ } else {
|
|
| 146 | 148 |
m.Subsystems = append(m.Subsystems, opt) |
| 147 | 149 |
} |
| 150 |
+ numFound++ |
|
| 148 | 151 |
} |
| 149 | 152 |
res = append(res, m) |
| 150 | 153 |
} |
| ... | ... |
@@ -161,19 +180,19 @@ func GetCgroupMounts() ([]Mount, error) {
|
| 161 | 161 |
} |
| 162 | 162 |
defer f.Close() |
| 163 | 163 |
|
| 164 |
- all, err := GetAllSubsystems() |
|
| 164 |
+ all, err := ParseCgroupFile("/proc/self/cgroup")
|
|
| 165 | 165 |
if err != nil {
|
| 166 | 166 |
return nil, err |
| 167 | 167 |
} |
| 168 | 168 |
|
| 169 | 169 |
allMap := make(map[string]bool) |
| 170 |
- for _, s := range all {
|
|
| 170 |
+ for s := range all {
|
|
| 171 | 171 |
allMap[s] = true |
| 172 | 172 |
} |
| 173 | 173 |
return getCgroupMountsHelper(allMap, f) |
| 174 | 174 |
} |
| 175 | 175 |
|
| 176 |
-// Returns all the cgroup subsystems supported by the kernel |
|
| 176 |
+// GetAllSubsystems returns all the cgroup subsystems supported by the kernel |
|
| 177 | 177 |
func GetAllSubsystems() ([]string, error) {
|
| 178 | 178 |
f, err := os.Open("/proc/cgroups")
|
| 179 | 179 |
if err != nil {
|
| ... | ... |
@@ -199,7 +218,7 @@ func GetAllSubsystems() ([]string, error) {
|
| 199 | 199 |
return subsystems, nil |
| 200 | 200 |
} |
| 201 | 201 |
|
| 202 |
-// Returns the relative path to the cgroup docker is running in. |
|
| 202 |
+// GetThisCgroupDir returns the relative path to the cgroup docker is running in. |
|
| 203 | 203 |
func GetThisCgroupDir(subsystem string) (string, error) {
|
| 204 | 204 |
cgroups, err := ParseCgroupFile("/proc/self/cgroup")
|
| 205 | 205 |
if err != nil {
|
| ... | ... |
@@ -33,7 +33,7 @@ type Seccomp struct {
|
| 33 | 33 |
Syscalls []*Syscall `json:"syscalls"` |
| 34 | 34 |
} |
| 35 | 35 |
|
| 36 |
-// An action to be taken upon rule match in Seccomp |
|
| 36 |
+// Action is taken upon rule match in Seccomp |
|
| 37 | 37 |
type Action int |
| 38 | 38 |
|
| 39 | 39 |
const ( |
| ... | ... |
@@ -44,7 +44,7 @@ const ( |
| 44 | 44 |
Trace |
| 45 | 45 |
) |
| 46 | 46 |
|
| 47 |
-// A comparison operator to be used when matching syscall arguments in Seccomp |
|
| 47 |
+// Operator is a comparison operator to be used when matching syscall arguments in Seccomp |
|
| 48 | 48 |
type Operator int |
| 49 | 49 |
|
| 50 | 50 |
const ( |
| ... | ... |
@@ -57,7 +57,7 @@ const ( |
| 57 | 57 |
MaskEqualTo |
| 58 | 58 |
) |
| 59 | 59 |
|
| 60 |
-// A rule to match a specific syscall argument in Seccomp |
|
| 60 |
+// Arg is a rule to match a specific syscall argument in Seccomp |
|
| 61 | 61 |
type Arg struct {
|
| 62 | 62 |
Index uint `json:"index"` |
| 63 | 63 |
Value uint64 `json:"value"` |
| ... | ... |
@@ -65,7 +65,7 @@ type Arg struct {
|
| 65 | 65 |
Op Operator `json:"op"` |
| 66 | 66 |
} |
| 67 | 67 |
|
| 68 |
-// An rule to match a syscall in Seccomp |
|
| 68 |
+// Syscall is a rule to match a syscall in Seccomp |
|
| 69 | 69 |
type Syscall struct {
|
| 70 | 70 |
Name string `json:"name"` |
| 71 | 71 |
Action Action `json:"action"` |
| ... | ... |
@@ -249,10 +249,11 @@ func (hooks Hooks) MarshalJSON() ([]byte, error) {
|
| 249 | 249 |
|
| 250 | 250 |
// HookState is the payload provided to a hook on execution. |
| 251 | 251 |
type HookState struct {
|
| 252 |
- Version string `json:"version"` |
|
| 253 |
- ID string `json:"id"` |
|
| 254 |
- Pid int `json:"pid"` |
|
| 255 |
- Root string `json:"root"` |
|
| 252 |
+ Version string `json:"ociVersion"` |
|
| 253 |
+ ID string `json:"id"` |
|
| 254 |
+ Pid int `json:"pid"` |
|
| 255 |
+ Root string `json:"root"` |
|
| 256 |
+ BundlePath string `json:"bundlePath"` |
|
| 256 | 257 |
} |
| 257 | 258 |
|
| 258 | 259 |
type Hook interface {
|
| ... | ... |
@@ -260,7 +261,7 @@ type Hook interface {
|
| 260 | 260 |
Run(HookState) error |
| 261 | 261 |
} |
| 262 | 262 |
|
| 263 |
-// NewFunctionHooks will call the provided function when the hook is run. |
|
| 263 |
+// NewFunctionHook will call the provided function when the hook is run. |
|
| 264 | 264 |
func NewFunctionHook(f func(HookState) error) FuncHook {
|
| 265 | 265 |
return FuncHook{
|
| 266 | 266 |
run: f, |
| ... | ... |
@@ -283,7 +284,7 @@ type Command struct {
|
| 283 | 283 |
Timeout *time.Duration `json:"timeout"` |
| 284 | 284 |
} |
| 285 | 285 |
|
| 286 |
-// NewCommandHooks will execute the provided command when the hook is run. |
|
| 286 |
+// NewCommandHook will execute the provided command when the hook is run. |
|
| 287 | 287 |
func NewCommandHook(cmd Command) CommandHook {
|
| 288 | 288 |
return CommandHook{
|
| 289 | 289 |
Command: cmd, |
| ... | ... |
@@ -307,7 +308,11 @@ func (c Command) Run(s HookState) error {
|
| 307 | 307 |
} |
| 308 | 308 |
errC := make(chan error, 1) |
| 309 | 309 |
go func() {
|
| 310 |
- errC <- cmd.Run() |
|
| 310 |
+ out, err := cmd.CombinedOutput() |
|
| 311 |
+ if err != nil {
|
|
| 312 |
+ err = fmt.Errorf("%s: %s", err, out)
|
|
| 313 |
+ } |
|
| 314 |
+ errC <- err |
|
| 311 | 315 |
}() |
| 312 | 316 |
if c.Timeout != nil {
|
| 313 | 317 |
select {
|
| ... | ... |
@@ -4,7 +4,7 @@ package configs |
| 4 | 4 |
|
| 5 | 5 |
import "fmt" |
| 6 | 6 |
|
| 7 |
-// Gets the root uid for the process on host which could be non-zero |
|
| 7 |
+// HostUID gets the root uid for the process on host which could be non-zero |
|
| 8 | 8 |
// when user namespaces are enabled. |
| 9 | 9 |
func (c Config) HostUID() (int, error) {
|
| 10 | 10 |
if c.Namespaces.Contains(NEWUSER) {
|
| ... | ... |
@@ -21,7 +21,7 @@ func (c Config) HostUID() (int, error) {
|
| 21 | 21 |
return 0, nil |
| 22 | 22 |
} |
| 23 | 23 |
|
| 24 |
-// Gets the root gid for the process on host which could be non-zero |
|
| 24 |
+// HostGID gets the root gid for the process on host which could be non-zero |
|
| 25 | 25 |
// when user namespaces are enabled. |
| 26 | 26 |
func (c Config) HostGID() (int, error) {
|
| 27 | 27 |
if c.Namespaces.Contains(NEWUSER) {
|
| ... | ... |
@@ -94,6 +94,11 @@ func GetProcessLabel() (string, error) {
|
| 94 | 94 |
return selinux.Getexeccon() |
| 95 | 95 |
} |
| 96 | 96 |
|
| 97 |
+// GetFileLabel returns the label for specified path |
|
| 98 |
+func GetFileLabel(path string) (string, error) {
|
|
| 99 |
+ return selinux.Getfilecon(path) |
|
| 100 |
+} |
|
| 101 |
+ |
|
| 97 | 102 |
// SetFileLabel modifies the "path" label to the specified file label |
| 98 | 103 |
func SetFileLabel(path string, fileLabel string) error {
|
| 99 | 104 |
if selinux.SelinuxEnabled() && fileLabel != "" {
|
| ... | ... |
@@ -102,7 +107,7 @@ func SetFileLabel(path string, fileLabel string) error {
|
| 102 | 102 |
return nil |
| 103 | 103 |
} |
| 104 | 104 |
|
| 105 |
-// Tell the kernel the label for all files to be created |
|
| 105 |
+// SetFileCreateLabel tells the kernel the label for all files to be created |
|
| 106 | 106 |
func SetFileCreateLabel(fileLabel string) error {
|
| 107 | 107 |
if selinux.SelinuxEnabled() {
|
| 108 | 108 |
return selinux.Setfscreatecon(fileLabel) |
| ... | ... |
@@ -110,7 +115,7 @@ func SetFileCreateLabel(fileLabel string) error {
|
| 110 | 110 |
return nil |
| 111 | 111 |
} |
| 112 | 112 |
|
| 113 |
-// Change the label of path to the filelabel string. |
|
| 113 |
+// Relabel changes the label of path to the filelabel string. |
|
| 114 | 114 |
// It changes the MCS label to s0 if shared is true. |
| 115 | 115 |
// This will allow all containers to share the content. |
| 116 | 116 |
func Relabel(path string, fileLabel string, shared bool) error {
|
| ... | ... |
@@ -13,9 +13,9 @@ import ( |
| 13 | 13 |
"regexp" |
| 14 | 14 |
"strconv" |
| 15 | 15 |
"strings" |
| 16 |
+ "sync" |
|
| 16 | 17 |
"syscall" |
| 17 | 18 |
|
| 18 |
- "github.com/docker/docker/pkg/mount" |
|
| 19 | 19 |
"github.com/opencontainers/runc/libcontainer/system" |
| 20 | 20 |
) |
| 21 | 21 |
|
| ... | ... |
@@ -35,6 +35,7 @@ const ( |
| 35 | 35 |
var ( |
| 36 | 36 |
assignRegex = regexp.MustCompile(`^([^=]+)=(.*)$`) |
| 37 | 37 |
mcsList = make(map[string]bool) |
| 38 |
+ mcsLock sync.Mutex |
|
| 38 | 39 |
selinuxfs = "unknown" |
| 39 | 40 |
selinuxEnabled = false // Stores whether selinux is currently enabled |
| 40 | 41 |
selinuxEnabledChecked = false // Stores whether selinux enablement has been checked or established yet |
| ... | ... |
@@ -58,16 +59,31 @@ func getSelinuxMountPoint() string {
|
| 58 | 58 |
} |
| 59 | 59 |
selinuxfs = "" |
| 60 | 60 |
|
| 61 |
- mounts, err := mount.GetMounts() |
|
| 61 |
+ f, err := os.Open("/proc/self/mountinfo")
|
|
| 62 | 62 |
if err != nil {
|
| 63 | 63 |
return selinuxfs |
| 64 | 64 |
} |
| 65 |
- for _, mount := range mounts {
|
|
| 66 |
- if mount.Fstype == "selinuxfs" {
|
|
| 67 |
- selinuxfs = mount.Mountpoint |
|
| 68 |
- break |
|
| 65 |
+ defer f.Close() |
|
| 66 |
+ |
|
| 67 |
+ scanner := bufio.NewScanner(f) |
|
| 68 |
+ for scanner.Scan() {
|
|
| 69 |
+ txt := scanner.Text() |
|
| 70 |
+ // Safe as mountinfo encodes mountpoints with spaces as \040. |
|
| 71 |
+ sepIdx := strings.Index(txt, " - ") |
|
| 72 |
+ if sepIdx == -1 {
|
|
| 73 |
+ continue |
|
| 74 |
+ } |
|
| 75 |
+ if !strings.Contains(txt[sepIdx:], "selinuxfs") {
|
|
| 76 |
+ continue |
|
| 69 | 77 |
} |
| 78 |
+ fields := strings.Split(txt, " ") |
|
| 79 |
+ if len(fields) < 5 {
|
|
| 80 |
+ continue |
|
| 81 |
+ } |
|
| 82 |
+ selinuxfs = fields[4] |
|
| 83 |
+ break |
|
| 70 | 84 |
} |
| 85 |
+ |
|
| 71 | 86 |
if selinuxfs != "" {
|
| 72 | 87 |
var buf syscall.Statfs_t |
| 73 | 88 |
syscall.Statfs(selinuxfs, &buf) |
| ... | ... |
@@ -267,6 +283,8 @@ func SelinuxGetEnforceMode() int {
|
| 267 | 267 |
} |
| 268 | 268 |
|
| 269 | 269 |
func mcsAdd(mcs string) error {
|
| 270 |
+ mcsLock.Lock() |
|
| 271 |
+ defer mcsLock.Unlock() |
|
| 270 | 272 |
if mcsList[mcs] {
|
| 271 | 273 |
return fmt.Errorf("MCS Label already exists")
|
| 272 | 274 |
} |
| ... | ... |
@@ -275,7 +293,9 @@ func mcsAdd(mcs string) error {
|
| 275 | 275 |
} |
| 276 | 276 |
|
| 277 | 277 |
func mcsDelete(mcs string) {
|
| 278 |
+ mcsLock.Lock() |
|
| 278 | 279 |
mcsList[mcs] = false |
| 280 |
+ mcsLock.Unlock() |
|
| 279 | 281 |
} |
| 280 | 282 |
|
| 281 | 283 |
func IntToMcs(id int, catRange uint32) string {
|
| ... | ... |
@@ -291,7 +311,7 @@ func IntToMcs(id int, catRange uint32) string {
|
| 291 | 291 |
|
| 292 | 292 |
for ORD > TIER {
|
| 293 | 293 |
ORD = ORD - TIER |
| 294 |
- TIER -= 1 |
|
| 294 |
+ TIER-- |
|
| 295 | 295 |
} |
| 296 | 296 |
TIER = SETSIZE - TIER |
| 297 | 297 |
ORD = ORD + TIER |
| ... | ... |
@@ -432,7 +452,7 @@ func badPrefix(fpath string) error {
|
| 432 | 432 |
return nil |
| 433 | 433 |
} |
| 434 | 434 |
|
| 435 |
-// Change the fpath file object to the SELinux label scon. |
|
| 435 |
+// Chcon changes the fpath file object to the SELinux label scon. |
|
| 436 | 436 |
// If the fpath is a directory and recurse is true Chcon will walk the |
| 437 | 437 |
// directory tree setting the label |
| 438 | 438 |
func Chcon(fpath string, scon string, recurse bool) error {
|
| ... | ... |
@@ -466,14 +486,14 @@ func DupSecOpt(src string) []string {
|
| 466 | 466 |
con["level"] == "" {
|
| 467 | 467 |
return nil |
| 468 | 468 |
} |
| 469 |
- return []string{"label:user:" + con["user"],
|
|
| 470 |
- "label:role:" + con["role"], |
|
| 471 |
- "label:type:" + con["type"], |
|
| 472 |
- "label:level:" + con["level"]} |
|
| 469 |
+ return []string{"label=user:" + con["user"],
|
|
| 470 |
+ "label=role:" + con["role"], |
|
| 471 |
+ "label=type:" + con["type"], |
|
| 472 |
+ "label=level:" + con["level"]} |
|
| 473 | 473 |
} |
| 474 | 474 |
|
| 475 | 475 |
// DisableSecOpt returns a security opt that can be used to disabling SELinux |
| 476 | 476 |
// labeling support for future container processes |
| 477 | 477 |
func DisableSecOpt() []string {
|
| 478 |
- return []string{"label:disable"}
|
|
| 478 |
+ return []string{"label=disable"}
|
|
| 479 | 479 |
} |
| ... | ... |
@@ -100,17 +100,12 @@ func Setctty() error {
|
| 100 | 100 |
return nil |
| 101 | 101 |
} |
| 102 | 102 |
|
| 103 |
-/* |
|
| 104 |
- * Detect whether we are currently running in a user namespace. |
|
| 105 |
- * Copied from github.com/lxc/lxd/shared/util.go |
|
| 106 |
- */ |
|
| 103 |
+// RunningInUserNS detects whether we are currently running in a user namespace. |
|
| 104 |
+// Copied from github.com/lxc/lxd/shared/util.go |
|
| 107 | 105 |
func RunningInUserNS() bool {
|
| 108 | 106 |
file, err := os.Open("/proc/self/uid_map")
|
| 109 | 107 |
if err != nil {
|
| 110 |
- /* |
|
| 111 |
- * This kernel-provided file only exists if user namespaces are |
|
| 112 |
- * supported |
|
| 113 |
- */ |
|
| 108 |
+ // This kernel-provided file only exists if user namespaces are supported |
|
| 114 | 109 |
return false |
| 115 | 110 |
} |
| 116 | 111 |
defer file.Close() |