Updating swarmkit dependencies.
Add more parameters for the secret driver API.
Signed-off-by: Liron Levin <liron@twistlock.com>
| ... | ... |
@@ -107,7 +107,7 @@ github.com/stevvooe/continuity cd7a8e21e2b6f84799f5dd4b65faf49c8d3ee02d |
| 107 | 107 |
github.com/tonistiigi/fsutil 0ac4c11b053b9c5c7c47558f81f96c7100ce50fb |
| 108 | 108 |
|
| 109 | 109 |
# cluster |
| 110 |
-github.com/docker/swarmkit 8bdecc57887ffc598b63d6433f58e0d2852112c3 https://github.com/dmcgowan/swarmkit.git |
|
| 110 |
+github.com/docker/swarmkit ddb4539f883b18ea40af44ee6de63ac2adc8dc1e |
|
| 111 | 111 |
github.com/gogo/protobuf v0.4 |
| 112 | 112 |
github.com/cloudflare/cfssl 7fb22c8cba7ecaf98e4082d22d65800cf45e042a |
| 113 | 113 |
github.com/google/certificate-transparency d90e65c3a07988180c5b1ece71791c0b6506826e |
| ... | ... |
@@ -6,3 +6,19 @@ $ make generate |
| 6 | 6 |
``` |
| 7 | 7 |
|
| 8 | 8 |
Click [here](https://github.com/google/protobuf) for more information about protobuf. |
| 9 |
+ |
|
| 10 |
+The `api.pb.txt` file contains merged descriptors of all defined services and messages. |
|
| 11 |
+Definitions present here are considered frozen after the release. |
|
| 12 |
+ |
|
| 13 |
+At release time, the current `api.pb.txt` file will be moved into place to |
|
| 14 |
+freeze the API changes for the minor version. For example, when 1.0.0 is |
|
| 15 |
+released, `api.pb.txt` should be moved to `1.0.txt`. Notice that we leave off |
|
| 16 |
+the patch number, since the API will be completely locked down for a given |
|
| 17 |
+patch series. |
|
| 18 |
+ |
|
| 19 |
+We may find that by default, protobuf descriptors are too noisy to lock down |
|
| 20 |
+API changes. In that case, we may filter out certain fields in the descriptors, |
|
| 21 |
+possibly regenerating for old versions. |
|
| 22 |
+ |
|
| 23 |
+This process is similar to the [process used to ensure backwards compatibility |
|
| 24 |
+in Go](https://github.com/golang/go/tree/master/api). |
| ... | ... |
@@ -1,7 +1,223 @@ |
| 1 | 1 |
// Code generated by protoc-gen-gogo. |
| 2 |
-// source: ca.proto |
|
| 2 |
+// source: github.com/docker/swarmkit/api/ca.proto |
|
| 3 | 3 |
// DO NOT EDIT! |
| 4 | 4 |
|
| 5 |
+/* |
|
| 6 |
+ Package api is a generated protocol buffer package. |
|
| 7 |
+ |
|
| 8 |
+ It is generated from these files: |
|
| 9 |
+ github.com/docker/swarmkit/api/ca.proto |
|
| 10 |
+ github.com/docker/swarmkit/api/control.proto |
|
| 11 |
+ github.com/docker/swarmkit/api/dispatcher.proto |
|
| 12 |
+ github.com/docker/swarmkit/api/health.proto |
|
| 13 |
+ github.com/docker/swarmkit/api/logbroker.proto |
|
| 14 |
+ github.com/docker/swarmkit/api/objects.proto |
|
| 15 |
+ github.com/docker/swarmkit/api/raft.proto |
|
| 16 |
+ github.com/docker/swarmkit/api/resource.proto |
|
| 17 |
+ github.com/docker/swarmkit/api/snapshot.proto |
|
| 18 |
+ github.com/docker/swarmkit/api/specs.proto |
|
| 19 |
+ github.com/docker/swarmkit/api/types.proto |
|
| 20 |
+ github.com/docker/swarmkit/api/watch.proto |
|
| 21 |
+ |
|
| 22 |
+ It has these top-level messages: |
|
| 23 |
+ NodeCertificateStatusRequest |
|
| 24 |
+ NodeCertificateStatusResponse |
|
| 25 |
+ IssueNodeCertificateRequest |
|
| 26 |
+ IssueNodeCertificateResponse |
|
| 27 |
+ GetRootCACertificateRequest |
|
| 28 |
+ GetRootCACertificateResponse |
|
| 29 |
+ GetUnlockKeyRequest |
|
| 30 |
+ GetUnlockKeyResponse |
|
| 31 |
+ GetNodeRequest |
|
| 32 |
+ GetNodeResponse |
|
| 33 |
+ ListNodesRequest |
|
| 34 |
+ ListNodesResponse |
|
| 35 |
+ UpdateNodeRequest |
|
| 36 |
+ UpdateNodeResponse |
|
| 37 |
+ RemoveNodeRequest |
|
| 38 |
+ RemoveNodeResponse |
|
| 39 |
+ GetTaskRequest |
|
| 40 |
+ GetTaskResponse |
|
| 41 |
+ RemoveTaskRequest |
|
| 42 |
+ RemoveTaskResponse |
|
| 43 |
+ ListTasksRequest |
|
| 44 |
+ ListTasksResponse |
|
| 45 |
+ CreateServiceRequest |
|
| 46 |
+ CreateServiceResponse |
|
| 47 |
+ GetServiceRequest |
|
| 48 |
+ GetServiceResponse |
|
| 49 |
+ UpdateServiceRequest |
|
| 50 |
+ UpdateServiceResponse |
|
| 51 |
+ RemoveServiceRequest |
|
| 52 |
+ RemoveServiceResponse |
|
| 53 |
+ ListServicesRequest |
|
| 54 |
+ ListServicesResponse |
|
| 55 |
+ CreateNetworkRequest |
|
| 56 |
+ CreateNetworkResponse |
|
| 57 |
+ GetNetworkRequest |
|
| 58 |
+ GetNetworkResponse |
|
| 59 |
+ RemoveNetworkRequest |
|
| 60 |
+ RemoveNetworkResponse |
|
| 61 |
+ ListNetworksRequest |
|
| 62 |
+ ListNetworksResponse |
|
| 63 |
+ GetClusterRequest |
|
| 64 |
+ GetClusterResponse |
|
| 65 |
+ ListClustersRequest |
|
| 66 |
+ ListClustersResponse |
|
| 67 |
+ KeyRotation |
|
| 68 |
+ UpdateClusterRequest |
|
| 69 |
+ UpdateClusterResponse |
|
| 70 |
+ GetSecretRequest |
|
| 71 |
+ GetSecretResponse |
|
| 72 |
+ UpdateSecretRequest |
|
| 73 |
+ UpdateSecretResponse |
|
| 74 |
+ ListSecretsRequest |
|
| 75 |
+ ListSecretsResponse |
|
| 76 |
+ CreateSecretRequest |
|
| 77 |
+ CreateSecretResponse |
|
| 78 |
+ RemoveSecretRequest |
|
| 79 |
+ RemoveSecretResponse |
|
| 80 |
+ GetConfigRequest |
|
| 81 |
+ GetConfigResponse |
|
| 82 |
+ UpdateConfigRequest |
|
| 83 |
+ UpdateConfigResponse |
|
| 84 |
+ ListConfigsRequest |
|
| 85 |
+ ListConfigsResponse |
|
| 86 |
+ CreateConfigRequest |
|
| 87 |
+ CreateConfigResponse |
|
| 88 |
+ RemoveConfigRequest |
|
| 89 |
+ RemoveConfigResponse |
|
| 90 |
+ SessionRequest |
|
| 91 |
+ SessionMessage |
|
| 92 |
+ HeartbeatRequest |
|
| 93 |
+ HeartbeatResponse |
|
| 94 |
+ UpdateTaskStatusRequest |
|
| 95 |
+ UpdateTaskStatusResponse |
|
| 96 |
+ TasksRequest |
|
| 97 |
+ TasksMessage |
|
| 98 |
+ AssignmentsRequest |
|
| 99 |
+ Assignment |
|
| 100 |
+ AssignmentChange |
|
| 101 |
+ AssignmentsMessage |
|
| 102 |
+ HealthCheckRequest |
|
| 103 |
+ HealthCheckResponse |
|
| 104 |
+ LogSubscriptionOptions |
|
| 105 |
+ LogSelector |
|
| 106 |
+ LogContext |
|
| 107 |
+ LogAttr |
|
| 108 |
+ LogMessage |
|
| 109 |
+ SubscribeLogsRequest |
|
| 110 |
+ SubscribeLogsMessage |
|
| 111 |
+ ListenSubscriptionsRequest |
|
| 112 |
+ SubscriptionMessage |
|
| 113 |
+ PublishLogsMessage |
|
| 114 |
+ PublishLogsResponse |
|
| 115 |
+ Meta |
|
| 116 |
+ Node |
|
| 117 |
+ Service |
|
| 118 |
+ Endpoint |
|
| 119 |
+ Task |
|
| 120 |
+ NetworkAttachment |
|
| 121 |
+ Network |
|
| 122 |
+ Cluster |
|
| 123 |
+ Secret |
|
| 124 |
+ Config |
|
| 125 |
+ Resource |
|
| 126 |
+ Extension |
|
| 127 |
+ RaftMember |
|
| 128 |
+ JoinRequest |
|
| 129 |
+ JoinResponse |
|
| 130 |
+ LeaveRequest |
|
| 131 |
+ LeaveResponse |
|
| 132 |
+ ProcessRaftMessageRequest |
|
| 133 |
+ ProcessRaftMessageResponse |
|
| 134 |
+ ResolveAddressRequest |
|
| 135 |
+ ResolveAddressResponse |
|
| 136 |
+ InternalRaftRequest |
|
| 137 |
+ StoreAction |
|
| 138 |
+ AttachNetworkRequest |
|
| 139 |
+ AttachNetworkResponse |
|
| 140 |
+ DetachNetworkRequest |
|
| 141 |
+ DetachNetworkResponse |
|
| 142 |
+ StoreSnapshot |
|
| 143 |
+ ClusterSnapshot |
|
| 144 |
+ Snapshot |
|
| 145 |
+ NodeSpec |
|
| 146 |
+ ServiceSpec |
|
| 147 |
+ ReplicatedService |
|
| 148 |
+ GlobalService |
|
| 149 |
+ TaskSpec |
|
| 150 |
+ ResourceReference |
|
| 151 |
+ GenericRuntimeSpec |
|
| 152 |
+ NetworkAttachmentSpec |
|
| 153 |
+ ContainerSpec |
|
| 154 |
+ EndpointSpec |
|
| 155 |
+ NetworkSpec |
|
| 156 |
+ ClusterSpec |
|
| 157 |
+ SecretSpec |
|
| 158 |
+ ConfigSpec |
|
| 159 |
+ Version |
|
| 160 |
+ IndexEntry |
|
| 161 |
+ Annotations |
|
| 162 |
+ NamedGenericResource |
|
| 163 |
+ DiscreteGenericResource |
|
| 164 |
+ GenericResource |
|
| 165 |
+ Resources |
|
| 166 |
+ ResourceRequirements |
|
| 167 |
+ Platform |
|
| 168 |
+ PluginDescription |
|
| 169 |
+ EngineDescription |
|
| 170 |
+ NodeDescription |
|
| 171 |
+ NodeTLSInfo |
|
| 172 |
+ RaftMemberStatus |
|
| 173 |
+ NodeStatus |
|
| 174 |
+ Image |
|
| 175 |
+ Mount |
|
| 176 |
+ RestartPolicy |
|
| 177 |
+ UpdateConfig |
|
| 178 |
+ UpdateStatus |
|
| 179 |
+ ContainerStatus |
|
| 180 |
+ PortStatus |
|
| 181 |
+ TaskStatus |
|
| 182 |
+ NetworkAttachmentConfig |
|
| 183 |
+ IPAMConfig |
|
| 184 |
+ PortConfig |
|
| 185 |
+ Driver |
|
| 186 |
+ IPAMOptions |
|
| 187 |
+ Peer |
|
| 188 |
+ WeightedPeer |
|
| 189 |
+ IssuanceStatus |
|
| 190 |
+ AcceptancePolicy |
|
| 191 |
+ ExternalCA |
|
| 192 |
+ CAConfig |
|
| 193 |
+ OrchestrationConfig |
|
| 194 |
+ TaskDefaults |
|
| 195 |
+ DispatcherConfig |
|
| 196 |
+ RaftConfig |
|
| 197 |
+ EncryptionConfig |
|
| 198 |
+ SpreadOver |
|
| 199 |
+ PlacementPreference |
|
| 200 |
+ Placement |
|
| 201 |
+ JoinTokens |
|
| 202 |
+ RootCA |
|
| 203 |
+ Certificate |
|
| 204 |
+ EncryptionKey |
|
| 205 |
+ ManagerStatus |
|
| 206 |
+ FileTarget |
|
| 207 |
+ SecretReference |
|
| 208 |
+ ConfigReference |
|
| 209 |
+ BlacklistedCertificate |
|
| 210 |
+ HealthConfig |
|
| 211 |
+ MaybeEncryptedRecord |
|
| 212 |
+ RootRotation |
|
| 213 |
+ Privileges |
|
| 214 |
+ Object |
|
| 215 |
+ SelectBySlot |
|
| 216 |
+ SelectByCustom |
|
| 217 |
+ SelectBy |
|
| 218 |
+ WatchRequest |
|
| 219 |
+ WatchMessage |
|
| 220 |
+*/ |
|
| 5 | 221 |
package api |
| 6 | 222 |
|
| 7 | 223 |
import proto "github.com/gogo/protobuf/proto" |
| ... | ... |
@@ -33,6 +249,12 @@ var _ = proto.Marshal |
| 33 | 33 |
var _ = fmt.Errorf |
| 34 | 34 |
var _ = math.Inf |
| 35 | 35 |
|
| 36 |
+// This is a compile-time assertion to ensure that this generated file |
|
| 37 |
+// is compatible with the proto package it is being compiled against. |
|
| 38 |
+// A compilation error at this line likely means your copy of the |
|
| 39 |
+// proto package needs to be updated. |
|
| 40 |
+const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package |
|
| 41 |
+ |
|
| 36 | 42 |
type NodeCertificateStatusRequest struct {
|
| 37 | 43 |
NodeID string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` |
| 38 | 44 |
} |
| ... | ... |
@@ -401,7 +623,7 @@ var _CA_serviceDesc = grpc.ServiceDesc{
|
| 401 | 401 |
}, |
| 402 | 402 |
}, |
| 403 | 403 |
Streams: []grpc.StreamDesc{},
|
| 404 |
- Metadata: "ca.proto", |
|
| 404 |
+ Metadata: "github.com/docker/swarmkit/api/ca.proto", |
|
| 405 | 405 |
} |
| 406 | 406 |
|
| 407 | 407 |
// Client API for NodeCA service |
| ... | ... |
@@ -498,7 +720,7 @@ var _NodeCA_serviceDesc = grpc.ServiceDesc{
|
| 498 | 498 |
}, |
| 499 | 499 |
}, |
| 500 | 500 |
Streams: []grpc.StreamDesc{},
|
| 501 |
- Metadata: "ca.proto", |
|
| 501 |
+ Metadata: "github.com/docker/swarmkit/api/ca.proto", |
|
| 502 | 502 |
} |
| 503 | 503 |
|
| 504 | 504 |
func (m *NodeCertificateStatusRequest) Marshal() (dAtA []byte, err error) {
|
| ... | ... |
@@ -2070,47 +2292,48 @@ var ( |
| 2070 | 2070 |
ErrIntOverflowCa = fmt.Errorf("proto: integer overflow")
|
| 2071 | 2071 |
) |
| 2072 | 2072 |
|
| 2073 |
-func init() { proto.RegisterFile("ca.proto", fileDescriptorCa) }
|
|
| 2073 |
+func init() { proto.RegisterFile("github.com/docker/swarmkit/api/ca.proto", fileDescriptorCa) }
|
|
| 2074 | 2074 |
|
| 2075 | 2075 |
var fileDescriptorCa = []byte{
|
| 2076 |
- // 610 bytes of a gzipped FileDescriptorProto |
|
| 2077 |
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0xcd, 0x6e, 0xd3, 0x40, |
|
| 2078 |
- 0x10, 0xee, 0xba, 0x25, 0x6d, 0x27, 0xa1, 0x45, 0xdb, 0x56, 0x32, 0x69, 0xea, 0x54, 0xe6, 0xd0, |
|
| 2079 |
- 0x72, 0xc0, 0x6d, 0x03, 0x27, 0xb8, 0x90, 0x04, 0xa9, 0x8a, 0x50, 0x11, 0xda, 0x08, 0xae, 0x95, |
|
| 2080 |
- 0xe3, 0x2c, 0xc1, 0x8a, 0xe3, 0x35, 0xde, 0x75, 0x20, 0x37, 0x24, 0x10, 0x6f, 0x80, 0xe0, 0xc4, |
|
| 2081 |
- 0x23, 0xf0, 0x1c, 0x11, 0x27, 0x24, 0x2e, 0x9c, 0x22, 0xea, 0x07, 0xe0, 0x19, 0x90, 0xd7, 0x36, |
|
| 2082 |
- 0xcd, 0x8f, 0x13, 0xca, 0xc9, 0xbb, 0xb3, 0xdf, 0xf7, 0xcd, 0xcc, 0xb7, 0xe3, 0x85, 0x35, 0xcb, |
|
| 2083 |
- 0x34, 0x3c, 0x9f, 0x09, 0x86, 0x71, 0x9b, 0x59, 0x5d, 0xea, 0x1b, 0xfc, 0xb5, 0xe9, 0xf7, 0xba, |
|
| 2084 |
- 0xb6, 0x30, 0xfa, 0x27, 0xc5, 0xbc, 0x18, 0x78, 0x94, 0xc7, 0x80, 0x62, 0x9e, 0x7b, 0xd4, 0x4a, |
|
| 2085 |
- 0x37, 0xdb, 0x1d, 0xd6, 0x61, 0x72, 0x79, 0x14, 0xad, 0x92, 0xe8, 0x96, 0xe7, 0x04, 0x1d, 0xdb, |
|
| 2086 |
- 0x3d, 0x8a, 0x3f, 0x71, 0x50, 0xaf, 0x43, 0xe9, 0x09, 0x6b, 0xd3, 0x3a, 0xf5, 0x85, 0xfd, 0xc2, |
|
| 2087 |
- 0xb6, 0x4c, 0x41, 0x9b, 0xc2, 0x14, 0x01, 0x27, 0xf4, 0x55, 0x40, 0xb9, 0xc0, 0xb7, 0x60, 0xd5, |
|
| 2088 |
- 0x65, 0x6d, 0x7a, 0x6e, 0xb7, 0x55, 0xb4, 0x8f, 0x0e, 0xd7, 0x6b, 0x10, 0x8e, 0xca, 0xb9, 0x88, |
|
| 2089 |
- 0xd2, 0x78, 0x44, 0x72, 0xd1, 0x51, 0xa3, 0xad, 0x7f, 0x41, 0xb0, 0x37, 0x47, 0x85, 0x7b, 0xcc, |
|
| 2090 |
- 0xe5, 0x14, 0xdf, 0x87, 0x1c, 0x97, 0x11, 0xa9, 0x92, 0xaf, 0xe8, 0xc6, 0x6c, 0x43, 0x46, 0x83, |
|
| 2091 |
- 0xf3, 0xc0, 0x74, 0xad, 0x94, 0x9b, 0x30, 0x70, 0x15, 0xf2, 0xd6, 0xa5, 0xb0, 0xaa, 0x48, 0x81, |
|
| 2092 |
- 0x72, 0x96, 0xc0, 0x58, 0x7e, 0x32, 0xce, 0xd1, 0x7f, 0x20, 0xd8, 0x8d, 0xd4, 0xe9, 0x54, 0x95, |
|
| 2093 |
- 0x69, 0x97, 0xf7, 0x60, 0xc5, 0x67, 0x0e, 0x95, 0xc5, 0x6d, 0x54, 0x4a, 0x59, 0xda, 0x11, 0x93, |
|
| 2094 |
- 0x30, 0x87, 0xd6, 0x14, 0x15, 0x11, 0x89, 0xc6, 0x37, 0x61, 0xd9, 0xe2, 0xbe, 0x2c, 0xa8, 0x50, |
|
| 2095 |
- 0x5b, 0x0d, 0x47, 0xe5, 0xe5, 0x7a, 0x93, 0x90, 0x28, 0x86, 0xb7, 0xe1, 0x9a, 0x60, 0x5d, 0xea, |
|
| 2096 |
- 0xaa, 0xcb, 0x91, 0x69, 0x24, 0xde, 0xe0, 0x33, 0x28, 0x98, 0x7d, 0xd3, 0x76, 0xcc, 0x96, 0xed, |
|
| 2097 |
- 0xd8, 0x62, 0xa0, 0xae, 0xc8, 0x74, 0xb7, 0xe7, 0xa5, 0x6b, 0x7a, 0xd4, 0x32, 0xaa, 0x63, 0x04, |
|
| 2098 |
- 0x32, 0x41, 0xd7, 0x3f, 0x22, 0x28, 0x65, 0x77, 0x95, 0xb8, 0x7e, 0x95, 0xcb, 0xc3, 0x4f, 0x61, |
|
| 2099 |
- 0x53, 0x82, 0x7a, 0xb4, 0xd7, 0xa2, 0x3e, 0x7f, 0x69, 0x7b, 0xb2, 0xa3, 0x8d, 0xca, 0xc1, 0xc2, |
|
| 2100 |
- 0xba, 0xce, 0xfe, 0xc2, 0xc9, 0x46, 0xc4, 0xbf, 0xdc, 0xeb, 0x7b, 0xb0, 0x7b, 0x4a, 0x05, 0x61, |
|
| 2101 |
- 0x4c, 0xd4, 0xab, 0xb3, 0x66, 0xeb, 0x0f, 0xa1, 0x94, 0x7d, 0x9c, 0x54, 0xbd, 0x3f, 0x79, 0xdf, |
|
| 2102 |
- 0x51, 0xe5, 0x85, 0xc9, 0xeb, 0xdc, 0x81, 0xad, 0x53, 0x2a, 0x9e, 0xb9, 0x0e, 0xb3, 0xba, 0x8f, |
|
| 2103 |
- 0xe9, 0x20, 0x15, 0xf6, 0x61, 0x7b, 0x32, 0x9c, 0x08, 0xee, 0x01, 0x04, 0x32, 0x78, 0xde, 0xa5, |
|
| 2104 |
- 0x83, 0x44, 0x6f, 0x3d, 0x48, 0x61, 0xf8, 0x01, 0xac, 0xf6, 0xa9, 0xcf, 0x6d, 0xe6, 0x26, 0xb3, |
|
| 2105 |
- 0xb5, 0x9b, 0xd5, 0xf8, 0xf3, 0x18, 0x52, 0x5b, 0x19, 0x8e, 0xca, 0x4b, 0x24, 0x65, 0x54, 0xde, |
|
| 2106 |
- 0x2b, 0xa0, 0xd4, 0xab, 0xf8, 0x1d, 0x92, 0xb9, 0x67, 0x9a, 0xc2, 0x47, 0x59, 0x5a, 0x0b, 0xdc, |
|
| 2107 |
- 0x29, 0x1e, 0x5f, 0x9d, 0x10, 0xb7, 0xa7, 0xaf, 0x7d, 0xfb, 0xfa, 0xfb, 0xb3, 0xa2, 0xdc, 0x40, |
|
| 2108 |
- 0xf8, 0x0d, 0x14, 0xc6, 0x0d, 0xc0, 0x07, 0x73, 0xb4, 0xa6, 0x9d, 0x2b, 0x1e, 0xfe, 0x1b, 0x98, |
|
| 2109 |
- 0x24, 0xdb, 0x91, 0xc9, 0x36, 0xe1, 0xba, 0x44, 0xde, 0xe9, 0x99, 0xae, 0xd9, 0xa1, 0x7e, 0xe5, |
|
| 2110 |
- 0x93, 0x02, 0x72, 0xae, 0x12, 0x2b, 0xb2, 0xa6, 0x32, 0xdb, 0x8a, 0x05, 0x7f, 0x65, 0xb6, 0x15, |
|
| 2111 |
- 0x8b, 0x06, 0x7e, 0xcc, 0x8a, 0x0f, 0x08, 0x76, 0x32, 0x9f, 0x24, 0x7c, 0x3c, 0x6f, 0xac, 0xe7, |
|
| 2112 |
- 0xbd, 0x81, 0xc5, 0x93, 0xff, 0x60, 0x4c, 0x17, 0x52, 0x53, 0x87, 0x17, 0xda, 0xd2, 0xcf, 0x0b, |
|
| 2113 |
- 0x6d, 0xe9, 0x6d, 0xa8, 0xa1, 0x61, 0xa8, 0xa1, 0xef, 0xa1, 0x86, 0x7e, 0x85, 0x1a, 0x6a, 0xe5, |
|
| 2114 |
- 0xe4, 0x0b, 0x7c, 0xf7, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x69, 0xad, 0xed, 0x8f, 0xe6, 0x05, |
|
| 2115 |
- 0x00, 0x00, |
|
| 2076 |
+ // 638 bytes of a gzipped FileDescriptorProto |
|
| 2077 |
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0xc1, 0x6e, 0xd3, 0x4c, |
|
| 2078 |
+ 0x10, 0xee, 0xba, 0xfd, 0xd3, 0xbf, 0xd3, 0xd0, 0xa2, 0xa5, 0x95, 0x4c, 0x9a, 0x3a, 0x95, 0x39, |
|
| 2079 |
+ 0xb4, 0x20, 0x61, 0xb7, 0x01, 0x09, 0x09, 0x2e, 0x24, 0x41, 0xaa, 0x2a, 0x54, 0x84, 0xb6, 0x82, |
|
| 2080 |
+ 0x6b, 0xe5, 0x38, 0xdb, 0x74, 0x15, 0xc7, 0x6b, 0xbc, 0xeb, 0x42, 0x6e, 0x48, 0x20, 0xde, 0x00, |
|
| 2081 |
+ 0xc1, 0x89, 0x47, 0xe0, 0x39, 0x2a, 0x4e, 0x48, 0x5c, 0x38, 0x55, 0xd4, 0x0f, 0xc0, 0x33, 0x20, |
|
| 2082 |
+ 0xaf, 0x6d, 0x9a, 0xb4, 0x4e, 0x5a, 0x4e, 0xf1, 0xce, 0x7c, 0xdf, 0x37, 0x33, 0xdf, 0x4e, 0x16, |
|
| 2083 |
+ 0xd6, 0xbb, 0x4c, 0x1e, 0x46, 0x6d, 0xcb, 0xe5, 0x7d, 0xbb, 0xc3, 0xdd, 0x1e, 0x0d, 0x6d, 0xf1, |
|
| 2084 |
+ 0xda, 0x09, 0xfb, 0x3d, 0x26, 0x6d, 0x27, 0x60, 0xb6, 0xeb, 0x58, 0x41, 0xc8, 0x25, 0xc7, 0x38, |
|
| 2085 |
+ 0xcd, 0x5a, 0x79, 0xd6, 0x3a, 0xda, 0xaa, 0xdc, 0xb9, 0x84, 0x2c, 0x07, 0x01, 0x15, 0x29, 0xff, |
|
| 2086 |
+ 0x52, 0xac, 0x08, 0xa8, 0x9b, 0x63, 0x97, 0xba, 0xbc, 0xcb, 0xd5, 0xa7, 0x9d, 0x7c, 0x65, 0xd1, |
|
| 2087 |
+ 0x07, 0x13, 0x14, 0x14, 0xa2, 0x1d, 0x1d, 0xd8, 0x81, 0x17, 0x75, 0x99, 0x9f, 0xfd, 0xa4, 0x44, |
|
| 2088 |
+ 0xb3, 0x05, 0xd5, 0x67, 0xbc, 0x43, 0x5b, 0x34, 0x94, 0xec, 0x80, 0xb9, 0x8e, 0xa4, 0x7b, 0xd2, |
|
| 2089 |
+ 0x91, 0x91, 0x20, 0xf4, 0x55, 0x44, 0x85, 0xc4, 0xb7, 0x60, 0xd6, 0xe7, 0x1d, 0xba, 0xcf, 0x3a, |
|
| 2090 |
+ 0x3a, 0x5a, 0x43, 0x1b, 0x73, 0x4d, 0x88, 0x4f, 0x6a, 0xa5, 0x84, 0xb2, 0xf3, 0x84, 0x94, 0x92, |
|
| 2091 |
+ 0xd4, 0x4e, 0xc7, 0xfc, 0x82, 0x60, 0x75, 0x8c, 0x8a, 0x08, 0xb8, 0x2f, 0x28, 0x7e, 0x08, 0x25, |
|
| 2092 |
+ 0xa1, 0x22, 0x4a, 0x65, 0xbe, 0x6e, 0x5a, 0x17, 0x2d, 0xb3, 0x76, 0x84, 0x88, 0x1c, 0xdf, 0xcd, |
|
| 2093 |
+ 0xb9, 0x19, 0x03, 0x37, 0x60, 0xde, 0x3d, 0x13, 0xd6, 0x35, 0x25, 0x50, 0x2b, 0x12, 0x18, 0xaa, |
|
| 2094 |
+ 0x4f, 0x86, 0x39, 0xe6, 0x0f, 0x04, 0x2b, 0x89, 0x3a, 0x3d, 0xd7, 0x65, 0x3e, 0xe5, 0x7d, 0x98, |
|
| 2095 |
+ 0x09, 0xb9, 0x47, 0x55, 0x73, 0x0b, 0xf5, 0x6a, 0x91, 0x76, 0xc2, 0x24, 0xdc, 0xa3, 0x4d, 0x4d, |
|
| 2096 |
+ 0x47, 0x44, 0xa1, 0xf1, 0x4d, 0x98, 0x76, 0x45, 0xa8, 0x1a, 0x2a, 0x37, 0x67, 0xe3, 0x93, 0xda, |
|
| 2097 |
+ 0x74, 0x6b, 0x8f, 0x90, 0x24, 0x86, 0x97, 0xe0, 0x3f, 0xc9, 0x7b, 0xd4, 0xd7, 0xa7, 0x13, 0xd3, |
|
| 2098 |
+ 0x48, 0x7a, 0xc0, 0xbb, 0x50, 0x76, 0x8e, 0x1c, 0xe6, 0x39, 0x6d, 0xe6, 0x31, 0x39, 0xd0, 0x67, |
|
| 2099 |
+ 0x54, 0xb9, 0xdb, 0xe3, 0xca, 0xed, 0x05, 0xd4, 0xb5, 0x1a, 0x43, 0x04, 0x32, 0x42, 0x37, 0x3f, |
|
| 2100 |
+ 0x22, 0xa8, 0x16, 0x4f, 0x95, 0xb9, 0x7e, 0x95, 0xcb, 0xc3, 0xcf, 0x61, 0x51, 0x81, 0xfa, 0xb4, |
|
| 2101 |
+ 0xdf, 0xa6, 0xa1, 0x38, 0x64, 0x81, 0x9a, 0x68, 0xa1, 0xbe, 0x3e, 0xb1, 0xaf, 0xdd, 0xbf, 0x70, |
|
| 2102 |
+ 0xb2, 0x90, 0xf0, 0xcf, 0xce, 0xe6, 0x2a, 0xac, 0x6c, 0x53, 0x49, 0x38, 0x97, 0xad, 0xc6, 0x45, |
|
| 2103 |
+ 0xb3, 0xcd, 0xc7, 0x50, 0x2d, 0x4e, 0x67, 0x5d, 0xaf, 0x8d, 0xde, 0x77, 0xd2, 0x79, 0x79, 0xf4, |
|
| 2104 |
+ 0x3a, 0x97, 0xe1, 0xc6, 0x36, 0x95, 0x2f, 0x7c, 0x8f, 0xbb, 0xbd, 0xa7, 0x74, 0x90, 0x0b, 0x87, |
|
| 2105 |
+ 0xb0, 0x34, 0x1a, 0xce, 0x04, 0x57, 0x01, 0x22, 0x15, 0xdc, 0xef, 0xd1, 0x41, 0xa6, 0x37, 0x17, |
|
| 2106 |
+ 0xe5, 0x30, 0xfc, 0x08, 0x66, 0x8f, 0x68, 0x28, 0x18, 0xf7, 0xb3, 0xdd, 0x5a, 0x29, 0x1a, 0xfc, |
|
| 2107 |
+ 0x65, 0x0a, 0x69, 0xce, 0x1c, 0x9f, 0xd4, 0xa6, 0x48, 0xce, 0xa8, 0xbf, 0xd7, 0x40, 0x6b, 0x35, |
|
| 2108 |
+ 0xf0, 0x3b, 0xa4, 0x6a, 0x5f, 0x18, 0x0a, 0xdb, 0x45, 0x5a, 0x13, 0xdc, 0xa9, 0x6c, 0x5e, 0x9d, |
|
| 2109 |
+ 0x90, 0x8e, 0x67, 0xfe, 0xff, 0xed, 0xeb, 0xef, 0xcf, 0x9a, 0x76, 0x1d, 0xe1, 0x37, 0x50, 0x1e, |
|
| 2110 |
+ 0x36, 0x00, 0xaf, 0x8f, 0xd1, 0x3a, 0xef, 0x5c, 0x65, 0xe3, 0x72, 0x60, 0x56, 0x6c, 0x59, 0x15, |
|
| 2111 |
+ 0x5b, 0x84, 0x6b, 0x0a, 0x79, 0xb7, 0xef, 0xf8, 0x4e, 0x97, 0x86, 0xf5, 0x4f, 0x1a, 0xa8, 0xbd, |
|
| 2112 |
+ 0xca, 0xac, 0x28, 0xda, 0xca, 0x62, 0x2b, 0x26, 0xfc, 0x2b, 0x8b, 0xad, 0x98, 0xb4, 0xf0, 0x43, |
|
| 2113 |
+ 0x56, 0x7c, 0x40, 0xb0, 0x5c, 0xf8, 0x24, 0xe1, 0xcd, 0x71, 0x6b, 0x3d, 0xee, 0x0d, 0xac, 0x6c, |
|
| 2114 |
+ 0xfd, 0x03, 0xe3, 0x7c, 0x23, 0x4d, 0xfd, 0xf8, 0xd4, 0x98, 0xfa, 0x79, 0x6a, 0x4c, 0xbd, 0x8d, |
|
| 2115 |
+ 0x0d, 0x74, 0x1c, 0x1b, 0xe8, 0x7b, 0x6c, 0xa0, 0x5f, 0xb1, 0x81, 0xda, 0x25, 0xf5, 0x02, 0xdf, |
|
| 2116 |
+ 0xfb, 0x13, 0x00, 0x00, 0xff, 0xff, 0xe1, 0xda, 0xca, 0xba, 0x67, 0x06, 0x00, 0x00, |
|
| 2116 | 2117 |
} |
| ... | ... |
@@ -2,10 +2,10 @@ syntax = "proto3"; |
| 2 | 2 |
|
| 3 | 3 |
package docker.swarmkit.v1; |
| 4 | 4 |
|
| 5 |
-import "types.proto"; |
|
| 6 |
-import "specs.proto"; |
|
| 5 |
+import "github.com/docker/swarmkit/api/types.proto"; |
|
| 6 |
+import "github.com/docker/swarmkit/api/specs.proto"; |
|
| 7 | 7 |
import "gogoproto/gogo.proto"; |
| 8 |
-import "plugin/plugin.proto"; |
|
| 8 |
+import "github.com/docker/swarmkit/protobuf/plugin/plugin.proto"; |
|
| 9 | 9 |
|
| 10 | 10 |
// CA defines the RPC methods for requesting certificates from a CA. |
| 11 | 11 |
|
| ... | ... |
@@ -1,5 +1,5 @@ |
| 1 | 1 |
// Code generated by protoc-gen-gogo. |
| 2 |
-// source: control.proto |
|
| 2 |
+// source: github.com/docker/swarmkit/api/control.proto |
|
| 3 | 3 |
// DO NOT EDIT! |
| 4 | 4 |
|
| 5 | 5 |
package api |
| ... | ... |
@@ -3468,7 +3468,7 @@ var _Control_serviceDesc = grpc.ServiceDesc{
|
| 3468 | 3468 |
}, |
| 3469 | 3469 |
}, |
| 3470 | 3470 |
Streams: []grpc.StreamDesc{},
|
| 3471 |
- Metadata: "control.proto", |
|
| 3471 |
+ Metadata: "github.com/docker/swarmkit/api/control.proto", |
|
| 3472 | 3472 |
} |
| 3473 | 3473 |
|
| 3474 | 3474 |
func (m *GetNodeRequest) Marshal() (dAtA []byte, err error) {
|
| ... | ... |
@@ -15953,140 +15953,142 @@ var ( |
| 15953 | 15953 |
ErrIntOverflowControl = fmt.Errorf("proto: integer overflow")
|
| 15954 | 15954 |
) |
| 15955 | 15955 |
|
| 15956 |
-func init() { proto.RegisterFile("control.proto", fileDescriptorControl) }
|
|
| 15956 |
+func init() { proto.RegisterFile("github.com/docker/swarmkit/api/control.proto", fileDescriptorControl) }
|
|
| 15957 | 15957 |
|
| 15958 | 15958 |
var fileDescriptorControl = []byte{
|
| 15959 |
- // 2106 bytes of a gzipped FileDescriptorProto |
|
| 15960 |
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0xcd, 0x73, 0x1b, 0x49, |
|
| 15961 |
- 0x15, 0xb7, 0x3e, 0x6c, 0xc9, 0x4f, 0xb6, 0x6c, 0xb7, 0x1d, 0x50, 0x29, 0xc1, 0x4e, 0x4d, 0x48, |
|
| 15962 |
- 0xa2, 0x50, 0x41, 0x66, 0x15, 0x16, 0xc2, 0x52, 0x7c, 0xac, 0xed, 0x6c, 0x56, 0xeb, 0x8d, 0x93, |
|
| 15963 |
- 0x1a, 0xc7, 0x5b, 0xdc, 0x54, 0xb2, 0xd4, 0x36, 0x13, 0xc9, 0x1a, 0x31, 0x33, 0xf2, 0xae, 0x8b, |
|
| 15964 |
- 0x0b, 0x50, 0xcb, 0x81, 0x3f, 0x80, 0x2a, 0xae, 0x5c, 0x39, 0x70, 0xe0, 0xc4, 0x81, 0x3f, 0x20, |
|
| 15965 |
- 0xc5, 0x89, 0x23, 0x27, 0xc3, 0xaa, 0x0a, 0x8a, 0x13, 0x7f, 0xc3, 0x56, 0x77, 0xbf, 0x9e, 0x2f, |
|
| 15966 |
- 0xf5, 0xcc, 0xe8, 0xab, 0xca, 0x7b, 0xb2, 0xa6, 0xe7, 0xf7, 0xfa, 0xbd, 0xee, 0xf7, 0xeb, 0xdf, |
|
| 15967 |
- 0x74, 0xbf, 0x36, 0xac, 0xb6, 0xcc, 0x9e, 0x63, 0x99, 0xdd, 0x6a, 0xdf, 0x32, 0x1d, 0x93, 0x90, |
|
| 15968 |
- 0xb6, 0xd9, 0xea, 0x50, 0xab, 0x6a, 0x7f, 0xda, 0xb4, 0x2e, 0x3a, 0x86, 0x53, 0xbd, 0x7c, 0xa7, |
|
| 15969 |
- 0x5c, 0xb0, 0xfb, 0xb4, 0x65, 0x0b, 0x40, 0x79, 0xd5, 0x3c, 0x7d, 0x43, 0x5b, 0x8e, 0x7c, 0x2c, |
|
| 15970 |
- 0x38, 0x57, 0x7d, 0x2a, 0x1f, 0xb6, 0xce, 0xcd, 0x73, 0x93, 0xff, 0xdc, 0x65, 0xbf, 0xb0, 0x75, |
|
| 15971 |
- 0xb3, 0xdf, 0x1d, 0x9c, 0x1b, 0xbd, 0x5d, 0xf1, 0x47, 0x34, 0x6a, 0xef, 0x42, 0xf1, 0x39, 0x75, |
|
| 15972 |
- 0x8e, 0xcc, 0x36, 0xd5, 0xe9, 0x2f, 0x06, 0xd4, 0x76, 0xc8, 0x3d, 0xc8, 0xf5, 0xcc, 0x36, 0x6d, |
|
| 15973 |
- 0x18, 0xed, 0x52, 0xea, 0x6e, 0xaa, 0xb2, 0xbc, 0x07, 0xc3, 0xeb, 0x9d, 0x25, 0x86, 0xa8, 0x1f, |
|
| 15974 |
- 0xe8, 0x4b, 0xec, 0x55, 0xbd, 0xad, 0xfd, 0x04, 0xd6, 0x5c, 0x33, 0xbb, 0x6f, 0xf6, 0x6c, 0x4a, |
|
| 15975 |
- 0x1e, 0x43, 0x96, 0xbd, 0xe4, 0x46, 0x85, 0x5a, 0xa9, 0x3a, 0x3a, 0x80, 0x2a, 0xc7, 0x73, 0x94, |
|
| 15976 |
- 0xf6, 0xdf, 0x0c, 0xac, 0x7f, 0x6c, 0xd8, 0xbc, 0x0b, 0x5b, 0xba, 0xfe, 0x00, 0x72, 0x67, 0x46, |
|
| 15977 |
- 0xd7, 0xa1, 0x96, 0x8d, 0xbd, 0x3c, 0x56, 0xf5, 0x12, 0x36, 0xab, 0x7e, 0x20, 0x6c, 0x74, 0x69, |
|
| 15978 |
- 0x5c, 0xfe, 0x5d, 0x06, 0x72, 0xd8, 0x48, 0xb6, 0x60, 0xb1, 0xd7, 0xbc, 0xa0, 0xac, 0xc7, 0x4c, |
|
| 15979 |
- 0x65, 0x59, 0x17, 0x0f, 0x64, 0x17, 0x0a, 0x46, 0xbb, 0xd1, 0xb7, 0xe8, 0x99, 0xf1, 0x19, 0xb5, |
|
| 15980 |
- 0x4b, 0x69, 0xf6, 0x6e, 0xaf, 0x38, 0xbc, 0xde, 0x81, 0xfa, 0xc1, 0x2b, 0x6c, 0xd5, 0xc1, 0x68, |
|
| 15981 |
- 0xcb, 0xdf, 0xe4, 0x15, 0x2c, 0x75, 0x9b, 0xa7, 0xb4, 0x6b, 0x97, 0x32, 0x77, 0x33, 0x95, 0x42, |
|
| 15982 |
- 0xed, 0xe9, 0x24, 0x91, 0x55, 0x3f, 0xe6, 0xa6, 0xcf, 0x7a, 0x8e, 0x75, 0xa5, 0x63, 0x3f, 0xe4, |
|
| 15983 |
- 0x05, 0x14, 0x2e, 0xe8, 0xc5, 0x29, 0xb5, 0xec, 0x9f, 0x1b, 0x7d, 0xbb, 0x94, 0xbd, 0x9b, 0xa9, |
|
| 15984 |
- 0x14, 0x6b, 0x0f, 0xa3, 0xa6, 0xed, 0xb8, 0x4f, 0x5b, 0xd5, 0x17, 0x2e, 0x7e, 0x2f, 0xbd, 0xbe, |
|
| 15985 |
- 0xa0, 0xfb, 0xed, 0xc9, 0xf7, 0x60, 0xd1, 0x32, 0xbb, 0xd4, 0x2e, 0x2d, 0xf2, 0x8e, 0xee, 0x44, |
|
| 15986 |
- 0xce, 0xbf, 0xd9, 0xa5, 0xdc, 0x5a, 0xc0, 0xc9, 0x3d, 0x58, 0x65, 0x53, 0xe2, 0xcd, 0xc5, 0x12, |
|
| 15987 |
- 0x9f, 0xa7, 0x15, 0xd6, 0x28, 0x47, 0x5f, 0xfe, 0x01, 0x14, 0x7c, 0x43, 0x20, 0xeb, 0x90, 0xe9, |
|
| 15988 |
- 0xd0, 0x2b, 0x41, 0x0f, 0x9d, 0xfd, 0x64, 0xb3, 0x7c, 0xd9, 0xec, 0x0e, 0x68, 0x29, 0xcd, 0xdb, |
|
| 15989 |
- 0xc4, 0xc3, 0x7b, 0xe9, 0xa7, 0x29, 0x6d, 0x1f, 0x36, 0x7c, 0xd3, 0x82, 0x5c, 0xa9, 0xc2, 0x22, |
|
| 15990 |
- 0x63, 0x81, 0x48, 0x4a, 0x1c, 0x59, 0x04, 0x4c, 0xfb, 0x53, 0x0a, 0x36, 0x4e, 0xfa, 0xed, 0xa6, |
|
| 15991 |
- 0x43, 0x27, 0x65, 0x2a, 0xf9, 0x31, 0xac, 0x70, 0xd0, 0x25, 0xb5, 0x6c, 0xc3, 0xec, 0xf1, 0x00, |
|
| 15992 |
- 0x0b, 0xb5, 0xdb, 0x2a, 0x8f, 0x9f, 0x08, 0x88, 0x5e, 0x60, 0x06, 0xf8, 0x40, 0xbe, 0x03, 0x59, |
|
| 15993 |
- 0xb6, 0xec, 0x4a, 0x19, 0x6e, 0x77, 0x27, 0x2e, 0x3f, 0x3a, 0x47, 0x6a, 0x7b, 0x40, 0xfc, 0xb1, |
|
| 15994 |
- 0x4e, 0xb5, 0x3c, 0x8e, 0x60, 0x43, 0xa7, 0x17, 0xe6, 0xe5, 0xe4, 0xe3, 0xdd, 0x82, 0xc5, 0x33, |
|
| 15995 |
- 0xd3, 0x6a, 0x89, 0x4c, 0xe4, 0x75, 0xf1, 0xa0, 0x6d, 0x01, 0xf1, 0xf7, 0x27, 0x62, 0xc2, 0xc5, |
|
| 15996 |
- 0xff, 0xba, 0x69, 0x77, 0x7c, 0x2e, 0x9c, 0xa6, 0xdd, 0x09, 0xb9, 0x60, 0x08, 0xe6, 0x82, 0xbd, |
|
| 15997 |
- 0x72, 0x17, 0xbf, 0x30, 0xf3, 0x46, 0xc7, 0x5e, 0xc6, 0x8d, 0x8e, 0xe3, 0x39, 0x4a, 0x7b, 0x2a, |
|
| 15998 |
- 0x47, 0x37, 0xb1, 0x6b, 0x77, 0x1c, 0x7e, 0xef, 0xda, 0xdf, 0xb2, 0x42, 0x4c, 0x58, 0xe3, 0x14, |
|
| 15999 |
- 0x62, 0xe2, 0x37, 0x1b, 0x15, 0x93, 0x7f, 0xdd, 0xa0, 0x98, 0xa8, 0x22, 0x53, 0x8a, 0xc9, 0x2e, |
|
| 16000 |
- 0x14, 0x6c, 0x6a, 0x5d, 0x1a, 0x2d, 0xc6, 0x0e, 0x21, 0x26, 0x18, 0xc2, 0xb1, 0x68, 0xae, 0x1f, |
|
| 16001 |
- 0xd8, 0x3a, 0x20, 0xa4, 0xde, 0xb6, 0xc9, 0x03, 0xc8, 0x23, 0x97, 0x84, 0x62, 0x2c, 0xef, 0x15, |
|
| 16002 |
- 0x86, 0xd7, 0x3b, 0x39, 0x41, 0x26, 0x5b, 0xcf, 0x09, 0x36, 0xd9, 0xe4, 0x43, 0x28, 0xb6, 0xa9, |
|
| 16003 |
- 0x6d, 0x58, 0xb4, 0xdd, 0xb0, 0x9d, 0xa6, 0x83, 0xfa, 0x50, 0xac, 0x7d, 0x23, 0x2a, 0xc5, 0xc7, |
|
| 16004 |
- 0x0c, 0xc5, 0x05, 0x66, 0x15, 0x0d, 0x79, 0x8b, 0x42, 0x68, 0x72, 0xa3, 0x42, 0x43, 0xee, 0x00, |
|
| 16005 |
- 0x0c, 0xfa, 0x0d, 0xc7, 0x6c, 0xb0, 0xf5, 0x53, 0xca, 0x73, 0x0a, 0xe7, 0x07, 0xfd, 0xd7, 0xe6, |
|
| 16006 |
- 0x41, 0xd3, 0xa1, 0xa4, 0x0c, 0x79, 0x6b, 0xd0, 0x73, 0x0c, 0x96, 0x81, 0x65, 0x6e, 0xed, 0x3e, |
|
| 16007 |
- 0xcf, 0x41, 0xa2, 0x70, 0xb2, 0x3d, 0x89, 0x62, 0x9c, 0x8b, 0x95, 0x28, 0x4e, 0x42, 0x01, 0xd3, |
|
| 16008 |
- 0x0e, 0x61, 0x6b, 0xdf, 0xa2, 0x4d, 0x87, 0xe2, 0x84, 0x4b, 0x1a, 0x3e, 0x41, 0xfd, 0x10, 0x1c, |
|
| 16009 |
- 0xdc, 0x51, 0x75, 0x83, 0x16, 0x3e, 0x09, 0x39, 0x82, 0x5b, 0xa1, 0xce, 0x30, 0xaa, 0x77, 0x21, |
|
| 16010 |
- 0x87, 0x49, 0xc4, 0x0e, 0x6f, 0xc7, 0x74, 0xa8, 0x4b, 0xac, 0xf6, 0x06, 0x36, 0x9e, 0x53, 0x27, |
|
| 16011 |
- 0x14, 0xd9, 0x63, 0x00, 0x8f, 0x33, 0xb8, 0xe6, 0x56, 0x87, 0xd7, 0x3b, 0xcb, 0x2e, 0x65, 0xf4, |
|
| 16012 |
- 0x65, 0x97, 0x31, 0xe4, 0x21, 0xac, 0x19, 0x3d, 0x9b, 0x5a, 0x4e, 0xa3, 0x4d, 0xcf, 0x9a, 0x83, |
|
| 16013 |
- 0xae, 0x63, 0xa3, 0xc2, 0x14, 0x45, 0xf3, 0x01, 0xb6, 0x6a, 0x87, 0x40, 0xfc, 0xbe, 0x66, 0x0b, |
|
| 16014 |
- 0xfc, 0x2f, 0x69, 0xd8, 0x12, 0x62, 0x3a, 0x53, 0xf0, 0x07, 0xb0, 0x26, 0xd1, 0x13, 0x7c, 0x07, |
|
| 16015 |
- 0x8a, 0x68, 0x23, 0x3f, 0x05, 0x4f, 0x02, 0x9f, 0x82, 0xf1, 0x52, 0x49, 0x5e, 0x40, 0xde, 0x32, |
|
| 16016 |
- 0xbb, 0xdd, 0xd3, 0x66, 0xab, 0x53, 0xca, 0xde, 0x4d, 0x55, 0x8a, 0xb5, 0x77, 0x54, 0x86, 0xaa, |
|
| 16017 |
- 0x41, 0x56, 0x75, 0x34, 0xd4, 0xdd, 0x2e, 0x34, 0x0d, 0xf2, 0xb2, 0x95, 0xe4, 0x21, 0x7b, 0xf4, |
|
| 16018 |
- 0xf2, 0xe8, 0xd9, 0xfa, 0x02, 0x59, 0x81, 0xfc, 0x2b, 0xfd, 0xd9, 0x27, 0xf5, 0x97, 0x27, 0xc7, |
|
| 16019 |
- 0xeb, 0x29, 0xc6, 0x9e, 0x50, 0x77, 0xb3, 0x25, 0xe1, 0x00, 0xb6, 0x84, 0xe8, 0xce, 0x92, 0x03, |
|
| 16020 |
- 0xed, 0xeb, 0x70, 0x2b, 0xd4, 0x0b, 0xaa, 0xf7, 0xe7, 0x19, 0xd8, 0x64, 0xeb, 0x0f, 0xdb, 0x5d, |
|
| 16021 |
- 0x01, 0xaf, 0x87, 0x05, 0x7c, 0x37, 0x4a, 0x26, 0x43, 0x96, 0xa3, 0x1a, 0xfe, 0xc7, 0xf4, 0xdc, |
|
| 16022 |
- 0x35, 0xfc, 0x38, 0xa4, 0xe1, 0x3f, 0x9c, 0x30, 0x38, 0xa5, 0x8c, 0x8f, 0x68, 0x64, 0x56, 0xa1, |
|
| 16023 |
- 0x91, 0x7e, 0x15, 0x5c, 0x9c, 0x9f, 0x0a, 0xbe, 0x84, 0xad, 0x60, 0xb8, 0x48, 0x9a, 0xef, 0x43, |
|
| 16024 |
- 0x1e, 0x93, 0x28, 0xb5, 0x30, 0x96, 0x35, 0x2e, 0xd8, 0x53, 0xc4, 0x23, 0xea, 0x7c, 0x6a, 0x5a, |
|
| 16025 |
- 0x9d, 0x09, 0x14, 0x11, 0x2d, 0x54, 0x8a, 0xe8, 0x76, 0xe6, 0x71, 0xba, 0x27, 0x9a, 0xe2, 0x38, |
|
| 16026 |
- 0x2d, 0xad, 0x24, 0x56, 0x3b, 0xe1, 0x8a, 0x18, 0x8a, 0x8c, 0x40, 0x96, 0xcd, 0x34, 0xce, 0x17, |
|
| 16027 |
- 0xff, 0xcd, 0x48, 0x8e, 0x36, 0x8c, 0xe4, 0x69, 0x8f, 0xe4, 0x68, 0xcb, 0x48, 0x8e, 0x80, 0x7a, |
|
| 16028 |
- 0x1b, 0xc5, 0x6f, 0x4e, 0x31, 0xfe, 0x4c, 0xae, 0xbb, 0xb9, 0x87, 0xe9, 0xae, 0xc5, 0x50, 0xa4, |
|
| 16029 |
- 0xda, 0xff, 0xd2, 0x62, 0x2d, 0x62, 0xfb, 0x14, 0x6b, 0x31, 0x64, 0x39, 0xba, 0x16, 0x7f, 0x7b, |
|
| 16030 |
- 0x83, 0x6b, 0x31, 0x22, 0xb8, 0xa9, 0xd7, 0xe2, 0x1c, 0xd6, 0x9b, 0x17, 0x92, 0xb7, 0xde, 0x30, |
|
| 16031 |
- 0x51, 0xb1, 0xeb, 0x4d, 0x66, 0xce, 0x05, 0x6b, 0xef, 0x73, 0x4a, 0xef, 0x77, 0x07, 0xb6, 0x43, |
|
| 16032 |
- 0x2d, 0x9f, 0x46, 0xb7, 0x44, 0x4b, 0x48, 0xa3, 0x11, 0xc7, 0x78, 0x81, 0x00, 0x97, 0xbe, 0x6e, |
|
| 16033 |
- 0x17, 0x1e, 0x7d, 0x11, 0x12, 0x47, 0x5f, 0x69, 0x25, 0xb1, 0x2e, 0x97, 0xf0, 0xc5, 0x14, 0x5c, |
|
| 16034 |
- 0x0a, 0x59, 0x7e, 0xb5, 0xb8, 0x14, 0x11, 0xdc, 0x4d, 0x72, 0xc9, 0x0b, 0xc9, 0xe3, 0x12, 0x66, |
|
| 16035 |
- 0x23, 0x96, 0x4b, 0x32, 0x75, 0x2e, 0x58, 0xfb, 0x7d, 0x0a, 0x0a, 0x87, 0xf4, 0x4a, 0x37, 0x9d, |
|
| 16036 |
- 0xa6, 0xc3, 0xb6, 0x3e, 0xdf, 0x82, 0x0d, 0x46, 0x32, 0x6a, 0x35, 0xde, 0x98, 0x46, 0xaf, 0xe1, |
|
| 16037 |
- 0x98, 0x1d, 0xda, 0xe3, 0xa1, 0xe5, 0xf5, 0x35, 0xf1, 0xe2, 0x23, 0xd3, 0xe8, 0xbd, 0x66, 0xcd, |
|
| 16038 |
- 0xe4, 0x31, 0x90, 0x8b, 0x66, 0xaf, 0x79, 0x1e, 0x04, 0x8b, 0xcd, 0xe2, 0x3a, 0xbe, 0x51, 0xa2, |
|
| 16039 |
- 0x07, 0xbd, 0xae, 0xd9, 0xea, 0x34, 0xd8, 0xa8, 0x33, 0x01, 0xf4, 0x09, 0x7f, 0x71, 0x48, 0xaf, |
|
| 16040 |
- 0xb4, 0xdf, 0xb8, 0xfb, 0xc1, 0x59, 0x78, 0xce, 0xf6, 0x83, 0x12, 0x3d, 0xc9, 0x7e, 0x10, 0x6d, |
|
| 16041 |
- 0x26, 0xd8, 0x0f, 0xa2, 0x77, 0xdf, 0x7e, 0xf0, 0x7d, 0xb6, 0x1f, 0x14, 0xb3, 0xca, 0xf7, 0x83, |
|
| 16042 |
- 0x11, 0x86, 0xbe, 0xc9, 0xdf, 0xcb, 0xbe, 0xbd, 0xde, 0x59, 0xd0, 0x5d, 0x33, 0x6f, 0x7f, 0x37, |
|
| 16043 |
- 0xa7, 0x85, 0xfa, 0x23, 0x58, 0xe7, 0x3b, 0xf6, 0x96, 0x45, 0x1d, 0x39, 0x9f, 0x8f, 0x60, 0xd9, |
|
| 16044 |
- 0xe6, 0x0d, 0xde, 0x74, 0xae, 0x0c, 0xaf, 0x77, 0xf2, 0x02, 0x55, 0x3f, 0x60, 0xdf, 0x79, 0xfe, |
|
| 16045 |
- 0xab, 0xad, 0x3d, 0xc7, 0xc3, 0x85, 0x30, 0xc7, 0x50, 0x6a, 0xb0, 0x24, 0x00, 0x18, 0x49, 0x59, |
|
| 16046 |
- 0xbd, 0x67, 0xe0, 0x36, 0x88, 0xd4, 0xfe, 0x9a, 0x82, 0x4d, 0xb9, 0x71, 0x9d, 0x2e, 0x16, 0xb2, |
|
| 16047 |
- 0x07, 0x45, 0x84, 0x4e, 0x90, 0xd7, 0x55, 0x61, 0x22, 0xd3, 0x5a, 0x0b, 0xa4, 0x75, 0x3b, 0x3a, |
|
| 16048 |
- 0x70, 0xdf, 0xf6, 0xe4, 0x23, 0xef, 0x98, 0x32, 0xf3, 0x34, 0xfc, 0x27, 0x0d, 0x44, 0xec, 0xc4, |
|
| 16049 |
- 0xd8, 0xa3, 0x2b, 0x9b, 0x1f, 0x86, 0x65, 0xb3, 0x1a, 0xbd, 0xe3, 0xf4, 0x1b, 0x8e, 0xaa, 0xe6, |
|
| 16050 |
- 0xe7, 0xf3, 0x57, 0x4d, 0x3d, 0xa4, 0x9a, 0xef, 0x4d, 0x16, 0xdb, 0x8d, 0x88, 0xe6, 0xa1, 0x3c, |
|
| 16051 |
- 0x76, 0x60, 0x44, 0x98, 0xb2, 0xef, 0xb2, 0x43, 0x12, 0x6f, 0x42, 0xc9, 0x8c, 0xcb, 0x99, 0x84, |
|
| 16052 |
- 0x6a, 0x75, 0xd8, 0x94, 0x27, 0x76, 0x3f, 0x75, 0x6b, 0x81, 0xbd, 0xee, 0xd8, 0x5c, 0x0a, 0x76, |
|
| 16053 |
- 0x35, 0x03, 0x97, 0x7e, 0x0a, 0x9b, 0xf2, 0xd0, 0x35, 0xe5, 0xea, 0xfe, 0x9a, 0x77, 0xf8, 0xf3, |
|
| 16054 |
- 0x47, 0x83, 0xa2, 0xb1, 0x6f, 0xf6, 0xce, 0x8c, 0x73, 0x5f, 0xb7, 0x2d, 0xde, 0x10, 0xea, 0x56, |
|
| 16055 |
- 0xa0, 0x58, 0xb7, 0xe2, 0xb5, 0x2b, 0x1a, 0xd2, 0xdc, 0x1b, 0xa1, 0x00, 0xc4, 0x8d, 0x10, 0x6d, |
|
| 16056 |
- 0x10, 0xe9, 0x13, 0x8d, 0x69, 0x63, 0x61, 0xa2, 0x81, 0xd0, 0x49, 0x44, 0x43, 0x98, 0x4c, 0x20, |
|
| 16057 |
- 0x1a, 0xc2, 0xb3, 0x4a, 0x34, 0xe6, 0x30, 0x0d, 0x52, 0x34, 0x44, 0xf3, 0x14, 0xa2, 0x11, 0x34, |
|
| 16058 |
- 0xfc, 0x6a, 0x89, 0x86, 0x3a, 0xb6, 0x9b, 0x14, 0x0d, 0x37, 0x22, 0x4f, 0x34, 0x44, 0x22, 0x62, |
|
| 16059 |
- 0x45, 0x03, 0x73, 0x26, 0xa1, 0x9e, 0x68, 0x04, 0xa9, 0x3b, 0x86, 0x68, 0xa8, 0xb8, 0x14, 0xec, |
|
| 16060 |
- 0x6a, 0x06, 0x2e, 0xb9, 0xa2, 0x31, 0xf5, 0xea, 0x76, 0x45, 0x23, 0x18, 0x4d, 0xed, 0xd7, 0xb7, |
|
| 16061 |
- 0x21, 0xb7, 0x2f, 0xee, 0x39, 0x89, 0x01, 0x39, 0xbc, 0x42, 0x24, 0x9a, 0x2a, 0xa8, 0xe0, 0xb5, |
|
| 16062 |
- 0x64, 0xf9, 0x5e, 0x2c, 0x06, 0x45, 0xe9, 0xd6, 0xdf, 0xff, 0xfc, 0xff, 0x3f, 0xa4, 0xd7, 0x60, |
|
| 16063 |
- 0x95, 0x83, 0xbe, 0x8d, 0xdb, 0x47, 0x62, 0xc2, 0xb2, 0x7b, 0x07, 0x45, 0xbe, 0x39, 0xce, 0xcd, |
|
| 16064 |
- 0x5d, 0xf9, 0x7e, 0x02, 0x2a, 0xde, 0xa1, 0x05, 0xe0, 0x5d, 0x01, 0x91, 0xfb, 0xd1, 0x05, 0x3f, |
|
| 16065 |
- 0xff, 0x08, 0x1f, 0x24, 0xc1, 0x12, 0x7d, 0x7a, 0x57, 0x3c, 0x6a, 0x9f, 0x23, 0x57, 0x4a, 0x6a, |
|
| 16066 |
- 0x9f, 0x8a, 0x9b, 0xa2, 0x08, 0x9f, 0x22, 0x87, 0xaf, 0x9b, 0x76, 0x27, 0x32, 0x87, 0xbe, 0x2b, |
|
| 16067 |
- 0x9e, 0xc8, 0x1c, 0x06, 0x2e, 0x73, 0xe2, 0x73, 0xc8, 0x8b, 0xf4, 0xd1, 0x39, 0xf4, 0x5f, 0x98, |
|
| 16068 |
- 0x44, 0xe7, 0x30, 0x50, 0xe9, 0x4f, 0x9c, 0x4f, 0x3e, 0xbc, 0x98, 0xf9, 0xf4, 0x8f, 0xf0, 0x41, |
|
| 16069 |
- 0x12, 0x2c, 0xd1, 0xa7, 0x57, 0x3b, 0x57, 0xfb, 0x1c, 0xa9, 0xe3, 0xab, 0x7d, 0x8e, 0x96, 0xe0, |
|
| 16070 |
- 0xa3, 0x7c, 0x7e, 0x06, 0x2b, 0xfe, 0xba, 0x1f, 0x79, 0x38, 0x66, 0x21, 0xb3, 0x5c, 0x49, 0x06, |
|
| 16071 |
- 0xc6, 0x7b, 0xfe, 0x25, 0xac, 0x06, 0x6e, 0x39, 0x88, 0xb2, 0x47, 0xd5, 0xad, 0x4a, 0xf9, 0xd1, |
|
| 16072 |
- 0x18, 0xc8, 0x44, 0xe7, 0x81, 0x22, 0xb9, 0xda, 0xb9, 0xaa, 0x2c, 0xaf, 0x76, 0xae, 0xac, 0xb8, |
|
| 16073 |
- 0xc7, 0x38, 0x0f, 0xd4, 0xc2, 0xd5, 0xce, 0x55, 0x45, 0x77, 0xb5, 0x73, 0x75, 0x61, 0x3d, 0x96, |
|
| 16074 |
- 0x64, 0x58, 0x3f, 0x8a, 0x24, 0x59, 0xb0, 0xe6, 0x18, 0x49, 0xb2, 0x70, 0x01, 0x31, 0x9e, 0x64, |
|
| 16075 |
- 0xb2, 0xd8, 0x15, 0x4d, 0xb2, 0x50, 0x85, 0x2e, 0x9a, 0x64, 0xe1, 0xba, 0x59, 0x22, 0xc9, 0xe4, |
|
| 16076 |
- 0x80, 0x63, 0x48, 0x16, 0x1a, 0xf3, 0xa3, 0x31, 0x90, 0x63, 0xe6, 0x39, 0xd6, 0xb9, 0xaa, 0xc8, |
|
| 16077 |
- 0x1b, 0x97, 0xe7, 0x31, 0x9d, 0x8b, 0x3c, 0xe3, 0x69, 0x3f, 0x32, 0xcf, 0xc1, 0x3a, 0x4a, 0x64, |
|
| 16078 |
- 0x9e, 0x43, 0xa5, 0x86, 0x84, 0x3c, 0xcb, 0x42, 0x54, 0x74, 0x9e, 0x43, 0xd5, 0xb3, 0xe8, 0x3c, |
|
| 16079 |
- 0x87, 0x6b, 0x5a, 0x89, 0xeb, 0x59, 0x0e, 0x38, 0x66, 0x3d, 0x87, 0xc6, 0xfc, 0x68, 0x0c, 0x64, |
|
| 16080 |
- 0xe2, 0xc7, 0xc9, 0x2d, 0x81, 0xa8, 0x3f, 0x4e, 0xe1, 0x02, 0x4b, 0xf9, 0x7e, 0x02, 0x2a, 0x71, |
|
| 16081 |
- 0x9e, 0xfd, 0xf5, 0x06, 0xf5, 0x3c, 0x2b, 0x6a, 0x29, 0xe5, 0x4a, 0x32, 0x30, 0xde, 0xf3, 0x00, |
|
| 16082 |
- 0x0a, 0xbe, 0x53, 0x33, 0x79, 0x30, 0xde, 0x41, 0xbf, 0xfc, 0x30, 0x11, 0x97, 0x38, 0x60, 0xff, |
|
| 16083 |
- 0xa1, 0x58, 0x3d, 0x60, 0xc5, 0x09, 0xbc, 0x5c, 0x49, 0x06, 0x26, 0x7a, 0xf6, 0x1f, 0x80, 0xd5, |
|
| 16084 |
- 0x9e, 0x15, 0x87, 0xec, 0x72, 0x25, 0x19, 0x38, 0x0e, 0xab, 0xc4, 0x16, 0x3a, 0x92, 0x55, 0x81, |
|
| 16085 |
- 0x3d, 0x7a, 0x24, 0xab, 0x82, 0xfb, 0xf0, 0x44, 0x56, 0xa1, 0xcf, 0x18, 0x56, 0x05, 0xdd, 0x56, |
|
| 16086 |
- 0x92, 0x81, 0x63, 0xb1, 0x0a, 0x8f, 0x55, 0xd1, 0xac, 0x0a, 0x9e, 0x04, 0xa3, 0x59, 0x15, 0x3a, |
|
| 16087 |
- 0x9f, 0x25, 0xb2, 0x2a, 0x6e, 0xc0, 0x8a, 0x23, 0x5a, 0x1c, 0xab, 0xc6, 0x9e, 0x6a, 0xff, 0x09, |
|
| 16088 |
- 0x29, 0x8e, 0x55, 0x63, 0x78, 0x56, 0x1d, 0xb6, 0x22, 0x3c, 0xef, 0x95, 0xde, 0x7e, 0xb1, 0xbd, |
|
| 16089 |
- 0xf0, 0xcf, 0x2f, 0xb6, 0x17, 0x7e, 0x35, 0xdc, 0x4e, 0xbd, 0x1d, 0x6e, 0xa7, 0xfe, 0x31, 0xdc, |
|
| 16090 |
- 0x4e, 0xfd, 0x7b, 0xb8, 0x9d, 0x3a, 0x5d, 0xe2, 0xff, 0x12, 0xfa, 0xe4, 0xcb, 0x00, 0x00, 0x00, |
|
| 16091 |
- 0xff, 0xff, 0x69, 0xfa, 0x48, 0xde, 0x8b, 0x2a, 0x00, 0x00, |
|
| 15959 |
+ // 2137 bytes of a gzipped FileDescriptorProto |
|
| 15960 |
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0x4f, 0x73, 0x1b, 0x49, |
|
| 15961 |
+ 0x15, 0xb7, 0xfe, 0xd8, 0x92, 0x9f, 0x6c, 0xd9, 0xee, 0x38, 0xa0, 0x52, 0x82, 0x9d, 0x9a, 0x90, |
|
| 15962 |
+ 0x44, 0xd9, 0x32, 0x12, 0xab, 0xb0, 0x6c, 0x58, 0x8a, 0x3f, 0x6b, 0x3b, 0x9b, 0xd5, 0x7a, 0xe3, |
|
| 15963 |
+ 0xa4, 0xc6, 0xc9, 0x16, 0x37, 0x95, 0x2c, 0xb5, 0xbd, 0x13, 0xc9, 0x1a, 0x31, 0x33, 0xf2, 0xae, |
|
| 15964 |
+ 0x8b, 0x0b, 0x50, 0xcb, 0x81, 0x0f, 0x40, 0x15, 0x57, 0xae, 0x1c, 0x38, 0x70, 0xe2, 0xc0, 0x07, |
|
| 15965 |
+ 0x48, 0x71, 0xe2, 0xc8, 0xc9, 0xb0, 0xaa, 0x82, 0xe2, 0xc4, 0x67, 0xa0, 0xba, 0xfb, 0xf5, 0xfc, |
|
| 15966 |
+ 0x53, 0xcf, 0x8c, 0x24, 0xab, 0xca, 0x39, 0x59, 0xd3, 0xf3, 0x7b, 0xfd, 0x5e, 0xf7, 0xfb, 0xf5, |
|
| 15967 |
+ 0x6f, 0xba, 0x5f, 0x1b, 0x76, 0x4e, 0x0d, 0xe7, 0xf3, 0xe1, 0x71, 0xb5, 0x6d, 0x9e, 0xd5, 0x3a, |
|
| 15968 |
+ 0x66, 0xbb, 0x4b, 0xad, 0x9a, 0xfd, 0x45, 0xcb, 0x3a, 0xeb, 0x1a, 0x4e, 0xad, 0x35, 0x30, 0x6a, |
|
| 15969 |
+ 0x6d, 0xb3, 0xef, 0x58, 0x66, 0xaf, 0x3a, 0xb0, 0x4c, 0xc7, 0x24, 0x44, 0x40, 0xaa, 0x12, 0x52, |
|
| 15970 |
+ 0x3d, 0x7f, 0xb7, 0xfc, 0x4e, 0x42, 0x0f, 0xf6, 0x80, 0xb6, 0x6d, 0x61, 0x5f, 0x4e, 0xf2, 0x66, |
|
| 15971 |
+ 0x1e, 0xbf, 0xa6, 0x6d, 0x47, 0xa2, 0x93, 0x7a, 0x76, 0x2e, 0x06, 0x54, 0x62, 0x37, 0x4f, 0xcd, |
|
| 15972 |
+ 0x53, 0x93, 0xff, 0xac, 0xb1, 0x5f, 0xd8, 0xfa, 0x7e, 0x4c, 0x0f, 0x1c, 0x71, 0x3c, 0x3c, 0xa9, |
|
| 15973 |
+ 0x0d, 0x7a, 0xc3, 0x53, 0xa3, 0x8f, 0x7f, 0x84, 0xa1, 0xf6, 0x1e, 0x14, 0x9f, 0x52, 0xe7, 0xd0, |
|
| 15974 |
+ 0xec, 0x50, 0x9d, 0xfe, 0x7c, 0x48, 0x6d, 0x87, 0xdc, 0x85, 0x5c, 0xdf, 0xec, 0xd0, 0xa6, 0xd1, |
|
| 15975 |
+ 0x29, 0xa5, 0xee, 0xa4, 0x2a, 0xcb, 0xbb, 0x30, 0xba, 0xdc, 0x5e, 0x62, 0x88, 0xc6, 0xbe, 0xbe, |
|
| 15976 |
+ 0xc4, 0x5e, 0x35, 0x3a, 0xda, 0x4f, 0x60, 0xcd, 0x35, 0xb3, 0x07, 0x66, 0xdf, 0xa6, 0x64, 0x07, |
|
| 15977 |
+ 0xb2, 0xec, 0x25, 0x37, 0x2a, 0xd4, 0x4b, 0xd5, 0xf1, 0x19, 0xac, 0x72, 0x3c, 0x47, 0x69, 0xff, |
|
| 15978 |
+ 0xc9, 0xc0, 0xfa, 0xa7, 0x86, 0xcd, 0xbb, 0xb0, 0xa5, 0xeb, 0x8f, 0x20, 0x77, 0x62, 0xf4, 0x1c, |
|
| 15979 |
+ 0x6a, 0xd9, 0xd8, 0xcb, 0x8e, 0xaa, 0x97, 0xb0, 0x59, 0xf5, 0x23, 0x61, 0xa3, 0x4b, 0xe3, 0xf2, |
|
| 15980 |
+ 0x6f, 0x33, 0x90, 0xc3, 0x46, 0xb2, 0x09, 0x8b, 0xfd, 0xd6, 0x19, 0x65, 0x3d, 0x66, 0x2a, 0xcb, |
|
| 15981 |
+ 0xba, 0x78, 0x20, 0x35, 0x28, 0x18, 0x9d, 0xe6, 0xc0, 0xa2, 0x27, 0xc6, 0x97, 0xd4, 0x2e, 0xa5, |
|
| 15982 |
+ 0xd9, 0xbb, 0xdd, 0xe2, 0xe8, 0x72, 0x1b, 0x1a, 0xfb, 0x2f, 0xb0, 0x55, 0x07, 0xa3, 0x23, 0x7f, |
|
| 15983 |
+ 0x93, 0x17, 0xb0, 0xd4, 0x6b, 0x1d, 0xd3, 0x9e, 0x5d, 0xca, 0xdc, 0xc9, 0x54, 0x0a, 0xf5, 0xc7, |
|
| 15984 |
+ 0xd3, 0x44, 0x56, 0xfd, 0x94, 0x9b, 0x3e, 0xe9, 0x3b, 0xd6, 0x85, 0x8e, 0xfd, 0x90, 0x67, 0x50, |
|
| 15985 |
+ 0x38, 0xa3, 0x67, 0xc7, 0xd4, 0xb2, 0x3f, 0x37, 0x06, 0x76, 0x29, 0x7b, 0x27, 0x53, 0x29, 0xd6, |
|
| 15986 |
+ 0x1f, 0x44, 0x4d, 0xdb, 0xd1, 0x80, 0xb6, 0xab, 0xcf, 0x5c, 0xfc, 0x6e, 0x7a, 0x7d, 0x41, 0xf7, |
|
| 15987 |
+ 0xdb, 0x93, 0xef, 0xc3, 0xa2, 0x65, 0xf6, 0xa8, 0x5d, 0x5a, 0xe4, 0x1d, 0xdd, 0x8e, 0x9c, 0x7f, |
|
| 15988 |
+ 0xb3, 0x47, 0xb9, 0xb5, 0x80, 0x93, 0xbb, 0xb0, 0xca, 0xa6, 0xc4, 0x9b, 0x8b, 0x25, 0x3e, 0x4f, |
|
| 15989 |
+ 0x2b, 0xac, 0x51, 0x8e, 0xbe, 0xfc, 0x03, 0x28, 0xf8, 0x86, 0x40, 0xd6, 0x21, 0xd3, 0xa5, 0x17, |
|
| 15990 |
+ 0x82, 0x1e, 0x3a, 0xfb, 0xc9, 0x66, 0xf9, 0xbc, 0xd5, 0x1b, 0xd2, 0x52, 0x9a, 0xb7, 0x89, 0x87, |
|
| 15991 |
+ 0x0f, 0xd2, 0x8f, 0x53, 0xda, 0x1e, 0x6c, 0xf8, 0xa6, 0x05, 0xb9, 0x52, 0x85, 0x45, 0xc6, 0x02, |
|
| 15992 |
+ 0x91, 0x94, 0x38, 0xb2, 0x08, 0x98, 0xf6, 0xc7, 0x14, 0x6c, 0xbc, 0x1a, 0x74, 0x5a, 0x0e, 0x9d, |
|
| 15993 |
+ 0x96, 0xa9, 0xe4, 0xc7, 0xb0, 0xc2, 0x41, 0xe7, 0xd4, 0xb2, 0x0d, 0xb3, 0xcf, 0x03, 0x2c, 0xd4, |
|
| 15994 |
+ 0x6f, 0xa9, 0x3c, 0x7e, 0x26, 0x20, 0x7a, 0x81, 0x19, 0xe0, 0x03, 0xf9, 0x2e, 0x64, 0xd9, 0xc2, |
|
| 15995 |
+ 0x2e, 0x65, 0xb8, 0xdd, 0xed, 0xb8, 0xfc, 0xe8, 0x1c, 0xa9, 0xed, 0x02, 0xf1, 0xc7, 0x3a, 0xd3, |
|
| 15996 |
+ 0xf2, 0x38, 0x84, 0x0d, 0x9d, 0x9e, 0x99, 0xe7, 0xd3, 0x8f, 0x77, 0x13, 0x16, 0x4f, 0x4c, 0xab, |
|
| 15997 |
+ 0x2d, 0x32, 0x91, 0xd7, 0xc5, 0x83, 0xb6, 0x09, 0xc4, 0xdf, 0x9f, 0x88, 0x09, 0x17, 0xff, 0xcb, |
|
| 15998 |
+ 0x96, 0xdd, 0xf5, 0xb9, 0x70, 0x5a, 0x76, 0x37, 0xe4, 0x82, 0x21, 0x98, 0x0b, 0xf6, 0xca, 0x5d, |
|
| 15999 |
+ 0xfc, 0xc2, 0xcc, 0x1b, 0x1d, 0x7b, 0x19, 0x37, 0x3a, 0x8e, 0xe7, 0x28, 0xed, 0xb1, 0x1c, 0xdd, |
|
| 16000 |
+ 0xd4, 0xae, 0xdd, 0x71, 0xf8, 0xbd, 0x6b, 0x7f, 0xcd, 0x0a, 0x31, 0x61, 0x8d, 0x33, 0x88, 0x89, |
|
| 16001 |
+ 0xdf, 0x6c, 0x5c, 0x4c, 0xfe, 0x79, 0x8d, 0x62, 0xa2, 0x8a, 0x4c, 0x29, 0x26, 0x35, 0x28, 0xd8, |
|
| 16002 |
+ 0xd4, 0x3a, 0x37, 0xda, 0x8c, 0x1d, 0x42, 0x4c, 0x30, 0x84, 0x23, 0xd1, 0xdc, 0xd8, 0xb7, 0x75, |
|
| 16003 |
+ 0x40, 0x48, 0xa3, 0x63, 0x93, 0xfb, 0x90, 0x47, 0x2e, 0x09, 0xc5, 0x58, 0xde, 0x2d, 0x8c, 0x2e, |
|
| 16004 |
+ 0xb7, 0x73, 0x82, 0x4c, 0xb6, 0x9e, 0x13, 0x6c, 0xb2, 0xc9, 0xc7, 0x50, 0xec, 0x50, 0xdb, 0xb0, |
|
| 16005 |
+ 0x68, 0xa7, 0x69, 0x3b, 0x2d, 0x07, 0xf5, 0xa1, 0x58, 0xff, 0x56, 0x54, 0x8a, 0x8f, 0x18, 0x8a, |
|
| 16006 |
+ 0x0b, 0xcc, 0x2a, 0x1a, 0xf2, 0x16, 0x85, 0xd0, 0xe4, 0xc6, 0x85, 0x86, 0xdc, 0x06, 0x18, 0x0e, |
|
| 16007 |
+ 0x9a, 0x8e, 0xd9, 0x64, 0xeb, 0xa7, 0x94, 0xe7, 0x14, 0xce, 0x0f, 0x07, 0x2f, 0xcd, 0xfd, 0x96, |
|
| 16008 |
+ 0x43, 0x49, 0x19, 0xf2, 0xd6, 0xb0, 0xef, 0x18, 0x2c, 0x03, 0xcb, 0xdc, 0xda, 0x7d, 0x9e, 0x83, |
|
| 16009 |
+ 0x44, 0xe1, 0x64, 0x7b, 0x12, 0xc5, 0x38, 0x17, 0x2b, 0x51, 0x9c, 0x84, 0x02, 0xa6, 0x1d, 0xc0, |
|
| 16010 |
+ 0xe6, 0x9e, 0x45, 0x5b, 0x0e, 0xc5, 0x09, 0x97, 0x34, 0x7c, 0x84, 0xfa, 0x21, 0x38, 0xb8, 0xad, |
|
| 16011 |
+ 0xea, 0x06, 0x2d, 0x7c, 0x12, 0x72, 0x08, 0x37, 0x43, 0x9d, 0x61, 0x54, 0xef, 0x41, 0x0e, 0x93, |
|
| 16012 |
+ 0x88, 0x1d, 0xde, 0x8a, 0xe9, 0x50, 0x97, 0x58, 0xed, 0x35, 0x6c, 0x3c, 0xa5, 0x4e, 0x28, 0xb2, |
|
| 16013 |
+ 0x1d, 0x00, 0x8f, 0x33, 0xb8, 0xe6, 0x56, 0x47, 0x97, 0xdb, 0xcb, 0x2e, 0x65, 0xf4, 0x65, 0x97, |
|
| 16014 |
+ 0x31, 0xe4, 0x01, 0xac, 0x19, 0x7d, 0x9b, 0x5a, 0x4e, 0xb3, 0x43, 0x4f, 0x5a, 0xc3, 0x9e, 0x63, |
|
| 16015 |
+ 0xa3, 0xc2, 0x14, 0x45, 0xf3, 0x3e, 0xb6, 0x6a, 0x07, 0x40, 0xfc, 0xbe, 0xae, 0x16, 0xf8, 0x9f, |
|
| 16016 |
+ 0xd3, 0xb0, 0x29, 0xc4, 0xf4, 0x4a, 0xc1, 0xef, 0xc3, 0x9a, 0x44, 0x4f, 0xf1, 0x1d, 0x28, 0xa2, |
|
| 16017 |
+ 0x8d, 0xfc, 0x14, 0x3c, 0x0a, 0x7c, 0x0a, 0x26, 0x4b, 0x25, 0x79, 0x06, 0x79, 0xcb, 0xec, 0xf5, |
|
| 16018 |
+ 0x8e, 0x5b, 0xed, 0x6e, 0x29, 0x7b, 0x27, 0x55, 0x29, 0xd6, 0xdf, 0x55, 0x19, 0xaa, 0x06, 0x59, |
|
| 16019 |
+ 0xd5, 0xd1, 0x50, 0x77, 0xbb, 0xd0, 0x34, 0xc8, 0xcb, 0x56, 0x92, 0x87, 0xec, 0xe1, 0xf3, 0xc3, |
|
| 16020 |
+ 0x27, 0xeb, 0x0b, 0x64, 0x05, 0xf2, 0x2f, 0xf4, 0x27, 0x9f, 0x35, 0x9e, 0xbf, 0x3a, 0x5a, 0x4f, |
|
| 16021 |
+ 0x31, 0xf6, 0x84, 0xba, 0xbb, 0x5a, 0x12, 0xf6, 0x61, 0x53, 0x88, 0xee, 0x55, 0x72, 0xa0, 0x7d, |
|
| 16022 |
+ 0x13, 0x6e, 0x86, 0x7a, 0x41, 0xf5, 0xfe, 0x2a, 0x03, 0x37, 0xd8, 0xfa, 0xc3, 0x76, 0x57, 0xc0, |
|
| 16023 |
+ 0x1b, 0x61, 0x01, 0xaf, 0x45, 0xc9, 0x64, 0xc8, 0x72, 0x5c, 0xc3, 0xff, 0x90, 0x9e, 0xbb, 0x86, |
|
| 16024 |
+ 0x1f, 0x85, 0x34, 0xfc, 0x87, 0x53, 0x06, 0xa7, 0x94, 0xf1, 0x31, 0x8d, 0xcc, 0x2a, 0x34, 0xd2, |
|
| 16025 |
+ 0xaf, 0x82, 0x8b, 0xf3, 0x53, 0xc1, 0xe7, 0xb0, 0x19, 0x0c, 0x17, 0x49, 0xf3, 0x3e, 0xe4, 0x31, |
|
| 16026 |
+ 0x89, 0x52, 0x0b, 0x63, 0x59, 0xe3, 0x82, 0x3d, 0x45, 0x3c, 0xa4, 0xce, 0x17, 0xa6, 0xd5, 0x9d, |
|
| 16027 |
+ 0x42, 0x11, 0xd1, 0x42, 0xa5, 0x88, 0x6e, 0x67, 0x1e, 0xa7, 0xfb, 0xa2, 0x29, 0x8e, 0xd3, 0xd2, |
|
| 16028 |
+ 0x4a, 0x62, 0xb5, 0x57, 0x5c, 0x11, 0x43, 0x91, 0x11, 0xc8, 0xb2, 0x99, 0xc6, 0xf9, 0xe2, 0xbf, |
|
| 16029 |
+ 0x19, 0xc9, 0xd1, 0x86, 0x91, 0x3c, 0xed, 0x91, 0x1c, 0x6d, 0x19, 0xc9, 0x11, 0xd0, 0xe8, 0xa0, |
|
| 16030 |
+ 0xf8, 0xcd, 0x29, 0xc6, 0x9f, 0xc9, 0x75, 0x37, 0xf7, 0x30, 0xdd, 0xb5, 0x18, 0x8a, 0x54, 0xfb, |
|
| 16031 |
+ 0x6f, 0x5a, 0xac, 0x45, 0x6c, 0x9f, 0x61, 0x2d, 0x86, 0x2c, 0xc7, 0xd7, 0xe2, 0x6f, 0xae, 0x71, |
|
| 16032 |
+ 0x2d, 0x46, 0x04, 0x37, 0xf3, 0x5a, 0x9c, 0xc3, 0x7a, 0xf3, 0x42, 0xf2, 0xd6, 0x1b, 0x26, 0x2a, |
|
| 16033 |
+ 0x76, 0xbd, 0xc9, 0xcc, 0xb9, 0x60, 0xed, 0x43, 0x4e, 0xe9, 0xbd, 0xde, 0xd0, 0x76, 0xa8, 0xe5, |
|
| 16034 |
+ 0xd3, 0xe8, 0xb6, 0x68, 0x09, 0x69, 0x34, 0xe2, 0x18, 0x2f, 0x10, 0xe0, 0xd2, 0xd7, 0xed, 0xc2, |
|
| 16035 |
+ 0xa3, 0x2f, 0x42, 0xe2, 0xe8, 0x2b, 0xad, 0x24, 0xd6, 0xe5, 0x12, 0xbe, 0x98, 0x81, 0x4b, 0x21, |
|
| 16036 |
+ 0xcb, 0xb7, 0x8b, 0x4b, 0x11, 0xc1, 0x5d, 0x27, 0x97, 0xbc, 0x90, 0x3c, 0x2e, 0x61, 0x36, 0x62, |
|
| 16037 |
+ 0xb9, 0x24, 0x53, 0xe7, 0x82, 0xb5, 0xdf, 0xa5, 0xa0, 0x70, 0x40, 0x2f, 0x74, 0xd3, 0x69, 0x39, |
|
| 16038 |
+ 0x6c, 0xeb, 0xf3, 0x0e, 0x6c, 0x30, 0x92, 0x51, 0xab, 0xf9, 0xda, 0x34, 0xfa, 0x4d, 0xc7, 0xec, |
|
| 16039 |
+ 0xd2, 0x3e, 0x0f, 0x2d, 0xaf, 0xaf, 0x89, 0x17, 0x9f, 0x98, 0x46, 0xff, 0x25, 0x6b, 0x26, 0x3b, |
|
| 16040 |
+ 0x40, 0xce, 0x5a, 0xfd, 0xd6, 0x69, 0x10, 0x2c, 0x36, 0x8b, 0xeb, 0xf8, 0x46, 0x89, 0x1e, 0xf6, |
|
| 16041 |
+ 0x7b, 0x66, 0xbb, 0xdb, 0x64, 0xa3, 0xce, 0x04, 0xd0, 0xaf, 0xf8, 0x8b, 0x03, 0x7a, 0xa1, 0xfd, |
|
| 16042 |
+ 0xda, 0xdd, 0x0f, 0x5e, 0x85, 0xe7, 0x6c, 0x3f, 0x28, 0xd1, 0xd3, 0xec, 0x07, 0xd1, 0x66, 0x8a, |
|
| 16043 |
+ 0xfd, 0x20, 0x7a, 0xf7, 0xed, 0x07, 0x3f, 0x64, 0xfb, 0x41, 0x31, 0xab, 0x7c, 0x3f, 0x18, 0x61, |
|
| 16044 |
+ 0xe8, 0x9b, 0xfc, 0xdd, 0xec, 0x9b, 0xcb, 0xed, 0x05, 0xdd, 0x35, 0xf3, 0xf6, 0x77, 0x73, 0x5a, |
|
| 16045 |
+ 0xa8, 0x3f, 0x82, 0x75, 0xbe, 0x63, 0x6f, 0x5b, 0xd4, 0x91, 0xf3, 0xf9, 0x10, 0x96, 0x6d, 0xde, |
|
| 16046 |
+ 0xe0, 0x4d, 0xe7, 0xca, 0xe8, 0x72, 0x3b, 0x2f, 0x50, 0x8d, 0x7d, 0xf6, 0x9d, 0xe7, 0xbf, 0x3a, |
|
| 16047 |
+ 0xda, 0x53, 0x3c, 0x5c, 0x08, 0x73, 0x0c, 0xa5, 0x0e, 0x4b, 0x02, 0x80, 0x91, 0x94, 0xd5, 0x7b, |
|
| 16048 |
+ 0x06, 0x6e, 0x83, 0x48, 0xed, 0x2f, 0x29, 0xb8, 0x21, 0x37, 0xae, 0xb3, 0xc5, 0x42, 0x76, 0xa1, |
|
| 16049 |
+ 0x88, 0xd0, 0x29, 0xf2, 0xba, 0x2a, 0x4c, 0x64, 0x5a, 0xeb, 0x81, 0xb4, 0x6e, 0x45, 0x07, 0xee, |
|
| 16050 |
+ 0xdb, 0x9e, 0x7c, 0xe2, 0x1d, 0x53, 0xae, 0x3c, 0x0d, 0xff, 0x4e, 0x03, 0x11, 0x3b, 0x31, 0xf6, |
|
| 16051 |
+ 0xe8, 0xca, 0xe6, 0xc7, 0x61, 0xd9, 0xac, 0x46, 0xef, 0x38, 0xfd, 0x86, 0xe3, 0xaa, 0xf9, 0xd5, |
|
| 16052 |
+ 0xfc, 0x55, 0x53, 0x0f, 0xa9, 0xe6, 0x07, 0xd3, 0xc5, 0x76, 0x2d, 0xa2, 0x79, 0x20, 0x8f, 0x1d, |
|
| 16053 |
+ 0x18, 0x11, 0xa6, 0xec, 0x7b, 0xec, 0x90, 0xc4, 0x9b, 0x50, 0x32, 0xe3, 0x72, 0x26, 0xa1, 0x5a, |
|
| 16054 |
+ 0x03, 0x6e, 0xc8, 0x13, 0xbb, 0x9f, 0xba, 0xf5, 0xc0, 0x5e, 0x77, 0x62, 0x2e, 0x05, 0xbb, 0xba, |
|
| 16055 |
+ 0x02, 0x97, 0x7e, 0x0a, 0x37, 0xe4, 0xa1, 0x6b, 0xc6, 0xd5, 0xfd, 0x0d, 0xef, 0xf0, 0xe7, 0x8f, |
|
| 16056 |
+ 0x06, 0x45, 0x63, 0xcf, 0xec, 0x9f, 0x18, 0xa7, 0xbe, 0x6e, 0xdb, 0xbc, 0x21, 0xd4, 0xad, 0x40, |
|
| 16057 |
+ 0xb1, 0x6e, 0xc5, 0x6b, 0x57, 0x34, 0xa4, 0xb9, 0x37, 0x42, 0x01, 0x88, 0x1b, 0x21, 0xda, 0x20, |
|
| 16058 |
+ 0xd2, 0x27, 0x1a, 0xb3, 0xc6, 0xc2, 0x44, 0x03, 0xa1, 0xd3, 0x88, 0x86, 0x30, 0x99, 0x42, 0x34, |
|
| 16059 |
+ 0x84, 0x67, 0x95, 0x68, 0xcc, 0x61, 0x1a, 0xa4, 0x68, 0x88, 0xe6, 0x19, 0x44, 0x23, 0x68, 0xf8, |
|
| 16060 |
+ 0x76, 0x89, 0x86, 0x3a, 0xb6, 0xeb, 0x14, 0x0d, 0x37, 0x22, 0x4f, 0x34, 0x44, 0x22, 0x62, 0x45, |
|
| 16061 |
+ 0x03, 0x73, 0x26, 0xa1, 0x9e, 0x68, 0x04, 0xa9, 0x3b, 0x81, 0x68, 0xa8, 0xb8, 0x14, 0xec, 0xea, |
|
| 16062 |
+ 0x0a, 0x5c, 0x72, 0x45, 0x63, 0xe6, 0xd5, 0xed, 0x8a, 0x46, 0x30, 0x9a, 0xfa, 0xaf, 0x6e, 0x41, |
|
| 16063 |
+ 0x6e, 0x4f, 0x5c, 0xb4, 0x12, 0x03, 0x72, 0x78, 0x85, 0x48, 0x34, 0x55, 0x50, 0xc1, 0x6b, 0xc9, |
|
| 16064 |
+ 0xf2, 0xdd, 0x58, 0x0c, 0x8a, 0xd2, 0xcd, 0xbf, 0xfd, 0xe9, 0x7f, 0xbf, 0x4f, 0xaf, 0xc1, 0x2a, |
|
| 16065 |
+ 0x07, 0x7d, 0x07, 0xb7, 0x8f, 0xc4, 0x84, 0x65, 0xf7, 0x0e, 0x8a, 0x7c, 0x7b, 0x92, 0x9b, 0xbb, |
|
| 16066 |
+ 0xf2, 0xbd, 0x04, 0x54, 0xbc, 0x43, 0x0b, 0xc0, 0xbb, 0x02, 0x22, 0xf7, 0xa2, 0x0b, 0x7e, 0xfe, |
|
| 16067 |
+ 0x11, 0xde, 0x4f, 0x82, 0x25, 0xfa, 0xf4, 0xae, 0x78, 0xd4, 0x3e, 0xc7, 0xae, 0x94, 0xd4, 0x3e, |
|
| 16068 |
+ 0x15, 0x37, 0x45, 0x11, 0x3e, 0x45, 0x0e, 0x5f, 0xb6, 0xec, 0x6e, 0x64, 0x0e, 0x7d, 0x57, 0x3c, |
|
| 16069 |
+ 0x91, 0x39, 0x0c, 0x5c, 0xe6, 0xc4, 0xe7, 0x90, 0x17, 0xe9, 0xa3, 0x73, 0xe8, 0xbf, 0x30, 0x89, |
|
| 16070 |
+ 0xce, 0x61, 0xa0, 0xd2, 0x9f, 0x38, 0x9f, 0x7c, 0x78, 0x31, 0xf3, 0xe9, 0x1f, 0xe1, 0xfd, 0x24, |
|
| 16071 |
+ 0x58, 0xa2, 0x4f, 0xaf, 0x76, 0xae, 0xf6, 0x39, 0x56, 0xc7, 0x57, 0xfb, 0x1c, 0x2f, 0xc1, 0x47, |
|
| 16072 |
+ 0xf9, 0xfc, 0x12, 0x56, 0xfc, 0x75, 0x3f, 0xf2, 0x60, 0xc2, 0x42, 0x66, 0xb9, 0x92, 0x0c, 0x8c, |
|
| 16073 |
+ 0xf7, 0xfc, 0x0b, 0x58, 0x0d, 0xdc, 0x72, 0x10, 0x65, 0x8f, 0xaa, 0x5b, 0x95, 0xf2, 0xc3, 0x09, |
|
| 16074 |
+ 0x90, 0x89, 0xce, 0x03, 0x45, 0x72, 0xb5, 0x73, 0x55, 0x59, 0x5e, 0xed, 0x5c, 0x59, 0x71, 0x8f, |
|
| 16075 |
+ 0x71, 0x1e, 0xa8, 0x85, 0xab, 0x9d, 0xab, 0x8a, 0xee, 0x6a, 0xe7, 0xea, 0xc2, 0x7a, 0x2c, 0xc9, |
|
| 16076 |
+ 0xb0, 0x7e, 0x14, 0x49, 0xb2, 0x60, 0xcd, 0x31, 0x92, 0x64, 0xe1, 0x02, 0x62, 0x3c, 0xc9, 0x64, |
|
| 16077 |
+ 0xb1, 0x2b, 0x9a, 0x64, 0xa1, 0x0a, 0x5d, 0x34, 0xc9, 0xc2, 0x75, 0xb3, 0x44, 0x92, 0xc9, 0x01, |
|
| 16078 |
+ 0xc7, 0x90, 0x2c, 0x34, 0xe6, 0x87, 0x13, 0x20, 0x27, 0xcc, 0x73, 0xac, 0x73, 0x55, 0x91, 0x37, |
|
| 16079 |
+ 0x2e, 0xcf, 0x13, 0x3a, 0x17, 0x79, 0xc6, 0xd3, 0x7e, 0x64, 0x9e, 0x83, 0x75, 0x94, 0xc8, 0x3c, |
|
| 16080 |
+ 0x87, 0x4a, 0x0d, 0x09, 0x79, 0x96, 0x85, 0xa8, 0xe8, 0x3c, 0x87, 0xaa, 0x67, 0xd1, 0x79, 0x0e, |
|
| 16081 |
+ 0xd7, 0xb4, 0x12, 0xd7, 0xb3, 0x1c, 0x70, 0xcc, 0x7a, 0x0e, 0x8d, 0xf9, 0xe1, 0x04, 0xc8, 0xc4, |
|
| 16082 |
+ 0x8f, 0x93, 0x5b, 0x02, 0x51, 0x7f, 0x9c, 0xc2, 0x05, 0x96, 0xf2, 0xbd, 0x04, 0x54, 0xe2, 0x3c, |
|
| 16083 |
+ 0xfb, 0xeb, 0x0d, 0xea, 0x79, 0x56, 0xd4, 0x52, 0xca, 0x95, 0x64, 0x60, 0xbc, 0xe7, 0x21, 0x14, |
|
| 16084 |
+ 0x7c, 0xa7, 0x66, 0x72, 0x7f, 0xb2, 0x83, 0x7e, 0xf9, 0x41, 0x22, 0x2e, 0x71, 0xc0, 0xfe, 0x43, |
|
| 16085 |
+ 0xb1, 0x7a, 0xc0, 0x8a, 0x13, 0x78, 0xb9, 0x92, 0x0c, 0x4c, 0xf4, 0xec, 0x3f, 0x00, 0xab, 0x3d, |
|
| 16086 |
+ 0x2b, 0x0e, 0xd9, 0xe5, 0x4a, 0x32, 0x70, 0x12, 0x56, 0x89, 0x2d, 0x74, 0x24, 0xab, 0x02, 0x7b, |
|
| 16087 |
+ 0xf4, 0x48, 0x56, 0x05, 0xf7, 0xe1, 0x89, 0xac, 0x42, 0x9f, 0x31, 0xac, 0x0a, 0xba, 0xad, 0x24, |
|
| 16088 |
+ 0x03, 0x27, 0x62, 0x15, 0x1e, 0xab, 0xa2, 0x59, 0x15, 0x3c, 0x09, 0x46, 0xb3, 0x2a, 0x74, 0x3e, |
|
| 16089 |
+ 0x4b, 0x64, 0x55, 0xdc, 0x80, 0x15, 0x47, 0xb4, 0x38, 0x56, 0x4d, 0x3c, 0xd5, 0xfe, 0x13, 0x52, |
|
| 16090 |
+ 0x1c, 0xab, 0x26, 0xf0, 0xac, 0x3a, 0x6c, 0x45, 0x78, 0xde, 0x2d, 0xbd, 0xf9, 0x7a, 0x6b, 0xe1, |
|
| 16091 |
+ 0x1f, 0x5f, 0x6f, 0x2d, 0xfc, 0x72, 0xb4, 0x95, 0x7a, 0x33, 0xda, 0x4a, 0xfd, 0x7d, 0xb4, 0x95, |
|
| 16092 |
+ 0xfa, 0xd7, 0x68, 0x2b, 0x75, 0xbc, 0xc4, 0xff, 0x25, 0xf4, 0xd1, 0xff, 0x03, 0x00, 0x00, 0xff, |
|
| 16093 |
+ 0xff, 0x47, 0x18, 0x50, 0x6c, 0x2b, 0x2b, 0x00, 0x00, |
|
| 16092 | 16094 |
} |
| ... | ... |
@@ -2,11 +2,11 @@ syntax = "proto3"; |
| 2 | 2 |
|
| 3 | 3 |
package docker.swarmkit.v1; |
| 4 | 4 |
|
| 5 |
-import "specs.proto"; |
|
| 6 |
-import "objects.proto"; |
|
| 7 |
-import "types.proto"; |
|
| 5 |
+import "github.com/docker/swarmkit/api/specs.proto"; |
|
| 6 |
+import "github.com/docker/swarmkit/api/objects.proto"; |
|
| 7 |
+import "github.com/docker/swarmkit/api/types.proto"; |
|
| 8 | 8 |
import "gogoproto/gogo.proto"; |
| 9 |
-import "plugin/plugin.proto"; |
|
| 9 |
+import "github.com/docker/swarmkit/protobuf/plugin/plugin.proto"; |
|
| 10 | 10 |
|
| 11 | 11 |
// Control defines the RPC methods for controlling a cluster. |
| 12 | 12 |
service Control {
|
| ... | ... |
@@ -1,5 +1,5 @@ |
| 1 | 1 |
// Code generated by protoc-gen-gogo. |
| 2 |
-// source: dispatcher.proto |
|
| 2 |
+// source: github.com/docker/swarmkit/api/dispatcher.proto |
|
| 3 | 3 |
// DO NOT EDIT! |
| 4 | 4 |
|
| 5 | 5 |
package api |
| ... | ... |
@@ -1100,7 +1100,7 @@ var _Dispatcher_serviceDesc = grpc.ServiceDesc{
|
| 1100 | 1100 |
ServerStreams: true, |
| 1101 | 1101 |
}, |
| 1102 | 1102 |
}, |
| 1103 |
- Metadata: "dispatcher.proto", |
|
| 1103 |
+ Metadata: "github.com/docker/swarmkit/api/dispatcher.proto", |
|
| 1104 | 1104 |
} |
| 1105 | 1105 |
|
| 1106 | 1106 |
func (m *SessionRequest) Marshal() (dAtA []byte, err error) {
|
| ... | ... |
@@ -3778,70 +3778,73 @@ var ( |
| 3778 | 3778 |
ErrIntOverflowDispatcher = fmt.Errorf("proto: integer overflow")
|
| 3779 | 3779 |
) |
| 3780 | 3780 |
|
| 3781 |
-func init() { proto.RegisterFile("dispatcher.proto", fileDescriptorDispatcher) }
|
|
| 3781 |
+func init() {
|
|
| 3782 |
+ proto.RegisterFile("github.com/docker/swarmkit/api/dispatcher.proto", fileDescriptorDispatcher)
|
|
| 3783 |
+} |
|
| 3782 | 3784 |
|
| 3783 | 3785 |
var fileDescriptorDispatcher = []byte{
|
| 3784 |
- // 983 bytes of a gzipped FileDescriptorProto |
|
| 3785 |
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0x4f, 0x6f, 0x1b, 0x45, |
|
| 3786 |
- 0x14, 0xf7, 0x38, 0xce, 0x26, 0x7e, 0x4e, 0x82, 0x19, 0xaa, 0xb0, 0xac, 0x54, 0xc7, 0x6c, 0x68, |
|
| 3787 |
- 0x14, 0xa9, 0x61, 0x53, 0xcc, 0x9f, 0x0b, 0x51, 0x20, 0x8e, 0x2d, 0xc5, 0x6a, 0x93, 0x46, 0x13, |
|
| 3788 |
- 0xb7, 0x3d, 0x5a, 0x6b, 0xef, 0x74, 0xb3, 0x38, 0xde, 0x59, 0x76, 0xc6, 0x2d, 0x3e, 0x20, 0x71, |
|
| 3789 |
- 0xa0, 0x12, 0xe2, 0x84, 0x38, 0x45, 0x42, 0x7c, 0x05, 0xc4, 0xc7, 0x88, 0x38, 0x71, 0xe4, 0x14, |
|
| 3790 |
- 0xa8, 0x3f, 0x00, 0x1f, 0x80, 0x13, 0xda, 0xd9, 0x59, 0xdb, 0x75, 0xed, 0xd4, 0xc9, 0xc9, 0x9e, |
|
| 3791 |
- 0x37, 0xbf, 0xdf, 0x9b, 0xdf, 0xbc, 0xf7, 0xdb, 0x37, 0x90, 0x77, 0x3c, 0x1e, 0xd8, 0xa2, 0x75, |
|
| 3792 |
- 0x4a, 0x43, 0x2b, 0x08, 0x99, 0x60, 0x18, 0x3b, 0xac, 0xd5, 0xa6, 0xa1, 0xc5, 0x9f, 0xdb, 0x61, |
|
| 3793 |
- 0xa7, 0xed, 0x09, 0xeb, 0xd9, 0x47, 0x46, 0x4e, 0xf4, 0x02, 0xca, 0x63, 0x80, 0xb1, 0xcc, 0x9a, |
|
| 3794 |
- 0x5f, 0xd1, 0x96, 0x48, 0x96, 0xb7, 0x5c, 0xe6, 0x32, 0xf9, 0x77, 0x3b, 0xfa, 0xa7, 0xa2, 0xef, |
|
| 3795 |
- 0x04, 0x67, 0x5d, 0xd7, 0xf3, 0xb7, 0xe3, 0x1f, 0x15, 0x2c, 0xb8, 0x8c, 0xb9, 0x67, 0x74, 0x5b, |
|
| 3796 |
- 0xae, 0x9a, 0xdd, 0xa7, 0xdb, 0x4e, 0x37, 0xb4, 0x85, 0xc7, 0xd4, 0xbe, 0xf9, 0x02, 0xc1, 0xca, |
|
| 3797 |
- 0x09, 0xe5, 0xdc, 0x63, 0x3e, 0xa1, 0x5f, 0x77, 0x29, 0x17, 0xb8, 0x0a, 0x39, 0x87, 0xf2, 0x56, |
|
| 3798 |
- 0xe8, 0x05, 0x11, 0x4e, 0x47, 0x45, 0xb4, 0x99, 0x2b, 0xad, 0x5b, 0xaf, 0x6b, 0xb4, 0x8e, 0x98, |
|
| 3799 |
- 0x43, 0x2b, 0x43, 0x28, 0x19, 0xe5, 0xe1, 0x2d, 0x00, 0x1e, 0x27, 0x6e, 0x78, 0x8e, 0x9e, 0x2e, |
|
| 3800 |
- 0xa2, 0xcd, 0x6c, 0x79, 0xb9, 0x7f, 0xb9, 0x96, 0x55, 0xc7, 0xd5, 0x2a, 0x24, 0xab, 0x00, 0x35, |
|
| 3801 |
- 0xc7, 0xfc, 0x25, 0x3d, 0xd0, 0x71, 0x48, 0x39, 0xb7, 0x5d, 0x3a, 0x96, 0x00, 0x5d, 0x9d, 0x00, |
|
| 3802 |
- 0x6f, 0x41, 0xc6, 0x67, 0x0e, 0x95, 0x07, 0xe5, 0x4a, 0xfa, 0x34, 0xb9, 0x44, 0xa2, 0xf0, 0x0e, |
|
| 3803 |
- 0x2c, 0x76, 0x6c, 0xdf, 0x76, 0x69, 0xc8, 0xf5, 0xb9, 0xe2, 0xdc, 0x66, 0xae, 0x54, 0x9c, 0xc4, |
|
| 3804 |
- 0x78, 0x42, 0x3d, 0xf7, 0x54, 0x50, 0xe7, 0x98, 0xd2, 0x90, 0x0c, 0x18, 0xf8, 0x09, 0xac, 0xfa, |
|
| 3805 |
- 0x54, 0x3c, 0x67, 0x61, 0xbb, 0xd1, 0x64, 0x4c, 0x70, 0x11, 0xda, 0x41, 0xa3, 0x4d, 0x7b, 0x5c, |
|
| 3806 |
- 0xcf, 0xc8, 0x5c, 0xef, 0x4f, 0xca, 0x55, 0xf5, 0x5b, 0x61, 0x4f, 0x96, 0xe6, 0x3e, 0xed, 0x91, |
|
| 3807 |
- 0x5b, 0x2a, 0x41, 0x39, 0xe1, 0xdf, 0xa7, 0x3d, 0x8e, 0x57, 0x41, 0x23, 0x8c, 0x89, 0xfd, 0x3d, |
|
| 3808 |
- 0x7d, 0xbe, 0x88, 0x36, 0x97, 0x88, 0x5a, 0x99, 0x5f, 0x42, 0xfe, 0x80, 0xda, 0xa1, 0x68, 0x52, |
|
| 3809 |
- 0x5b, 0x24, 0x6d, 0xba, 0x56, 0x79, 0xcc, 0x63, 0x78, 0x7b, 0x24, 0x03, 0x0f, 0x98, 0xcf, 0x29, |
|
| 3810 |
- 0xfe, 0x1c, 0xb4, 0x80, 0x86, 0x1e, 0x73, 0x54, 0x93, 0xdf, 0xb3, 0x62, 0xb7, 0x58, 0x89, 0x5b, |
|
| 3811 |
- 0xac, 0x8a, 0x72, 0x4b, 0x79, 0xf1, 0xe2, 0x72, 0x2d, 0x75, 0xfe, 0xf7, 0x1a, 0x22, 0x8a, 0x62, |
|
| 3812 |
- 0xfe, 0x94, 0x86, 0x77, 0x1f, 0x05, 0x8e, 0x2d, 0x68, 0xdd, 0xe6, 0xed, 0x13, 0x61, 0x8b, 0x2e, |
|
| 3813 |
- 0xbf, 0x91, 0x36, 0xfc, 0x18, 0x16, 0xba, 0x32, 0x51, 0xd2, 0x8b, 0x9d, 0x49, 0xf5, 0x9b, 0x72, |
|
| 3814 |
- 0x96, 0x35, 0x8c, 0xc4, 0x08, 0x92, 0x24, 0x33, 0x18, 0xe4, 0xc7, 0x37, 0xf1, 0x3a, 0x2c, 0x08, |
|
| 3815 |
- 0x9b, 0xb7, 0x87, 0xb2, 0xa0, 0x7f, 0xb9, 0xa6, 0x45, 0xb0, 0x5a, 0x85, 0x68, 0xd1, 0x56, 0xcd, |
|
| 3816 |
- 0xc1, 0x9f, 0x81, 0xc6, 0x25, 0x49, 0xb9, 0xa9, 0x30, 0x49, 0xcf, 0x88, 0x12, 0x85, 0x36, 0x0d, |
|
| 3817 |
- 0xd0, 0x5f, 0x57, 0x19, 0xd7, 0xda, 0xdc, 0x81, 0xa5, 0x28, 0x7a, 0xb3, 0x12, 0x99, 0xbb, 0x8a, |
|
| 3818 |
- 0x9d, 0x7c, 0x1b, 0x16, 0xcc, 0x47, 0x5a, 0xb9, 0x8e, 0x64, 0xc1, 0xf4, 0x69, 0x02, 0x49, 0x0c, |
|
| 3819 |
- 0x33, 0xcb, 0x80, 0xf7, 0x38, 0xf7, 0x5c, 0xbf, 0x43, 0x7d, 0x71, 0x43, 0x0d, 0xbf, 0x23, 0x80, |
|
| 3820 |
- 0x61, 0x12, 0x6c, 0x41, 0x26, 0xca, 0xad, 0xac, 0x33, 0x55, 0xc1, 0x41, 0x8a, 0x48, 0x1c, 0xfe, |
|
| 3821 |
- 0x04, 0x34, 0x4e, 0x5b, 0x21, 0x15, 0xaa, 0xa8, 0xc6, 0x24, 0xc6, 0x89, 0x44, 0x1c, 0xa4, 0x88, |
|
| 3822 |
- 0xc2, 0x46, 0xac, 0x16, 0xf3, 0x9f, 0x7a, 0xae, 0x3e, 0x37, 0x9d, 0xb5, 0x2f, 0x11, 0x11, 0x2b, |
|
| 3823 |
- 0xc6, 0x96, 0x35, 0xc8, 0x78, 0x82, 0x76, 0xcc, 0x17, 0x69, 0xc8, 0x0f, 0x25, 0xef, 0x9f, 0xda, |
|
| 3824 |
- 0xbe, 0x4b, 0xf1, 0x2e, 0x80, 0x3d, 0x88, 0x29, 0xf9, 0x13, 0x3b, 0x3c, 0x64, 0x92, 0x11, 0x06, |
|
| 3825 |
- 0x3e, 0x04, 0xcd, 0x6e, 0xc9, 0xd1, 0x18, 0x5d, 0x64, 0xa5, 0xf4, 0xe9, 0xd5, 0xdc, 0xf8, 0xd4, |
|
| 3826 |
- 0x91, 0xc0, 0x9e, 0x24, 0x13, 0x95, 0xc4, 0x6c, 0x8e, 0x4a, 0x8c, 0xf7, 0xf0, 0x06, 0x68, 0x8f, |
|
| 3827 |
- 0x8e, 0x2b, 0x7b, 0xf5, 0x6a, 0x3e, 0x65, 0x18, 0x3f, 0xfe, 0x5a, 0x5c, 0x1d, 0x47, 0x28, 0x37, |
|
| 3828 |
- 0x6f, 0x80, 0x46, 0xaa, 0x87, 0x0f, 0x1f, 0x57, 0xf3, 0x68, 0x32, 0x8e, 0xd0, 0x0e, 0x7b, 0x46, |
|
| 3829 |
- 0xcd, 0xff, 0xd0, 0x2b, 0xfd, 0x4f, 0x5c, 0xf4, 0x05, 0x64, 0xa2, 0x57, 0x46, 0xd6, 0x60, 0xa5, |
|
| 3830 |
- 0x74, 0xf7, 0xea, 0x7b, 0x24, 0x2c, 0xab, 0xde, 0x0b, 0x28, 0x91, 0x44, 0x7c, 0x1b, 0xc0, 0x0e, |
|
| 3831 |
- 0x82, 0x33, 0x8f, 0xf2, 0x86, 0x60, 0xf1, 0x8c, 0x27, 0x59, 0x15, 0xa9, 0xb3, 0x68, 0x3b, 0xa4, |
|
| 3832 |
- 0xbc, 0x7b, 0x26, 0x78, 0xc3, 0xf3, 0x65, 0x03, 0xb3, 0x24, 0xab, 0x22, 0x35, 0x1f, 0xef, 0xc2, |
|
| 3833 |
- 0x42, 0x4b, 0x16, 0x27, 0x99, 0x9b, 0x1f, 0xcc, 0x52, 0x49, 0x92, 0x90, 0xcc, 0x3b, 0x90, 0x89, |
|
| 3834 |
- 0xb4, 0xe0, 0x25, 0x58, 0xdc, 0x7f, 0x78, 0x78, 0xfc, 0xa0, 0x1a, 0xd5, 0x0b, 0xbf, 0x05, 0xb9, |
|
| 3835 |
- 0xda, 0xd1, 0x3e, 0xa9, 0x1e, 0x56, 0x8f, 0xea, 0x7b, 0x0f, 0xf2, 0xa8, 0x74, 0x3e, 0x0f, 0x50, |
|
| 3836 |
- 0x19, 0x3c, 0xb9, 0xf8, 0x1b, 0x58, 0x50, 0xf6, 0xc6, 0xe6, 0x64, 0x0b, 0x8e, 0xbe, 0x86, 0xc6, |
|
| 3837 |
- 0x55, 0x18, 0x55, 0x11, 0x73, 0xfd, 0x8f, 0xdf, 0xfe, 0x3d, 0x4f, 0xdf, 0x86, 0x25, 0x89, 0xf9, |
|
| 3838 |
- 0x30, 0x9a, 0xeb, 0x34, 0x84, 0xe5, 0x78, 0xa5, 0x5e, 0x8d, 0x7b, 0x08, 0x7f, 0x0b, 0xd9, 0xc1, |
|
| 3839 |
- 0x0c, 0xc6, 0x13, 0xef, 0x3a, 0x3e, 0xe4, 0x8d, 0x3b, 0x6f, 0x40, 0xa9, 0xe1, 0x32, 0x8b, 0x00, |
|
| 3840 |
- 0xfc, 0x33, 0x82, 0xfc, 0xf8, 0x78, 0xc2, 0x77, 0xaf, 0x31, 0x6a, 0x8d, 0xad, 0xd9, 0xc0, 0xd7, |
|
| 3841 |
- 0x11, 0xd5, 0x85, 0x79, 0x39, 0xd8, 0x70, 0x71, 0xda, 0x00, 0x19, 0x9c, 0x3e, 0x1d, 0x91, 0xf4, |
|
| 3842 |
- 0x61, 0x63, 0x86, 0x13, 0x7f, 0x48, 0xa3, 0x7b, 0x08, 0x7f, 0x8f, 0x20, 0x37, 0x62, 0x6d, 0xbc, |
|
| 3843 |
- 0xf1, 0x06, 0xef, 0x27, 0x1a, 0x36, 0x66, 0xfb, 0x46, 0x66, 0x74, 0x44, 0x59, 0xbf, 0x78, 0x59, |
|
| 3844 |
- 0x48, 0xfd, 0xf5, 0xb2, 0x90, 0xfa, 0xae, 0x5f, 0x40, 0x17, 0xfd, 0x02, 0xfa, 0xb3, 0x5f, 0x40, |
|
| 3845 |
- 0xff, 0xf4, 0x0b, 0xa8, 0xa9, 0xc9, 0x27, 0xf8, 0xe3, 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0x6c, |
|
| 3846 |
- 0xba, 0x38, 0xbd, 0x2d, 0x0a, 0x00, 0x00, |
|
| 3786 |
+ // 1007 bytes of a gzipped FileDescriptorProto |
|
| 3787 |
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0x4f, 0x6f, 0xe3, 0x44, |
|
| 3788 |
+ 0x1c, 0xcd, 0xa4, 0xa9, 0xdb, 0xfc, 0xd2, 0x2d, 0x61, 0xb4, 0x2a, 0xc6, 0xd2, 0xa6, 0xc1, 0x65, |
|
| 3789 |
+ 0xab, 0x8a, 0x2d, 0xce, 0x12, 0xfe, 0x1d, 0xa8, 0x0a, 0x4d, 0x13, 0xa9, 0xd1, 0x6e, 0xbb, 0xd5, |
|
| 3790 |
+ 0xb4, 0xbb, 0x7b, 0xac, 0x1c, 0x7b, 0xd6, 0x35, 0x69, 0x3c, 0xc6, 0x33, 0xd9, 0x25, 0x07, 0x24, |
|
| 3791 |
+ 0x0e, 0xac, 0x84, 0x38, 0x21, 0x4e, 0x95, 0x10, 0x5f, 0x01, 0xf1, 0x31, 0x2a, 0x4e, 0x1c, 0x39, |
|
| 3792 |
+ 0x15, 0x36, 0x1f, 0x80, 0x0f, 0xc0, 0x09, 0x79, 0x3c, 0x4e, 0x42, 0x37, 0x69, 0xd3, 0x9e, 0x12, |
|
| 3793 |
+ 0xcf, 0xbc, 0xf7, 0xe6, 0xf9, 0xfd, 0x7e, 0xfe, 0x0d, 0x54, 0x3c, 0x5f, 0x1c, 0x77, 0x5b, 0x96, |
|
| 3794 |
+ 0xc3, 0x3a, 0x15, 0x97, 0x39, 0x6d, 0x1a, 0x55, 0xf8, 0x0b, 0x3b, 0xea, 0xb4, 0x7d, 0x51, 0xb1, |
|
| 3795 |
+ 0x43, 0xbf, 0xe2, 0xfa, 0x3c, 0xb4, 0x85, 0x73, 0x4c, 0x23, 0x2b, 0x8c, 0x98, 0x60, 0x18, 0x27, |
|
| 3796 |
+ 0x28, 0x2b, 0x45, 0x59, 0xcf, 0x3f, 0x30, 0xde, 0xbb, 0x42, 0x44, 0xf4, 0x42, 0xca, 0x13, 0xbe, |
|
| 3797 |
+ 0xb1, 0x7e, 0x05, 0x96, 0xb5, 0xbe, 0xa4, 0x8e, 0x48, 0xd1, 0xb7, 0x3d, 0xe6, 0x31, 0xf9, 0xb7, |
|
| 3798 |
+ 0x12, 0xff, 0x53, 0xab, 0x9f, 0x5e, 0xa2, 0x21, 0x11, 0xad, 0xee, 0xb3, 0x4a, 0x78, 0xd2, 0xf5, |
|
| 3799 |
+ 0xfc, 0x40, 0xfd, 0x28, 0x62, 0xc9, 0x63, 0xcc, 0x3b, 0xa1, 0x43, 0x90, 0xdb, 0x8d, 0x6c, 0xe1, |
|
| 3800 |
+ 0x33, 0xb5, 0x6f, 0xbe, 0x44, 0xb0, 0x78, 0x40, 0x39, 0xf7, 0x59, 0x40, 0xe8, 0x57, 0x5d, 0xca, |
|
| 3801 |
+ 0x05, 0x6e, 0x40, 0xc1, 0xa5, 0xdc, 0x89, 0xfc, 0x30, 0xc6, 0xe9, 0xa8, 0x8c, 0xd6, 0x0a, 0xd5, |
|
| 3802 |
+ 0x15, 0xeb, 0xf5, 0x14, 0xac, 0x3d, 0xe6, 0xd2, 0xfa, 0x10, 0x4a, 0x46, 0x79, 0x78, 0x1d, 0x80, |
|
| 3803 |
+ 0x27, 0xc2, 0x47, 0xbe, 0xab, 0x67, 0xcb, 0x68, 0x2d, 0x5f, 0xbb, 0xd5, 0x3f, 0x5f, 0xce, 0xab, |
|
| 3804 |
+ 0xe3, 0x9a, 0x75, 0x92, 0x57, 0x80, 0xa6, 0x6b, 0xfe, 0x9c, 0x1d, 0xf8, 0xd8, 0xa5, 0x9c, 0xdb, |
|
| 3805 |
+ 0x1e, 0xbd, 0x20, 0x80, 0x2e, 0x17, 0xc0, 0xeb, 0x90, 0x0b, 0x98, 0x4b, 0xe5, 0x41, 0x85, 0xaa, |
|
| 3806 |
+ 0x3e, 0xc9, 0x2e, 0x91, 0x28, 0xbc, 0x01, 0xf3, 0x1d, 0x3b, 0xb0, 0x3d, 0x1a, 0x71, 0x7d, 0xa6, |
|
| 3807 |
+ 0x3c, 0xb3, 0x56, 0xa8, 0x96, 0xc7, 0x31, 0x9e, 0x52, 0xdf, 0x3b, 0x16, 0xd4, 0xdd, 0xa7, 0x34, |
|
| 3808 |
+ 0x22, 0x03, 0x06, 0x7e, 0x0a, 0x4b, 0x01, 0x15, 0x2f, 0x58, 0xd4, 0x3e, 0x6a, 0x31, 0x26, 0xb8, |
|
| 3809 |
+ 0x88, 0xec, 0xf0, 0xa8, 0x4d, 0x7b, 0x5c, 0xcf, 0x49, 0xad, 0x77, 0xc6, 0x69, 0x35, 0x02, 0x27, |
|
| 3810 |
+ 0xea, 0xc9, 0x68, 0x1e, 0xd0, 0x1e, 0xb9, 0xad, 0x04, 0x6a, 0x29, 0xff, 0x01, 0xed, 0x71, 0xbc, |
|
| 3811 |
+ 0x04, 0x1a, 0x61, 0x4c, 0x6c, 0x6f, 0xe9, 0xb3, 0x65, 0xb4, 0xb6, 0x40, 0xd4, 0x93, 0xf9, 0x05, |
|
| 3812 |
+ 0x14, 0x77, 0xa8, 0x1d, 0x89, 0x16, 0xb5, 0x45, 0x5a, 0xa6, 0x6b, 0xc5, 0x63, 0xee, 0xc3, 0x9b, |
|
| 3813 |
+ 0x23, 0x0a, 0x3c, 0x64, 0x01, 0xa7, 0xf8, 0x33, 0xd0, 0x42, 0x1a, 0xf9, 0xcc, 0x55, 0x45, 0x7e, |
|
| 3814 |
+ 0xdb, 0x4a, 0xba, 0xc5, 0x4a, 0xbb, 0xc5, 0xaa, 0xab, 0x6e, 0xa9, 0xcd, 0x9f, 0x9d, 0x2f, 0x67, |
|
| 3815 |
+ 0x4e, 0xff, 0x5a, 0x46, 0x44, 0x51, 0xcc, 0x1f, 0xb3, 0xf0, 0xd6, 0xe3, 0xd0, 0xb5, 0x05, 0x3d, |
|
| 3816 |
+ 0xb4, 0x79, 0xfb, 0x40, 0xd8, 0xa2, 0xcb, 0x6f, 0xe4, 0x0d, 0x3f, 0x81, 0xb9, 0xae, 0x14, 0x4a, |
|
| 3817 |
+ 0x6b, 0xb1, 0x31, 0x2e, 0xbf, 0x09, 0x67, 0x59, 0xc3, 0x95, 0x04, 0x41, 0x52, 0x31, 0x83, 0x41, |
|
| 3818 |
+ 0xf1, 0xe2, 0x26, 0x5e, 0x81, 0x39, 0x61, 0xf3, 0xf6, 0xd0, 0x16, 0xf4, 0xcf, 0x97, 0xb5, 0x18, |
|
| 3819 |
+ 0xd6, 0xac, 0x13, 0x2d, 0xde, 0x6a, 0xba, 0xf8, 0x13, 0xd0, 0xb8, 0x24, 0xa9, 0x6e, 0x2a, 0x8d, |
|
| 3820 |
+ 0xf3, 0x33, 0xe2, 0x44, 0xa1, 0x4d, 0x03, 0xf4, 0xd7, 0x5d, 0x26, 0x59, 0x9b, 0x1b, 0xb0, 0x10, |
|
| 3821 |
+ 0xaf, 0xde, 0x2c, 0x22, 0x73, 0x53, 0xb1, 0xd3, 0x6f, 0xc3, 0x82, 0xd9, 0xd8, 0x2b, 0xd7, 0x91, |
|
| 3822 |
+ 0x0c, 0x4c, 0x9f, 0x64, 0x90, 0x24, 0x30, 0xb3, 0x06, 0x78, 0x8b, 0x73, 0xdf, 0x0b, 0x3a, 0x34, |
|
| 3823 |
+ 0x10, 0x37, 0xf4, 0xf0, 0x1b, 0x02, 0x18, 0x8a, 0x60, 0x0b, 0x72, 0xb1, 0xb6, 0x6a, 0x9d, 0x89, |
|
| 3824 |
+ 0x0e, 0x76, 0x32, 0x44, 0xe2, 0xf0, 0x47, 0xa0, 0x71, 0xea, 0x44, 0x54, 0xa8, 0x50, 0x8d, 0x71, |
|
| 3825 |
+ 0x8c, 0x03, 0x89, 0xd8, 0xc9, 0x10, 0x85, 0x8d, 0x59, 0x0e, 0x0b, 0x9e, 0xf9, 0x9e, 0x3e, 0x33, |
|
| 3826 |
+ 0x99, 0xb5, 0x2d, 0x11, 0x31, 0x2b, 0xc1, 0xd6, 0x34, 0xc8, 0xf9, 0x82, 0x76, 0xcc, 0x97, 0x59, |
|
| 3827 |
+ 0x28, 0x0e, 0x2d, 0x6f, 0x1f, 0xdb, 0x81, 0x47, 0xf1, 0x26, 0x80, 0x3d, 0x58, 0x53, 0xf6, 0xc7, |
|
| 3828 |
+ 0x56, 0x78, 0xc8, 0x24, 0x23, 0x0c, 0xbc, 0x0b, 0x9a, 0xed, 0xc8, 0xd1, 0x18, 0xbf, 0xc8, 0x62, |
|
| 3829 |
+ 0xf5, 0xe3, 0xcb, 0xb9, 0xc9, 0xa9, 0x23, 0x0b, 0x5b, 0x92, 0x4c, 0x94, 0x88, 0xd9, 0x1a, 0xb5, |
|
| 3830 |
+ 0x98, 0xec, 0xe1, 0x55, 0xd0, 0x1e, 0xef, 0xd7, 0xb7, 0x0e, 0x1b, 0xc5, 0x8c, 0x61, 0xfc, 0xf0, |
|
| 3831 |
+ 0x4b, 0x79, 0xe9, 0x22, 0x42, 0x75, 0xf3, 0x2a, 0x68, 0xa4, 0xb1, 0xfb, 0xe8, 0x49, 0xa3, 0x88, |
|
| 3832 |
+ 0xc6, 0xe3, 0x08, 0xed, 0xb0, 0xe7, 0xd4, 0xfc, 0x17, 0xfd, 0xaf, 0xfe, 0x69, 0x17, 0x7d, 0x0e, |
|
| 3833 |
+ 0xb9, 0xf8, 0xa2, 0x92, 0x19, 0x2c, 0x56, 0xef, 0x5d, 0xfe, 0x1e, 0x29, 0xcb, 0x3a, 0xec, 0x85, |
|
| 3834 |
+ 0x94, 0x48, 0x22, 0xbe, 0x03, 0x60, 0x87, 0xe1, 0x89, 0x4f, 0xf9, 0x91, 0x60, 0xc9, 0x8c, 0x27, |
|
| 3835 |
+ 0x79, 0xb5, 0x72, 0xc8, 0xe2, 0xed, 0x88, 0xf2, 0xee, 0x89, 0xe0, 0x47, 0x7e, 0x20, 0x0b, 0x98, |
|
| 3836 |
+ 0x27, 0x79, 0xb5, 0xd2, 0x0c, 0xf0, 0x26, 0xcc, 0x39, 0x32, 0x9c, 0x74, 0x6e, 0xbe, 0x3b, 0x4d, |
|
| 3837 |
+ 0x92, 0x24, 0x25, 0x99, 0x77, 0x21, 0x17, 0x7b, 0xc1, 0x0b, 0x30, 0xbf, 0xfd, 0x68, 0x77, 0xff, |
|
| 3838 |
+ 0x61, 0x23, 0xce, 0x0b, 0xbf, 0x01, 0x85, 0xe6, 0xde, 0x36, 0x69, 0xec, 0x36, 0xf6, 0x0e, 0xb7, |
|
| 3839 |
+ 0x1e, 0x16, 0x51, 0xf5, 0x74, 0x16, 0xa0, 0x3e, 0xb8, 0xd4, 0xf1, 0xd7, 0x30, 0xa7, 0xda, 0x1b, |
|
| 3840 |
+ 0x9b, 0xe3, 0x5b, 0x70, 0xf4, 0x36, 0x34, 0x2e, 0xc3, 0xa8, 0x44, 0xcc, 0x95, 0xdf, 0x7f, 0xfd, |
|
| 3841 |
+ 0xe7, 0x34, 0x7b, 0x07, 0x16, 0x24, 0xe6, 0xfd, 0x78, 0xae, 0xd3, 0x08, 0x6e, 0x25, 0x4f, 0xea, |
|
| 3842 |
+ 0xd6, 0xb8, 0x8f, 0xf0, 0x37, 0x90, 0x1f, 0xcc, 0x60, 0x3c, 0xf6, 0x5d, 0x2f, 0x0e, 0x79, 0xe3, |
|
| 3843 |
+ 0xee, 0x15, 0x28, 0x35, 0x5c, 0xa6, 0x31, 0x80, 0x7f, 0x42, 0x50, 0xbc, 0x38, 0x9e, 0xf0, 0xbd, |
|
| 3844 |
+ 0x6b, 0x8c, 0x5a, 0x63, 0x7d, 0x3a, 0xf0, 0x75, 0x4c, 0x75, 0x61, 0x56, 0x0e, 0x36, 0x5c, 0x9e, |
|
| 3845 |
+ 0x34, 0x40, 0x06, 0xa7, 0x4f, 0x46, 0xa4, 0x75, 0x58, 0x9d, 0xe2, 0xc4, 0xef, 0xb3, 0xe8, 0x3e, |
|
| 3846 |
+ 0xc2, 0xdf, 0x21, 0x28, 0x8c, 0xb4, 0x36, 0x5e, 0xbd, 0xa2, 0xf7, 0x53, 0x0f, 0xab, 0xd3, 0x7d, |
|
| 3847 |
+ 0x23, 0x53, 0x76, 0x44, 0x4d, 0x3f, 0x7b, 0x55, 0xca, 0xfc, 0xf9, 0xaa, 0x94, 0xf9, 0xb6, 0x5f, |
|
| 3848 |
+ 0x42, 0x67, 0xfd, 0x12, 0xfa, 0xa3, 0x5f, 0x42, 0x7f, 0xf7, 0x4b, 0xa8, 0xa5, 0xc9, 0x2b, 0xf8, |
|
| 3849 |
+ 0xc3, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0xe0, 0xf0, 0x6a, 0xcb, 0xae, 0x0a, 0x00, 0x00, |
|
| 3847 | 3850 |
} |
| ... | ... |
@@ -2,10 +2,10 @@ syntax = "proto3"; |
| 2 | 2 |
|
| 3 | 3 |
package docker.swarmkit.v1; |
| 4 | 4 |
|
| 5 |
-import "types.proto"; |
|
| 6 |
-import "objects.proto"; |
|
| 5 |
+import "github.com/docker/swarmkit/api/types.proto"; |
|
| 6 |
+import "github.com/docker/swarmkit/api/objects.proto"; |
|
| 7 | 7 |
import "gogoproto/gogo.proto"; |
| 8 |
-import "plugin/plugin.proto"; |
|
| 8 |
+import "github.com/docker/swarmkit/protobuf/plugin/plugin.proto"; |
|
| 9 | 9 |
import "google/protobuf/duration.proto"; |
| 10 | 10 |
|
| 11 | 11 |
// Dispatcher is the API provided by a manager group for agents to connect to. Agents |
| 12 | 12 |
deleted file mode 100644 |
| ... | ... |
@@ -1,3 +0,0 @@ |
| 1 |
-package api |
|
| 2 |
- |
|
| 3 |
-//go:generate protoc -I.:../protobuf:../vendor:../vendor/github.com/gogo/protobuf --gogoswarm_out=plugins=grpc+deepcopy+storeobject+raftproxy+authenticatedwrapper,import_path=github.com/docker/swarmkit/api,Mgogoproto/gogo.proto=github.com/gogo/protobuf/gogoproto,Mgoogle/protobuf/descriptor.proto=github.com/gogo/protobuf/protoc-gen-gogo/descriptor,Mplugin/plugin.proto=github.com/docker/swarmkit/protobuf/plugin,Mgoogle/protobuf/duration.proto=github.com/gogo/protobuf/types,Mgoogle/protobuf/timestamp.proto=github.com/gogo/protobuf/types,Mgoogle/protobuf/any.proto=github.com/gogo/protobuf/types:. types.proto specs.proto objects.proto control.proto dispatcher.proto ca.proto snapshot.proto raft.proto health.proto resource.proto logbroker.proto watch.proto |
| ... | ... |
@@ -1,5 +1,5 @@ |
| 1 | 1 |
// Code generated by protoc-gen-gogo. |
| 2 |
-// source: health.proto |
|
| 2 |
+// source: github.com/docker/swarmkit/api/health.proto |
|
| 3 | 3 |
// DO NOT EDIT! |
| 4 | 4 |
|
| 5 | 5 |
package api |
| ... | ... |
@@ -198,7 +198,7 @@ var _Health_serviceDesc = grpc.ServiceDesc{
|
| 198 | 198 |
}, |
| 199 | 199 |
}, |
| 200 | 200 |
Streams: []grpc.StreamDesc{},
|
| 201 |
- Metadata: "health.proto", |
|
| 201 |
+ Metadata: "github.com/docker/swarmkit/api/health.proto", |
|
| 202 | 202 |
} |
| 203 | 203 |
|
| 204 | 204 |
func (m *HealthCheckRequest) Marshal() (dAtA []byte, err error) {
|
| ... | ... |
@@ -696,26 +696,28 @@ var ( |
| 696 | 696 |
ErrIntOverflowHealth = fmt.Errorf("proto: integer overflow")
|
| 697 | 697 |
) |
| 698 | 698 |
|
| 699 |
-func init() { proto.RegisterFile("health.proto", fileDescriptorHealth) }
|
|
| 699 |
+func init() { proto.RegisterFile("github.com/docker/swarmkit/api/health.proto", fileDescriptorHealth) }
|
|
| 700 | 700 |
|
| 701 | 701 |
var fileDescriptorHealth = []byte{
|
| 702 |
- // 287 bytes of a gzipped FileDescriptorProto |
|
| 703 |
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0xc9, 0x48, 0x4d, 0xcc, |
|
| 704 |
- 0x29, 0xc9, 0xd0, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x12, 0x4a, 0xc9, 0x4f, 0xce, 0x4e, 0x2d, |
|
| 705 |
- 0xd2, 0x2b, 0x2e, 0x4f, 0x2c, 0xca, 0xcd, 0xce, 0x2c, 0xd1, 0x2b, 0x33, 0x94, 0x12, 0x49, 0xcf, |
|
| 706 |
- 0x4f, 0xcf, 0x07, 0x4b, 0xeb, 0x83, 0x58, 0x10, 0x95, 0x52, 0xc2, 0x05, 0x39, 0xa5, 0xe9, 0x99, |
|
| 707 |
- 0x79, 0xfa, 0x10, 0x0a, 0x22, 0xa8, 0xa4, 0xc7, 0x25, 0xe4, 0x01, 0x36, 0xce, 0x39, 0x23, 0x35, |
|
| 708 |
- 0x39, 0x3b, 0x28, 0xb5, 0xb0, 0x34, 0xb5, 0xb8, 0x44, 0x48, 0x82, 0x8b, 0xbd, 0x38, 0xb5, 0xa8, |
|
| 709 |
- 0x2c, 0x33, 0x39, 0x55, 0x82, 0x51, 0x81, 0x51, 0x83, 0x33, 0x08, 0xc6, 0x55, 0x5a, 0xc0, 0xc8, |
|
| 710 |
- 0x25, 0x8c, 0xa2, 0xa1, 0xb8, 0x20, 0x3f, 0xaf, 0x38, 0x55, 0xc8, 0x97, 0x8b, 0xad, 0xb8, 0x24, |
|
| 711 |
- 0xb1, 0xa4, 0xb4, 0x18, 0xac, 0x81, 0xcf, 0xc8, 0x54, 0x0f, 0xd3, 0x5d, 0x7a, 0x58, 0x34, 0xea, |
|
| 712 |
- 0x05, 0x83, 0x0c, 0xce, 0x4b, 0x0f, 0x06, 0x6b, 0x0e, 0x82, 0x1a, 0xa2, 0x64, 0xc5, 0xc5, 0x8b, |
|
| 713 |
- 0x22, 0x21, 0xc4, 0xcd, 0xc5, 0x1e, 0xea, 0xe7, 0xed, 0xe7, 0x1f, 0xee, 0x27, 0xc0, 0x00, 0xe2, |
|
| 714 |
- 0x04, 0xbb, 0x06, 0x85, 0x79, 0xfa, 0xb9, 0x0b, 0x30, 0x0a, 0xf1, 0x73, 0x71, 0xfb, 0xf9, 0x87, |
|
| 715 |
- 0xc4, 0xc3, 0x04, 0x98, 0x8c, 0x2a, 0xb9, 0xd8, 0x20, 0x16, 0x09, 0xe5, 0x73, 0xb1, 0x82, 0x2d, |
|
| 716 |
- 0x13, 0x52, 0x23, 0xe8, 0x1a, 0xb0, 0xbf, 0xa5, 0xd4, 0x89, 0x74, 0xb5, 0x92, 0xe8, 0xa9, 0x75, |
|
| 717 |
- 0xef, 0x66, 0x30, 0xf1, 0x73, 0xf1, 0x82, 0x15, 0xea, 0xe6, 0x26, 0xe6, 0x25, 0xa6, 0xa7, 0x16, |
|
| 718 |
- 0x39, 0x49, 0x9c, 0x78, 0x28, 0xc7, 0x70, 0xe3, 0xa1, 0x1c, 0x43, 0xc3, 0x23, 0x39, 0xc6, 0x13, |
|
| 719 |
- 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, 0x31, 0x89, 0x0d, 0x1c, 0xdc, |
|
| 720 |
- 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x59, 0xcd, 0x52, 0xee, 0xbd, 0x01, 0x00, 0x00, |
|
| 702 |
+ // 315 bytes of a gzipped FileDescriptorProto |
|
| 703 |
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0x4e, 0xcf, 0x2c, 0xc9, |
|
| 704 |
+ 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x4f, 0xc9, 0x4f, 0xce, 0x4e, 0x2d, 0xd2, 0x2f, 0x2e, |
|
| 705 |
+ 0x4f, 0x2c, 0xca, 0xcd, 0xce, 0x2c, 0xd1, 0x4f, 0x2c, 0xc8, 0xd4, 0xcf, 0x48, 0x4d, 0xcc, 0x29, |
|
| 706 |
+ 0xc9, 0xd0, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x12, 0x82, 0xa8, 0xd0, 0x83, 0xa9, 0xd0, 0x2b, |
|
| 707 |
+ 0x33, 0x94, 0x12, 0x49, 0xcf, 0x4f, 0xcf, 0x07, 0x4b, 0xeb, 0x83, 0x58, 0x10, 0x95, 0x52, 0xe6, |
|
| 708 |
+ 0x78, 0x8c, 0x05, 0xab, 0x48, 0x2a, 0x4d, 0xd3, 0x2f, 0xc8, 0x29, 0x4d, 0xcf, 0xcc, 0x83, 0x52, |
|
| 709 |
+ 0x10, 0x8d, 0x4a, 0x7a, 0x5c, 0x42, 0x1e, 0x60, 0x2b, 0x9d, 0x33, 0x52, 0x93, 0xb3, 0x83, 0x52, |
|
| 710 |
+ 0x0b, 0x4b, 0x53, 0x8b, 0x4b, 0x84, 0x24, 0xb8, 0xd8, 0x8b, 0x53, 0x8b, 0xca, 0x32, 0x93, 0x53, |
|
| 711 |
+ 0x25, 0x18, 0x15, 0x18, 0x35, 0x38, 0x83, 0x60, 0x5c, 0xa5, 0x05, 0x8c, 0x5c, 0xc2, 0x28, 0x1a, |
|
| 712 |
+ 0x8a, 0x0b, 0xf2, 0xf3, 0x8a, 0x53, 0x85, 0x7c, 0xb9, 0xd8, 0x8a, 0x4b, 0x12, 0x4b, 0x4a, 0x8b, |
|
| 713 |
+ 0xc1, 0x1a, 0xf8, 0x8c, 0x4c, 0xf5, 0x30, 0xdd, 0xae, 0x87, 0x45, 0xa3, 0x5e, 0x30, 0xc8, 0xe0, |
|
| 714 |
+ 0xbc, 0xf4, 0x60, 0xb0, 0xe6, 0x20, 0xa8, 0x21, 0x4a, 0x56, 0x5c, 0xbc, 0x28, 0x12, 0x42, 0xdc, |
|
| 715 |
+ 0x5c, 0xec, 0xa1, 0x7e, 0xde, 0x7e, 0xfe, 0xe1, 0x7e, 0x02, 0x0c, 0x20, 0x4e, 0xb0, 0x6b, 0x50, |
|
| 716 |
+ 0x98, 0xa7, 0x9f, 0xbb, 0x00, 0xa3, 0x10, 0x3f, 0x17, 0xb7, 0x9f, 0x7f, 0x48, 0x3c, 0x4c, 0x80, |
|
| 717 |
+ 0xc9, 0xa8, 0x92, 0x8b, 0x0d, 0x62, 0x91, 0x50, 0x3e, 0x17, 0x2b, 0xd8, 0x32, 0x21, 0x35, 0x82, |
|
| 718 |
+ 0xae, 0x01, 0xfb, 0x5b, 0x4a, 0x9d, 0x48, 0x57, 0x2b, 0x89, 0x9e, 0x5a, 0xf7, 0x6e, 0x06, 0x13, |
|
| 719 |
+ 0x3f, 0x17, 0x2f, 0x58, 0xa1, 0x6e, 0x6e, 0x62, 0x5e, 0x62, 0x7a, 0x6a, 0x91, 0x93, 0xc4, 0x89, |
|
| 720 |
+ 0x87, 0x72, 0x0c, 0x37, 0x1e, 0xca, 0x31, 0x34, 0x3c, 0x92, 0x63, 0x3c, 0xf1, 0x48, 0x8e, 0xf1, |
|
| 721 |
+ 0xc2, 0x23, 0x39, 0xc6, 0x07, 0x8f, 0xe4, 0x18, 0x93, 0xd8, 0xc0, 0xc1, 0x6d, 0x0c, 0x08, 0x00, |
|
| 722 |
+ 0x00, 0xff, 0xff, 0x7b, 0xf2, 0xdd, 0x23, 0x00, 0x02, 0x00, 0x00, |
|
| 721 | 723 |
} |
| ... | ... |
@@ -12,7 +12,7 @@ syntax = "proto3"; |
| 12 | 12 |
package docker.swarmkit.v1; |
| 13 | 13 |
|
| 14 | 14 |
import "gogoproto/gogo.proto"; |
| 15 |
-import "plugin/plugin.proto"; |
|
| 15 |
+import "github.com/docker/swarmkit/protobuf/plugin/plugin.proto"; |
|
| 16 | 16 |
|
| 17 | 17 |
service Health {
|
| 18 | 18 |
rpc Check(HealthCheckRequest) returns (HealthCheckResponse) {
|
| ... | ... |
@@ -1,5 +1,5 @@ |
| 1 | 1 |
// Code generated by protoc-gen-gogo. |
| 2 |
-// source: logbroker.proto |
|
| 2 |
+// source: github.com/docker/swarmkit/api/logbroker.proto |
|
| 3 | 3 |
// DO NOT EDIT! |
| 4 | 4 |
|
| 5 | 5 |
package api |
| ... | ... |
@@ -618,7 +618,7 @@ var _Logs_serviceDesc = grpc.ServiceDesc{
|
| 618 | 618 |
ServerStreams: true, |
| 619 | 619 |
}, |
| 620 | 620 |
}, |
| 621 |
- Metadata: "logbroker.proto", |
|
| 621 |
+ Metadata: "github.com/docker/swarmkit/api/logbroker.proto", |
|
| 622 | 622 |
} |
| 623 | 623 |
|
| 624 | 624 |
// Client API for LogBroker service |
| ... | ... |
@@ -790,7 +790,7 @@ var _LogBroker_serviceDesc = grpc.ServiceDesc{
|
| 790 | 790 |
ClientStreams: true, |
| 791 | 791 |
}, |
| 792 | 792 |
}, |
| 793 |
- Metadata: "logbroker.proto", |
|
| 793 |
+ Metadata: "github.com/docker/swarmkit/api/logbroker.proto", |
|
| 794 | 794 |
} |
| 795 | 795 |
|
| 796 | 796 |
func (m *LogSubscriptionOptions) Marshal() (dAtA []byte, err error) {
|
| ... | ... |
@@ -3350,67 +3350,71 @@ var ( |
| 3350 | 3350 |
ErrIntOverflowLogbroker = fmt.Errorf("proto: integer overflow")
|
| 3351 | 3351 |
) |
| 3352 | 3352 |
|
| 3353 |
-func init() { proto.RegisterFile("logbroker.proto", fileDescriptorLogbroker) }
|
|
| 3353 |
+func init() {
|
|
| 3354 |
+ proto.RegisterFile("github.com/docker/swarmkit/api/logbroker.proto", fileDescriptorLogbroker)
|
|
| 3355 |
+} |
|
| 3354 | 3356 |
|
| 3355 | 3357 |
var fileDescriptorLogbroker = []byte{
|
| 3356 |
- // 944 bytes of a gzipped FileDescriptorProto |
|
| 3358 |
+ // 966 bytes of a gzipped FileDescriptorProto |
|
| 3357 | 3359 |
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x95, 0x41, 0x6f, 0x1b, 0x45, |
| 3358 |
- 0x14, 0xc7, 0x3d, 0xeb, 0xc4, 0x8e, 0x9f, 0x9b, 0xc4, 0x1d, 0xa7, 0x91, 0x65, 0xa8, 0x6d, 0x6d, |
|
| 3359 |
- 0xa5, 0x62, 0x45, 0xc5, 0x6e, 0x8d, 0x10, 0x48, 0x91, 0x10, 0x35, 0xae, 0x90, 0x85, 0x9b, 0xa0, |
|
| 3360 |
- 0xb1, 0x23, 0xb8, 0x45, 0x6b, 0xef, 0x74, 0x59, 0x79, 0xbd, 0x63, 0x76, 0xc6, 0x09, 0x48, 0x1c, |
|
| 3361 |
- 0x38, 0x14, 0x09, 0xe5, 0xc0, 0x0d, 0x09, 0x0e, 0x3d, 0xd1, 0x0b, 0x42, 0xe2, 0xc2, 0x8d, 0x0f, |
|
| 3362 |
- 0x80, 0x22, 0x4e, 0x1c, 0x39, 0x59, 0x74, 0x3f, 0x00, 0x9f, 0x01, 0xed, 0xcc, 0xd8, 0xde, 0x60, |
|
| 3363 |
- 0xbb, 0x45, 0xe5, 0x92, 0xcc, 0xec, 0xfc, 0xdf, 0xbe, 0xdf, 0xfb, 0xcf, 0x7b, 0x6b, 0xd8, 0xf5, |
|
| 3364 |
- 0x98, 0xd3, 0x0f, 0xd8, 0x90, 0x06, 0xb5, 0x71, 0xc0, 0x04, 0xc3, 0xd8, 0x66, 0x83, 0x68, 0xc7, |
|
| 3365 |
- 0xcf, 0xad, 0x60, 0x34, 0x74, 0x45, 0xed, 0xec, 0x5e, 0x71, 0xcf, 0x61, 0x0e, 0x93, 0xc7, 0xf5, |
|
| 3366 |
- 0x68, 0xa5, 0x94, 0xc5, 0xb2, 0xc3, 0x98, 0xe3, 0xd1, 0xba, 0xdc, 0xf5, 0x27, 0x8f, 0xea, 0xc2, |
|
| 3367 |
- 0x1d, 0x51, 0x2e, 0xac, 0xd1, 0x58, 0x0b, 0xf2, 0x63, 0x6f, 0xe2, 0xb8, 0x7e, 0x5d, 0xfd, 0x53, |
|
| 3368 |
- 0x0f, 0xcd, 0x5f, 0x10, 0xec, 0x77, 0x98, 0xd3, 0x9d, 0xf4, 0xf9, 0x20, 0x70, 0xc7, 0xc2, 0x65, |
|
| 3369 |
- 0xfe, 0xb1, 0xfc, 0xcb, 0xf1, 0x21, 0xa4, 0xb9, 0x08, 0xa8, 0x35, 0xe2, 0x05, 0x54, 0x49, 0x56, |
|
| 3370 |
- 0x77, 0x1a, 0x37, 0x6b, 0xcb, 0x30, 0xb5, 0x28, 0x58, 0xaa, 0x9a, 0x46, 0x2e, 0x41, 0x66, 0x11, |
|
| 3371 |
- 0x78, 0x1f, 0x52, 0x8f, 0x98, 0xe7, 0xb1, 0xf3, 0x82, 0x51, 0x41, 0xd5, 0x2d, 0xa2, 0x77, 0x18, |
|
| 3372 |
- 0xc3, 0x86, 0xb0, 0x5c, 0xaf, 0x90, 0xac, 0xa0, 0x6a, 0x92, 0xc8, 0x35, 0xbe, 0x0b, 0x9b, 0xdc, |
|
| 3373 |
- 0xf5, 0x07, 0xb4, 0xb0, 0x51, 0x41, 0xd5, 0x6c, 0xa3, 0x58, 0x53, 0x95, 0xd4, 0x66, 0x95, 0xd4, |
|
| 3374 |
- 0x7a, 0xb3, 0x4a, 0x88, 0x12, 0x9a, 0xdf, 0x20, 0xc8, 0x46, 0x89, 0xa9, 0x47, 0x07, 0x82, 0x05, |
|
| 3375 |
- 0xb8, 0x0e, 0x59, 0x4e, 0x83, 0x33, 0x77, 0x40, 0x4f, 0x5d, 0x5b, 0xe1, 0x66, 0x9a, 0x3b, 0xe1, |
|
| 3376 |
- 0xb4, 0x0c, 0x5d, 0xf5, 0xb8, 0xdd, 0xe2, 0x04, 0xb4, 0xa4, 0x6d, 0x73, 0x7c, 0x1b, 0xb6, 0x7c, |
|
| 3377 |
- 0x66, 0x2b, 0xb5, 0x21, 0xd5, 0xd9, 0x70, 0x5a, 0x4e, 0x1f, 0x31, 0x5b, 0x4a, 0xd3, 0xd1, 0xa1, |
|
| 3378 |
- 0xd6, 0x09, 0x8b, 0x0f, 0xa5, 0x2e, 0xb9, 0xd0, 0xf5, 0x2c, 0x3e, 0x94, 0xba, 0xe8, 0xb0, 0x6d, |
|
| 3379 |
- 0x73, 0xf3, 0x31, 0x02, 0xe8, 0x30, 0xe7, 0x3d, 0xe6, 0x0b, 0xfa, 0x99, 0xc0, 0x77, 0x00, 0x16, |
|
| 3380 |
- 0x3c, 0x05, 0x54, 0x41, 0xd5, 0x4c, 0x73, 0x3b, 0x9c, 0x96, 0x33, 0x73, 0x1c, 0x92, 0x99, 0xd3, |
|
| 3381 |
- 0xe0, 0x5b, 0x90, 0xd6, 0x30, 0xd2, 0xac, 0x4c, 0x13, 0xc2, 0x69, 0x39, 0xa5, 0x58, 0x48, 0x4a, |
|
| 3382 |
- 0xa1, 0x44, 0x22, 0x4d, 0x22, 0xbd, 0xd3, 0x22, 0x05, 0x42, 0x52, 0x8a, 0xc3, 0xbc, 0x07, 0xe9, |
|
| 3383 |
- 0x0e, 0x73, 0xee, 0x0b, 0x11, 0xe0, 0x1c, 0x24, 0x87, 0xf4, 0x73, 0x95, 0x9b, 0x44, 0x4b, 0xbc, |
|
| 3384 |
- 0x07, 0x9b, 0x67, 0x96, 0x37, 0xa1, 0x2a, 0x09, 0x51, 0x1b, 0xf3, 0xc2, 0x90, 0xe4, 0x0f, 0x29, |
|
| 3385 |
- 0xe7, 0x96, 0x43, 0xf1, 0x3b, 0x90, 0x1e, 0xa8, 0x22, 0x64, 0x68, 0xb6, 0x51, 0x5a, 0x73, 0xe9, |
|
| 3386 |
- 0xba, 0xd4, 0xe6, 0xc6, 0xe5, 0xb4, 0x9c, 0x20, 0xb3, 0x20, 0xfc, 0x36, 0x64, 0xe6, 0x7d, 0x27, |
|
| 3387 |
- 0x13, 0x3d, 0xff, 0x3e, 0x17, 0x62, 0xfc, 0x26, 0xa4, 0x54, 0xf3, 0xc8, 0xfa, 0x5e, 0xd4, 0x6d, |
|
| 3388 |
- 0x44, 0x8b, 0xa3, 0x86, 0xb2, 0x2d, 0x61, 0xc9, 0xde, 0xb9, 0x46, 0xe4, 0x1a, 0xbf, 0x05, 0x9b, |
|
| 3389 |
- 0x96, 0x10, 0x01, 0x2f, 0x6c, 0x56, 0x92, 0xd5, 0x6c, 0xe3, 0x95, 0x35, 0x6f, 0x8a, 0x7c, 0xd2, |
|
| 3390 |
- 0xfc, 0x4a, 0x6f, 0x7e, 0x8f, 0x60, 0x4f, 0x8f, 0x42, 0x9f, 0x76, 0x98, 0xc3, 0x09, 0xfd, 0x74, |
|
| 3391 |
- 0x42, 0xb9, 0xc0, 0x87, 0xb0, 0xc5, 0x75, 0xb3, 0x69, 0x5f, 0xca, 0xeb, 0xf0, 0xb4, 0x8c, 0xcc, |
|
| 3392 |
- 0x03, 0x70, 0x0b, 0xd2, 0x4c, 0xcd, 0x94, 0x76, 0xe4, 0x60, 0x5d, 0xec, 0xf2, 0x14, 0x92, 0x59, |
|
| 3393 |
- 0xa8, 0xf9, 0xf1, 0xbf, 0xd0, 0x66, 0x37, 0xf6, 0x2e, 0x6c, 0x8d, 0xd4, 0x52, 0x35, 0xfe, 0xfa, |
|
| 3394 |
- 0x2b, 0xd3, 0x11, 0xba, 0xe4, 0x79, 0x94, 0xf9, 0x2a, 0x14, 0x3b, 0x2e, 0x17, 0xd4, 0x8f, 0xe7, |
|
| 3395 |
- 0x9f, 0x95, 0x6e, 0xfe, 0x86, 0x20, 0x1f, 0x3f, 0x98, 0xe5, 0xdd, 0x07, 0x63, 0xde, 0xdb, 0xa9, |
|
| 3396 |
- 0x70, 0x5a, 0x36, 0xda, 0x2d, 0x62, 0xb8, 0xf6, 0x15, 0xab, 0x8c, 0xff, 0x61, 0x55, 0xf2, 0xa5, |
|
| 3397 |
- 0xad, 0x8a, 0x3a, 0x7d, 0xe0, 0x31, 0xae, 0x3e, 0x28, 0x5b, 0x44, 0x6d, 0xcc, 0x1f, 0x11, 0xe0, |
|
| 3398 |
- 0x0f, 0x27, 0x7d, 0xcf, 0xe5, 0x9f, 0xc4, 0xfd, 0x3b, 0x84, 0x5d, 0x1e, 0x7b, 0xd9, 0x62, 0x60, |
|
| 3399 |
- 0x71, 0x38, 0x2d, 0xef, 0xc4, 0xf3, 0xb4, 0x5b, 0x64, 0x27, 0x2e, 0x6d, 0xdb, 0x57, 0xcc, 0x37, |
|
| 3400 |
- 0x5e, 0xc6, 0xfc, 0x05, 0x6b, 0x32, 0xce, 0x7a, 0x03, 0xf2, 0x31, 0x54, 0x42, 0xf9, 0x98, 0xf9, |
|
| 3401 |
- 0x9c, 0x1e, 0x3c, 0x45, 0x90, 0x99, 0x8f, 0x00, 0xbe, 0x03, 0xb8, 0x73, 0xfc, 0xfe, 0x69, 0xb7, |
|
| 3402 |
- 0x47, 0x1e, 0xdc, 0x7f, 0x78, 0x7a, 0x72, 0xf4, 0xc1, 0xd1, 0xf1, 0x47, 0x47, 0xb9, 0x44, 0x71, |
|
| 3403 |
- 0xef, 0xe2, 0x49, 0x25, 0x37, 0x97, 0x9d, 0xf8, 0x43, 0x9f, 0x9d, 0xfb, 0xf8, 0x00, 0xae, 0xc7, |
|
| 3404 |
- 0xd4, 0xdd, 0x5e, 0xeb, 0xf8, 0xa4, 0x97, 0x43, 0xc5, 0xfc, 0xc5, 0x93, 0xca, 0xee, 0x5c, 0xdc, |
|
| 3405 |
- 0x15, 0x36, 0x9b, 0x88, 0x65, 0xed, 0x03, 0x42, 0x72, 0xc6, 0xb2, 0x96, 0x06, 0x41, 0xf1, 0xfa, |
|
| 3406 |
- 0xd7, 0x3f, 0x94, 0x12, 0xbf, 0x3e, 0x2d, 0x2d, 0xc0, 0x1a, 0x8f, 0x11, 0x6c, 0x44, 0xdc, 0xf8, |
|
| 3407 |
- 0x0b, 0xd8, 0xbe, 0xd2, 0xb3, 0xb8, 0xba, 0xca, 0x9d, 0x55, 0x13, 0x57, 0x7c, 0xb1, 0x52, 0x3b, |
|
| 3408 |
- 0x6a, 0xde, 0xf8, 0xfd, 0xe7, 0xbf, 0xbf, 0x33, 0x76, 0x61, 0x5b, 0x2a, 0x5f, 0x1f, 0x59, 0xbe, |
|
| 3409 |
- 0xe5, 0xd0, 0xe0, 0x2e, 0x6a, 0xfc, 0x64, 0x48, 0xb7, 0x9a, 0xf2, 0xf7, 0x14, 0x7f, 0x8b, 0x20, |
|
| 3410 |
- 0xbf, 0xa2, 0xcd, 0x71, 0x6d, 0xe5, 0x85, 0xad, 0x9d, 0x87, 0xe2, 0x6b, 0xcf, 0x01, 0x8b, 0x0f, |
|
| 3411 |
- 0x88, 0x79, 0x4b, 0x72, 0xdd, 0x84, 0x6b, 0x8a, 0xeb, 0x9c, 0x05, 0x43, 0x1a, 0x2c, 0x51, 0xe2, |
|
| 3412 |
- 0xaf, 0x10, 0x64, 0x63, 0x77, 0x8d, 0x6f, 0xaf, 0x7a, 0xff, 0x72, 0xdf, 0xae, 0xe6, 0x58, 0xd1, |
|
| 3413 |
- 0x34, 0xff, 0x89, 0xa3, 0x8a, 0x9a, 0x85, 0xcb, 0x67, 0xa5, 0xc4, 0x9f, 0xcf, 0x4a, 0x89, 0x2f, |
|
| 3414 |
- 0xc3, 0x12, 0xba, 0x0c, 0x4b, 0xe8, 0x8f, 0xb0, 0x84, 0xfe, 0x0a, 0x4b, 0xa8, 0x9f, 0x92, 0x1f, |
|
| 3415 |
- 0xee, 0x37, 0xfe, 0x09, 0x00, 0x00, 0xff, 0xff, 0x08, 0xa1, 0xea, 0xc7, 0x9d, 0x08, 0x00, 0x00, |
|
| 3360 |
+ 0x14, 0xc7, 0x3d, 0xeb, 0xc4, 0x8e, 0x9f, 0x9b, 0xc4, 0x9d, 0xa4, 0x91, 0x65, 0xa8, 0x6d, 0x6d, |
|
| 3361 |
+ 0xa5, 0x62, 0x45, 0x65, 0xdd, 0x1a, 0xa1, 0x22, 0x45, 0x42, 0xd4, 0xb8, 0x42, 0x16, 0x6e, 0x82, |
|
| 3362 |
+ 0xc6, 0x8e, 0xe0, 0x16, 0xad, 0xbd, 0xd3, 0xed, 0xca, 0xeb, 0x1d, 0xb3, 0x33, 0x4e, 0x40, 0xe2, |
|
| 3363 |
+ 0xc0, 0xa1, 0x48, 0x28, 0x07, 0x6e, 0x48, 0x70, 0xe8, 0x89, 0x5e, 0x10, 0x12, 0x17, 0x6e, 0x7c, |
|
| 3364 |
+ 0x00, 0x14, 0x71, 0xe2, 0xc8, 0xc9, 0xa2, 0xfb, 0x01, 0xf8, 0x0c, 0x68, 0x67, 0xd6, 0xeb, 0x0d, |
|
| 3365 |
+ 0xb6, 0x53, 0x54, 0x2e, 0xf6, 0x8c, 0xe7, 0xf7, 0xf6, 0xfd, 0xdf, 0x7f, 0xde, 0x5b, 0x83, 0x61, |
|
| 3366 |
+ 0x3b, 0xe2, 0xc9, 0xa4, 0x6f, 0x0c, 0xd8, 0xa8, 0x6e, 0xb1, 0xc1, 0x90, 0xfa, 0x75, 0x7e, 0x66, |
|
| 3367 |
+ 0xfa, 0xa3, 0xa1, 0x23, 0xea, 0xe6, 0xd8, 0xa9, 0xbb, 0xcc, 0xee, 0xfb, 0x6c, 0x48, 0x7d, 0x63, |
|
| 3368 |
+ 0xec, 0x33, 0xc1, 0x30, 0x56, 0x90, 0x31, 0x83, 0x8c, 0xd3, 0x7b, 0xa5, 0x5d, 0x9b, 0xd9, 0x4c, |
|
| 3369 |
+ 0x1e, 0xd7, 0xc3, 0x95, 0x22, 0x4b, 0x15, 0x9b, 0x31, 0xdb, 0xa5, 0x75, 0xb9, 0xeb, 0x4f, 0x1e, |
|
| 3370 |
+ 0xd7, 0x85, 0x33, 0xa2, 0x5c, 0x98, 0xa3, 0x71, 0x04, 0xdc, 0xbf, 0x22, 0x75, 0x1c, 0x34, 0x76, |
|
| 3371 |
+ 0x27, 0xb6, 0xe3, 0x45, 0x5f, 0x2a, 0x50, 0xff, 0x05, 0xc1, 0x5e, 0x87, 0xd9, 0xdd, 0x49, 0x9f, |
|
| 3372 |
+ 0x0f, 0x7c, 0x67, 0x2c, 0x1c, 0xe6, 0x1d, 0xc9, 0x4f, 0x8e, 0x0f, 0x20, 0xcb, 0x85, 0x4f, 0xcd, |
|
| 3373 |
+ 0x11, 0x2f, 0xa2, 0x6a, 0xba, 0xb6, 0xd5, 0xb8, 0x69, 0x2c, 0x0a, 0x36, 0xc2, 0x60, 0x49, 0x35, |
|
| 3374 |
+ 0xb5, 0x42, 0x8a, 0xcc, 0x22, 0xf0, 0x1e, 0x64, 0x1e, 0x33, 0xd7, 0x65, 0x67, 0x45, 0xad, 0x8a, |
|
| 3375 |
+ 0x6a, 0x1b, 0x24, 0xda, 0x61, 0x0c, 0x6b, 0xc2, 0x74, 0xdc, 0x62, 0xba, 0x8a, 0x6a, 0x69, 0x22, |
|
| 3376 |
+ 0xd7, 0xf8, 0x2e, 0xac, 0x73, 0xc7, 0x1b, 0xd0, 0xe2, 0x5a, 0x15, 0xd5, 0xf2, 0x8d, 0x92, 0xa1, |
|
| 3377 |
+ 0xaa, 0x35, 0x66, 0xc2, 0x8d, 0xde, 0xac, 0x5a, 0xa2, 0x40, 0xfd, 0x1b, 0x04, 0xf9, 0x30, 0x31, |
|
| 3378 |
+ 0x75, 0xe9, 0x40, 0x30, 0x1f, 0xd7, 0x21, 0xcf, 0xa9, 0x7f, 0xea, 0x0c, 0xe8, 0x89, 0x63, 0x29, |
|
| 3379 |
+ 0xb9, 0xb9, 0xe6, 0x56, 0x30, 0xad, 0x40, 0x57, 0xfd, 0xdc, 0x6e, 0x71, 0x02, 0x11, 0xd2, 0xb6, |
|
| 3380 |
+ 0x38, 0xbe, 0x0d, 0x1b, 0x1e, 0xb3, 0x14, 0xad, 0x49, 0x3a, 0x1f, 0x4c, 0x2b, 0xd9, 0x43, 0x66, |
|
| 3381 |
+ 0x49, 0x34, 0x1b, 0x1e, 0x46, 0x9c, 0x30, 0xf9, 0x50, 0x72, 0xe9, 0x39, 0xd7, 0x33, 0xf9, 0x50, |
|
| 3382 |
+ 0x72, 0xe1, 0x61, 0xdb, 0xe2, 0xfa, 0x53, 0x04, 0xd0, 0x61, 0xf6, 0xfb, 0xcc, 0x13, 0xf4, 0x33, |
|
| 3383 |
+ 0x81, 0xef, 0x00, 0xcc, 0xf5, 0x14, 0x51, 0x15, 0xd5, 0x72, 0xcd, 0xcd, 0x60, 0x5a, 0xc9, 0xc5, |
|
| 3384 |
+ 0x72, 0x48, 0x2e, 0x56, 0x83, 0x6f, 0x41, 0x36, 0x12, 0x23, 0xcd, 0xca, 0x35, 0x21, 0x98, 0x56, |
|
| 3385 |
+ 0x32, 0x4a, 0x0b, 0xc9, 0x28, 0x29, 0x21, 0x14, 0x29, 0x91, 0xde, 0x45, 0x90, 0x12, 0x42, 0x32, |
|
| 3386 |
+ 0x4a, 0x87, 0x7e, 0x0f, 0xb2, 0x1d, 0x66, 0x3f, 0x10, 0xc2, 0xc7, 0x05, 0x48, 0x0f, 0xe9, 0xe7, |
|
| 3387 |
+ 0x2a, 0x37, 0x09, 0x97, 0x78, 0x17, 0xd6, 0x4f, 0x4d, 0x77, 0x42, 0x55, 0x12, 0xa2, 0x36, 0xfa, |
|
| 3388 |
+ 0xb9, 0x26, 0x95, 0x3f, 0xa2, 0x9c, 0x9b, 0x36, 0xc5, 0xef, 0x42, 0x76, 0xa0, 0x8a, 0x90, 0xa1, |
|
| 3389 |
+ 0xf9, 0x46, 0x79, 0xc5, 0xa5, 0x47, 0xa5, 0x36, 0xd7, 0x2e, 0xa6, 0x95, 0x14, 0x99, 0x05, 0xe1, |
|
| 3390 |
+ 0x77, 0x20, 0x17, 0xf7, 0xa6, 0x4c, 0x74, 0xf5, 0x7d, 0xce, 0x61, 0xfc, 0x36, 0x64, 0x54, 0xf3, |
|
| 3391 |
+ 0xc8, 0xfa, 0x5e, 0xd6, 0x6d, 0x24, 0x82, 0xc3, 0x86, 0xb2, 0x4c, 0x61, 0xca, 0xde, 0xb9, 0x46, |
|
| 3392 |
+ 0xe4, 0x1a, 0xdf, 0x87, 0x75, 0x53, 0x08, 0x9f, 0x17, 0xd7, 0xab, 0xe9, 0x5a, 0xbe, 0xf1, 0xda, |
|
| 3393 |
+ 0x8a, 0x27, 0x85, 0x3e, 0x45, 0xfa, 0x15, 0xaf, 0x7f, 0x8f, 0x60, 0x37, 0x1a, 0x85, 0x3e, 0xed, |
|
| 3394 |
+ 0x30, 0x9b, 0x13, 0xfa, 0xe9, 0x84, 0x72, 0x81, 0x0f, 0x60, 0x83, 0x47, 0xcd, 0x16, 0xf9, 0x52, |
|
| 3395 |
+ 0x59, 0x25, 0x2f, 0xc2, 0x48, 0x1c, 0x80, 0x5b, 0x90, 0x65, 0x6a, 0xa6, 0x22, 0x47, 0xf6, 0x57, |
|
| 3396 |
+ 0xc5, 0x2e, 0x4e, 0x21, 0x99, 0x85, 0xea, 0x9f, 0xfc, 0x4b, 0xda, 0xec, 0xc6, 0xde, 0x83, 0x8d, |
|
| 3397 |
+ 0x91, 0x5a, 0xaa, 0xc6, 0x5f, 0x7d, 0x65, 0x51, 0x44, 0x54, 0x72, 0x1c, 0xa5, 0xbf, 0x0e, 0xa5, |
|
| 3398 |
+ 0x8e, 0xc3, 0x05, 0xf5, 0x92, 0xf9, 0x67, 0xa5, 0xeb, 0xbf, 0x21, 0xd8, 0x49, 0x1e, 0xcc, 0xf2, |
|
| 3399 |
+ 0xee, 0x81, 0x16, 0xf7, 0x76, 0x26, 0x98, 0x56, 0xb4, 0x76, 0x8b, 0x68, 0x8e, 0x75, 0xc9, 0x2a, |
|
| 3400 |
+ 0xed, 0x7f, 0x58, 0x95, 0x7e, 0x65, 0xab, 0xc2, 0x4e, 0x1f, 0xb8, 0x8c, 0xab, 0x17, 0xca, 0x06, |
|
| 3401 |
+ 0x51, 0x1b, 0xfd, 0x47, 0x04, 0xf8, 0xa3, 0x49, 0xdf, 0x75, 0xf8, 0x93, 0xa4, 0x7f, 0x07, 0xb0, |
|
| 3402 |
+ 0xcd, 0x13, 0x0f, 0x9b, 0x0f, 0x2c, 0x0e, 0xa6, 0x95, 0xad, 0x64, 0x9e, 0x76, 0x8b, 0x6c, 0x25, |
|
| 3403 |
+ 0xd1, 0xb6, 0x75, 0xc9, 0x7c, 0xed, 0x55, 0xcc, 0x9f, 0x6b, 0x4d, 0x27, 0xb5, 0xde, 0x80, 0x9d, |
|
| 3404 |
+ 0x84, 0x54, 0x42, 0xf9, 0x98, 0x79, 0x9c, 0xee, 0x3f, 0x47, 0x90, 0x8b, 0x47, 0x00, 0xdf, 0x01, |
|
| 3405 |
+ 0xdc, 0x39, 0xfa, 0xe0, 0xa4, 0xdb, 0x23, 0x0f, 0x1f, 0x3c, 0x3a, 0x39, 0x3e, 0xfc, 0xf0, 0xf0, |
|
| 3406 |
+ 0xe8, 0xe3, 0xc3, 0x42, 0xaa, 0xb4, 0x7b, 0xfe, 0xac, 0x5a, 0x88, 0xb1, 0x63, 0x6f, 0xe8, 0xb1, |
|
| 3407 |
+ 0x33, 0x0f, 0xef, 0xc3, 0xf5, 0x04, 0xdd, 0xed, 0xb5, 0x8e, 0x8e, 0x7b, 0x05, 0x54, 0xda, 0x39, |
|
| 3408 |
+ 0x7f, 0x56, 0xdd, 0x8e, 0xe1, 0xae, 0xb0, 0xd8, 0x44, 0x2c, 0xb2, 0x0f, 0x09, 0x29, 0x68, 0x8b, |
|
| 3409 |
+ 0x2c, 0xf5, 0xfd, 0xd2, 0xf5, 0xaf, 0x7f, 0x28, 0xa7, 0x7e, 0x7d, 0x5e, 0x9e, 0x0b, 0x6b, 0x3c, |
|
| 3410 |
+ 0x45, 0xb0, 0x16, 0xea, 0xc6, 0x5f, 0xc0, 0xe6, 0xa5, 0x9e, 0xc5, 0xb5, 0x65, 0xee, 0x2c, 0x9b, |
|
| 3411 |
+ 0xb8, 0xd2, 0xcb, 0xc9, 0xc8, 0x51, 0xfd, 0xc6, 0xef, 0x3f, 0xff, 0xfd, 0x9d, 0xb6, 0x0d, 0x9b, |
|
| 3412 |
+ 0x92, 0x7c, 0x73, 0x64, 0x7a, 0xa6, 0x4d, 0xfd, 0xbb, 0xa8, 0xf1, 0x93, 0x26, 0xdd, 0x6a, 0xca, |
|
| 3413 |
+ 0xff, 0x5c, 0xfc, 0x2d, 0x82, 0x9d, 0x25, 0x6d, 0x8e, 0x8d, 0xa5, 0x17, 0xb6, 0x72, 0x1e, 0x4a, |
|
| 3414 |
+ 0x6f, 0x5c, 0x21, 0x2c, 0x39, 0x20, 0xfa, 0x2d, 0xa9, 0xeb, 0x26, 0x5c, 0x53, 0xba, 0xce, 0x98, |
|
| 3415 |
+ 0x3f, 0xa4, 0xfe, 0x82, 0x4a, 0xfc, 0x15, 0x82, 0x7c, 0xe2, 0xae, 0xf1, 0xed, 0x65, 0xcf, 0x5f, |
|
| 3416 |
+ 0xec, 0xdb, 0xe5, 0x3a, 0x96, 0x34, 0xcd, 0x7f, 0xd2, 0x51, 0x43, 0xcd, 0xe2, 0xc5, 0x8b, 0x72, |
|
| 3417 |
+ 0xea, 0xcf, 0x17, 0xe5, 0xd4, 0x97, 0x41, 0x19, 0x5d, 0x04, 0x65, 0xf4, 0x47, 0x50, 0x46, 0x7f, |
|
| 3418 |
+ 0x05, 0x65, 0xd4, 0xcf, 0xc8, 0x17, 0xf7, 0x5b, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0x95, 0x7b, |
|
| 3419 |
+ 0x3c, 0x04, 0xe0, 0x08, 0x00, 0x00, |
|
| 3416 | 3420 |
} |
| ... | ... |
@@ -4,7 +4,7 @@ package docker.swarmkit.v1; |
| 4 | 4 |
|
| 5 | 5 |
import "gogoproto/gogo.proto"; |
| 6 | 6 |
import "google/protobuf/timestamp.proto"; |
| 7 |
-import "plugin/plugin.proto"; |
|
| 7 |
+import "github.com/docker/swarmkit/protobuf/plugin/plugin.proto"; |
|
| 8 | 8 |
|
| 9 | 9 |
// LogStream defines the stream from which the log message came. |
| 10 | 10 |
enum LogStream {
|
| ... | ... |
@@ -1,5 +1,5 @@ |
| 1 | 1 |
// Code generated by protoc-gen-gogo. |
| 2 |
-// source: objects.proto |
|
| 2 |
+// source: github.com/docker/swarmkit/api/objects.proto |
|
| 3 | 3 |
// DO NOT EDIT! |
| 4 | 4 |
|
| 5 | 5 |
package api |
| ... | ... |
@@ -7686,102 +7686,103 @@ var ( |
| 7686 | 7686 |
ErrIntOverflowObjects = fmt.Errorf("proto: integer overflow")
|
| 7687 | 7687 |
) |
| 7688 | 7688 |
|
| 7689 |
-func init() { proto.RegisterFile("objects.proto", fileDescriptorObjects) }
|
|
| 7689 |
+func init() { proto.RegisterFile("github.com/docker/swarmkit/api/objects.proto", fileDescriptorObjects) }
|
|
| 7690 | 7690 |
|
| 7691 | 7691 |
var fileDescriptorObjects = []byte{
|
| 7692 |
- // 1491 bytes of a gzipped FileDescriptorProto |
|
| 7693 |
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0xcf, 0x6f, 0x1b, 0x4f, |
|
| 7694 |
- 0x15, 0xef, 0xda, 0x1b, 0xff, 0x78, 0x4e, 0x4c, 0x98, 0x86, 0xb0, 0x35, 0xc1, 0x0e, 0xae, 0x40, |
|
| 7695 |
- 0x15, 0xaa, 0x9c, 0x12, 0x0a, 0x4a, 0x03, 0xa5, 0xb5, 0x93, 0xa8, 0xb5, 0x4a, 0x69, 0x34, 0x2d, |
|
| 7696 |
- 0x2d, 0xb7, 0x65, 0xb2, 0x3b, 0x75, 0x17, 0xaf, 0x77, 0x56, 0x3b, 0x63, 0x17, 0xdf, 0x38, 0x87, |
|
| 7697 |
- 0x3f, 0x20, 0x37, 0x0e, 0xfd, 0x17, 0xe0, 0xc2, 0x85, 0x03, 0xa7, 0x1e, 0x39, 0x21, 0x4e, 0x11, |
|
| 7698 |
- 0xf5, 0x7f, 0x81, 0xc4, 0xe1, 0xab, 0x99, 0x9d, 0xb5, 0x37, 0xf1, 0x3a, 0x49, 0xbf, 0xaa, 0xa2, |
|
| 7699 |
- 0xef, 0x29, 0x33, 0x3b, 0x9f, 0xcf, 0x9b, 0xf7, 0xde, 0xbc, 0x5f, 0x31, 0xac, 0xb0, 0xa3, 0x3f, |
|
| 7700 |
- 0x50, 0x47, 0xf0, 0x56, 0x18, 0x31, 0xc1, 0x10, 0x72, 0x99, 0xd3, 0xa7, 0x51, 0x8b, 0xbf, 0x27, |
|
| 7701 |
- 0xd1, 0xa0, 0xef, 0x89, 0xd6, 0xe8, 0x27, 0xb5, 0x8a, 0x18, 0x87, 0x54, 0x03, 0x6a, 0x15, 0x1e, |
|
| 7702 |
- 0x52, 0x27, 0xd9, 0x34, 0x7a, 0x8c, 0xf5, 0x7c, 0xba, 0xa5, 0x76, 0x47, 0xc3, 0xb7, 0x5b, 0xc2, |
|
| 7703 |
- 0x1b, 0x50, 0x2e, 0xc8, 0x20, 0xd4, 0x80, 0xb5, 0x1e, 0xeb, 0x31, 0xb5, 0xdc, 0x92, 0x2b, 0xfd, |
|
| 7704 |
- 0xf5, 0xd6, 0x79, 0x1a, 0x09, 0xc6, 0xfa, 0xe8, 0x66, 0xe8, 0x0f, 0x7b, 0x5e, 0xb0, 0x15, 0xff, |
|
| 7705 |
- 0x89, 0x3f, 0x36, 0xff, 0x6e, 0x80, 0xf9, 0x9c, 0x0a, 0x82, 0x7e, 0x01, 0xc5, 0x11, 0x8d, 0xb8, |
|
| 7706 |
- 0xc7, 0x02, 0xcb, 0xd8, 0x34, 0xee, 0x54, 0xb6, 0xbf, 0xd7, 0x9a, 0xd7, 0xb7, 0xf5, 0x3a, 0x86, |
|
| 7707 |
- 0x74, 0xcc, 0x8f, 0xa7, 0x8d, 0x1b, 0x38, 0x61, 0xa0, 0x07, 0x00, 0x4e, 0x44, 0x89, 0xa0, 0xae, |
|
| 7708 |
- 0x4d, 0x84, 0x95, 0x53, 0xfc, 0x5a, 0x2b, 0x56, 0xa5, 0x95, 0xa8, 0xd2, 0x7a, 0x95, 0x58, 0x80, |
|
| 7709 |
- 0xcb, 0x1a, 0xdd, 0x16, 0x92, 0x3a, 0x0c, 0xdd, 0x84, 0x9a, 0xbf, 0x9c, 0xaa, 0xd1, 0x6d, 0xd1, |
|
| 7710 |
- 0xfc, 0xab, 0x09, 0xe6, 0x6f, 0x98, 0x4b, 0xd1, 0x3a, 0xe4, 0x3c, 0x57, 0xa9, 0x5d, 0xee, 0x14, |
|
| 7711 |
- 0x26, 0xa7, 0x8d, 0x5c, 0x77, 0x1f, 0xe7, 0x3c, 0x17, 0x6d, 0x83, 0x39, 0xa0, 0x82, 0x68, 0x85, |
|
| 7712 |
- 0xac, 0x2c, 0x83, 0xa4, 0xed, 0xda, 0x1a, 0x85, 0x45, 0x3f, 0x07, 0x53, 0x3e, 0x83, 0xd6, 0x64, |
|
| 7713 |
- 0x23, 0x8b, 0x23, 0xef, 0x7c, 0x19, 0x52, 0x27, 0xe1, 0x49, 0x3c, 0x3a, 0x80, 0x8a, 0x4b, 0xb9, |
|
| 7714 |
- 0x13, 0x79, 0xa1, 0x90, 0x3e, 0x34, 0x15, 0xfd, 0xf6, 0x22, 0xfa, 0xfe, 0x0c, 0x8a, 0xd3, 0x3c, |
|
| 7715 |
- 0xf4, 0x4b, 0x28, 0x70, 0x41, 0xc4, 0x90, 0x5b, 0x4b, 0x4a, 0x42, 0x7d, 0xa1, 0x02, 0x0a, 0xa5, |
|
| 7716 |
- 0x55, 0xd0, 0x1c, 0xf4, 0x14, 0xaa, 0x03, 0x12, 0x90, 0x1e, 0x8d, 0x6c, 0x2d, 0xa5, 0xa0, 0xa4, |
|
| 7717 |
- 0xfc, 0x20, 0xd3, 0xf4, 0x18, 0x19, 0x0b, 0xc2, 0x2b, 0x83, 0xf4, 0x16, 0x1d, 0x00, 0x10, 0x21, |
|
| 7718 |
- 0x88, 0xf3, 0x6e, 0x40, 0x03, 0x61, 0x15, 0x95, 0x94, 0x1f, 0x66, 0xea, 0x42, 0xc5, 0x7b, 0x16, |
|
| 7719 |
- 0xf5, 0xdb, 0x53, 0x30, 0x4e, 0x11, 0xd1, 0x13, 0xa8, 0x38, 0x34, 0x12, 0xde, 0x5b, 0xcf, 0x21, |
|
| 7720 |
- 0x82, 0x5a, 0x25, 0x25, 0xa7, 0x91, 0x25, 0x67, 0x6f, 0x06, 0xd3, 0x46, 0xa5, 0x99, 0xe8, 0x1e, |
|
| 7721 |
- 0x98, 0x11, 0xf3, 0xa9, 0x55, 0xde, 0x34, 0xee, 0x54, 0x17, 0x3f, 0x0b, 0x66, 0x3e, 0xc5, 0x0a, |
|
| 7722 |
- 0xb9, 0xbb, 0x7e, 0x7c, 0xd2, 0x44, 0xb0, 0x5a, 0x32, 0x56, 0x0d, 0x15, 0x1a, 0xc6, 0x3d, 0xe3, |
|
| 7723 |
- 0x77, 0xc6, 0xef, 0x8d, 0xe6, 0xff, 0xf3, 0x50, 0x7c, 0x49, 0xa3, 0x91, 0xe7, 0x7c, 0xd9, 0xc0, |
|
| 7724 |
- 0x79, 0x70, 0x26, 0x70, 0x32, 0x6d, 0xd4, 0xd7, 0xce, 0xc5, 0xce, 0x0e, 0x94, 0x68, 0xe0, 0x86, |
|
| 7725 |
- 0xcc, 0x0b, 0x84, 0x0e, 0x9c, 0x4c, 0x03, 0x0f, 0x34, 0x06, 0x4f, 0xd1, 0xe8, 0x00, 0x56, 0xe2, |
|
| 7726 |
- 0x7c, 0xb0, 0xcf, 0x44, 0xcd, 0x66, 0x16, 0xfd, 0xb7, 0x0a, 0xa8, 0x9f, 0x7b, 0x79, 0x98, 0xda, |
|
| 7727 |
- 0xa1, 0x7d, 0x58, 0x09, 0x23, 0x3a, 0xf2, 0xd8, 0x90, 0xdb, 0xca, 0x88, 0xc2, 0x95, 0x8c, 0xc0, |
|
| 7728 |
- 0xcb, 0x09, 0x4b, 0xee, 0xd0, 0xaf, 0x60, 0x59, 0x92, 0xed, 0xa4, 0x8e, 0xc0, 0xa5, 0x75, 0x04, |
|
| 7729 |
- 0xab, 0x92, 0xa7, 0x37, 0xe8, 0x05, 0x7c, 0xe7, 0x8c, 0x16, 0x53, 0x41, 0x95, 0xcb, 0x05, 0xdd, |
|
| 7730 |
- 0x4c, 0x6b, 0xa2, 0x3f, 0xee, 0xa2, 0xe3, 0x93, 0x66, 0x15, 0x96, 0xd3, 0x21, 0xd0, 0xfc, 0x4b, |
|
| 7731 |
- 0x0e, 0x4a, 0x89, 0x23, 0xd1, 0x7d, 0xfd, 0x66, 0xc6, 0x62, 0xaf, 0x25, 0x58, 0x65, 0x6f, 0xfc, |
|
| 7732 |
- 0x5c, 0xf7, 0x61, 0x29, 0x64, 0x91, 0xe0, 0x56, 0x6e, 0x33, 0xbf, 0x28, 0x45, 0x0f, 0x59, 0x24, |
|
| 7733 |
- 0xf6, 0x58, 0xf0, 0xd6, 0xeb, 0xe1, 0x18, 0x8c, 0xde, 0x40, 0x65, 0xe4, 0x45, 0x62, 0x48, 0x7c, |
|
| 7734 |
- 0xdb, 0x0b, 0xb9, 0x95, 0x57, 0xdc, 0x1f, 0x5d, 0x74, 0x65, 0xeb, 0x75, 0x8c, 0xef, 0x1e, 0x76, |
|
| 7735 |
- 0xaa, 0x93, 0xd3, 0x06, 0x4c, 0xb7, 0x1c, 0x83, 0x16, 0xd5, 0x0d, 0x79, 0xed, 0x39, 0x94, 0xa7, |
|
| 7736 |
- 0x27, 0xe8, 0x2e, 0x40, 0x10, 0x67, 0xa4, 0x3d, 0x8d, 0xec, 0x95, 0xc9, 0x69, 0xa3, 0xac, 0xf3, |
|
| 7737 |
- 0xb4, 0xbb, 0x8f, 0xcb, 0x1a, 0xd0, 0x75, 0x11, 0x02, 0x93, 0xb8, 0x6e, 0xa4, 0xe2, 0xbc, 0x8c, |
|
| 7738 |
- 0xd5, 0xba, 0xf9, 0xe7, 0x22, 0x98, 0xaf, 0x08, 0xef, 0x5f, 0x77, 0x55, 0x95, 0x77, 0xce, 0x65, |
|
| 7739 |
- 0xc6, 0x5d, 0x00, 0x1e, 0xc7, 0x9b, 0x34, 0xc7, 0x9c, 0x99, 0xa3, 0xa3, 0x50, 0x9a, 0xa3, 0x01, |
|
| 7740 |
- 0xb1, 0x39, 0xdc, 0x67, 0x42, 0x25, 0x81, 0x89, 0xd5, 0x1a, 0xdd, 0x86, 0x62, 0xc0, 0x5c, 0x45, |
|
| 7741 |
- 0x2f, 0x28, 0x3a, 0x4c, 0x4e, 0x1b, 0x05, 0x59, 0x2b, 0xba, 0xfb, 0xb8, 0x20, 0x8f, 0xba, 0xae, |
|
| 7742 |
- 0x2c, 0x53, 0x24, 0x08, 0x98, 0x20, 0xb2, 0x06, 0x73, 0x5d, 0xee, 0x32, 0xa3, 0xbf, 0x3d, 0x83, |
|
| 7743 |
- 0x25, 0x65, 0x2a, 0xc5, 0x44, 0xaf, 0xe1, 0x66, 0xa2, 0x6f, 0x5a, 0x60, 0xe9, 0x73, 0x04, 0x22, |
|
| 7744 |
- 0x2d, 0x21, 0x75, 0x92, 0x6a, 0x0b, 0xe5, 0xc5, 0x6d, 0x41, 0x79, 0x30, 0xab, 0x2d, 0x74, 0x60, |
|
| 7745 |
- 0xc5, 0xa5, 0xdc, 0x8b, 0xa8, 0xab, 0xca, 0x04, 0x55, 0x99, 0x59, 0xdd, 0xfe, 0xfe, 0x45, 0x42, |
|
| 7746 |
- 0x28, 0x5e, 0xd6, 0x1c, 0xb5, 0x43, 0x6d, 0x28, 0xe9, 0xb8, 0xe1, 0x56, 0x45, 0xc5, 0xee, 0x15, |
|
| 7747 |
- 0xdb, 0xc1, 0x94, 0x76, 0xa6, 0xcc, 0x2d, 0x7f, 0x56, 0x99, 0x7b, 0x00, 0xe0, 0xb3, 0x9e, 0xed, |
|
| 7748 |
- 0x46, 0xde, 0x88, 0x46, 0xd6, 0x8a, 0x1e, 0x12, 0x32, 0xb8, 0xfb, 0x0a, 0x81, 0xcb, 0x3e, 0xeb, |
|
| 7749 |
- 0xc5, 0xcb, 0xb9, 0xa2, 0x54, 0xfd, 0xcc, 0xa2, 0x44, 0xa0, 0x46, 0x38, 0xf7, 0x7a, 0x01, 0x75, |
|
| 7750 |
- 0xed, 0x1e, 0x0d, 0x68, 0xe4, 0x39, 0x76, 0x44, 0x39, 0x1b, 0x46, 0x0e, 0xe5, 0xd6, 0xb7, 0x94, |
|
| 7751 |
- 0x27, 0x32, 0xdb, 0xfc, 0x93, 0x18, 0x8c, 0x35, 0x16, 0x5b, 0x89, 0x98, 0x73, 0x07, 0x7c, 0xb7, |
|
| 7752 |
- 0x76, 0x7c, 0xd2, 0x5c, 0x87, 0xb5, 0x74, 0x99, 0xda, 0x31, 0x1e, 0x1b, 0x4f, 0x8d, 0x43, 0xa3, |
|
| 7753 |
- 0xf9, 0xcf, 0x1c, 0x7c, 0x7b, 0xce, 0xa7, 0xe8, 0x67, 0x50, 0xd4, 0x5e, 0xbd, 0x68, 0x58, 0xd3, |
|
| 7754 |
- 0x3c, 0x9c, 0x60, 0xd1, 0x06, 0x94, 0x65, 0x8a, 0x53, 0xce, 0x69, 0x5c, 0xbc, 0xca, 0x78, 0xf6, |
|
| 7755 |
- 0x01, 0x59, 0x50, 0x24, 0xbe, 0x47, 0xe4, 0x59, 0x5e, 0x9d, 0x25, 0x5b, 0x34, 0x84, 0xf5, 0xd8, |
|
| 7756 |
- 0xf5, 0xf6, 0xac, 0xb5, 0xdb, 0x2c, 0x14, 0xdc, 0x32, 0x95, 0xfd, 0x8f, 0xae, 0x14, 0x09, 0xfa, |
|
| 7757 |
- 0x71, 0x66, 0x1f, 0x5e, 0x84, 0x82, 0x1f, 0x04, 0x22, 0x1a, 0xe3, 0x35, 0x37, 0xe3, 0xa8, 0xf6, |
|
| 7758 |
- 0x04, 0x6e, 0x2d, 0xa4, 0xa0, 0x55, 0xc8, 0xf7, 0xe9, 0x38, 0x2e, 0x4f, 0x58, 0x2e, 0xd1, 0x1a, |
|
| 7759 |
- 0x2c, 0x8d, 0x88, 0x3f, 0xa4, 0xba, 0x9a, 0xc5, 0x9b, 0xdd, 0xdc, 0x8e, 0xd1, 0xfc, 0x90, 0x83, |
|
| 7760 |
- 0xa2, 0x56, 0xe7, 0xba, 0x5b, 0xbe, 0xbe, 0x76, 0xae, 0xb0, 0x3d, 0x84, 0x65, 0xed, 0xd2, 0x38, |
|
| 7761 |
- 0x23, 0xcd, 0x4b, 0x63, 0xba, 0x12, 0xe3, 0xe3, 0x6c, 0x7c, 0x08, 0xa6, 0x17, 0x92, 0x81, 0x6e, |
|
| 7762 |
- 0xf7, 0x99, 0x37, 0x77, 0x0f, 0xdb, 0xcf, 0x5f, 0x84, 0x71, 0x61, 0x29, 0x4d, 0x4e, 0x1b, 0xa6, |
|
| 7763 |
- 0xfc, 0x80, 0x15, 0x2d, 0xb3, 0x31, 0xfe, 0x6d, 0x09, 0x8a, 0x7b, 0xfe, 0x90, 0x0b, 0x1a, 0x5d, |
|
| 7764 |
- 0xb7, 0x93, 0xf4, 0xb5, 0x73, 0x4e, 0xda, 0x83, 0x62, 0xc4, 0x98, 0xb0, 0x1d, 0x72, 0x91, 0x7f, |
|
| 7765 |
- 0x30, 0x63, 0x62, 0xaf, 0xdd, 0xa9, 0x4a, 0xa2, 0xac, 0xed, 0xf1, 0x1e, 0x17, 0x24, 0x75, 0x8f, |
|
| 7766 |
- 0xa0, 0x37, 0xb0, 0x9e, 0x74, 0xc4, 0x23, 0xc6, 0x04, 0x17, 0x11, 0x09, 0xed, 0x3e, 0x1d, 0xcb, |
|
| 7767 |
- 0x59, 0x29, 0xbf, 0x68, 0x36, 0x3e, 0x08, 0x9c, 0x68, 0xac, 0x9c, 0xf7, 0x8c, 0x8e, 0xf1, 0x9a, |
|
| 7768 |
- 0x16, 0xd0, 0x49, 0xf8, 0xcf, 0xe8, 0x98, 0xa3, 0x47, 0xb0, 0x41, 0xa7, 0x30, 0x29, 0xd1, 0xf6, |
|
| 7769 |
- 0xc9, 0x40, 0xf6, 0x7a, 0xdb, 0xf1, 0x99, 0xd3, 0x57, 0xed, 0xc6, 0xc4, 0xb7, 0x68, 0x5a, 0xd4, |
|
| 7770 |
- 0xaf, 0x63, 0xc4, 0x9e, 0x04, 0x20, 0x0e, 0xd6, 0x91, 0x4f, 0x9c, 0xbe, 0xef, 0x71, 0xf9, 0xef, |
|
| 7771 |
- 0x4f, 0x6a, 0xdc, 0x95, 0x1d, 0x43, 0xea, 0xb6, 0x73, 0x81, 0xb7, 0x5a, 0x9d, 0x19, 0x37, 0x35, |
|
| 7772 |
- 0x3c, 0xeb, 0x8c, 0xfa, 0xee, 0x51, 0xf6, 0x29, 0xea, 0x40, 0x65, 0x18, 0xc8, 0xeb, 0x63, 0x1f, |
|
| 7773 |
- 0x94, 0xaf, 0xea, 0x03, 0x88, 0x59, 0xd2, 0xf2, 0xda, 0x08, 0x36, 0x2e, 0xba, 0x3c, 0x23, 0x37, |
|
| 7774 |
- 0x1f, 0xa7, 0x73, 0xb3, 0xb2, 0xfd, 0xe3, 0xac, 0xfb, 0xb2, 0x45, 0xa6, 0xf2, 0x38, 0x33, 0x6c, |
|
| 7775 |
- 0xff, 0x61, 0x40, 0xe1, 0x25, 0x75, 0x22, 0x2a, 0xbe, 0x68, 0xd4, 0xee, 0x9c, 0x89, 0xda, 0x7a, |
|
| 7776 |
- 0xf6, 0x20, 0x2c, 0x6f, 0x9d, 0x0b, 0xda, 0x1a, 0x94, 0xbc, 0x40, 0xd0, 0x28, 0x20, 0xbe, 0x8a, |
|
| 7777 |
- 0xda, 0x12, 0x9e, 0xee, 0x33, 0x0d, 0xf8, 0x60, 0x40, 0x21, 0x9e, 0x14, 0xaf, 0xdb, 0x80, 0xf8, |
|
| 7778 |
- 0xd6, 0xf3, 0x06, 0x64, 0x2a, 0xf9, 0x3f, 0x03, 0x4a, 0x49, 0xc3, 0xfa, 0xa2, 0x6a, 0x9e, 0x9b, |
|
| 7779 |
- 0xbc, 0xf2, 0x5f, 0x7b, 0xf2, 0x42, 0x60, 0xf6, 0xbd, 0x40, 0xcf, 0x88, 0x58, 0xad, 0x51, 0x0b, |
|
| 7780 |
- 0x8a, 0x21, 0x19, 0xfb, 0x8c, 0xb8, 0xba, 0x50, 0xae, 0xcd, 0xfd, 0xb0, 0xd0, 0x0e, 0xc6, 0x38, |
|
| 7781 |
- 0x01, 0xed, 0xae, 0x1d, 0x9f, 0x34, 0x57, 0xa1, 0x9a, 0xb6, 0xfc, 0x9d, 0xd1, 0xfc, 0xb7, 0x01, |
|
| 7782 |
- 0xe5, 0x83, 0x3f, 0x0a, 0x1a, 0xa8, 0x79, 0xe0, 0x1b, 0x69, 0xfc, 0xe6, 0xfc, 0x8f, 0x0f, 0xe5, |
|
| 7783 |
- 0x33, 0xbf, 0x2b, 0x64, 0x3d, 0x6a, 0xc7, 0xfa, 0xf8, 0xa9, 0x7e, 0xe3, 0x3f, 0x9f, 0xea, 0x37, |
|
| 7784 |
- 0xfe, 0x34, 0xa9, 0x1b, 0x1f, 0x27, 0x75, 0xe3, 0x5f, 0x93, 0xba, 0xf1, 0xdf, 0x49, 0xdd, 0x38, |
|
| 7785 |
- 0x2a, 0x28, 0xff, 0xfc, 0xf4, 0xab, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe4, 0x48, 0xcb, 0x39, 0xc2, |
|
| 7786 |
- 0x12, 0x00, 0x00, |
|
| 7692 |
+ // 1513 bytes of a gzipped FileDescriptorProto |
|
| 7693 |
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0x4d, 0x6f, 0x1b, 0x4f, |
|
| 7694 |
+ 0x19, 0xef, 0xda, 0x1b, 0xbf, 0x3c, 0x4e, 0x4c, 0x98, 0x7f, 0x08, 0x5b, 0x13, 0xec, 0xe0, 0x0a, |
|
| 7695 |
+ 0x54, 0x55, 0x95, 0x53, 0x42, 0x81, 0x34, 0x50, 0x5a, 0x3b, 0x89, 0x5a, 0xab, 0x94, 0x46, 0xd3, |
|
| 7696 |
+ 0xd2, 0x72, 0x5b, 0x26, 0xbb, 0x53, 0x77, 0xf1, 0x7a, 0x67, 0xb5, 0x33, 0x76, 0xf1, 0x8d, 0x73, |
|
| 7697 |
+ 0xf8, 0x00, 0xb9, 0x71, 0xe8, 0x57, 0x80, 0x0b, 0x17, 0x0e, 0x9c, 0x7a, 0xe4, 0x84, 0x38, 0x45, |
|
| 7698 |
+ 0xd4, 0xdf, 0x02, 0x89, 0x03, 0x9a, 0xd9, 0x59, 0x7b, 0x13, 0xaf, 0x93, 0x14, 0x55, 0xd1, 0xff, |
|
| 7699 |
+ 0x94, 0x99, 0x9d, 0xdf, 0xef, 0x79, 0x9b, 0xe7, 0x65, 0x62, 0xb8, 0xdb, 0xf3, 0xc4, 0xbb, 0xe1, |
|
| 7700 |
+ 0x51, 0xcb, 0x61, 0x83, 0x2d, 0x97, 0x39, 0x7d, 0x1a, 0x6d, 0xf1, 0xf7, 0x24, 0x1a, 0xf4, 0x3d, |
|
| 7701 |
+ 0xb1, 0x45, 0x42, 0x6f, 0x8b, 0x1d, 0xfd, 0x8e, 0x3a, 0x82, 0xb7, 0xc2, 0x88, 0x09, 0x86, 0x50, |
|
| 7702 |
+ 0x0c, 0x69, 0x25, 0x90, 0xd6, 0xe8, 0x87, 0xb5, 0x3b, 0x97, 0x48, 0x10, 0xe3, 0x90, 0x6a, 0xfe, |
|
| 7703 |
+ 0xa5, 0x58, 0x1e, 0x52, 0x27, 0xc1, 0x36, 0x7a, 0x8c, 0xf5, 0x7c, 0xba, 0xa5, 0x76, 0x47, 0xc3, |
|
| 7704 |
+ 0xb7, 0x5b, 0xc2, 0x1b, 0x50, 0x2e, 0xc8, 0x20, 0xd4, 0x80, 0xb5, 0x1e, 0xeb, 0x31, 0xb5, 0xdc, |
|
| 7705 |
+ 0x92, 0x2b, 0xfd, 0xf5, 0xe6, 0x79, 0x1a, 0x09, 0xc6, 0xfa, 0xe8, 0xa7, 0x17, 0x68, 0x9f, 0xc2, |
|
| 7706 |
+ 0x43, 0x7f, 0xd8, 0xf3, 0x02, 0xfd, 0x27, 0x26, 0x36, 0xff, 0x6a, 0x80, 0xf9, 0x9c, 0x0a, 0x82, |
|
| 7707 |
+ 0x7e, 0x06, 0xc5, 0x11, 0x8d, 0xb8, 0xc7, 0x02, 0xcb, 0xd8, 0x34, 0x6e, 0x57, 0xb6, 0xbf, 0xd3, |
|
| 7708 |
+ 0x9a, 0x8f, 0x48, 0xeb, 0x75, 0x0c, 0xe9, 0x98, 0x1f, 0x4f, 0x1b, 0x37, 0x70, 0xc2, 0x40, 0x0f, |
|
| 7709 |
+ 0x00, 0x9c, 0x88, 0x12, 0x41, 0x5d, 0x9b, 0x08, 0x2b, 0xa7, 0xf8, 0xb5, 0x56, 0x6c, 0x6e, 0x2b, |
|
| 7710 |
+ 0xd1, 0xdf, 0x7a, 0x95, 0x78, 0x89, 0xcb, 0x1a, 0xdd, 0x16, 0x92, 0x3a, 0x0c, 0xdd, 0x84, 0x9a, |
|
| 7711 |
+ 0xbf, 0x9c, 0xaa, 0xd1, 0x6d, 0xd1, 0xfc, 0xb3, 0x09, 0xe6, 0xaf, 0x98, 0x4b, 0xd1, 0x3a, 0xe4, |
|
| 7712 |
+ 0x3c, 0x57, 0x99, 0x5d, 0xee, 0x14, 0x26, 0xa7, 0x8d, 0x5c, 0x77, 0x1f, 0xe7, 0x3c, 0x17, 0x6d, |
|
| 7713 |
+ 0x83, 0x39, 0xa0, 0x82, 0x68, 0x83, 0xac, 0x2c, 0x87, 0xa4, 0xef, 0xda, 0x1b, 0x85, 0x45, 0x3f, |
|
| 7714 |
+ 0x01, 0x53, 0x5e, 0x95, 0xb6, 0x64, 0x23, 0x8b, 0x23, 0x75, 0xbe, 0x0c, 0xa9, 0x93, 0xf0, 0x24, |
|
| 7715 |
+ 0x1e, 0x1d, 0x40, 0xc5, 0xa5, 0xdc, 0x89, 0xbc, 0x50, 0xc8, 0x18, 0x9a, 0x8a, 0x7e, 0x6b, 0x11, |
|
| 7716 |
+ 0x7d, 0x7f, 0x06, 0xc5, 0x69, 0x1e, 0xfa, 0x39, 0x14, 0xb8, 0x20, 0x62, 0xc8, 0xad, 0x25, 0x25, |
|
| 7717 |
+ 0xa1, 0xbe, 0xd0, 0x00, 0x85, 0xd2, 0x26, 0x68, 0x0e, 0x7a, 0x0a, 0xd5, 0x01, 0x09, 0x48, 0x8f, |
|
| 7718 |
+ 0x46, 0xb6, 0x96, 0x52, 0x50, 0x52, 0xbe, 0x97, 0xe9, 0x7a, 0x8c, 0x8c, 0x05, 0xe1, 0x95, 0x41, |
|
| 7719 |
+ 0x7a, 0x8b, 0x0e, 0x00, 0x88, 0x10, 0xc4, 0x79, 0x37, 0xa0, 0x81, 0xb0, 0x8a, 0x4a, 0xca, 0xf7, |
|
| 7720 |
+ 0x33, 0x6d, 0xa1, 0xe2, 0x3d, 0x8b, 0xfa, 0xed, 0x29, 0x18, 0xa7, 0x88, 0xe8, 0x09, 0x54, 0x1c, |
|
| 7721 |
+ 0x1a, 0x09, 0xef, 0xad, 0xe7, 0x10, 0x41, 0xad, 0x92, 0x92, 0xd3, 0xc8, 0x92, 0xb3, 0x37, 0x83, |
|
| 7722 |
+ 0x69, 0xa7, 0xd2, 0x4c, 0x74, 0x0f, 0xcc, 0x88, 0xf9, 0xd4, 0x2a, 0x6f, 0x1a, 0xb7, 0xab, 0x8b, |
|
| 7723 |
+ 0xaf, 0x05, 0x33, 0x9f, 0x62, 0x85, 0xdc, 0x5d, 0x3f, 0x3e, 0x69, 0x22, 0x58, 0x2d, 0x19, 0xab, |
|
| 7724 |
+ 0x86, 0x4a, 0x0d, 0xe3, 0x9e, 0xf1, 0x1b, 0xe3, 0xb7, 0x46, 0xf3, 0xbf, 0x79, 0x28, 0xbe, 0xa4, |
|
| 7725 |
+ 0xd1, 0xc8, 0x73, 0xbe, 0x6c, 0xe2, 0x3c, 0x38, 0x93, 0x38, 0x99, 0x3e, 0x6a, 0xb5, 0x73, 0xb9, |
|
| 7726 |
+ 0xb3, 0x03, 0x25, 0x1a, 0xb8, 0x21, 0xf3, 0x02, 0xa1, 0x13, 0x27, 0xd3, 0xc1, 0x03, 0x8d, 0xc1, |
|
| 7727 |
+ 0x53, 0x34, 0x3a, 0x80, 0x95, 0xb8, 0x1e, 0xec, 0x33, 0x59, 0xb3, 0x99, 0x45, 0xff, 0xb5, 0x02, |
|
| 7728 |
+ 0xea, 0xeb, 0x5e, 0x1e, 0xa6, 0x76, 0x68, 0x1f, 0x56, 0xc2, 0x88, 0x8e, 0x3c, 0x36, 0xe4, 0xb6, |
|
| 7729 |
+ 0x72, 0xa2, 0x70, 0x25, 0x27, 0xf0, 0x72, 0xc2, 0x92, 0x3b, 0xf4, 0x0b, 0x58, 0x96, 0x64, 0x3b, |
|
| 7730 |
+ 0xe9, 0x23, 0x70, 0x69, 0x1f, 0xc1, 0x15, 0x49, 0xd0, 0x1b, 0xf4, 0x02, 0xbe, 0x75, 0xc6, 0x8a, |
|
| 7731 |
+ 0xa9, 0xa0, 0xca, 0xe5, 0x82, 0xbe, 0x4a, 0x5b, 0xa2, 0x3f, 0xee, 0xa2, 0xe3, 0x93, 0x66, 0x15, |
|
| 7732 |
+ 0x96, 0xd3, 0x29, 0xd0, 0xfc, 0x53, 0x0e, 0x4a, 0x49, 0x20, 0xd1, 0x7d, 0x7d, 0x67, 0xc6, 0xe2, |
|
| 7733 |
+ 0xa8, 0x25, 0x58, 0xe5, 0x6f, 0x7c, 0x5d, 0xf7, 0x61, 0x29, 0x64, 0x91, 0xe0, 0x56, 0x6e, 0x33, |
|
| 7734 |
+ 0xbf, 0xa8, 0x44, 0x0f, 0x59, 0x24, 0xf6, 0x58, 0xf0, 0xd6, 0xeb, 0xe1, 0x18, 0x8c, 0xde, 0x40, |
|
| 7735 |
+ 0x65, 0xe4, 0x45, 0x62, 0x48, 0x7c, 0xdb, 0x0b, 0xb9, 0x95, 0x57, 0xdc, 0x1f, 0x5c, 0xa4, 0xb2, |
|
| 7736 |
+ 0xf5, 0x3a, 0xc6, 0x77, 0x0f, 0x3b, 0xd5, 0xc9, 0x69, 0x03, 0xa6, 0x5b, 0x8e, 0x41, 0x8b, 0xea, |
|
| 7737 |
+ 0x86, 0xbc, 0xf6, 0x1c, 0xca, 0xd3, 0x13, 0x74, 0x17, 0x20, 0x88, 0x2b, 0xd2, 0x9e, 0x66, 0xf6, |
|
| 7738 |
+ 0xca, 0xe4, 0xb4, 0x51, 0xd6, 0x75, 0xda, 0xdd, 0xc7, 0x65, 0x0d, 0xe8, 0xba, 0x08, 0x81, 0x49, |
|
| 7739 |
+ 0x5c, 0x37, 0x52, 0x79, 0x5e, 0xc6, 0x6a, 0xdd, 0xfc, 0x63, 0x11, 0xcc, 0x57, 0x84, 0xf7, 0xaf, |
|
| 7740 |
+ 0xbb, 0xab, 0x4a, 0x9d, 0x73, 0x95, 0x71, 0x17, 0x80, 0xc7, 0xf9, 0x26, 0xdd, 0x31, 0x67, 0xee, |
|
| 7741 |
+ 0xe8, 0x2c, 0x94, 0xee, 0x68, 0x40, 0xec, 0x0e, 0xf7, 0x99, 0x50, 0x45, 0x60, 0x62, 0xb5, 0x46, |
|
| 7742 |
+ 0xb7, 0xa0, 0x18, 0x30, 0x57, 0xd1, 0x0b, 0x8a, 0x0e, 0x93, 0xd3, 0x46, 0x41, 0xf6, 0x8a, 0xee, |
|
| 7743 |
+ 0x3e, 0x2e, 0xc8, 0xa3, 0xae, 0x2b, 0xdb, 0x14, 0x09, 0x02, 0x26, 0x88, 0xec, 0xc1, 0x5c, 0xb7, |
|
| 7744 |
+ 0xbb, 0xcc, 0xec, 0x6f, 0xcf, 0x60, 0x49, 0x9b, 0x4a, 0x31, 0xd1, 0x6b, 0xf8, 0x2a, 0xb1, 0x37, |
|
| 7745 |
+ 0x2d, 0xb0, 0xf4, 0x39, 0x02, 0x91, 0x96, 0x90, 0x3a, 0x49, 0x8d, 0x85, 0xf2, 0xe2, 0xb1, 0xa0, |
|
| 7746 |
+ 0x22, 0x98, 0x35, 0x16, 0x3a, 0xb0, 0xe2, 0x52, 0xee, 0x45, 0xd4, 0x55, 0x6d, 0x82, 0xaa, 0xca, |
|
| 7747 |
+ 0xac, 0x6e, 0x7f, 0xf7, 0x22, 0x21, 0x14, 0x2f, 0x6b, 0x8e, 0xda, 0xa1, 0x36, 0x94, 0x74, 0xde, |
|
| 7748 |
+ 0x70, 0xab, 0xa2, 0x72, 0xf7, 0x8a, 0xe3, 0x60, 0x4a, 0x3b, 0xd3, 0xe6, 0x96, 0x3f, 0xab, 0xcd, |
|
| 7749 |
+ 0x3d, 0x00, 0xf0, 0x59, 0xcf, 0x76, 0x23, 0x6f, 0x44, 0x23, 0x6b, 0x45, 0x3f, 0x12, 0x32, 0xb8, |
|
| 7750 |
+ 0xfb, 0x0a, 0x81, 0xcb, 0x3e, 0xeb, 0xc5, 0xcb, 0xb9, 0xa6, 0x54, 0xfd, 0xcc, 0xa6, 0x44, 0xa0, |
|
| 7751 |
+ 0x46, 0x38, 0xf7, 0x7a, 0x01, 0x75, 0xed, 0x1e, 0x0d, 0x68, 0xe4, 0x39, 0x76, 0x44, 0x39, 0x1b, |
|
| 7752 |
+ 0x46, 0x0e, 0xe5, 0xd6, 0x37, 0x54, 0x24, 0x32, 0xc7, 0xfc, 0x93, 0x18, 0x8c, 0x35, 0x16, 0x5b, |
|
| 7753 |
+ 0x89, 0x98, 0x73, 0x07, 0x7c, 0xb7, 0x76, 0x7c, 0xd2, 0x5c, 0x87, 0xb5, 0x74, 0x9b, 0xda, 0x31, |
|
| 7754 |
+ 0x1e, 0x1b, 0x4f, 0x8d, 0x43, 0xa3, 0xf9, 0xf7, 0x1c, 0x7c, 0x73, 0x2e, 0xa6, 0xe8, 0xc7, 0x50, |
|
| 7755 |
+ 0xd4, 0x51, 0xbd, 0xe8, 0xb1, 0xa6, 0x79, 0x38, 0xc1, 0xa2, 0x0d, 0x28, 0xcb, 0x12, 0xa7, 0x9c, |
|
| 7756 |
+ 0xd3, 0xb8, 0x79, 0x95, 0xf1, 0xec, 0x03, 0xb2, 0xa0, 0x48, 0x7c, 0x8f, 0xc8, 0xb3, 0xbc, 0x3a, |
|
| 7757 |
+ 0x4b, 0xb6, 0x68, 0x08, 0xeb, 0x71, 0xe8, 0xed, 0xd9, 0x68, 0xb7, 0x59, 0x28, 0xb8, 0x65, 0x2a, |
|
| 7758 |
+ 0xff, 0x1f, 0x5d, 0x29, 0x13, 0xf4, 0xe5, 0xcc, 0x3e, 0xbc, 0x08, 0x05, 0x3f, 0x08, 0x44, 0x34, |
|
| 7759 |
+ 0xc6, 0x6b, 0x6e, 0xc6, 0x51, 0xed, 0x09, 0xdc, 0x5c, 0x48, 0x41, 0xab, 0x90, 0xef, 0xd3, 0x71, |
|
| 7760 |
+ 0xdc, 0x9e, 0xb0, 0x5c, 0xa2, 0x35, 0x58, 0x1a, 0x11, 0x7f, 0x48, 0x75, 0x37, 0x8b, 0x37, 0xbb, |
|
| 7761 |
+ 0xb9, 0x1d, 0xa3, 0xf9, 0x21, 0x07, 0x45, 0x6d, 0xce, 0x75, 0x8f, 0x7c, 0xad, 0x76, 0xae, 0xb1, |
|
| 7762 |
+ 0x3d, 0x84, 0x65, 0x1d, 0xd2, 0xb8, 0x22, 0xcd, 0x4b, 0x73, 0xba, 0x12, 0xe3, 0xe3, 0x6a, 0x7c, |
|
| 7763 |
+ 0x08, 0xa6, 0x17, 0x92, 0x81, 0x1e, 0xf7, 0x99, 0x9a, 0xbb, 0x87, 0xed, 0xe7, 0x2f, 0xc2, 0xb8, |
|
| 7764 |
+ 0xb1, 0x94, 0x26, 0xa7, 0x0d, 0x53, 0x7e, 0xc0, 0x8a, 0x96, 0x39, 0x18, 0xff, 0xb2, 0x04, 0xc5, |
|
| 7765 |
+ 0x3d, 0x7f, 0xc8, 0x05, 0x8d, 0xae, 0x3b, 0x48, 0x5a, 0xed, 0x5c, 0x90, 0xf6, 0xa0, 0x18, 0x31, |
|
| 7766 |
+ 0x26, 0x6c, 0x87, 0x5c, 0x14, 0x1f, 0xcc, 0x98, 0xd8, 0x6b, 0x77, 0xaa, 0x92, 0x28, 0x7b, 0x7b, |
|
| 7767 |
+ 0xbc, 0xc7, 0x05, 0x49, 0xdd, 0x23, 0xe8, 0x0d, 0xac, 0x27, 0x13, 0xf1, 0x88, 0x31, 0xc1, 0x45, |
|
| 7768 |
+ 0x44, 0x42, 0xbb, 0x4f, 0xc7, 0xf2, 0xad, 0x94, 0x5f, 0xf4, 0x36, 0x3e, 0x08, 0x9c, 0x68, 0xac, |
|
| 7769 |
+ 0x82, 0xf7, 0x8c, 0x8e, 0xf1, 0x9a, 0x16, 0xd0, 0x49, 0xf8, 0xcf, 0xe8, 0x98, 0xa3, 0x47, 0xb0, |
|
| 7770 |
+ 0x41, 0xa7, 0x30, 0x29, 0xd1, 0xf6, 0xc9, 0x40, 0xce, 0x7a, 0xdb, 0xf1, 0x99, 0xd3, 0x57, 0xe3, |
|
| 7771 |
+ 0xc6, 0xc4, 0x37, 0x69, 0x5a, 0xd4, 0x2f, 0x63, 0xc4, 0x9e, 0x04, 0x20, 0x0e, 0xd6, 0x91, 0x4f, |
|
| 7772 |
+ 0x9c, 0xbe, 0xef, 0x71, 0xf9, 0xef, 0x4f, 0xea, 0xb9, 0x2b, 0x27, 0x86, 0xb4, 0x6d, 0xe7, 0x82, |
|
| 7773 |
+ 0x68, 0xb5, 0x3a, 0x33, 0x6e, 0xea, 0xf1, 0xac, 0x2b, 0xea, 0xdb, 0x47, 0xd9, 0xa7, 0xa8, 0x03, |
|
| 7774 |
+ 0x95, 0x61, 0x20, 0xd5, 0xc7, 0x31, 0x28, 0x5f, 0x35, 0x06, 0x10, 0xb3, 0xa4, 0xe7, 0xb5, 0x11, |
|
| 7775 |
+ 0x6c, 0x5c, 0xa4, 0x3c, 0xa3, 0x36, 0x1f, 0xa7, 0x6b, 0xb3, 0xb2, 0x7d, 0x27, 0x4b, 0x5f, 0xb6, |
|
| 7776 |
+ 0xc8, 0x54, 0x1d, 0x67, 0xa6, 0xed, 0xdf, 0x0c, 0x28, 0xbc, 0xa4, 0x4e, 0x44, 0xc5, 0x17, 0xcd, |
|
| 7777 |
+ 0xda, 0x9d, 0x33, 0x59, 0x5b, 0xcf, 0x7e, 0x08, 0x4b, 0xad, 0x73, 0x49, 0x5b, 0x83, 0x92, 0x17, |
|
| 7778 |
+ 0x08, 0x1a, 0x05, 0xc4, 0x57, 0x59, 0x5b, 0xc2, 0xd3, 0x7d, 0xa6, 0x03, 0x1f, 0x0c, 0x28, 0xc4, |
|
| 7779 |
+ 0x2f, 0xc5, 0xeb, 0x76, 0x20, 0xd6, 0x7a, 0xde, 0x81, 0x4c, 0x23, 0xff, 0x63, 0x40, 0x29, 0x19, |
|
| 7780 |
+ 0x58, 0x5f, 0xd4, 0xcc, 0x73, 0x2f, 0xaf, 0xfc, 0xff, 0xfd, 0xf2, 0x42, 0x60, 0xf6, 0xbd, 0x40, |
|
| 7781 |
+ 0xbf, 0x11, 0xb1, 0x5a, 0xa3, 0x16, 0x14, 0x43, 0x32, 0xf6, 0x19, 0x71, 0x75, 0xa3, 0x5c, 0x9b, |
|
| 7782 |
+ 0xfb, 0x61, 0xa1, 0x1d, 0x8c, 0x71, 0x02, 0xda, 0x5d, 0x3b, 0x3e, 0x69, 0xae, 0x42, 0x35, 0xed, |
|
| 7783 |
+ 0xf9, 0x3b, 0xa3, 0xf9, 0x4f, 0x03, 0xca, 0x07, 0xbf, 0x17, 0x34, 0x50, 0xef, 0x81, 0xaf, 0xa5, |
|
| 7784 |
+ 0xf3, 0x9b, 0xf3, 0x3f, 0x3e, 0x94, 0xcf, 0xfc, 0xae, 0x90, 0x75, 0xa9, 0x1d, 0xeb, 0xe3, 0xa7, |
|
| 7785 |
+ 0xfa, 0x8d, 0x7f, 0x7d, 0xaa, 0xdf, 0xf8, 0xc3, 0xa4, 0x6e, 0x7c, 0x9c, 0xd4, 0x8d, 0x7f, 0x4c, |
|
| 7786 |
+ 0xea, 0xc6, 0xbf, 0x27, 0x75, 0xe3, 0xa8, 0xa0, 0xe2, 0xf3, 0xa3, 0xff, 0x05, 0x00, 0x00, 0xff, |
|
| 7787 |
+ 0xff, 0x34, 0x0b, 0x7d, 0x79, 0x43, 0x13, 0x00, 0x00, |
|
| 7787 | 7788 |
} |
| ... | ... |
@@ -2,12 +2,12 @@ syntax = "proto3"; |
| 2 | 2 |
|
| 3 | 3 |
package docker.swarmkit.v1; |
| 4 | 4 |
|
| 5 |
-import "types.proto"; |
|
| 6 |
-import "specs.proto"; |
|
| 5 |
+import "github.com/docker/swarmkit/api/types.proto"; |
|
| 6 |
+import "github.com/docker/swarmkit/api/specs.proto"; |
|
| 7 | 7 |
import "google/protobuf/timestamp.proto"; |
| 8 | 8 |
import "gogoproto/gogo.proto"; |
| 9 | 9 |
import "google/protobuf/any.proto"; |
| 10 |
-import "plugin/plugin.proto"; |
|
| 10 |
+import "github.com/docker/swarmkit/protobuf/plugin/plugin.proto"; |
|
| 11 | 11 |
|
| 12 | 12 |
// This file contains definitions for all first-class objects in the cluster |
| 13 | 13 |
// API. Such types typically have a corresponding specification, with the |
| ... | ... |
@@ -1,5 +1,5 @@ |
| 1 | 1 |
// Code generated by protoc-gen-gogo. |
| 2 |
-// source: raft.proto |
|
| 2 |
+// source: github.com/docker/swarmkit/api/raft.proto |
|
| 3 | 3 |
// DO NOT EDIT! |
| 4 | 4 |
|
| 5 | 5 |
package api |
| ... | ... |
@@ -907,7 +907,7 @@ var _Raft_serviceDesc = grpc.ServiceDesc{
|
| 907 | 907 |
}, |
| 908 | 908 |
}, |
| 909 | 909 |
Streams: []grpc.StreamDesc{},
|
| 910 |
- Metadata: "raft.proto", |
|
| 910 |
+ Metadata: "github.com/docker/swarmkit/api/raft.proto", |
|
| 911 | 911 |
} |
| 912 | 912 |
|
| 913 | 913 |
// Client API for RaftMembership service |
| ... | ... |
@@ -1008,7 +1008,7 @@ var _RaftMembership_serviceDesc = grpc.ServiceDesc{
|
| 1008 | 1008 |
}, |
| 1009 | 1009 |
}, |
| 1010 | 1010 |
Streams: []grpc.StreamDesc{},
|
| 1011 |
- Metadata: "raft.proto", |
|
| 1011 |
+ Metadata: "github.com/docker/swarmkit/api/raft.proto", |
|
| 1012 | 1012 |
} |
| 1013 | 1013 |
|
| 1014 | 1014 |
func (m *RaftMember) Marshal() (dAtA []byte, err error) {
|
| ... | ... |
@@ -3571,68 +3571,69 @@ var ( |
| 3571 | 3571 |
ErrIntOverflowRaft = fmt.Errorf("proto: integer overflow")
|
| 3572 | 3572 |
) |
| 3573 | 3573 |
|
| 3574 |
-func init() { proto.RegisterFile("raft.proto", fileDescriptorRaft) }
|
|
| 3574 |
+func init() { proto.RegisterFile("github.com/docker/swarmkit/api/raft.proto", fileDescriptorRaft) }
|
|
| 3575 | 3575 |
|
| 3576 | 3576 |
var fileDescriptorRaft = []byte{
|
| 3577 |
- // 953 bytes of a gzipped FileDescriptorProto |
|
| 3578 |
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x96, 0x4d, 0x6f, 0x1b, 0x45, |
|
| 3579 |
- 0x18, 0xc7, 0x77, 0xd7, 0x5b, 0x27, 0x79, 0xdc, 0xbc, 0x68, 0x42, 0xc2, 0x76, 0x29, 0x8e, 0xbb, |
|
| 3580 |
- 0x45, 0xc2, 0x2d, 0x64, 0x2d, 0x0c, 0x12, 0xa8, 0xd0, 0x43, 0xec, 0x58, 0xb2, 0x69, 0xeb, 0x54, |
|
| 3581 |
- 0x9b, 0x04, 0x7a, 0x0b, 0xeb, 0xdd, 0x89, 0xbb, 0xd8, 0xde, 0x31, 0x33, 0x63, 0x07, 0x2e, 0xa8, |
|
| 3582 |
- 0x47, 0x94, 0x2b, 0x07, 0x10, 0x52, 0x4f, 0x70, 0xee, 0x07, 0xe0, 0x03, 0xa0, 0x88, 0x13, 0x37, |
|
| 3583 |
- 0x38, 0x45, 0xd4, 0x1f, 0x00, 0xbe, 0x02, 0x9a, 0xd9, 0x5d, 0x3b, 0x38, 0x6b, 0x37, 0x17, 0x7b, |
|
| 3584 |
- 0x3c, 0xf3, 0xfb, 0x3f, 0xff, 0x79, 0xe6, 0xe5, 0x19, 0x03, 0x50, 0xf7, 0x98, 0xdb, 0x7d, 0x4a, |
|
| 3585 |
- 0x38, 0x41, 0xc8, 0x27, 0x5e, 0x07, 0x53, 0x9b, 0x9d, 0xb8, 0xb4, 0xd7, 0x09, 0xb8, 0x3d, 0x7c, |
|
| 3586 |
- 0xcf, 0x5c, 0x26, 0xad, 0x2f, 0xb1, 0xc7, 0x59, 0x84, 0x98, 0x39, 0xfe, 0x4d, 0x1f, 0x27, 0x3f, |
|
| 3587 |
- 0xb6, 0xdb, 0x01, 0x7f, 0x3a, 0x68, 0xd9, 0x1e, 0xe9, 0x95, 0x3c, 0x42, 0x31, 0x61, 0x25, 0xcc, |
|
| 3588 |
- 0x3d, 0xbf, 0x24, 0x42, 0xca, 0x8f, 0x7e, 0xab, 0x34, 0x09, 0x6f, 0xbe, 0xd6, 0x26, 0x6d, 0x22, |
|
| 3589 |
- 0x9b, 0x25, 0xd1, 0x8a, 0x7b, 0xd7, 0xfb, 0xdd, 0x41, 0x3b, 0x08, 0x4b, 0xd1, 0x57, 0xd4, 0x69, |
|
| 3590 |
- 0xbd, 0x50, 0x01, 0x1c, 0xf7, 0x98, 0x3f, 0xc2, 0xbd, 0x16, 0xa6, 0xe8, 0x36, 0x2c, 0x88, 0x38, |
|
| 3591 |
- 0x47, 0x81, 0x6f, 0xa8, 0x05, 0xb5, 0xa8, 0x57, 0x60, 0x74, 0xbe, 0x95, 0x15, 0x40, 0x63, 0xd7, |
|
| 3592 |
- 0xc9, 0x8a, 0xa1, 0x86, 0x2f, 0xa0, 0x90, 0xf8, 0x58, 0x40, 0x5a, 0x41, 0x2d, 0x2e, 0x45, 0x50, |
|
| 3593 |
- 0x93, 0xf8, 0x58, 0x40, 0x62, 0xa8, 0xe1, 0x23, 0x04, 0xba, 0xeb, 0xfb, 0xd4, 0xc8, 0x08, 0xc2, |
|
| 3594 |
- 0x91, 0x6d, 0x54, 0x81, 0x2c, 0xe3, 0x2e, 0x1f, 0x30, 0x43, 0x2f, 0xa8, 0xc5, 0x5c, 0xf9, 0x2d, |
|
| 3595 |
- 0xfb, 0xf2, 0x3a, 0xd8, 0x93, 0xd9, 0xec, 0x4b, 0xb6, 0xa2, 0x9f, 0x9d, 0x6f, 0x29, 0x4e, 0xac, |
|
| 3596 |
- 0xb4, 0x6e, 0x41, 0xee, 0x53, 0x12, 0x84, 0x0e, 0xfe, 0x6a, 0x80, 0x19, 0x1f, 0xdb, 0xa8, 0x13, |
|
| 3597 |
- 0x1b, 0xeb, 0x27, 0x15, 0xae, 0x47, 0x0c, 0xeb, 0x93, 0x90, 0xe1, 0xab, 0x65, 0xf5, 0x11, 0x2c, |
|
| 3598 |
- 0xf4, 0xa4, 0x2d, 0x33, 0xb4, 0x42, 0xa6, 0x98, 0x2b, 0xe7, 0xe7, 0xcf, 0xce, 0x49, 0x70, 0xf4, |
|
| 3599 |
- 0x0e, 0xac, 0x52, 0xdc, 0x23, 0x43, 0xec, 0x1f, 0x25, 0x11, 0x32, 0x85, 0x4c, 0x51, 0xaf, 0x68, |
|
| 3600 |
- 0x6b, 0x8a, 0xb3, 0x12, 0x0f, 0x45, 0x22, 0x66, 0x55, 0xe0, 0xfa, 0x43, 0xec, 0x0e, 0x71, 0x92, |
|
| 3601 |
- 0x40, 0x19, 0x74, 0xb1, 0x62, 0x72, 0x62, 0xaf, 0xf6, 0x94, 0xac, 0xb5, 0x0a, 0xcb, 0x71, 0x8c, |
|
| 3602 |
- 0x28, 0x41, 0xeb, 0x21, 0xdc, 0x78, 0x4c, 0x89, 0x87, 0x19, 0x8b, 0x58, 0xc6, 0xdc, 0xf6, 0xd8, |
|
| 3603 |
- 0xe1, 0x8e, 0x48, 0x4c, 0xf6, 0xc4, 0x26, 0xab, 0x76, 0x74, 0x64, 0xec, 0x04, 0x4c, 0xc6, 0xef, |
|
| 3604 |
- 0xe9, 0xcf, 0x7e, 0xb0, 0x14, 0xeb, 0x26, 0x98, 0x69, 0xd1, 0x62, 0xaf, 0x4f, 0x60, 0xc3, 0xc1, |
|
| 3605 |
- 0x8c, 0x74, 0x87, 0x78, 0xc7, 0xf7, 0xa9, 0x80, 0x62, 0x9f, 0xab, 0xac, 0xb2, 0xf5, 0x2e, 0x6c, |
|
| 3606 |
- 0x4e, 0xab, 0xe3, 0x4d, 0x4a, 0xdb, 0xc9, 0x2e, 0xac, 0x37, 0x42, 0x8e, 0x69, 0xe8, 0x76, 0x45, |
|
| 3607 |
- 0x9c, 0xc4, 0x69, 0x13, 0xb4, 0xb1, 0x49, 0x76, 0x74, 0xbe, 0xa5, 0x35, 0x76, 0x1d, 0x2d, 0xf0, |
|
| 3608 |
- 0xd1, 0x7d, 0xc8, 0xba, 0x1e, 0x0f, 0x48, 0x18, 0xef, 0xe0, 0x56, 0xda, 0x6a, 0xee, 0x73, 0x42, |
|
| 3609 |
- 0xf1, 0x8e, 0xc4, 0x92, 0xa3, 0x15, 0x89, 0xac, 0xdf, 0x74, 0xc8, 0x5d, 0x18, 0x45, 0x1f, 0x8f, |
|
| 3610 |
- 0xc3, 0x09, 0xab, 0x95, 0xf2, 0xed, 0x57, 0x84, 0x7b, 0x10, 0x84, 0x7e, 0x12, 0x0c, 0xd9, 0xf1, |
|
| 3611 |
- 0xbe, 0x6a, 0x72, 0xc9, 0x8d, 0x34, 0xa9, 0xb8, 0x31, 0x75, 0x25, 0xda, 0x53, 0xf4, 0x21, 0x2c, |
|
| 3612 |
- 0x30, 0x4c, 0x87, 0x81, 0x87, 0xe5, 0x95, 0xc9, 0x95, 0xdf, 0x48, 0x75, 0x8b, 0x90, 0xba, 0xe2, |
|
| 3613 |
- 0x24, 0xb4, 0x30, 0xe2, 0x2e, 0xeb, 0xc4, 0x57, 0x2a, 0xd5, 0xe8, 0xc0, 0x65, 0x1d, 0x61, 0x24, |
|
| 3614 |
- 0x38, 0x61, 0x14, 0x62, 0x7e, 0x42, 0x68, 0xc7, 0xb8, 0x36, 0xdb, 0xa8, 0x19, 0x21, 0xc2, 0x28, |
|
| 3615 |
- 0xa6, 0x85, 0xd0, 0xeb, 0x0e, 0x18, 0xc7, 0xd4, 0xc8, 0xce, 0x16, 0x56, 0x23, 0x44, 0x08, 0x63, |
|
| 3616 |
- 0x1a, 0x7d, 0x00, 0x59, 0x86, 0x3d, 0x8a, 0xb9, 0xb1, 0x20, 0x75, 0x66, 0x7a, 0x66, 0x82, 0xa8, |
|
| 3617 |
- 0x8b, 0x8b, 0x2e, 0x5b, 0xe8, 0x1e, 0x2c, 0x52, 0xcc, 0xc8, 0x80, 0x7a, 0xd8, 0x58, 0x94, 0xba, |
|
| 3618 |
- 0x9b, 0xa9, 0x97, 0x23, 0x66, 0xea, 0x8a, 0x33, 0xe6, 0xd1, 0x7d, 0x58, 0xc2, 0x5f, 0x73, 0x1c, |
|
| 3619 |
- 0x32, 0xb1, 0x79, 0x4b, 0x52, 0xfc, 0x66, 0x9a, 0xb8, 0x96, 0x40, 0x75, 0xc5, 0x99, 0x28, 0xc4, |
|
| 3620 |
- 0x84, 0x3d, 0x12, 0x1e, 0x07, 0x6d, 0x03, 0x66, 0x4f, 0xb8, 0x2a, 0x09, 0x31, 0xe1, 0x88, 0xad, |
|
| 3621 |
- 0x2c, 0x42, 0x96, 0xbb, 0xb4, 0x8d, 0xf9, 0xdd, 0x7f, 0x55, 0x58, 0x9d, 0x3a, 0x17, 0xe8, 0x6d, |
|
| 3622 |
- 0x58, 0x38, 0x6c, 0x3e, 0x68, 0xee, 0x7d, 0xde, 0x5c, 0x53, 0x4c, 0xf3, 0xf4, 0x79, 0x61, 0x73, |
|
| 3623 |
- 0x8a, 0x38, 0x0c, 0x3b, 0x21, 0x39, 0x09, 0x51, 0x19, 0xd6, 0xf7, 0x0f, 0xf6, 0x9c, 0xda, 0xd1, |
|
| 3624 |
- 0x4e, 0xf5, 0xa0, 0xb1, 0xd7, 0x3c, 0xaa, 0x3a, 0xb5, 0x9d, 0x83, 0xda, 0x9a, 0x6a, 0xde, 0x38, |
|
| 3625 |
- 0x7d, 0x5e, 0xd8, 0x98, 0x12, 0x55, 0x29, 0x76, 0x39, 0xbe, 0xa4, 0x39, 0x7c, 0xbc, 0x2b, 0x34, |
|
| 3626 |
- 0x5a, 0xaa, 0xe6, 0xb0, 0xef, 0xa7, 0x69, 0x9c, 0xda, 0xa3, 0xbd, 0xcf, 0x6a, 0x6b, 0x99, 0x54, |
|
| 3627 |
- 0x8d, 0x23, 0x8b, 0x98, 0xf9, 0xfa, 0x77, 0x3f, 0xe7, 0x95, 0x5f, 0x7f, 0xc9, 0x4f, 0x67, 0x57, |
|
| 3628 |
- 0xfe, 0x5e, 0x03, 0x5d, 0xdc, 0x50, 0x74, 0xaa, 0x02, 0xba, 0x5c, 0x3c, 0xd0, 0x76, 0xda, 0x0a, |
|
| 3629 |
- 0xce, 0x2c, 0x59, 0xa6, 0x7d, 0x55, 0x3c, 0xae, 0x49, 0x1b, 0xbf, 0xbf, 0xf8, 0xe7, 0x47, 0x6d, |
|
| 3630 |
- 0x15, 0x96, 0x25, 0xbf, 0xdd, 0x73, 0x43, 0xb7, 0x8d, 0x29, 0xfa, 0x16, 0x56, 0xfe, 0x5f, 0x6c, |
|
| 3631 |
- 0xd0, 0x9d, 0x59, 0x47, 0xe8, 0x52, 0x39, 0x33, 0xef, 0x5e, 0x05, 0x9d, 0xeb, 0x5f, 0xfe, 0x53, |
|
| 3632 |
- 0x85, 0x95, 0x49, 0xf1, 0x66, 0x4f, 0x83, 0x3e, 0xfa, 0x02, 0x74, 0xf1, 0x34, 0xa1, 0xd4, 0xd2, |
|
| 3633 |
- 0x74, 0xe1, 0x61, 0x33, 0x0b, 0xb3, 0x81, 0xf9, 0x49, 0x7b, 0x70, 0x4d, 0x3e, 0x0e, 0x28, 0x35, |
|
| 3634 |
- 0xc2, 0xc5, 0xb7, 0xc7, 0xbc, 0x35, 0x87, 0x98, 0x6b, 0x52, 0x31, 0xce, 0x5e, 0xe6, 0x95, 0xbf, |
|
| 3635 |
- 0x5e, 0xe6, 0x95, 0x67, 0xa3, 0xbc, 0x7a, 0x36, 0xca, 0xab, 0x7f, 0x8c, 0xf2, 0xea, 0xdf, 0xa3, |
|
| 3636 |
- 0xbc, 0xfa, 0x24, 0xf3, 0x44, 0x6f, 0x65, 0xe5, 0x7f, 0x8b, 0xf7, 0xff, 0x0b, 0x00, 0x00, 0xff, |
|
| 3637 |
- 0xff, 0x9a, 0xef, 0x6e, 0xdb, 0xf3, 0x08, 0x00, 0x00, |
|
| 3577 |
+ // 974 bytes of a gzipped FileDescriptorProto |
|
| 3578 |
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x96, 0x4f, 0x6f, 0x1b, 0x45, |
|
| 3579 |
+ 0x18, 0xc6, 0x77, 0xd7, 0x5b, 0x27, 0x79, 0xd3, 0x26, 0xd1, 0x94, 0x84, 0xed, 0x52, 0x1c, 0x77, |
|
| 3580 |
+ 0x8b, 0x84, 0x13, 0x9a, 0xb5, 0x30, 0x48, 0x45, 0x85, 0x1e, 0x62, 0xc7, 0x92, 0x4d, 0x5b, 0xa7, |
|
| 3581 |
+ 0xda, 0x24, 0xd0, 0x5b, 0x58, 0xef, 0x4e, 0xdc, 0xc5, 0xf6, 0x8e, 0x99, 0x19, 0x3b, 0x70, 0x41, |
|
| 3582 |
+ 0x3d, 0xa2, 0x5c, 0x39, 0x80, 0x90, 0x7a, 0x82, 0x73, 0x3f, 0x00, 0x1f, 0x00, 0x45, 0x9c, 0xb8, |
|
| 3583 |
+ 0xc1, 0x29, 0xa2, 0xfe, 0x00, 0xf0, 0x15, 0xd0, 0xcc, 0xee, 0x3a, 0xc6, 0x59, 0x3b, 0xb9, 0x24, |
|
| 3584 |
+ 0xa3, 0x9d, 0xdf, 0xf3, 0x3e, 0xef, 0x3b, 0x7f, 0xde, 0x31, 0x6c, 0xb4, 0x02, 0xfe, 0xbc, 0xdf, |
|
| 3585 |
+ 0xb4, 0x3d, 0xd2, 0x2d, 0xfa, 0xc4, 0x6b, 0x63, 0x5a, 0x64, 0xc7, 0x2e, 0xed, 0xb6, 0x03, 0x5e, |
|
| 3586 |
+ 0x74, 0x7b, 0x41, 0x91, 0xba, 0x47, 0xdc, 0xee, 0x51, 0xc2, 0x09, 0x42, 0xd1, 0xbc, 0x9d, 0xcc, |
|
| 3587 |
+ 0xdb, 0x83, 0xf7, 0xcd, 0x7b, 0x97, 0xc8, 0x49, 0xf3, 0x4b, 0xec, 0x71, 0x16, 0x45, 0x30, 0x37, |
|
| 3588 |
+ 0x2f, 0xa1, 0xf9, 0x37, 0x3d, 0x9c, 0xb0, 0x5b, 0x63, 0xac, 0x47, 0x28, 0x26, 0xac, 0x88, 0xb9, |
|
| 3589 |
+ 0xe7, 0xcb, 0x84, 0xe4, 0x9f, 0x5e, 0x73, 0x2c, 0x39, 0xf3, 0x8d, 0x16, 0x69, 0x11, 0x39, 0x2c, |
|
| 3590 |
+ 0x8a, 0x51, 0xfc, 0xf5, 0xfe, 0x0c, 0x43, 0x49, 0x34, 0xfb, 0x47, 0xc5, 0x5e, 0xa7, 0xdf, 0x0a, |
|
| 3591 |
+ 0xc2, 0xf8, 0x5f, 0x24, 0xb4, 0x5e, 0xa9, 0x00, 0x8e, 0x7b, 0xc4, 0x9f, 0xe0, 0x6e, 0x13, 0x53, |
|
| 3592 |
+ 0x74, 0x17, 0xe6, 0x84, 0xd7, 0x61, 0xe0, 0x1b, 0x6a, 0x5e, 0x2d, 0xe8, 0x65, 0x18, 0x9e, 0xad, |
|
| 3593 |
+ 0x67, 0x05, 0x50, 0xdf, 0x71, 0xb2, 0x62, 0xaa, 0xee, 0x0b, 0x28, 0x24, 0x3e, 0x16, 0x90, 0x96, |
|
| 3594 |
+ 0x57, 0x0b, 0x0b, 0x11, 0xd4, 0x20, 0x3e, 0x16, 0x90, 0x98, 0xaa, 0xfb, 0x08, 0x81, 0xee, 0xfa, |
|
| 3595 |
+ 0x3e, 0x35, 0x32, 0x82, 0x70, 0xe4, 0x18, 0x95, 0x21, 0xcb, 0xb8, 0xcb, 0xfb, 0xcc, 0xd0, 0xf3, |
|
| 3596 |
+ 0x6a, 0x61, 0xb1, 0xf4, 0x8e, 0x7d, 0x71, 0xa5, 0xed, 0xf3, 0x6c, 0xf6, 0x24, 0x5b, 0xd6, 0x4f, |
|
| 3597 |
+ 0xcf, 0xd6, 0x15, 0x27, 0x56, 0x5a, 0x77, 0x60, 0xf1, 0x53, 0x12, 0x84, 0x0e, 0xfe, 0xaa, 0x8f, |
|
| 3598 |
+ 0x19, 0x1f, 0xd9, 0xa8, 0xe7, 0x36, 0xd6, 0x4f, 0x2a, 0x5c, 0x8f, 0x18, 0xd6, 0x23, 0x21, 0xc3, |
|
| 3599 |
+ 0x57, 0xab, 0xea, 0x23, 0x98, 0xeb, 0x4a, 0x5b, 0x66, 0x68, 0xf9, 0x4c, 0x61, 0xb1, 0x94, 0x9b, |
|
| 3600 |
+ 0x9d, 0x9d, 0x93, 0xe0, 0xe8, 0x3d, 0x58, 0xa6, 0xb8, 0x4b, 0x06, 0xd8, 0x3f, 0x4c, 0x22, 0x64, |
|
| 3601 |
+ 0xf2, 0x99, 0x82, 0x5e, 0xd6, 0x56, 0x14, 0x67, 0x29, 0x9e, 0x8a, 0x44, 0xcc, 0x2a, 0xc3, 0xf5, |
|
| 3602 |
+ 0xc7, 0xd8, 0x1d, 0xe0, 0xa4, 0x80, 0x12, 0xe8, 0x62, 0xc5, 0x64, 0x62, 0x97, 0x7b, 0x4a, 0xd6, |
|
| 3603 |
+ 0x5a, 0x86, 0x1b, 0x71, 0x8c, 0xa8, 0x40, 0xeb, 0x31, 0xdc, 0x7a, 0x4a, 0x89, 0x87, 0x19, 0x8b, |
|
| 3604 |
+ 0x58, 0xc6, 0xdc, 0xd6, 0xc8, 0x61, 0x43, 0x14, 0x26, 0xbf, 0xc4, 0x26, 0xcb, 0x76, 0x74, 0xac, |
|
| 3605 |
+ 0xec, 0x04, 0x4c, 0xe6, 0x1f, 0xe8, 0x2f, 0x7e, 0xb0, 0x14, 0xeb, 0x36, 0x98, 0x69, 0xd1, 0x62, |
|
| 3606 |
+ 0xaf, 0x4f, 0x60, 0xd5, 0xc1, 0x8c, 0x74, 0x06, 0x78, 0xdb, 0xf7, 0xa9, 0x80, 0x62, 0x9f, 0xab, |
|
| 3607 |
+ 0xac, 0xb2, 0x75, 0x0f, 0xd6, 0x26, 0xd5, 0xf1, 0x26, 0xa5, 0xed, 0x64, 0x07, 0x6e, 0xd6, 0x43, |
|
| 3608 |
+ 0x8e, 0x69, 0xe8, 0x76, 0x44, 0x9c, 0xc4, 0x69, 0x0d, 0xb4, 0x91, 0x49, 0x76, 0x78, 0xb6, 0xae, |
|
| 3609 |
+ 0xd5, 0x77, 0x1c, 0x2d, 0xf0, 0xd1, 0x43, 0xc8, 0xba, 0x1e, 0x0f, 0x48, 0x18, 0xef, 0xe0, 0x7a, |
|
| 3610 |
+ 0xda, 0x6a, 0xee, 0x71, 0x42, 0xf1, 0xb6, 0xc4, 0x92, 0xa3, 0x15, 0x89, 0xac, 0xdf, 0x74, 0x58, |
|
| 3611 |
+ 0x1c, 0x9b, 0x45, 0x1f, 0x8f, 0xc2, 0x09, 0xab, 0xa5, 0xd2, 0xdd, 0x4b, 0xc2, 0x3d, 0x0a, 0x42, |
|
| 3612 |
+ 0x3f, 0x09, 0x86, 0xec, 0x78, 0x5f, 0x35, 0xb9, 0xe4, 0x46, 0x9a, 0x54, 0xdc, 0x98, 0x9a, 0x12, |
|
| 3613 |
+ 0xed, 0x29, 0xba, 0x0f, 0x73, 0x0c, 0xd3, 0x41, 0xe0, 0x61, 0x79, 0x65, 0x16, 0x4b, 0x6f, 0xa5, |
|
| 3614 |
+ 0xba, 0x45, 0x48, 0x4d, 0x71, 0x12, 0x5a, 0x18, 0x71, 0x97, 0xb5, 0xe3, 0x2b, 0x95, 0x6a, 0xb4, |
|
| 3615 |
+ 0xef, 0xb2, 0xb6, 0x30, 0x12, 0x9c, 0x30, 0x0a, 0x31, 0x3f, 0x26, 0xb4, 0x6d, 0x5c, 0x9b, 0x6e, |
|
| 3616 |
+ 0xd4, 0x88, 0x10, 0x61, 0x14, 0xd3, 0x42, 0xe8, 0x75, 0xfa, 0x8c, 0x63, 0x6a, 0x64, 0xa7, 0x0b, |
|
| 3617 |
+ 0x2b, 0x11, 0x22, 0x84, 0x31, 0x8d, 0x3e, 0x84, 0x2c, 0xc3, 0x1e, 0xc5, 0xdc, 0x98, 0x93, 0x3a, |
|
| 3618 |
+ 0x33, 0xbd, 0x32, 0x41, 0xd4, 0xc4, 0x45, 0x97, 0x23, 0xf4, 0x00, 0xe6, 0x29, 0x66, 0xa4, 0x4f, |
|
| 3619 |
+ 0x3d, 0x6c, 0xcc, 0x4b, 0xdd, 0xed, 0xd4, 0xcb, 0x11, 0x33, 0x35, 0xc5, 0x19, 0xf1, 0xe8, 0x21, |
|
| 3620 |
+ 0x2c, 0xe0, 0xaf, 0x39, 0x0e, 0x99, 0xd8, 0xbc, 0x05, 0x29, 0x7e, 0x3b, 0x4d, 0x5c, 0x4d, 0xa0, |
|
| 3621 |
+ 0x9a, 0xe2, 0x9c, 0x2b, 0x44, 0xc2, 0x1e, 0x09, 0x8f, 0x82, 0x96, 0x01, 0xd3, 0x13, 0xae, 0x48, |
|
| 3622 |
+ 0x42, 0x24, 0x1c, 0xb1, 0xe5, 0x79, 0xc8, 0x72, 0x97, 0xb6, 0x30, 0xdf, 0xfc, 0x57, 0x85, 0xe5, |
|
| 3623 |
+ 0x89, 0x73, 0x81, 0xde, 0x85, 0xb9, 0x83, 0xc6, 0xa3, 0xc6, 0xee, 0xe7, 0x8d, 0x15, 0xc5, 0x34, |
|
| 3624 |
+ 0x4f, 0x5e, 0xe6, 0xd7, 0x26, 0x88, 0x83, 0xb0, 0x1d, 0x92, 0xe3, 0x10, 0x95, 0xe0, 0xe6, 0xde, |
|
| 3625 |
+ 0xfe, 0xae, 0x53, 0x3d, 0xdc, 0xae, 0xec, 0xd7, 0x77, 0x1b, 0x87, 0x15, 0xa7, 0xba, 0xbd, 0x5f, |
|
| 3626 |
+ 0x5d, 0x51, 0xcd, 0x5b, 0x27, 0x2f, 0xf3, 0xab, 0x13, 0xa2, 0x0a, 0xc5, 0x2e, 0xc7, 0x17, 0x34, |
|
| 3627 |
+ 0x07, 0x4f, 0x77, 0x84, 0x46, 0x4b, 0xd5, 0x1c, 0xf4, 0xfc, 0x34, 0x8d, 0x53, 0x7d, 0xb2, 0xfb, |
|
| 3628 |
+ 0x59, 0x75, 0x25, 0x93, 0xaa, 0x71, 0x64, 0x13, 0x33, 0xdf, 0xfc, 0xee, 0xe7, 0x9c, 0xf2, 0xeb, |
|
| 3629 |
+ 0x2f, 0xb9, 0xc9, 0xea, 0x4a, 0xdf, 0x6b, 0xa0, 0x8b, 0x1b, 0x8a, 0x4e, 0x54, 0x40, 0x17, 0x9b, |
|
| 3630 |
+ 0x07, 0xda, 0x4a, 0x5b, 0xc1, 0xa9, 0x2d, 0xcb, 0xb4, 0xaf, 0x8a, 0xc7, 0x3d, 0x69, 0xf5, 0xf7, |
|
| 3631 |
+ 0x57, 0xff, 0xfc, 0xa8, 0x2d, 0xc3, 0x0d, 0xc9, 0x6f, 0x75, 0xdd, 0xd0, 0x6d, 0x61, 0x8a, 0xbe, |
|
| 3632 |
+ 0x85, 0xa5, 0xff, 0x37, 0x1b, 0xb4, 0x31, 0xed, 0x08, 0x5d, 0x68, 0x67, 0xe6, 0xe6, 0x55, 0xd0, |
|
| 3633 |
+ 0x99, 0xfe, 0xa5, 0x3f, 0x55, 0x58, 0x3a, 0x6f, 0xde, 0xec, 0x79, 0xd0, 0x43, 0x5f, 0x80, 0x2e, |
|
| 3634 |
+ 0x9e, 0x26, 0x94, 0xda, 0x9a, 0xc6, 0x1e, 0x36, 0x33, 0x3f, 0x1d, 0x98, 0x5d, 0xb4, 0x07, 0xd7, |
|
| 3635 |
+ 0xe4, 0xe3, 0x80, 0x52, 0x23, 0x8c, 0xbf, 0x3d, 0xe6, 0x9d, 0x19, 0xc4, 0x4c, 0x93, 0xb2, 0x71, |
|
| 3636 |
+ 0xfa, 0x3a, 0xa7, 0xfc, 0xf5, 0x3a, 0xa7, 0xbc, 0x18, 0xe6, 0xd4, 0xd3, 0x61, 0x4e, 0xfd, 0x63, |
|
| 3637 |
+ 0x98, 0x53, 0xff, 0x1e, 0xe6, 0xd4, 0x67, 0x99, 0x67, 0x7a, 0x33, 0x2b, 0x7f, 0x5b, 0x7c, 0xf0, |
|
| 3638 |
+ 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x64, 0x01, 0xa3, 0x4f, 0x74, 0x09, 0x00, 0x00, |
|
| 3638 | 3639 |
} |
| ... | ... |
@@ -2,11 +2,11 @@ syntax = "proto3"; |
| 2 | 2 |
|
| 3 | 3 |
package docker.swarmkit.v1; |
| 4 | 4 |
|
| 5 |
-import "objects.proto"; |
|
| 6 |
-import "types.proto"; |
|
| 5 |
+import "github.com/docker/swarmkit/api/objects.proto"; |
|
| 6 |
+import "github.com/docker/swarmkit/api/types.proto"; |
|
| 7 | 7 |
import "github.com/coreos/etcd/raft/raftpb/raft.proto"; |
| 8 | 8 |
import weak "gogoproto/gogo.proto"; |
| 9 |
-import weak "plugin/plugin.proto"; |
|
| 9 |
+import weak "github.com/docker/swarmkit/protobuf/plugin/plugin.proto"; |
|
| 10 | 10 |
|
| 11 | 11 |
// Raft defines the RPC communication between raft nodes. |
| 12 | 12 |
service Raft {
|
| ... | ... |
@@ -1,5 +1,5 @@ |
| 1 | 1 |
// Code generated by protoc-gen-gogo. |
| 2 |
-// source: resource.proto |
|
| 2 |
+// source: github.com/docker/swarmkit/api/resource.proto |
|
| 3 | 3 |
// DO NOT EDIT! |
| 4 | 4 |
|
| 5 | 5 |
package api |
| ... | ... |
@@ -262,7 +262,7 @@ var _ResourceAllocator_serviceDesc = grpc.ServiceDesc{
|
| 262 | 262 |
}, |
| 263 | 263 |
}, |
| 264 | 264 |
Streams: []grpc.StreamDesc{},
|
| 265 |
- Metadata: "resource.proto", |
|
| 265 |
+ Metadata: "github.com/docker/swarmkit/api/resource.proto", |
|
| 266 | 266 |
} |
| 267 | 267 |
|
| 268 | 268 |
func (m *AttachNetworkRequest) Marshal() (dAtA []byte, err error) {
|
| ... | ... |
@@ -1061,31 +1061,35 @@ var ( |
| 1061 | 1061 |
ErrIntOverflowResource = fmt.Errorf("proto: integer overflow")
|
| 1062 | 1062 |
) |
| 1063 | 1063 |
|
| 1064 |
-func init() { proto.RegisterFile("resource.proto", fileDescriptorResource) }
|
|
| 1064 |
+func init() {
|
|
| 1065 |
+ proto.RegisterFile("github.com/docker/swarmkit/api/resource.proto", fileDescriptorResource)
|
|
| 1066 |
+} |
|
| 1065 | 1067 |
|
| 1066 | 1068 |
var fileDescriptorResource = []byte{
|
| 1067 |
- // 368 bytes of a gzipped FileDescriptorProto |
|
| 1068 |
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x2b, 0x4a, 0x2d, 0xce, |
|
| 1069 |
- 0x2f, 0x2d, 0x4a, 0x4e, 0xd5, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x12, 0x4a, 0xc9, 0x4f, 0xce, |
|
| 1070 |
- 0x4e, 0x2d, 0xd2, 0x2b, 0x2e, 0x4f, 0x2c, 0xca, 0xcd, 0xce, 0x2c, 0xd1, 0x2b, 0x33, 0x94, 0xe2, |
|
| 1071 |
- 0x2e, 0xa9, 0x2c, 0x48, 0x2d, 0x86, 0x28, 0x90, 0x12, 0x49, 0xcf, 0x4f, 0xcf, 0x07, 0x33, 0xf5, |
|
| 1072 |
- 0x41, 0x2c, 0xa8, 0xa8, 0x70, 0x41, 0x4e, 0x69, 0x7a, 0x66, 0x9e, 0x3e, 0x84, 0x82, 0x08, 0x2a, |
|
| 1073 |
- 0xf5, 0x33, 0x72, 0x89, 0x38, 0x96, 0x94, 0x24, 0x26, 0x67, 0xf8, 0xa5, 0x96, 0x94, 0xe7, 0x17, |
|
| 1074 |
- 0x65, 0x07, 0xa5, 0x16, 0x96, 0xa6, 0x16, 0x97, 0x08, 0x39, 0x73, 0xb1, 0x25, 0xe7, 0xe7, 0xa5, |
|
| 1075 |
- 0x65, 0xa6, 0x4b, 0x30, 0x2a, 0x30, 0x6a, 0x70, 0x1b, 0x69, 0xeb, 0x61, 0xda, 0xaa, 0x07, 0xd5, |
|
| 1076 |
- 0x03, 0x31, 0x20, 0x37, 0x35, 0xaf, 0xc4, 0x19, 0xac, 0x25, 0x08, 0xaa, 0x55, 0xc8, 0x88, 0x8b, |
|
| 1077 |
- 0x27, 0x39, 0x3f, 0xaf, 0x24, 0x31, 0x33, 0x2f, 0xb5, 0x28, 0x3e, 0x33, 0x45, 0x82, 0x49, 0x81, |
|
| 1078 |
- 0x51, 0x83, 0xd3, 0x89, 0xff, 0xd1, 0x3d, 0x79, 0x6e, 0x67, 0x98, 0xb8, 0xa7, 0x4b, 0x10, 0x37, |
|
| 1079 |
- 0x5c, 0x91, 0x67, 0x8a, 0x92, 0x1f, 0x97, 0x28, 0x9a, 0x83, 0x8a, 0x0b, 0xf2, 0xf3, 0x8a, 0x53, |
|
| 1080 |
- 0x85, 0x4c, 0xb9, 0x78, 0x13, 0xe1, 0x16, 0x81, 0x4c, 0x63, 0x04, 0x9b, 0x26, 0xf0, 0xe8, 0x9e, |
|
| 1081 |
- 0x3c, 0x0f, 0xc2, 0x05, 0x9e, 0x2e, 0x41, 0x3c, 0x08, 0x65, 0x9e, 0x29, 0x4a, 0xbe, 0x5c, 0x22, |
|
| 1082 |
- 0x2e, 0xa9, 0x58, 0x3c, 0x48, 0xa6, 0x71, 0xe2, 0x5c, 0xa2, 0x68, 0xc6, 0x41, 0x9c, 0x67, 0xb4, |
|
| 1083 |
- 0x9a, 0x89, 0x4b, 0x30, 0x08, 0x1a, 0x51, 0x8e, 0x39, 0x39, 0xf9, 0xc9, 0x89, 0x25, 0xf9, 0x45, |
|
| 1084 |
- 0x42, 0x9d, 0x8c, 0x5c, 0xbc, 0x28, 0xde, 0x11, 0xd2, 0xc0, 0x16, 0x90, 0xd8, 0xa2, 0x40, 0x4a, |
|
| 1085 |
- 0x93, 0x08, 0x95, 0x10, 0xcb, 0x95, 0x94, 0x4f, 0xad, 0x7b, 0x37, 0x83, 0x49, 0x96, 0x8b, 0x07, |
|
| 1086 |
- 0xac, 0x54, 0x17, 0x24, 0x97, 0x5a, 0xc4, 0xc5, 0x0b, 0xe1, 0xe5, 0x26, 0xe6, 0x25, 0xa6, 0xa7, |
|
| 1087 |
- 0x42, 0xdc, 0x82, 0xe2, 0x76, 0xec, 0x6e, 0xc1, 0x16, 0x5a, 0xd8, 0xdd, 0x82, 0x35, 0x20, 0x88, |
|
| 1088 |
- 0x72, 0x8b, 0x93, 0xc4, 0x89, 0x87, 0x72, 0x0c, 0x37, 0x1e, 0xca, 0x31, 0x34, 0x3c, 0x92, 0x63, |
|
| 1089 |
- 0x3c, 0xf1, 0x48, 0x8e, 0xf1, 0xc2, 0x23, 0x39, 0xc6, 0x07, 0x8f, 0xe4, 0x18, 0x93, 0xd8, 0xc0, |
|
| 1090 |
- 0x09, 0xd3, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0x1c, 0x48, 0x12, 0x41, 0xf6, 0x02, 0x00, 0x00, |
|
| 1069 |
+ // 397 bytes of a gzipped FileDescriptorProto |
|
| 1070 |
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x92, 0xcf, 0x4e, 0xf2, 0x40, |
|
| 1071 |
+ 0x14, 0xc5, 0x19, 0x16, 0x24, 0xdf, 0x50, 0xf2, 0x69, 0x03, 0x91, 0x90, 0x58, 0x48, 0xdd, 0xa0, |
|
| 1072 |
+ 0x86, 0x36, 0x62, 0x8c, 0x6b, 0xfe, 0x6c, 0xba, 0x90, 0x45, 0x5f, 0xc0, 0x0c, 0xed, 0x50, 0x1a, |
|
| 1073 |
+ 0x68, 0xa7, 0x4e, 0xa7, 0x12, 0x77, 0x6e, 0x5d, 0xb9, 0xf5, 0x1d, 0x4c, 0x7c, 0x0e, 0xe2, 0xca, |
|
| 1074 |
+ 0xa5, 0x2b, 0x22, 0x7d, 0x00, 0x9f, 0xc1, 0xd0, 0x29, 0x10, 0x70, 0xa2, 0xc4, 0x55, 0xa7, 0xd3, |
|
| 1075 |
+ 0x73, 0xce, 0xfd, 0xdd, 0x7b, 0x0b, 0x1b, 0x8e, 0xcb, 0x86, 0x51, 0x5f, 0xb3, 0x88, 0xa7, 0xdb, |
|
| 1076 |
+ 0xc4, 0x1a, 0x61, 0xaa, 0x87, 0x13, 0x44, 0xbd, 0x91, 0xcb, 0x74, 0x14, 0xb8, 0x3a, 0xc5, 0x21, |
|
| 1077 |
+ 0x89, 0xa8, 0x85, 0xb5, 0x80, 0x12, 0x46, 0x64, 0x99, 0x6b, 0xb4, 0xa5, 0x46, 0xbb, 0x3d, 0xab, |
|
| 1078 |
+ 0x9c, 0xfc, 0x12, 0xc1, 0xee, 0x02, 0x1c, 0x72, 0x7f, 0xa5, 0xe8, 0x10, 0x87, 0x24, 0x47, 0x7d, |
|
| 1079 |
+ 0x71, 0x4a, 0x6f, 0x2f, 0x7f, 0x48, 0x48, 0x14, 0xfd, 0x68, 0xa0, 0x07, 0xe3, 0xc8, 0x71, 0xfd, |
|
| 1080 |
+ 0xf4, 0xc1, 0x8d, 0xea, 0x23, 0x80, 0xc5, 0x16, 0x63, 0xc8, 0x1a, 0xf6, 0x30, 0x9b, 0x10, 0x3a, |
|
| 1081 |
+ 0x32, 0xf1, 0x4d, 0x84, 0x43, 0x26, 0x77, 0x60, 0xce, 0x22, 0xfe, 0xc0, 0x75, 0xca, 0xa0, 0x06, |
|
| 1082 |
+ 0xea, 0xf9, 0xe6, 0xa9, 0xf6, 0x1d, 0x5c, 0x4b, 0x3d, 0x3c, 0xc0, 0xc3, 0x3e, 0xeb, 0x24, 0x16, |
|
| 1083 |
+ 0x33, 0xb5, 0xca, 0x4d, 0x28, 0x59, 0xc4, 0x67, 0xc8, 0xf5, 0x31, 0xbd, 0x76, 0xed, 0x72, 0xb6, |
|
| 1084 |
+ 0x06, 0xea, 0xff, 0xda, 0xff, 0xe3, 0x59, 0x35, 0xdf, 0x59, 0xde, 0x1b, 0x5d, 0x33, 0xbf, 0x12, |
|
| 1085 |
+ 0x19, 0xb6, 0xda, 0x83, 0xa5, 0x2d, 0xa0, 0x30, 0x20, 0x7e, 0x88, 0xe5, 0x0b, 0x58, 0x40, 0xab, |
|
| 1086 |
+ 0x42, 0x8b, 0x34, 0x90, 0xa4, 0xed, 0xc5, 0xb3, 0xaa, 0xb4, 0x26, 0x30, 0xba, 0xa6, 0xb4, 0x96, |
|
| 1087 |
+ 0x19, 0xb6, 0x7a, 0x05, 0x8b, 0x5d, 0x2c, 0x68, 0xf0, 0x8f, 0x71, 0x07, 0xb0, 0xb4, 0x15, 0xc7, |
|
| 1088 |
+ 0xf1, 0x9a, 0xcf, 0x59, 0xb8, 0x6f, 0xa6, 0xbb, 0x6e, 0x8d, 0xc7, 0xc4, 0x42, 0x8c, 0x50, 0xf9, |
|
| 1089 |
+ 0x01, 0xc0, 0xc2, 0x46, 0x3b, 0x72, 0x5d, 0x34, 0x48, 0xd1, 0x0a, 0x2a, 0xc7, 0x3b, 0x28, 0x79, |
|
| 1090 |
+ 0x71, 0xf5, 0xe8, 0xf5, 0xe5, 0xf3, 0x29, 0x7b, 0x08, 0xa5, 0x44, 0xda, 0x58, 0x7c, 0xc3, 0x14, |
|
| 1091 |
+ 0x16, 0xf8, 0x9b, 0x87, 0x7c, 0xe4, 0x60, 0xce, 0xb2, 0xc1, 0x2e, 0x66, 0x11, 0x4d, 0x4b, 0xcc, |
|
| 1092 |
+ 0x22, 0x1c, 0xc4, 0x4e, 0x2c, 0xed, 0xf2, 0x74, 0xae, 0x64, 0xde, 0xe7, 0x4a, 0xe6, 0x3e, 0x56, |
|
| 1093 |
+ 0xc0, 0x34, 0x56, 0xc0, 0x5b, 0xac, 0x80, 0x8f, 0x58, 0x01, 0xfd, 0x5c, 0xf2, 0x63, 0x9e, 0x7f, |
|
| 1094 |
+ 0x05, 0x00, 0x00, 0xff, 0xff, 0xc1, 0x7a, 0x29, 0xfc, 0x58, 0x03, 0x00, 0x00, |
|
| 1091 | 1095 |
} |
| ... | ... |
@@ -2,9 +2,9 @@ syntax = "proto3"; |
| 2 | 2 |
|
| 3 | 3 |
package docker.swarmkit.v1; |
| 4 | 4 |
|
| 5 |
-import "types.proto"; |
|
| 5 |
+import "github.com/docker/swarmkit/api/types.proto"; |
|
| 6 | 6 |
import "gogoproto/gogo.proto"; |
| 7 |
-import "plugin/plugin.proto"; |
|
| 7 |
+import "github.com/docker/swarmkit/protobuf/plugin/plugin.proto"; |
|
| 8 | 8 |
|
| 9 | 9 |
// Allocator is the API provided by a manager group for agents to control the allocation of certain entities. |
| 10 | 10 |
// |
| ... | ... |
@@ -1,5 +1,5 @@ |
| 1 | 1 |
// Code generated by protoc-gen-gogo. |
| 2 |
-// source: snapshot.proto |
|
| 2 |
+// source: github.com/docker/swarmkit/api/snapshot.proto |
|
| 3 | 3 |
// DO NOT EDIT! |
| 4 | 4 |
|
| 5 | 5 |
package api |
| ... | ... |
@@ -1305,38 +1305,41 @@ var ( |
| 1305 | 1305 |
ErrIntOverflowSnapshot = fmt.Errorf("proto: integer overflow")
|
| 1306 | 1306 |
) |
| 1307 | 1307 |
|
| 1308 |
-func init() { proto.RegisterFile("snapshot.proto", fileDescriptorSnapshot) }
|
|
| 1308 |
+func init() {
|
|
| 1309 |
+ proto.RegisterFile("github.com/docker/swarmkit/api/snapshot.proto", fileDescriptorSnapshot)
|
|
| 1310 |
+} |
|
| 1309 | 1311 |
|
| 1310 | 1312 |
var fileDescriptorSnapshot = []byte{
|
| 1311 |
- // 469 bytes of a gzipped FileDescriptorProto |
|
| 1312 |
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x93, 0xbf, 0x6f, 0xd3, 0x40, |
|
| 1313 |
- 0x14, 0xc7, 0x7d, 0xce, 0x0f, 0xa7, 0xaf, 0x6a, 0x29, 0x27, 0x86, 0x53, 0x28, 0x26, 0x04, 0x86, |
|
| 1314 |
- 0x4c, 0x06, 0x02, 0x12, 0x08, 0xa9, 0x0c, 0xa9, 0x18, 0x18, 0xe8, 0x70, 0x41, 0x15, 0xab, 0xe3, |
|
| 1315 |
- 0x5c, 0x52, 0x63, 0xe2, 0x8b, 0xee, 0x5d, 0x53, 0x46, 0xf8, 0xef, 0x32, 0x32, 0x32, 0x21, 0x92, |
|
| 1316 |
- 0x85, 0x7f, 0x03, 0xdd, 0x9d, 0x6d, 0x22, 0xe1, 0x74, 0xb3, 0x4e, 0x9f, 0xcf, 0x7b, 0xdf, 0x3b, |
|
| 1317 |
- 0xbf, 0x07, 0xc7, 0x98, 0xc7, 0x4b, 0xbc, 0x92, 0x3a, 0x5a, 0x2a, 0xa9, 0x25, 0xa5, 0x53, 0x99, |
|
| 1318 |
- 0x64, 0x42, 0x45, 0x78, 0x13, 0xab, 0x45, 0x96, 0xea, 0x68, 0xf5, 0xbc, 0x7b, 0x24, 0x27, 0x9f, |
|
| 1319 |
- 0x45, 0xa2, 0xd1, 0x21, 0x5d, 0x50, 0xf1, 0xac, 0xc0, 0xbb, 0xf7, 0xe6, 0x72, 0x2e, 0xed, 0xe7, |
|
| 1320 |
- 0x53, 0xf3, 0xe5, 0x4e, 0xfb, 0xdf, 0x9b, 0x70, 0x34, 0xd6, 0x52, 0x89, 0x71, 0x51, 0x9c, 0x46, |
|
| 1321 |
- 0xd0, 0xca, 0xe5, 0x54, 0x20, 0x23, 0xbd, 0xc6, 0xe0, 0x70, 0xc8, 0xa2, 0xff, 0xdb, 0x44, 0x17, |
|
| 1322 |
- 0x72, 0x2a, 0xb8, 0xc3, 0xe8, 0x2b, 0xe8, 0xa0, 0x50, 0xab, 0x34, 0x11, 0xc8, 0x7c, 0xab, 0xdc, |
|
| 1323 |
- 0xaf, 0x53, 0xc6, 0x8e, 0xe1, 0x15, 0x6c, 0xc4, 0x5c, 0xe8, 0x1b, 0xa9, 0x32, 0x64, 0x8d, 0xfd, |
|
| 1324 |
- 0xe2, 0x85, 0x63, 0x78, 0x05, 0x9b, 0x84, 0x3a, 0xc6, 0x0c, 0x59, 0x73, 0x7f, 0xc2, 0x8f, 0x31, |
|
| 1325 |
- 0x66, 0xdc, 0x61, 0xa6, 0x51, 0xf2, 0xe5, 0x1a, 0xb5, 0x50, 0xc8, 0x5a, 0xfb, 0x1b, 0x9d, 0x3b, |
|
| 1326 |
- 0x86, 0x57, 0x30, 0x7d, 0x09, 0x01, 0x8a, 0x44, 0x09, 0x8d, 0xac, 0x6d, 0xbd, 0x6e, 0xfd, 0xcd, |
|
| 1327 |
- 0x0c, 0xc2, 0x4b, 0x94, 0xbe, 0x81, 0x03, 0x25, 0x50, 0x5e, 0x2b, 0xf3, 0x22, 0x81, 0xf5, 0x4e, |
|
| 1328 |
- 0xeb, 0x3c, 0x5e, 0x40, 0xfc, 0x1f, 0x4e, 0xcf, 0x00, 0xc4, 0x57, 0x2d, 0x72, 0x4c, 0x65, 0x8e, |
|
| 1329 |
- 0xac, 0x63, 0xe5, 0x07, 0x75, 0xf2, 0xbb, 0x92, 0xe2, 0x3b, 0x82, 0x09, 0x9c, 0xc8, 0x7c, 0x96, |
|
| 1330 |
- 0xce, 0x91, 0x1d, 0xec, 0x0f, 0x7c, 0x6e, 0x11, 0x5e, 0xa2, 0xfd, 0x14, 0xee, 0x14, 0x77, 0xaf, |
|
| 1331 |
- 0x86, 0xe0, 0x35, 0x04, 0x0b, 0xb1, 0x98, 0x98, 0x17, 0x73, 0x63, 0x10, 0xd6, 0xde, 0x20, 0x9e, |
|
| 1332 |
- 0xe9, 0x0f, 0x16, 0xe3, 0x25, 0x4e, 0x4f, 0x21, 0x50, 0x62, 0x21, 0x57, 0x62, 0x6a, 0xa7, 0xa1, |
|
| 1333 |
- 0x39, 0xf2, 0x4f, 0x3c, 0x5e, 0x1e, 0xf5, 0xff, 0x10, 0xe8, 0x54, 0x4d, 0xde, 0x42, 0xb0, 0x12, |
|
| 1334 |
- 0xca, 0x24, 0x67, 0xa4, 0x47, 0x06, 0xc7, 0xc3, 0x27, 0xb5, 0xcf, 0x5b, 0x4e, 0xfd, 0xa5, 0x63, |
|
| 1335 |
- 0x79, 0x29, 0xd1, 0xf7, 0x00, 0x45, 0xd7, 0xab, 0x74, 0xc9, 0xfc, 0x1e, 0x19, 0x1c, 0x0e, 0x1f, |
|
| 1336 |
- 0xdf, 0xf2, 0x67, 0xcb, 0x4a, 0xa3, 0xe6, 0xfa, 0xd7, 0x43, 0x8f, 0xef, 0xc8, 0xf4, 0x0c, 0x5a, |
|
| 1337 |
- 0x68, 0xb6, 0x80, 0x35, 0x6c, 0x95, 0x47, 0xb5, 0x41, 0x76, 0xd7, 0xa4, 0xa8, 0xe1, 0xac, 0xfe, |
|
| 1338 |
- 0x5d, 0x08, 0x8a, 0x74, 0xb4, 0x0d, 0xfe, 0xe5, 0xb3, 0x13, 0x6f, 0xc4, 0xd6, 0x9b, 0xd0, 0xfb, |
|
| 1339 |
- 0xb9, 0x09, 0xbd, 0x6f, 0xdb, 0x90, 0xac, 0xb7, 0x21, 0xf9, 0xb1, 0x0d, 0xc9, 0xef, 0x6d, 0x48, |
|
| 1340 |
- 0x3e, 0xf9, 0x93, 0xb6, 0xdd, 0xbd, 0x17, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x8d, 0x0f, 0xc4, |
|
| 1341 |
- 0x6e, 0xd2, 0x03, 0x00, 0x00, |
|
| 1313 |
+ // 493 bytes of a gzipped FileDescriptorProto |
|
| 1314 |
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x93, 0xbf, 0x8f, 0xd3, 0x30, |
|
| 1315 |
+ 0x14, 0xc7, 0x93, 0xf4, 0x47, 0x7a, 0x3e, 0x01, 0x87, 0xc5, 0x60, 0x95, 0x23, 0x94, 0xc2, 0x50, |
|
| 1316 |
+ 0x24, 0x48, 0xa0, 0x20, 0x81, 0x90, 0x8e, 0xa1, 0x27, 0x06, 0x06, 0x6e, 0x70, 0xd1, 0x89, 0x35, |
|
| 1317 |
+ 0x4d, 0xdd, 0x36, 0x84, 0xc4, 0x95, 0x9f, 0xdb, 0x63, 0x84, 0xff, 0xae, 0x23, 0x23, 0x13, 0xe2, |
|
| 1318 |
+ 0xba, 0xf0, 0x6f, 0x20, 0xdb, 0x71, 0xa8, 0x44, 0x7a, 0xb7, 0x45, 0xd6, 0xe7, 0xf3, 0xde, 0xd7, |
|
| 1319 |
+ 0xce, 0x7b, 0xe8, 0xe9, 0x3c, 0x95, 0x8b, 0xd5, 0x24, 0x4c, 0x78, 0x1e, 0x4d, 0x79, 0x92, 0x31, |
|
| 1320 |
+ 0x11, 0xc1, 0x45, 0x2c, 0xf2, 0x2c, 0x95, 0x51, 0xbc, 0x4c, 0x23, 0x28, 0xe2, 0x25, 0x2c, 0xb8, |
|
| 1321 |
+ 0x0c, 0x97, 0x82, 0x4b, 0x8e, 0xb1, 0x61, 0x42, 0xcb, 0x84, 0xeb, 0xe7, 0xdd, 0x27, 0xd7, 0x94, |
|
| 1322 |
+ 0xe0, 0x93, 0xcf, 0x2c, 0x91, 0x60, 0x2a, 0x74, 0x1f, 0x5f, 0x43, 0x8b, 0x78, 0x56, 0x36, 0xeb, |
|
| 1323 |
+ 0xde, 0x99, 0xf3, 0x39, 0xd7, 0x9f, 0x91, 0xfa, 0x32, 0xa7, 0xfd, 0xef, 0x4d, 0x74, 0x63, 0x2c, |
|
| 1324 |
+ 0xb9, 0x60, 0xe3, 0x32, 0x1a, 0x0e, 0x51, 0xab, 0xe0, 0x53, 0x06, 0xc4, 0xed, 0x35, 0x06, 0x87, |
|
| 1325 |
+ 0x43, 0x12, 0xfe, 0x1f, 0x32, 0x3c, 0xe3, 0x53, 0x46, 0x0d, 0x86, 0x5f, 0xa1, 0x0e, 0x30, 0xb1, |
|
| 1326 |
+ 0x4e, 0x13, 0x06, 0xc4, 0xd3, 0xca, 0xdd, 0x3a, 0x65, 0x6c, 0x18, 0x5a, 0xc1, 0x4a, 0x2c, 0x98, |
|
| 1327 |
+ 0xbc, 0xe0, 0x22, 0x03, 0xd2, 0xd8, 0x2f, 0x9e, 0x19, 0x86, 0x56, 0xb0, 0x4a, 0x28, 0x63, 0xc8, |
|
| 1328 |
+ 0x80, 0x34, 0xf7, 0x27, 0xfc, 0x18, 0x43, 0x46, 0x0d, 0xa6, 0x1a, 0x25, 0x5f, 0x56, 0x20, 0x99, |
|
| 1329 |
+ 0x00, 0xd2, 0xda, 0xdf, 0xe8, 0xd4, 0x30, 0xb4, 0x82, 0xf1, 0x4b, 0xe4, 0x03, 0x4b, 0x04, 0x93, |
|
| 1330 |
+ 0x40, 0xda, 0xda, 0xeb, 0xd6, 0xdf, 0x4c, 0x21, 0xd4, 0xa2, 0xf8, 0x0d, 0x3a, 0x10, 0x0c, 0xf8, |
|
| 1331 |
+ 0x4a, 0xa8, 0x17, 0xf1, 0xb5, 0x77, 0x5c, 0xe7, 0xd1, 0x12, 0xa2, 0xff, 0x70, 0x7c, 0x82, 0x10, |
|
| 1332 |
+ 0xfb, 0x2a, 0x59, 0x01, 0x29, 0x2f, 0x80, 0x74, 0xb4, 0x7c, 0xaf, 0x4e, 0x7e, 0x67, 0x29, 0xba, |
|
| 1333 |
+ 0x23, 0xa8, 0xc0, 0x09, 0x2f, 0x66, 0xe9, 0x1c, 0xc8, 0xc1, 0xfe, 0xc0, 0xa7, 0x1a, 0xa1, 0x16, |
|
| 1334 |
+ 0xed, 0xa7, 0xe8, 0x56, 0x79, 0xf7, 0x6a, 0x08, 0x5e, 0x23, 0x3f, 0x67, 0xf9, 0x44, 0xbd, 0x98, |
|
| 1335 |
+ 0x19, 0x83, 0xa0, 0xf6, 0x06, 0xf1, 0x4c, 0x7e, 0xd0, 0x18, 0xb5, 0x38, 0x3e, 0x46, 0xbe, 0x60, |
|
| 1336 |
+ 0x39, 0x5f, 0xb3, 0xa9, 0x9e, 0x86, 0xe6, 0xc8, 0x3b, 0x72, 0xa8, 0x3d, 0xea, 0xff, 0x71, 0x51, |
|
| 1337 |
+ 0xa7, 0x6a, 0xf2, 0x16, 0xf9, 0x6b, 0x26, 0x54, 0x72, 0xe2, 0xf6, 0xdc, 0xc1, 0xcd, 0xe1, 0xa3, |
|
| 1338 |
+ 0xda, 0xe7, 0xb5, 0x3b, 0x73, 0x6e, 0x58, 0x6a, 0x25, 0xfc, 0x1e, 0xa1, 0xb2, 0xeb, 0x22, 0x5d, |
|
| 1339 |
+ 0x12, 0xaf, 0xe7, 0x0e, 0x0e, 0x87, 0x0f, 0xaf, 0xf8, 0xb3, 0xb6, 0xd2, 0xa8, 0xb9, 0xf9, 0x75, |
|
| 1340 |
+ 0xdf, 0xa1, 0x3b, 0x32, 0x3e, 0x41, 0x2d, 0x50, 0x5b, 0x40, 0x1a, 0xba, 0xca, 0x83, 0xda, 0x20, |
|
| 1341 |
+ 0xbb, 0x6b, 0x52, 0xd6, 0x30, 0x56, 0xff, 0x36, 0xf2, 0xcb, 0x74, 0xb8, 0x8d, 0xbc, 0xf3, 0x67, |
|
| 1342 |
+ 0x47, 0xce, 0x88, 0x6c, 0x2e, 0x03, 0xe7, 0xe7, 0x65, 0xe0, 0x7c, 0xdb, 0x06, 0xee, 0x66, 0x1b, |
|
| 1343 |
+ 0xb8, 0x3f, 0xb6, 0x81, 0xfb, 0x7b, 0x1b, 0xb8, 0x9f, 0xbc, 0x49, 0x5b, 0xef, 0xde, 0x8b, 0xbf, |
|
| 1344 |
+ 0x01, 0x00, 0x00, 0xff, 0xff, 0xfd, 0xbe, 0x47, 0xec, 0x2f, 0x04, 0x00, 0x00, |
|
| 1342 | 1345 |
} |
| ... | ... |
@@ -2,8 +2,8 @@ syntax = "proto3"; |
| 2 | 2 |
|
| 3 | 3 |
package docker.swarmkit.v1; |
| 4 | 4 |
|
| 5 |
-import "objects.proto"; |
|
| 6 |
-import "raft.proto"; |
|
| 5 |
+import "github.com/docker/swarmkit/api/objects.proto"; |
|
| 6 |
+import "github.com/docker/swarmkit/api/raft.proto"; |
|
| 7 | 7 |
import weak "gogoproto/gogo.proto"; |
| 8 | 8 |
|
| 9 | 9 |
// StoreSnapshot is used to store snapshots of the store. |
| ... | ... |
@@ -1,5 +1,5 @@ |
| 1 | 1 |
// Code generated by protoc-gen-gogo. |
| 2 |
-// source: specs.proto |
|
| 2 |
+// source: github.com/docker/swarmkit/api/specs.proto |
|
| 3 | 3 |
// DO NOT EDIT! |
| 4 | 4 |
|
| 5 | 5 |
package api |
| ... | ... |
@@ -107,7 +107,7 @@ func (x EndpointSpec_ResolutionMode) String() string {
|
| 107 | 107 |
return proto.EnumName(EndpointSpec_ResolutionMode_name, int32(x)) |
| 108 | 108 |
} |
| 109 | 109 |
func (EndpointSpec_ResolutionMode) EnumDescriptor() ([]byte, []int) {
|
| 110 |
- return fileDescriptorSpecs, []int{8, 0}
|
|
| 110 |
+ return fileDescriptorSpecs, []int{9, 0}
|
|
| 111 | 111 |
} |
| 112 | 112 |
|
| 113 | 113 |
type NodeSpec struct {
|
| ... | ... |
@@ -310,6 +310,15 @@ type TaskSpec struct {
|
| 310 | 310 |
// using the same reconciliation-based mechanism that performs rolling |
| 311 | 311 |
// updates. |
| 312 | 312 |
ForceUpdate uint64 `protobuf:"varint,9,opt,name=force_update,json=forceUpdate,proto3" json:"force_update,omitempty"` |
| 313 |
+ // ResourceReferences provides a generic way to specify resources that |
|
| 314 |
+ // are used by this task, and should be sent down to agents along with |
|
| 315 |
+ // the task. Inside the runtime field there may be more specific |
|
| 316 |
+ // information about how to use the resource, but ResourceReferences |
|
| 317 |
+ // establishes the relationship at the store level, and instructs the |
|
| 318 |
+ // dispatcher to send the related objects. |
|
| 319 |
+ // |
|
| 320 |
+ // ResourceReferences is a list of ResourceReferences used by the task. |
|
| 321 |
+ ResourceReferences []ResourceReference `protobuf:"bytes,11,rep,name=resource_references,json=resourceReferences" json:"resource_references"` |
|
| 313 | 322 |
} |
| 314 | 323 |
|
| 315 | 324 |
func (m *TaskSpec) Reset() { *m = TaskSpec{} }
|
| ... | ... |
@@ -457,6 +466,15 @@ func _TaskSpec_OneofSizer(msg proto.Message) (n int) {
|
| 457 | 457 |
return n |
| 458 | 458 |
} |
| 459 | 459 |
|
| 460 |
+type ResourceReference struct {
|
|
| 461 |
+ ResourceID string `protobuf:"bytes,1,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` |
|
| 462 |
+ ResourceType ResourceType `protobuf:"varint,2,opt,name=resource_type,json=resourceType,proto3,enum=docker.swarmkit.v1.ResourceType" json:"resource_type,omitempty"` |
|
| 463 |
+} |
|
| 464 |
+ |
|
| 465 |
+func (m *ResourceReference) Reset() { *m = ResourceReference{} }
|
|
| 466 |
+func (*ResourceReference) ProtoMessage() {}
|
|
| 467 |
+func (*ResourceReference) Descriptor() ([]byte, []int) { return fileDescriptorSpecs, []int{5} }
|
|
| 468 |
+ |
|
| 460 | 469 |
type GenericRuntimeSpec struct {
|
| 461 | 470 |
Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"` |
| 462 | 471 |
Payload *google_protobuf3.Any `protobuf:"bytes,2,opt,name=payload" json:"payload,omitempty"` |
| ... | ... |
@@ -464,7 +482,7 @@ type GenericRuntimeSpec struct {
|
| 464 | 464 |
|
| 465 | 465 |
func (m *GenericRuntimeSpec) Reset() { *m = GenericRuntimeSpec{} }
|
| 466 | 466 |
func (*GenericRuntimeSpec) ProtoMessage() {}
|
| 467 |
-func (*GenericRuntimeSpec) Descriptor() ([]byte, []int) { return fileDescriptorSpecs, []int{5} }
|
|
| 467 |
+func (*GenericRuntimeSpec) Descriptor() ([]byte, []int) { return fileDescriptorSpecs, []int{6} }
|
|
| 468 | 468 |
|
| 469 | 469 |
// NetworkAttachmentSpec specifies runtime parameters required to attach |
| 470 | 470 |
// a container to a network. |
| ... | ... |
@@ -476,7 +494,7 @@ type NetworkAttachmentSpec struct {
|
| 476 | 476 |
|
| 477 | 477 |
func (m *NetworkAttachmentSpec) Reset() { *m = NetworkAttachmentSpec{} }
|
| 478 | 478 |
func (*NetworkAttachmentSpec) ProtoMessage() {}
|
| 479 |
-func (*NetworkAttachmentSpec) Descriptor() ([]byte, []int) { return fileDescriptorSpecs, []int{6} }
|
|
| 479 |
+func (*NetworkAttachmentSpec) Descriptor() ([]byte, []int) { return fileDescriptorSpecs, []int{7} }
|
|
| 480 | 480 |
|
| 481 | 481 |
// Container specifies runtime parameters for a container. |
| 482 | 482 |
type ContainerSpec struct {
|
| ... | ... |
@@ -567,11 +585,96 @@ type ContainerSpec struct {
|
| 567 | 567 |
// task will exit and a new task will be rescheduled elsewhere. A container |
| 568 | 568 |
// is considered unhealthy after `Retries` number of consecutive failures. |
| 569 | 569 |
Healthcheck *HealthConfig `protobuf:"bytes,16,opt,name=healthcheck" json:"healthcheck,omitempty"` |
| 570 |
+ // Run a custom init inside the container, if null, use the daemon's configured settings |
|
| 571 |
+ // |
|
| 572 |
+ // Types that are valid to be assigned to Init: |
|
| 573 |
+ // *ContainerSpec_InitValue |
|
| 574 |
+ Init isContainerSpec_Init `protobuf_oneof:"init"` |
|
| 570 | 575 |
} |
| 571 | 576 |
|
| 572 | 577 |
func (m *ContainerSpec) Reset() { *m = ContainerSpec{} }
|
| 573 | 578 |
func (*ContainerSpec) ProtoMessage() {}
|
| 574 |
-func (*ContainerSpec) Descriptor() ([]byte, []int) { return fileDescriptorSpecs, []int{7} }
|
|
| 579 |
+func (*ContainerSpec) Descriptor() ([]byte, []int) { return fileDescriptorSpecs, []int{8} }
|
|
| 580 |
+ |
|
| 581 |
+type isContainerSpec_Init interface {
|
|
| 582 |
+ isContainerSpec_Init() |
|
| 583 |
+ MarshalTo([]byte) (int, error) |
|
| 584 |
+ Size() int |
|
| 585 |
+} |
|
| 586 |
+ |
|
| 587 |
+type ContainerSpec_InitValue struct {
|
|
| 588 |
+ InitValue bool `protobuf:"varint,23,opt,name=init_value,json=initValue,proto3,oneof"` |
|
| 589 |
+} |
|
| 590 |
+ |
|
| 591 |
+func (*ContainerSpec_InitValue) isContainerSpec_Init() {}
|
|
| 592 |
+ |
|
| 593 |
+func (m *ContainerSpec) GetInit() isContainerSpec_Init {
|
|
| 594 |
+ if m != nil {
|
|
| 595 |
+ return m.Init |
|
| 596 |
+ } |
|
| 597 |
+ return nil |
|
| 598 |
+} |
|
| 599 |
+ |
|
| 600 |
+func (m *ContainerSpec) GetInitValue() bool {
|
|
| 601 |
+ if x, ok := m.GetInit().(*ContainerSpec_InitValue); ok {
|
|
| 602 |
+ return x.InitValue |
|
| 603 |
+ } |
|
| 604 |
+ return false |
|
| 605 |
+} |
|
| 606 |
+ |
|
| 607 |
+// XXX_OneofFuncs is for the internal use of the proto package. |
|
| 608 |
+func (*ContainerSpec) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
|
|
| 609 |
+ return _ContainerSpec_OneofMarshaler, _ContainerSpec_OneofUnmarshaler, _ContainerSpec_OneofSizer, []interface{}{
|
|
| 610 |
+ (*ContainerSpec_InitValue)(nil), |
|
| 611 |
+ } |
|
| 612 |
+} |
|
| 613 |
+ |
|
| 614 |
+func _ContainerSpec_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
|
|
| 615 |
+ m := msg.(*ContainerSpec) |
|
| 616 |
+ // init |
|
| 617 |
+ switch x := m.Init.(type) {
|
|
| 618 |
+ case *ContainerSpec_InitValue: |
|
| 619 |
+ t := uint64(0) |
|
| 620 |
+ if x.InitValue {
|
|
| 621 |
+ t = 1 |
|
| 622 |
+ } |
|
| 623 |
+ _ = b.EncodeVarint(23<<3 | proto.WireVarint) |
|
| 624 |
+ _ = b.EncodeVarint(t) |
|
| 625 |
+ case nil: |
|
| 626 |
+ default: |
|
| 627 |
+ return fmt.Errorf("ContainerSpec.Init has unexpected type %T", x)
|
|
| 628 |
+ } |
|
| 629 |
+ return nil |
|
| 630 |
+} |
|
| 631 |
+ |
|
| 632 |
+func _ContainerSpec_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
|
|
| 633 |
+ m := msg.(*ContainerSpec) |
|
| 634 |
+ switch tag {
|
|
| 635 |
+ case 23: // init.init_value |
|
| 636 |
+ if wire != proto.WireVarint {
|
|
| 637 |
+ return true, proto.ErrInternalBadWireType |
|
| 638 |
+ } |
|
| 639 |
+ x, err := b.DecodeVarint() |
|
| 640 |
+ m.Init = &ContainerSpec_InitValue{x != 0}
|
|
| 641 |
+ return true, err |
|
| 642 |
+ default: |
|
| 643 |
+ return false, nil |
|
| 644 |
+ } |
|
| 645 |
+} |
|
| 646 |
+ |
|
| 647 |
+func _ContainerSpec_OneofSizer(msg proto.Message) (n int) {
|
|
| 648 |
+ m := msg.(*ContainerSpec) |
|
| 649 |
+ // init |
|
| 650 |
+ switch x := m.Init.(type) {
|
|
| 651 |
+ case *ContainerSpec_InitValue: |
|
| 652 |
+ n += proto.SizeVarint(23<<3 | proto.WireVarint) |
|
| 653 |
+ n += 1 |
|
| 654 |
+ case nil: |
|
| 655 |
+ default: |
|
| 656 |
+ panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
|
|
| 657 |
+ } |
|
| 658 |
+ return n |
|
| 659 |
+} |
|
| 575 | 660 |
|
| 576 | 661 |
// PullOptions allows one to parameterize an image pull. |
| 577 | 662 |
type ContainerSpec_PullOptions struct {
|
| ... | ... |
@@ -585,7 +688,7 @@ type ContainerSpec_PullOptions struct {
|
| 585 | 585 |
func (m *ContainerSpec_PullOptions) Reset() { *m = ContainerSpec_PullOptions{} }
|
| 586 | 586 |
func (*ContainerSpec_PullOptions) ProtoMessage() {}
|
| 587 | 587 |
func (*ContainerSpec_PullOptions) Descriptor() ([]byte, []int) {
|
| 588 |
- return fileDescriptorSpecs, []int{7, 1}
|
|
| 588 |
+ return fileDescriptorSpecs, []int{8, 1}
|
|
| 589 | 589 |
} |
| 590 | 590 |
|
| 591 | 591 |
// DNSConfig specifies DNS related configurations in resolver configuration file (resolv.conf) |
| ... | ... |
@@ -603,7 +706,7 @@ type ContainerSpec_DNSConfig struct {
|
| 603 | 603 |
|
| 604 | 604 |
func (m *ContainerSpec_DNSConfig) Reset() { *m = ContainerSpec_DNSConfig{} }
|
| 605 | 605 |
func (*ContainerSpec_DNSConfig) ProtoMessage() {}
|
| 606 |
-func (*ContainerSpec_DNSConfig) Descriptor() ([]byte, []int) { return fileDescriptorSpecs, []int{7, 2} }
|
|
| 606 |
+func (*ContainerSpec_DNSConfig) Descriptor() ([]byte, []int) { return fileDescriptorSpecs, []int{8, 2} }
|
|
| 607 | 607 |
|
| 608 | 608 |
// EndpointSpec defines the properties that can be configured to |
| 609 | 609 |
// access and loadbalance the service. |
| ... | ... |
@@ -616,7 +719,7 @@ type EndpointSpec struct {
|
| 616 | 616 |
|
| 617 | 617 |
func (m *EndpointSpec) Reset() { *m = EndpointSpec{} }
|
| 618 | 618 |
func (*EndpointSpec) ProtoMessage() {}
|
| 619 |
-func (*EndpointSpec) Descriptor() ([]byte, []int) { return fileDescriptorSpecs, []int{8} }
|
|
| 619 |
+func (*EndpointSpec) Descriptor() ([]byte, []int) { return fileDescriptorSpecs, []int{9} }
|
|
| 620 | 620 |
|
| 621 | 621 |
// NetworkSpec specifies user defined network parameters. |
| 622 | 622 |
type NetworkSpec struct {
|
| ... | ... |
@@ -651,7 +754,7 @@ type NetworkSpec struct {
|
| 651 | 651 |
|
| 652 | 652 |
func (m *NetworkSpec) Reset() { *m = NetworkSpec{} }
|
| 653 | 653 |
func (*NetworkSpec) ProtoMessage() {}
|
| 654 |
-func (*NetworkSpec) Descriptor() ([]byte, []int) { return fileDescriptorSpecs, []int{9} }
|
|
| 654 |
+func (*NetworkSpec) Descriptor() ([]byte, []int) { return fileDescriptorSpecs, []int{10} }
|
|
| 655 | 655 |
|
| 656 | 656 |
type isNetworkSpec_ConfigFrom interface {
|
| 657 | 657 |
isNetworkSpec_ConfigFrom() |
| ... | ... |
@@ -753,7 +856,7 @@ type ClusterSpec struct {
|
| 753 | 753 |
|
| 754 | 754 |
func (m *ClusterSpec) Reset() { *m = ClusterSpec{} }
|
| 755 | 755 |
func (*ClusterSpec) ProtoMessage() {}
|
| 756 |
-func (*ClusterSpec) Descriptor() ([]byte, []int) { return fileDescriptorSpecs, []int{10} }
|
|
| 756 |
+func (*ClusterSpec) Descriptor() ([]byte, []int) { return fileDescriptorSpecs, []int{11} }
|
|
| 757 | 757 |
|
| 758 | 758 |
// SecretSpec specifies a user-provided secret. |
| 759 | 759 |
type SecretSpec struct {
|
| ... | ... |
@@ -772,7 +875,7 @@ type SecretSpec struct {
|
| 772 | 772 |
|
| 773 | 773 |
func (m *SecretSpec) Reset() { *m = SecretSpec{} }
|
| 774 | 774 |
func (*SecretSpec) ProtoMessage() {}
|
| 775 |
-func (*SecretSpec) Descriptor() ([]byte, []int) { return fileDescriptorSpecs, []int{11} }
|
|
| 775 |
+func (*SecretSpec) Descriptor() ([]byte, []int) { return fileDescriptorSpecs, []int{12} }
|
|
| 776 | 776 |
|
| 777 | 777 |
// ConfigSpec specifies user-provided configuration files. |
| 778 | 778 |
type ConfigSpec struct {
|
| ... | ... |
@@ -791,7 +894,7 @@ type ConfigSpec struct {
|
| 791 | 791 |
|
| 792 | 792 |
func (m *ConfigSpec) Reset() { *m = ConfigSpec{} }
|
| 793 | 793 |
func (*ConfigSpec) ProtoMessage() {}
|
| 794 |
-func (*ConfigSpec) Descriptor() ([]byte, []int) { return fileDescriptorSpecs, []int{12} }
|
|
| 794 |
+func (*ConfigSpec) Descriptor() ([]byte, []int) { return fileDescriptorSpecs, []int{13} }
|
|
| 795 | 795 |
|
| 796 | 796 |
func init() {
|
| 797 | 797 |
proto.RegisterType((*NodeSpec)(nil), "docker.swarmkit.v1.NodeSpec") |
| ... | ... |
@@ -799,6 +902,7 @@ func init() {
|
| 799 | 799 |
proto.RegisterType((*ReplicatedService)(nil), "docker.swarmkit.v1.ReplicatedService") |
| 800 | 800 |
proto.RegisterType((*GlobalService)(nil), "docker.swarmkit.v1.GlobalService") |
| 801 | 801 |
proto.RegisterType((*TaskSpec)(nil), "docker.swarmkit.v1.TaskSpec") |
| 802 |
+ proto.RegisterType((*ResourceReference)(nil), "docker.swarmkit.v1.ResourceReference") |
|
| 802 | 803 |
proto.RegisterType((*GenericRuntimeSpec)(nil), "docker.swarmkit.v1.GenericRuntimeSpec") |
| 803 | 804 |
proto.RegisterType((*NetworkAttachmentSpec)(nil), "docker.swarmkit.v1.NetworkAttachmentSpec") |
| 804 | 805 |
proto.RegisterType((*ContainerSpec)(nil), "docker.swarmkit.v1.ContainerSpec") |
| ... | ... |
@@ -946,6 +1050,13 @@ func (m *TaskSpec) CopyFrom(src interface{}) {
|
| 946 | 946 |
} |
| 947 | 947 |
} |
| 948 | 948 |
|
| 949 |
+ if o.ResourceReferences != nil {
|
|
| 950 |
+ m.ResourceReferences = make([]ResourceReference, len(o.ResourceReferences)) |
|
| 951 |
+ for i := range m.ResourceReferences {
|
|
| 952 |
+ github_com_docker_swarmkit_api_deepcopy.Copy(&m.ResourceReferences[i], &o.ResourceReferences[i]) |
|
| 953 |
+ } |
|
| 954 |
+ } |
|
| 955 |
+ |
|
| 949 | 956 |
if o.Runtime != nil {
|
| 950 | 957 |
switch o.Runtime.(type) {
|
| 951 | 958 |
case *TaskSpec_Attachment: |
| ... | ... |
@@ -971,6 +1082,21 @@ func (m *TaskSpec) CopyFrom(src interface{}) {
|
| 971 | 971 |
|
| 972 | 972 |
} |
| 973 | 973 |
|
| 974 |
+func (m *ResourceReference) Copy() *ResourceReference {
|
|
| 975 |
+ if m == nil {
|
|
| 976 |
+ return nil |
|
| 977 |
+ } |
|
| 978 |
+ o := &ResourceReference{}
|
|
| 979 |
+ o.CopyFrom(m) |
|
| 980 |
+ return o |
|
| 981 |
+} |
|
| 982 |
+ |
|
| 983 |
+func (m *ResourceReference) CopyFrom(src interface{}) {
|
|
| 984 |
+ |
|
| 985 |
+ o := src.(*ResourceReference) |
|
| 986 |
+ *m = *o |
|
| 987 |
+} |
|
| 988 |
+ |
|
| 974 | 989 |
func (m *GenericRuntimeSpec) Copy() *GenericRuntimeSpec {
|
| 975 | 990 |
if m == nil {
|
| 976 | 991 |
return nil |
| ... | ... |
@@ -1093,6 +1219,16 @@ func (m *ContainerSpec) CopyFrom(src interface{}) {
|
| 1093 | 1093 |
m.Healthcheck = &HealthConfig{}
|
| 1094 | 1094 |
github_com_docker_swarmkit_api_deepcopy.Copy(m.Healthcheck, o.Healthcheck) |
| 1095 | 1095 |
} |
| 1096 |
+ if o.Init != nil {
|
|
| 1097 |
+ switch o.Init.(type) {
|
|
| 1098 |
+ case *ContainerSpec_InitValue: |
|
| 1099 |
+ v := ContainerSpec_InitValue{
|
|
| 1100 |
+ InitValue: o.GetInitValue(), |
|
| 1101 |
+ } |
|
| 1102 |
+ m.Init = &v |
|
| 1103 |
+ } |
|
| 1104 |
+ } |
|
| 1105 |
+ |
|
| 1096 | 1106 |
} |
| 1097 | 1107 |
|
| 1098 | 1108 |
func (m *ContainerSpec_PullOptions) Copy() *ContainerSpec_PullOptions {
|
| ... | ... |
@@ -1544,6 +1680,18 @@ func (m *TaskSpec) MarshalTo(dAtA []byte) (int, error) {
|
| 1544 | 1544 |
i++ |
| 1545 | 1545 |
i = encodeVarintSpecs(dAtA, i, uint64(m.ForceUpdate)) |
| 1546 | 1546 |
} |
| 1547 |
+ if len(m.ResourceReferences) > 0 {
|
|
| 1548 |
+ for _, msg := range m.ResourceReferences {
|
|
| 1549 |
+ dAtA[i] = 0x5a |
|
| 1550 |
+ i++ |
|
| 1551 |
+ i = encodeVarintSpecs(dAtA, i, uint64(msg.Size())) |
|
| 1552 |
+ n, err := msg.MarshalTo(dAtA[i:]) |
|
| 1553 |
+ if err != nil {
|
|
| 1554 |
+ return 0, err |
|
| 1555 |
+ } |
|
| 1556 |
+ i += n |
|
| 1557 |
+ } |
|
| 1558 |
+ } |
|
| 1547 | 1559 |
return i, nil |
| 1548 | 1560 |
} |
| 1549 | 1561 |
|
| ... | ... |
@@ -1589,6 +1737,35 @@ func (m *TaskSpec_Generic) MarshalTo(dAtA []byte) (int, error) {
|
| 1589 | 1589 |
} |
| 1590 | 1590 |
return i, nil |
| 1591 | 1591 |
} |
| 1592 |
+func (m *ResourceReference) Marshal() (dAtA []byte, err error) {
|
|
| 1593 |
+ size := m.Size() |
|
| 1594 |
+ dAtA = make([]byte, size) |
|
| 1595 |
+ n, err := m.MarshalTo(dAtA) |
|
| 1596 |
+ if err != nil {
|
|
| 1597 |
+ return nil, err |
|
| 1598 |
+ } |
|
| 1599 |
+ return dAtA[:n], nil |
|
| 1600 |
+} |
|
| 1601 |
+ |
|
| 1602 |
+func (m *ResourceReference) MarshalTo(dAtA []byte) (int, error) {
|
|
| 1603 |
+ var i int |
|
| 1604 |
+ _ = i |
|
| 1605 |
+ var l int |
|
| 1606 |
+ _ = l |
|
| 1607 |
+ if len(m.ResourceID) > 0 {
|
|
| 1608 |
+ dAtA[i] = 0xa |
|
| 1609 |
+ i++ |
|
| 1610 |
+ i = encodeVarintSpecs(dAtA, i, uint64(len(m.ResourceID))) |
|
| 1611 |
+ i += copy(dAtA[i:], m.ResourceID) |
|
| 1612 |
+ } |
|
| 1613 |
+ if m.ResourceType != 0 {
|
|
| 1614 |
+ dAtA[i] = 0x10 |
|
| 1615 |
+ i++ |
|
| 1616 |
+ i = encodeVarintSpecs(dAtA, i, uint64(m.ResourceType)) |
|
| 1617 |
+ } |
|
| 1618 |
+ return i, nil |
|
| 1619 |
+} |
|
| 1620 |
+ |
|
| 1592 | 1621 |
func (m *GenericRuntimeSpec) Marshal() (dAtA []byte, err error) {
|
| 1593 | 1622 |
size := m.Size() |
| 1594 | 1623 |
dAtA = make([]byte, size) |
| ... | ... |
@@ -1914,9 +2091,30 @@ func (m *ContainerSpec) MarshalTo(dAtA []byte) (int, error) {
|
| 1914 | 1914 |
} |
| 1915 | 1915 |
i += n23 |
| 1916 | 1916 |
} |
| 1917 |
+ if m.Init != nil {
|
|
| 1918 |
+ nn24, err := m.Init.MarshalTo(dAtA[i:]) |
|
| 1919 |
+ if err != nil {
|
|
| 1920 |
+ return 0, err |
|
| 1921 |
+ } |
|
| 1922 |
+ i += nn24 |
|
| 1923 |
+ } |
|
| 1917 | 1924 |
return i, nil |
| 1918 | 1925 |
} |
| 1919 | 1926 |
|
| 1927 |
+func (m *ContainerSpec_InitValue) MarshalTo(dAtA []byte) (int, error) {
|
|
| 1928 |
+ i := 0 |
|
| 1929 |
+ dAtA[i] = 0xb8 |
|
| 1930 |
+ i++ |
|
| 1931 |
+ dAtA[i] = 0x1 |
|
| 1932 |
+ i++ |
|
| 1933 |
+ if m.InitValue {
|
|
| 1934 |
+ dAtA[i] = 1 |
|
| 1935 |
+ } else {
|
|
| 1936 |
+ dAtA[i] = 0 |
|
| 1937 |
+ } |
|
| 1938 |
+ i++ |
|
| 1939 |
+ return i, nil |
|
| 1940 |
+} |
|
| 1920 | 1941 |
func (m *ContainerSpec_PullOptions) Marshal() (dAtA []byte, err error) {
|
| 1921 | 1942 |
size := m.Size() |
| 1922 | 1943 |
dAtA = make([]byte, size) |
| ... | ... |
@@ -2059,20 +2257,20 @@ func (m *NetworkSpec) MarshalTo(dAtA []byte) (int, error) {
|
| 2059 | 2059 |
dAtA[i] = 0xa |
| 2060 | 2060 |
i++ |
| 2061 | 2061 |
i = encodeVarintSpecs(dAtA, i, uint64(m.Annotations.Size())) |
| 2062 |
- n24, err := m.Annotations.MarshalTo(dAtA[i:]) |
|
| 2062 |
+ n25, err := m.Annotations.MarshalTo(dAtA[i:]) |
|
| 2063 | 2063 |
if err != nil {
|
| 2064 | 2064 |
return 0, err |
| 2065 | 2065 |
} |
| 2066 |
- i += n24 |
|
| 2066 |
+ i += n25 |
|
| 2067 | 2067 |
if m.DriverConfig != nil {
|
| 2068 | 2068 |
dAtA[i] = 0x12 |
| 2069 | 2069 |
i++ |
| 2070 | 2070 |
i = encodeVarintSpecs(dAtA, i, uint64(m.DriverConfig.Size())) |
| 2071 |
- n25, err := m.DriverConfig.MarshalTo(dAtA[i:]) |
|
| 2071 |
+ n26, err := m.DriverConfig.MarshalTo(dAtA[i:]) |
|
| 2072 | 2072 |
if err != nil {
|
| 2073 | 2073 |
return 0, err |
| 2074 | 2074 |
} |
| 2075 |
- i += n25 |
|
| 2075 |
+ i += n26 |
|
| 2076 | 2076 |
} |
| 2077 | 2077 |
if m.Ipv6Enabled {
|
| 2078 | 2078 |
dAtA[i] = 0x18 |
| ... | ... |
@@ -2098,11 +2296,11 @@ func (m *NetworkSpec) MarshalTo(dAtA []byte) (int, error) {
|
| 2098 | 2098 |
dAtA[i] = 0x2a |
| 2099 | 2099 |
i++ |
| 2100 | 2100 |
i = encodeVarintSpecs(dAtA, i, uint64(m.IPAM.Size())) |
| 2101 |
- n26, err := m.IPAM.MarshalTo(dAtA[i:]) |
|
| 2101 |
+ n27, err := m.IPAM.MarshalTo(dAtA[i:]) |
|
| 2102 | 2102 |
if err != nil {
|
| 2103 | 2103 |
return 0, err |
| 2104 | 2104 |
} |
| 2105 |
- i += n26 |
|
| 2105 |
+ i += n27 |
|
| 2106 | 2106 |
} |
| 2107 | 2107 |
if m.Attachable {
|
| 2108 | 2108 |
dAtA[i] = 0x30 |
| ... | ... |
@@ -2125,11 +2323,11 @@ func (m *NetworkSpec) MarshalTo(dAtA []byte) (int, error) {
|
| 2125 | 2125 |
i++ |
| 2126 | 2126 |
} |
| 2127 | 2127 |
if m.ConfigFrom != nil {
|
| 2128 |
- nn27, err := m.ConfigFrom.MarshalTo(dAtA[i:]) |
|
| 2128 |
+ nn28, err := m.ConfigFrom.MarshalTo(dAtA[i:]) |
|
| 2129 | 2129 |
if err != nil {
|
| 2130 | 2130 |
return 0, err |
| 2131 | 2131 |
} |
| 2132 |
- i += nn27 |
|
| 2132 |
+ i += nn28 |
|
| 2133 | 2133 |
} |
| 2134 | 2134 |
return i, nil |
| 2135 | 2135 |
} |
| ... | ... |
@@ -2160,67 +2358,67 @@ func (m *ClusterSpec) MarshalTo(dAtA []byte) (int, error) {
|
| 2160 | 2160 |
dAtA[i] = 0xa |
| 2161 | 2161 |
i++ |
| 2162 | 2162 |
i = encodeVarintSpecs(dAtA, i, uint64(m.Annotations.Size())) |
| 2163 |
- n28, err := m.Annotations.MarshalTo(dAtA[i:]) |
|
| 2163 |
+ n29, err := m.Annotations.MarshalTo(dAtA[i:]) |
|
| 2164 | 2164 |
if err != nil {
|
| 2165 | 2165 |
return 0, err |
| 2166 | 2166 |
} |
| 2167 |
- i += n28 |
|
| 2167 |
+ i += n29 |
|
| 2168 | 2168 |
dAtA[i] = 0x12 |
| 2169 | 2169 |
i++ |
| 2170 | 2170 |
i = encodeVarintSpecs(dAtA, i, uint64(m.AcceptancePolicy.Size())) |
| 2171 |
- n29, err := m.AcceptancePolicy.MarshalTo(dAtA[i:]) |
|
| 2171 |
+ n30, err := m.AcceptancePolicy.MarshalTo(dAtA[i:]) |
|
| 2172 | 2172 |
if err != nil {
|
| 2173 | 2173 |
return 0, err |
| 2174 | 2174 |
} |
| 2175 |
- i += n29 |
|
| 2175 |
+ i += n30 |
|
| 2176 | 2176 |
dAtA[i] = 0x1a |
| 2177 | 2177 |
i++ |
| 2178 | 2178 |
i = encodeVarintSpecs(dAtA, i, uint64(m.Orchestration.Size())) |
| 2179 |
- n30, err := m.Orchestration.MarshalTo(dAtA[i:]) |
|
| 2179 |
+ n31, err := m.Orchestration.MarshalTo(dAtA[i:]) |
|
| 2180 | 2180 |
if err != nil {
|
| 2181 | 2181 |
return 0, err |
| 2182 | 2182 |
} |
| 2183 |
- i += n30 |
|
| 2183 |
+ i += n31 |
|
| 2184 | 2184 |
dAtA[i] = 0x22 |
| 2185 | 2185 |
i++ |
| 2186 | 2186 |
i = encodeVarintSpecs(dAtA, i, uint64(m.Raft.Size())) |
| 2187 |
- n31, err := m.Raft.MarshalTo(dAtA[i:]) |
|
| 2187 |
+ n32, err := m.Raft.MarshalTo(dAtA[i:]) |
|
| 2188 | 2188 |
if err != nil {
|
| 2189 | 2189 |
return 0, err |
| 2190 | 2190 |
} |
| 2191 |
- i += n31 |
|
| 2191 |
+ i += n32 |
|
| 2192 | 2192 |
dAtA[i] = 0x2a |
| 2193 | 2193 |
i++ |
| 2194 | 2194 |
i = encodeVarintSpecs(dAtA, i, uint64(m.Dispatcher.Size())) |
| 2195 |
- n32, err := m.Dispatcher.MarshalTo(dAtA[i:]) |
|
| 2195 |
+ n33, err := m.Dispatcher.MarshalTo(dAtA[i:]) |
|
| 2196 | 2196 |
if err != nil {
|
| 2197 | 2197 |
return 0, err |
| 2198 | 2198 |
} |
| 2199 |
- i += n32 |
|
| 2199 |
+ i += n33 |
|
| 2200 | 2200 |
dAtA[i] = 0x32 |
| 2201 | 2201 |
i++ |
| 2202 | 2202 |
i = encodeVarintSpecs(dAtA, i, uint64(m.CAConfig.Size())) |
| 2203 |
- n33, err := m.CAConfig.MarshalTo(dAtA[i:]) |
|
| 2203 |
+ n34, err := m.CAConfig.MarshalTo(dAtA[i:]) |
|
| 2204 | 2204 |
if err != nil {
|
| 2205 | 2205 |
return 0, err |
| 2206 | 2206 |
} |
| 2207 |
- i += n33 |
|
| 2207 |
+ i += n34 |
|
| 2208 | 2208 |
dAtA[i] = 0x3a |
| 2209 | 2209 |
i++ |
| 2210 | 2210 |
i = encodeVarintSpecs(dAtA, i, uint64(m.TaskDefaults.Size())) |
| 2211 |
- n34, err := m.TaskDefaults.MarshalTo(dAtA[i:]) |
|
| 2211 |
+ n35, err := m.TaskDefaults.MarshalTo(dAtA[i:]) |
|
| 2212 | 2212 |
if err != nil {
|
| 2213 | 2213 |
return 0, err |
| 2214 | 2214 |
} |
| 2215 |
- i += n34 |
|
| 2215 |
+ i += n35 |
|
| 2216 | 2216 |
dAtA[i] = 0x42 |
| 2217 | 2217 |
i++ |
| 2218 | 2218 |
i = encodeVarintSpecs(dAtA, i, uint64(m.EncryptionConfig.Size())) |
| 2219 |
- n35, err := m.EncryptionConfig.MarshalTo(dAtA[i:]) |
|
| 2219 |
+ n36, err := m.EncryptionConfig.MarshalTo(dAtA[i:]) |
|
| 2220 | 2220 |
if err != nil {
|
| 2221 | 2221 |
return 0, err |
| 2222 | 2222 |
} |
| 2223 |
- i += n35 |
|
| 2223 |
+ i += n36 |
|
| 2224 | 2224 |
return i, nil |
| 2225 | 2225 |
} |
| 2226 | 2226 |
|
| ... | ... |
@@ -2242,11 +2440,11 @@ func (m *SecretSpec) MarshalTo(dAtA []byte) (int, error) {
|
| 2242 | 2242 |
dAtA[i] = 0xa |
| 2243 | 2243 |
i++ |
| 2244 | 2244 |
i = encodeVarintSpecs(dAtA, i, uint64(m.Annotations.Size())) |
| 2245 |
- n36, err := m.Annotations.MarshalTo(dAtA[i:]) |
|
| 2245 |
+ n37, err := m.Annotations.MarshalTo(dAtA[i:]) |
|
| 2246 | 2246 |
if err != nil {
|
| 2247 | 2247 |
return 0, err |
| 2248 | 2248 |
} |
| 2249 |
- i += n36 |
|
| 2249 |
+ i += n37 |
|
| 2250 | 2250 |
if len(m.Data) > 0 {
|
| 2251 | 2251 |
dAtA[i] = 0x12 |
| 2252 | 2252 |
i++ |
| ... | ... |
@@ -2257,21 +2455,21 @@ func (m *SecretSpec) MarshalTo(dAtA []byte) (int, error) {
|
| 2257 | 2257 |
dAtA[i] = 0x1a |
| 2258 | 2258 |
i++ |
| 2259 | 2259 |
i = encodeVarintSpecs(dAtA, i, uint64(m.Templating.Size())) |
| 2260 |
- n37, err := m.Templating.MarshalTo(dAtA[i:]) |
|
| 2260 |
+ n38, err := m.Templating.MarshalTo(dAtA[i:]) |
|
| 2261 | 2261 |
if err != nil {
|
| 2262 | 2262 |
return 0, err |
| 2263 | 2263 |
} |
| 2264 |
- i += n37 |
|
| 2264 |
+ i += n38 |
|
| 2265 | 2265 |
} |
| 2266 | 2266 |
if m.Driver != nil {
|
| 2267 | 2267 |
dAtA[i] = 0x22 |
| 2268 | 2268 |
i++ |
| 2269 | 2269 |
i = encodeVarintSpecs(dAtA, i, uint64(m.Driver.Size())) |
| 2270 |
- n38, err := m.Driver.MarshalTo(dAtA[i:]) |
|
| 2270 |
+ n39, err := m.Driver.MarshalTo(dAtA[i:]) |
|
| 2271 | 2271 |
if err != nil {
|
| 2272 | 2272 |
return 0, err |
| 2273 | 2273 |
} |
| 2274 |
- i += n38 |
|
| 2274 |
+ i += n39 |
|
| 2275 | 2275 |
} |
| 2276 | 2276 |
return i, nil |
| 2277 | 2277 |
} |
| ... | ... |
@@ -2294,11 +2492,11 @@ func (m *ConfigSpec) MarshalTo(dAtA []byte) (int, error) {
|
| 2294 | 2294 |
dAtA[i] = 0xa |
| 2295 | 2295 |
i++ |
| 2296 | 2296 |
i = encodeVarintSpecs(dAtA, i, uint64(m.Annotations.Size())) |
| 2297 |
- n39, err := m.Annotations.MarshalTo(dAtA[i:]) |
|
| 2297 |
+ n40, err := m.Annotations.MarshalTo(dAtA[i:]) |
|
| 2298 | 2298 |
if err != nil {
|
| 2299 | 2299 |
return 0, err |
| 2300 | 2300 |
} |
| 2301 |
- i += n39 |
|
| 2301 |
+ i += n40 |
|
| 2302 | 2302 |
if len(m.Data) > 0 {
|
| 2303 | 2303 |
dAtA[i] = 0x12 |
| 2304 | 2304 |
i++ |
| ... | ... |
@@ -2309,11 +2507,11 @@ func (m *ConfigSpec) MarshalTo(dAtA []byte) (int, error) {
|
| 2309 | 2309 |
dAtA[i] = 0x1a |
| 2310 | 2310 |
i++ |
| 2311 | 2311 |
i = encodeVarintSpecs(dAtA, i, uint64(m.Templating.Size())) |
| 2312 |
- n40, err := m.Templating.MarshalTo(dAtA[i:]) |
|
| 2312 |
+ n41, err := m.Templating.MarshalTo(dAtA[i:]) |
|
| 2313 | 2313 |
if err != nil {
|
| 2314 | 2314 |
return 0, err |
| 2315 | 2315 |
} |
| 2316 |
- i += n40 |
|
| 2316 |
+ i += n41 |
|
| 2317 | 2317 |
} |
| 2318 | 2318 |
return i, nil |
| 2319 | 2319 |
} |
| ... | ... |
@@ -2458,6 +2656,12 @@ func (m *TaskSpec) Size() (n int) {
|
| 2458 | 2458 |
if m.ForceUpdate != 0 {
|
| 2459 | 2459 |
n += 1 + sovSpecs(uint64(m.ForceUpdate)) |
| 2460 | 2460 |
} |
| 2461 |
+ if len(m.ResourceReferences) > 0 {
|
|
| 2462 |
+ for _, e := range m.ResourceReferences {
|
|
| 2463 |
+ l = e.Size() |
|
| 2464 |
+ n += 1 + l + sovSpecs(uint64(l)) |
|
| 2465 |
+ } |
|
| 2466 |
+ } |
|
| 2461 | 2467 |
return n |
| 2462 | 2468 |
} |
| 2463 | 2469 |
|
| ... | ... |
@@ -2488,6 +2692,19 @@ func (m *TaskSpec_Generic) Size() (n int) {
|
| 2488 | 2488 |
} |
| 2489 | 2489 |
return n |
| 2490 | 2490 |
} |
| 2491 |
+func (m *ResourceReference) Size() (n int) {
|
|
| 2492 |
+ var l int |
|
| 2493 |
+ _ = l |
|
| 2494 |
+ l = len(m.ResourceID) |
|
| 2495 |
+ if l > 0 {
|
|
| 2496 |
+ n += 1 + l + sovSpecs(uint64(l)) |
|
| 2497 |
+ } |
|
| 2498 |
+ if m.ResourceType != 0 {
|
|
| 2499 |
+ n += 1 + sovSpecs(uint64(m.ResourceType)) |
|
| 2500 |
+ } |
|
| 2501 |
+ return n |
|
| 2502 |
+} |
|
| 2503 |
+ |
|
| 2491 | 2504 |
func (m *GenericRuntimeSpec) Size() (n int) {
|
| 2492 | 2505 |
var l int |
| 2493 | 2506 |
_ = l |
| ... | ... |
@@ -2620,9 +2837,18 @@ func (m *ContainerSpec) Size() (n int) {
|
| 2620 | 2620 |
l = m.Privileges.Size() |
| 2621 | 2621 |
n += 2 + l + sovSpecs(uint64(l)) |
| 2622 | 2622 |
} |
| 2623 |
+ if m.Init != nil {
|
|
| 2624 |
+ n += m.Init.Size() |
|
| 2625 |
+ } |
|
| 2623 | 2626 |
return n |
| 2624 | 2627 |
} |
| 2625 | 2628 |
|
| 2629 |
+func (m *ContainerSpec_InitValue) Size() (n int) {
|
|
| 2630 |
+ var l int |
|
| 2631 |
+ _ = l |
|
| 2632 |
+ n += 3 |
|
| 2633 |
+ return n |
|
| 2634 |
+} |
|
| 2626 | 2635 |
func (m *ContainerSpec_PullOptions) Size() (n int) {
|
| 2627 | 2636 |
var l int |
| 2628 | 2637 |
_ = l |
| ... | ... |
@@ -2861,6 +3087,7 @@ func (this *TaskSpec) String() string {
|
| 2861 | 2861 |
`LogDriver:` + strings.Replace(fmt.Sprintf("%v", this.LogDriver), "Driver", "Driver", 1) + `,`,
|
| 2862 | 2862 |
`Networks:` + strings.Replace(fmt.Sprintf("%v", this.Networks), "NetworkAttachmentConfig", "NetworkAttachmentConfig", 1) + `,`,
|
| 2863 | 2863 |
`ForceUpdate:` + fmt.Sprintf("%v", this.ForceUpdate) + `,`,
|
| 2864 |
+ `ResourceReferences:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ResourceReferences), "ResourceReference", "ResourceReference", 1), `&`, ``, 1) + `,`,
|
|
| 2864 | 2865 |
`}`, |
| 2865 | 2866 |
}, "") |
| 2866 | 2867 |
return s |
| ... | ... |
@@ -2895,6 +3122,17 @@ func (this *TaskSpec_Generic) String() string {
|
| 2895 | 2895 |
}, "") |
| 2896 | 2896 |
return s |
| 2897 | 2897 |
} |
| 2898 |
+func (this *ResourceReference) String() string {
|
|
| 2899 |
+ if this == nil {
|
|
| 2900 |
+ return "nil" |
|
| 2901 |
+ } |
|
| 2902 |
+ s := strings.Join([]string{`&ResourceReference{`,
|
|
| 2903 |
+ `ResourceID:` + fmt.Sprintf("%v", this.ResourceID) + `,`,
|
|
| 2904 |
+ `ResourceType:` + fmt.Sprintf("%v", this.ResourceType) + `,`,
|
|
| 2905 |
+ `}`, |
|
| 2906 |
+ }, "") |
|
| 2907 |
+ return s |
|
| 2908 |
+} |
|
| 2898 | 2909 |
func (this *GenericRuntimeSpec) String() string {
|
| 2899 | 2910 |
if this == nil {
|
| 2900 | 2911 |
return "nil" |
| ... | ... |
@@ -2953,6 +3191,17 @@ func (this *ContainerSpec) String() string {
|
| 2953 | 2953 |
`StopSignal:` + fmt.Sprintf("%v", this.StopSignal) + `,`,
|
| 2954 | 2954 |
`Configs:` + strings.Replace(fmt.Sprintf("%v", this.Configs), "ConfigReference", "ConfigReference", 1) + `,`,
|
| 2955 | 2955 |
`Privileges:` + strings.Replace(fmt.Sprintf("%v", this.Privileges), "Privileges", "Privileges", 1) + `,`,
|
| 2956 |
+ `Init:` + fmt.Sprintf("%v", this.Init) + `,`,
|
|
| 2957 |
+ `}`, |
|
| 2958 |
+ }, "") |
|
| 2959 |
+ return s |
|
| 2960 |
+} |
|
| 2961 |
+func (this *ContainerSpec_InitValue) String() string {
|
|
| 2962 |
+ if this == nil {
|
|
| 2963 |
+ return "nil" |
|
| 2964 |
+ } |
|
| 2965 |
+ s := strings.Join([]string{`&ContainerSpec_InitValue{`,
|
|
| 2966 |
+ `InitValue:` + fmt.Sprintf("%v", this.InitValue) + `,`,
|
|
| 2956 | 2967 |
`}`, |
| 2957 | 2968 |
}, "") |
| 2958 | 2969 |
return s |
| ... | ... |
@@ -3934,6 +4183,135 @@ func (m *TaskSpec) Unmarshal(dAtA []byte) error {
|
| 3934 | 3934 |
} |
| 3935 | 3935 |
m.Runtime = &TaskSpec_Generic{v}
|
| 3936 | 3936 |
iNdEx = postIndex |
| 3937 |
+ case 11: |
|
| 3938 |
+ if wireType != 2 {
|
|
| 3939 |
+ return fmt.Errorf("proto: wrong wireType = %d for field ResourceReferences", wireType)
|
|
| 3940 |
+ } |
|
| 3941 |
+ var msglen int |
|
| 3942 |
+ for shift := uint(0); ; shift += 7 {
|
|
| 3943 |
+ if shift >= 64 {
|
|
| 3944 |
+ return ErrIntOverflowSpecs |
|
| 3945 |
+ } |
|
| 3946 |
+ if iNdEx >= l {
|
|
| 3947 |
+ return io.ErrUnexpectedEOF |
|
| 3948 |
+ } |
|
| 3949 |
+ b := dAtA[iNdEx] |
|
| 3950 |
+ iNdEx++ |
|
| 3951 |
+ msglen |= (int(b) & 0x7F) << shift |
|
| 3952 |
+ if b < 0x80 {
|
|
| 3953 |
+ break |
|
| 3954 |
+ } |
|
| 3955 |
+ } |
|
| 3956 |
+ if msglen < 0 {
|
|
| 3957 |
+ return ErrInvalidLengthSpecs |
|
| 3958 |
+ } |
|
| 3959 |
+ postIndex := iNdEx + msglen |
|
| 3960 |
+ if postIndex > l {
|
|
| 3961 |
+ return io.ErrUnexpectedEOF |
|
| 3962 |
+ } |
|
| 3963 |
+ m.ResourceReferences = append(m.ResourceReferences, ResourceReference{})
|
|
| 3964 |
+ if err := m.ResourceReferences[len(m.ResourceReferences)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
|
| 3965 |
+ return err |
|
| 3966 |
+ } |
|
| 3967 |
+ iNdEx = postIndex |
|
| 3968 |
+ default: |
|
| 3969 |
+ iNdEx = preIndex |
|
| 3970 |
+ skippy, err := skipSpecs(dAtA[iNdEx:]) |
|
| 3971 |
+ if err != nil {
|
|
| 3972 |
+ return err |
|
| 3973 |
+ } |
|
| 3974 |
+ if skippy < 0 {
|
|
| 3975 |
+ return ErrInvalidLengthSpecs |
|
| 3976 |
+ } |
|
| 3977 |
+ if (iNdEx + skippy) > l {
|
|
| 3978 |
+ return io.ErrUnexpectedEOF |
|
| 3979 |
+ } |
|
| 3980 |
+ iNdEx += skippy |
|
| 3981 |
+ } |
|
| 3982 |
+ } |
|
| 3983 |
+ |
|
| 3984 |
+ if iNdEx > l {
|
|
| 3985 |
+ return io.ErrUnexpectedEOF |
|
| 3986 |
+ } |
|
| 3987 |
+ return nil |
|
| 3988 |
+} |
|
| 3989 |
+func (m *ResourceReference) Unmarshal(dAtA []byte) error {
|
|
| 3990 |
+ l := len(dAtA) |
|
| 3991 |
+ iNdEx := 0 |
|
| 3992 |
+ for iNdEx < l {
|
|
| 3993 |
+ preIndex := iNdEx |
|
| 3994 |
+ var wire uint64 |
|
| 3995 |
+ for shift := uint(0); ; shift += 7 {
|
|
| 3996 |
+ if shift >= 64 {
|
|
| 3997 |
+ return ErrIntOverflowSpecs |
|
| 3998 |
+ } |
|
| 3999 |
+ if iNdEx >= l {
|
|
| 4000 |
+ return io.ErrUnexpectedEOF |
|
| 4001 |
+ } |
|
| 4002 |
+ b := dAtA[iNdEx] |
|
| 4003 |
+ iNdEx++ |
|
| 4004 |
+ wire |= (uint64(b) & 0x7F) << shift |
|
| 4005 |
+ if b < 0x80 {
|
|
| 4006 |
+ break |
|
| 4007 |
+ } |
|
| 4008 |
+ } |
|
| 4009 |
+ fieldNum := int32(wire >> 3) |
|
| 4010 |
+ wireType := int(wire & 0x7) |
|
| 4011 |
+ if wireType == 4 {
|
|
| 4012 |
+ return fmt.Errorf("proto: ResourceReference: wiretype end group for non-group")
|
|
| 4013 |
+ } |
|
| 4014 |
+ if fieldNum <= 0 {
|
|
| 4015 |
+ return fmt.Errorf("proto: ResourceReference: illegal tag %d (wire type %d)", fieldNum, wire)
|
|
| 4016 |
+ } |
|
| 4017 |
+ switch fieldNum {
|
|
| 4018 |
+ case 1: |
|
| 4019 |
+ if wireType != 2 {
|
|
| 4020 |
+ return fmt.Errorf("proto: wrong wireType = %d for field ResourceID", wireType)
|
|
| 4021 |
+ } |
|
| 4022 |
+ var stringLen uint64 |
|
| 4023 |
+ for shift := uint(0); ; shift += 7 {
|
|
| 4024 |
+ if shift >= 64 {
|
|
| 4025 |
+ return ErrIntOverflowSpecs |
|
| 4026 |
+ } |
|
| 4027 |
+ if iNdEx >= l {
|
|
| 4028 |
+ return io.ErrUnexpectedEOF |
|
| 4029 |
+ } |
|
| 4030 |
+ b := dAtA[iNdEx] |
|
| 4031 |
+ iNdEx++ |
|
| 4032 |
+ stringLen |= (uint64(b) & 0x7F) << shift |
|
| 4033 |
+ if b < 0x80 {
|
|
| 4034 |
+ break |
|
| 4035 |
+ } |
|
| 4036 |
+ } |
|
| 4037 |
+ intStringLen := int(stringLen) |
|
| 4038 |
+ if intStringLen < 0 {
|
|
| 4039 |
+ return ErrInvalidLengthSpecs |
|
| 4040 |
+ } |
|
| 4041 |
+ postIndex := iNdEx + intStringLen |
|
| 4042 |
+ if postIndex > l {
|
|
| 4043 |
+ return io.ErrUnexpectedEOF |
|
| 4044 |
+ } |
|
| 4045 |
+ m.ResourceID = string(dAtA[iNdEx:postIndex]) |
|
| 4046 |
+ iNdEx = postIndex |
|
| 4047 |
+ case 2: |
|
| 4048 |
+ if wireType != 0 {
|
|
| 4049 |
+ return fmt.Errorf("proto: wrong wireType = %d for field ResourceType", wireType)
|
|
| 4050 |
+ } |
|
| 4051 |
+ m.ResourceType = 0 |
|
| 4052 |
+ for shift := uint(0); ; shift += 7 {
|
|
| 4053 |
+ if shift >= 64 {
|
|
| 4054 |
+ return ErrIntOverflowSpecs |
|
| 4055 |
+ } |
|
| 4056 |
+ if iNdEx >= l {
|
|
| 4057 |
+ return io.ErrUnexpectedEOF |
|
| 4058 |
+ } |
|
| 4059 |
+ b := dAtA[iNdEx] |
|
| 4060 |
+ iNdEx++ |
|
| 4061 |
+ m.ResourceType |= (ResourceType(b) & 0x7F) << shift |
|
| 4062 |
+ if b < 0x80 {
|
|
| 4063 |
+ break |
|
| 4064 |
+ } |
|
| 4065 |
+ } |
|
| 3937 | 4066 |
default: |
| 3938 | 4067 |
iNdEx = preIndex |
| 3939 | 4068 |
skippy, err := skipSpecs(dAtA[iNdEx:]) |
| ... | ... |
@@ -4899,6 +5277,27 @@ func (m *ContainerSpec) Unmarshal(dAtA []byte) error {
|
| 4899 | 4899 |
return err |
| 4900 | 4900 |
} |
| 4901 | 4901 |
iNdEx = postIndex |
| 4902 |
+ case 23: |
|
| 4903 |
+ if wireType != 0 {
|
|
| 4904 |
+ return fmt.Errorf("proto: wrong wireType = %d for field InitValue", wireType)
|
|
| 4905 |
+ } |
|
| 4906 |
+ var v int |
|
| 4907 |
+ for shift := uint(0); ; shift += 7 {
|
|
| 4908 |
+ if shift >= 64 {
|
|
| 4909 |
+ return ErrIntOverflowSpecs |
|
| 4910 |
+ } |
|
| 4911 |
+ if iNdEx >= l {
|
|
| 4912 |
+ return io.ErrUnexpectedEOF |
|
| 4913 |
+ } |
|
| 4914 |
+ b := dAtA[iNdEx] |
|
| 4915 |
+ iNdEx++ |
|
| 4916 |
+ v |= (int(b) & 0x7F) << shift |
|
| 4917 |
+ if b < 0x80 {
|
|
| 4918 |
+ break |
|
| 4919 |
+ } |
|
| 4920 |
+ } |
|
| 4921 |
+ b := bool(v != 0) |
|
| 4922 |
+ m.Init = &ContainerSpec_InitValue{b}
|
|
| 4902 | 4923 |
default: |
| 4903 | 4924 |
iNdEx = preIndex |
| 4904 | 4925 |
skippy, err := skipSpecs(dAtA[iNdEx:]) |
| ... | ... |
@@ -6207,126 +6606,133 @@ var ( |
| 6207 | 6207 |
ErrIntOverflowSpecs = fmt.Errorf("proto: integer overflow")
|
| 6208 | 6208 |
) |
| 6209 | 6209 |
|
| 6210 |
-func init() { proto.RegisterFile("specs.proto", fileDescriptorSpecs) }
|
|
| 6210 |
+func init() { proto.RegisterFile("github.com/docker/swarmkit/api/specs.proto", fileDescriptorSpecs) }
|
|
| 6211 | 6211 |
|
| 6212 | 6212 |
var fileDescriptorSpecs = []byte{
|
| 6213 |
- // 1880 bytes of a gzipped FileDescriptorProto |
|
| 6214 |
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x57, 0xcf, 0x73, 0x1b, 0x49, |
|
| 6215 |
- 0x15, 0xb6, 0x6c, 0x59, 0x3f, 0xde, 0xc8, 0x89, 0xdc, 0x24, 0x61, 0xac, 0xb0, 0xb2, 0xa2, 0x0d, |
|
| 6216 |
- 0xc1, 0xcb, 0x16, 0x72, 0x61, 0xa8, 0x25, 0xbb, 0x61, 0x01, 0xc9, 0x12, 0x8e, 0x31, 0x76, 0x54, |
|
| 6217 |
- 0x6d, 0x6f, 0x20, 0x27, 0x55, 0x7b, 0xa6, 0x2d, 0x4d, 0x79, 0xd4, 0x3d, 0xf4, 0xf4, 0x68, 0x4b, |
|
| 6218 |
- 0x37, 0x8e, 0x5b, 0xb9, 0x72, 0x76, 0x71, 0xa0, 0xf8, 0x5f, 0x72, 0xa4, 0x38, 0xc1, 0xc5, 0x45, |
|
| 6219 |
- 0xfc, 0x2f, 0x70, 0xe3, 0x02, 0xd5, 0x3d, 0x3d, 0xd2, 0x28, 0x19, 0xc7, 0xa9, 0x22, 0x87, 0xbd, |
|
| 6220 |
- 0x75, 0xbf, 0xfe, 0xbe, 0xd7, 0xdd, 0xaf, 0xbf, 0xee, 0xf7, 0x1a, 0xac, 0x30, 0xa0, 0x4e, 0xd8, |
|
| 6221 |
- 0x0a, 0x04, 0x97, 0x1c, 0x21, 0x97, 0x3b, 0xe7, 0x54, 0xb4, 0xc2, 0xaf, 0x89, 0x18, 0x9f, 0x7b, |
|
| 6222 |
- 0xb2, 0x35, 0xf9, 0x71, 0xcd, 0x92, 0xd3, 0x80, 0x1a, 0x40, 0xed, 0xce, 0x90, 0x0f, 0xb9, 0x6e, |
|
| 6223 |
- 0x6e, 0xab, 0x96, 0xb1, 0xd6, 0x87, 0x9c, 0x0f, 0x7d, 0xba, 0xad, 0x7b, 0xa7, 0xd1, 0xd9, 0xb6, |
|
| 6224 |
- 0x1b, 0x09, 0x22, 0x3d, 0xce, 0xcc, 0xf8, 0xc6, 0x9b, 0xe3, 0x84, 0x4d, 0xe3, 0xa1, 0xe6, 0x45, |
|
| 6225 |
- 0x1e, 0x4a, 0x47, 0xdc, 0xa5, 0xc7, 0x01, 0x75, 0xd0, 0x1e, 0x58, 0x84, 0x31, 0x2e, 0x35, 0x37, |
|
| 6226 |
- 0xb4, 0x73, 0x8d, 0xdc, 0x96, 0xb5, 0xb3, 0xd9, 0x7a, 0x7b, 0x51, 0xad, 0xf6, 0x1c, 0xd6, 0xc9, |
|
| 6227 |
- 0xbf, 0xba, 0xdc, 0x5c, 0xc2, 0x69, 0x26, 0xfa, 0x25, 0x54, 0x5c, 0x1a, 0x7a, 0x82, 0xba, 0x03, |
|
| 6228 |
- 0xc1, 0x7d, 0x6a, 0x2f, 0x37, 0x72, 0x5b, 0xb7, 0x76, 0xbe, 0x97, 0xe5, 0x49, 0x4d, 0x8e, 0xb9, |
|
| 6229 |
- 0x4f, 0xb1, 0x65, 0x18, 0xaa, 0x83, 0xf6, 0x00, 0xc6, 0x74, 0x7c, 0x4a, 0x45, 0x38, 0xf2, 0x02, |
|
| 6230 |
- 0x7b, 0x45, 0xd3, 0x7f, 0x70, 0x1d, 0x5d, 0xad, 0xbd, 0x75, 0x38, 0x83, 0xe3, 0x14, 0x15, 0x1d, |
|
| 6231 |
- 0x42, 0x85, 0x4c, 0x88, 0xe7, 0x93, 0x53, 0xcf, 0xf7, 0xe4, 0xd4, 0xce, 0x6b, 0x57, 0x9f, 0xbc, |
|
| 6232 |
- 0xd3, 0x55, 0x3b, 0x45, 0xc0, 0x0b, 0xf4, 0xa6, 0x0b, 0x30, 0x9f, 0x08, 0x3d, 0x82, 0x62, 0xbf, |
|
| 6233 |
- 0x77, 0xd4, 0xdd, 0x3f, 0xda, 0xab, 0x2e, 0xd5, 0x36, 0x5e, 0x5e, 0x34, 0xee, 0x2a, 0x1f, 0x73, |
|
| 6234 |
- 0x40, 0x9f, 0x32, 0xd7, 0x63, 0x43, 0xb4, 0x05, 0xa5, 0xf6, 0xee, 0x6e, 0xaf, 0x7f, 0xd2, 0xeb, |
|
| 6235 |
- 0x56, 0x73, 0xb5, 0xda, 0xcb, 0x8b, 0xc6, 0xbd, 0x45, 0x60, 0xdb, 0x71, 0x68, 0x20, 0xa9, 0x5b, |
|
| 6236 |
- 0xcb, 0x7f, 0xf3, 0x97, 0xfa, 0x52, 0xf3, 0x9b, 0x1c, 0x54, 0xd2, 0x8b, 0x40, 0x8f, 0xa0, 0xd0, |
|
| 6237 |
- 0xde, 0x3d, 0xd9, 0x7f, 0xde, 0xab, 0x2e, 0xcd, 0xe9, 0x69, 0x44, 0xdb, 0x91, 0xde, 0x84, 0xa2, |
|
| 6238 |
- 0x87, 0xb0, 0xda, 0x6f, 0x7f, 0x75, 0xdc, 0xab, 0xe6, 0xe6, 0xcb, 0x49, 0xc3, 0xfa, 0x24, 0x0a, |
|
| 6239 |
- 0x35, 0xaa, 0x8b, 0xdb, 0xfb, 0x47, 0xd5, 0xe5, 0x6c, 0x54, 0x57, 0x10, 0x8f, 0x99, 0xa5, 0xfc, |
|
| 6240 |
- 0x39, 0x0f, 0xd6, 0x31, 0x15, 0x13, 0xcf, 0xf9, 0xc0, 0x12, 0xf9, 0x0c, 0xf2, 0x92, 0x84, 0xe7, |
|
| 6241 |
- 0x5a, 0x1a, 0x56, 0xb6, 0x34, 0x4e, 0x48, 0x78, 0xae, 0x26, 0x35, 0x74, 0x8d, 0x57, 0xca, 0x10, |
|
| 6242 |
- 0x34, 0xf0, 0x3d, 0x87, 0x48, 0xea, 0x6a, 0x65, 0x58, 0x3b, 0xdf, 0xcf, 0x62, 0xe3, 0x19, 0xca, |
|
| 6243 |
- 0xac, 0xff, 0xe9, 0x12, 0x4e, 0x51, 0xd1, 0x13, 0x28, 0x0c, 0x7d, 0x7e, 0x4a, 0x7c, 0xad, 0x09, |
|
| 6244 |
- 0x6b, 0xe7, 0x41, 0x96, 0x93, 0x3d, 0x8d, 0x98, 0x3b, 0x30, 0x14, 0xf4, 0x18, 0x0a, 0x51, 0xe0, |
|
| 6245 |
- 0x12, 0x49, 0xed, 0x82, 0x26, 0x37, 0xb2, 0xc8, 0x5f, 0x69, 0xc4, 0x2e, 0x67, 0x67, 0xde, 0x10, |
|
| 6246 |
- 0x1b, 0x3c, 0x3a, 0x80, 0x12, 0xa3, 0xf2, 0x6b, 0x2e, 0xce, 0x43, 0xbb, 0xd8, 0x58, 0xd9, 0xb2, |
|
| 6247 |
- 0x76, 0x3e, 0xcd, 0x14, 0x63, 0x8c, 0x69, 0x4b, 0x49, 0x9c, 0xd1, 0x98, 0x32, 0x19, 0xbb, 0xe9, |
|
| 6248 |
- 0x2c, 0xdb, 0x39, 0x3c, 0x73, 0x80, 0x7e, 0x0e, 0x25, 0xca, 0xdc, 0x80, 0x7b, 0x4c, 0xda, 0xa5, |
|
| 6249 |
- 0xeb, 0x17, 0xd2, 0x33, 0x18, 0x15, 0x4c, 0x3c, 0x63, 0x28, 0xb6, 0xe0, 0xbe, 0x7f, 0x4a, 0x9c, |
|
| 6250 |
- 0x73, 0xbb, 0xfc, 0x9e, 0xdb, 0x98, 0x31, 0x3a, 0x05, 0xc8, 0x8f, 0xb9, 0x4b, 0x9b, 0xdb, 0xb0, |
|
| 6251 |
- 0xfe, 0x56, 0xa8, 0x51, 0x0d, 0x4a, 0x26, 0xd4, 0xb1, 0x46, 0xf2, 0x78, 0xd6, 0x6f, 0xde, 0x86, |
|
| 6252 |
- 0xb5, 0x85, 0xb0, 0x36, 0xff, 0x9e, 0x87, 0x52, 0x72, 0xd6, 0xa8, 0x0d, 0x65, 0x87, 0x33, 0x49, |
|
| 6253 |
- 0x3c, 0x46, 0x85, 0x91, 0x57, 0xe6, 0xc9, 0xec, 0x26, 0x20, 0xc5, 0x7a, 0xba, 0x84, 0xe7, 0x2c, |
|
| 6254 |
- 0xf4, 0x6b, 0x28, 0x0b, 0x1a, 0xf2, 0x48, 0x38, 0x34, 0x34, 0xfa, 0xda, 0xca, 0x56, 0x48, 0x0c, |
|
| 6255 |
- 0xc2, 0xf4, 0x0f, 0x91, 0x27, 0xa8, 0x8a, 0x72, 0x88, 0xe7, 0x54, 0xf4, 0x04, 0x8a, 0x82, 0x86, |
|
| 6256 |
- 0x92, 0x08, 0xf9, 0x2e, 0x89, 0xe0, 0x18, 0xd2, 0xe7, 0xbe, 0xe7, 0x4c, 0x71, 0xc2, 0x40, 0x4f, |
|
| 6257 |
- 0xa0, 0x1c, 0xf8, 0xc4, 0xd1, 0x5e, 0xed, 0x55, 0x4d, 0xff, 0x28, 0x8b, 0xde, 0x4f, 0x40, 0x78, |
|
| 6258 |
- 0x8e, 0x47, 0x9f, 0x03, 0xf8, 0x7c, 0x38, 0x70, 0x85, 0x37, 0xa1, 0xc2, 0x48, 0xac, 0x96, 0xc5, |
|
| 6259 |
- 0xee, 0x6a, 0x04, 0x2e, 0xfb, 0x7c, 0x18, 0x37, 0xd1, 0xde, 0xff, 0xa5, 0xaf, 0x94, 0xb6, 0x0e, |
|
| 6260 |
- 0x00, 0xc8, 0x6c, 0xd4, 0xa8, 0xeb, 0x93, 0xf7, 0x72, 0x65, 0x4e, 0x24, 0x45, 0x47, 0x0f, 0xa0, |
|
| 6261 |
- 0x72, 0xc6, 0x85, 0x43, 0x07, 0xe6, 0xd6, 0x94, 0xb5, 0x26, 0x2c, 0x6d, 0x8b, 0xf5, 0x85, 0x3a, |
|
| 6262 |
- 0x50, 0x1c, 0x52, 0x46, 0x85, 0xe7, 0xd8, 0xa0, 0x27, 0x7b, 0x94, 0x79, 0x21, 0x63, 0x08, 0x8e, |
|
| 6263 |
- 0x98, 0xf4, 0xc6, 0xd4, 0xcc, 0x94, 0x10, 0x3b, 0x65, 0x28, 0x8a, 0x78, 0xa4, 0xf9, 0x7b, 0x40, |
|
| 6264 |
- 0x6f, 0x63, 0x11, 0x82, 0xfc, 0xb9, 0xc7, 0x5c, 0x2d, 0xac, 0x32, 0xd6, 0x6d, 0xd4, 0x82, 0x62, |
|
| 6265 |
- 0x40, 0xa6, 0x3e, 0x27, 0xae, 0x11, 0xcb, 0x9d, 0x56, 0x9c, 0x2f, 0x5b, 0x49, 0xbe, 0x6c, 0xb5, |
|
| 6266 |
- 0xd9, 0x14, 0x27, 0xa0, 0xe6, 0x01, 0xdc, 0xcd, 0xdc, 0x32, 0xda, 0x81, 0xca, 0x4c, 0x84, 0x03, |
|
| 6267 |
- 0xcf, 0x4c, 0xd2, 0xb9, 0x7d, 0x75, 0xb9, 0x69, 0xcd, 0xd4, 0xba, 0xdf, 0xc5, 0xd6, 0x0c, 0xb4, |
|
| 6268 |
- 0xef, 0x36, 0xff, 0x54, 0x86, 0xb5, 0x05, 0x29, 0xa3, 0x3b, 0xb0, 0xea, 0x8d, 0xc9, 0x90, 0x9a, |
|
| 6269 |
- 0x35, 0xc6, 0x1d, 0xd4, 0x83, 0x82, 0x4f, 0x4e, 0xa9, 0xaf, 0x04, 0xad, 0x0e, 0xf5, 0x47, 0x37, |
|
| 6270 |
- 0xde, 0x89, 0xd6, 0x6f, 0x35, 0xbe, 0xc7, 0xa4, 0x98, 0x62, 0x43, 0x46, 0x36, 0x14, 0x1d, 0x3e, |
|
| 6271 |
- 0x1e, 0x13, 0xa6, 0x9e, 0xce, 0x95, 0xad, 0x32, 0x4e, 0xba, 0x2a, 0x32, 0x44, 0x0c, 0x43, 0x3b, |
|
| 6272 |
- 0xaf, 0xcd, 0xba, 0x8d, 0xaa, 0xb0, 0x42, 0xd9, 0xc4, 0x5e, 0xd5, 0x26, 0xd5, 0x54, 0x16, 0xd7, |
|
| 6273 |
- 0x8b, 0x15, 0x59, 0xc6, 0xaa, 0xa9, 0x78, 0x51, 0x48, 0x85, 0x5d, 0x8c, 0x23, 0xaa, 0xda, 0xe8, |
|
| 6274 |
- 0x67, 0x50, 0x18, 0xf3, 0x88, 0xc9, 0xd0, 0x2e, 0xe9, 0xc5, 0x6e, 0x64, 0x2d, 0xf6, 0x50, 0x21, |
|
| 6275 |
- 0xcc, 0xd3, 0x6e, 0xe0, 0xa8, 0x07, 0xeb, 0xa1, 0xe4, 0xc1, 0x60, 0x28, 0x88, 0x43, 0x07, 0x01, |
|
| 6276 |
- 0x15, 0x1e, 0x77, 0xcd, 0xd3, 0xb4, 0xf1, 0xd6, 0xa1, 0x74, 0x4d, 0x91, 0x83, 0x6f, 0x2b, 0xce, |
|
| 6277 |
- 0x9e, 0xa2, 0xf4, 0x35, 0x03, 0xf5, 0xa1, 0x12, 0x44, 0xbe, 0x3f, 0xe0, 0x41, 0x9c, 0xa5, 0x62, |
|
| 6278 |
- 0x3d, 0xbd, 0x47, 0xc8, 0xfa, 0x91, 0xef, 0x3f, 0x8b, 0x49, 0xd8, 0x0a, 0xe6, 0x1d, 0x74, 0x0f, |
|
| 6279 |
- 0x0a, 0x43, 0xc1, 0xa3, 0x20, 0xb4, 0x2d, 0x1d, 0x0c, 0xd3, 0x43, 0x5f, 0x42, 0x31, 0xa4, 0x8e, |
|
| 6280 |
- 0xa0, 0x32, 0xb4, 0x2b, 0x7a, 0xab, 0x1f, 0x67, 0x4d, 0x72, 0xac, 0x21, 0x98, 0x9e, 0x51, 0x41, |
|
| 6281 |
- 0x99, 0x43, 0x71, 0xc2, 0x41, 0x1b, 0xb0, 0x22, 0xe5, 0xd4, 0x5e, 0x6b, 0xe4, 0xb6, 0x4a, 0x9d, |
|
| 6282 |
- 0xe2, 0xd5, 0xe5, 0xe6, 0xca, 0xc9, 0xc9, 0x0b, 0xac, 0x6c, 0xea, 0x05, 0x1d, 0xf1, 0x50, 0x32, |
|
| 6283 |
- 0x32, 0xa6, 0xf6, 0x2d, 0x1d, 0xdb, 0x59, 0x1f, 0xbd, 0x00, 0x70, 0x59, 0x38, 0x70, 0xf4, 0x95, |
|
| 6284 |
- 0xb5, 0x6f, 0xeb, 0xdd, 0x7d, 0x7a, 0xf3, 0xee, 0xba, 0x47, 0xc7, 0x26, 0x8b, 0xac, 0x5d, 0x5d, |
|
| 6285 |
- 0x6e, 0x96, 0x67, 0x5d, 0x5c, 0x76, 0x59, 0x18, 0x37, 0x51, 0x07, 0xac, 0x11, 0x25, 0xbe, 0x1c, |
|
| 6286 |
- 0x39, 0x23, 0xea, 0x9c, 0xdb, 0xd5, 0xeb, 0xd3, 0xc2, 0x53, 0x0d, 0x33, 0x1e, 0xd2, 0x24, 0xa5, |
|
| 6287 |
- 0x60, 0xb5, 0xd4, 0xd0, 0x5e, 0xd7, 0xb1, 0x8a, 0x3b, 0xe8, 0x23, 0x00, 0x1e, 0x50, 0x36, 0x08, |
|
| 6288 |
- 0xa5, 0xeb, 0x31, 0x1b, 0xa9, 0x2d, 0xe3, 0xb2, 0xb2, 0x1c, 0x2b, 0x03, 0xba, 0xaf, 0x1e, 0x6d, |
|
| 6289 |
- 0xe2, 0x0e, 0x38, 0xf3, 0xa7, 0xf6, 0x77, 0xf4, 0x68, 0x49, 0x19, 0x9e, 0x31, 0x7f, 0x8a, 0x36, |
|
| 6290 |
- 0xc1, 0xd2, 0xba, 0x08, 0xbd, 0x21, 0x23, 0xbe, 0x7d, 0x47, 0xc7, 0x03, 0x94, 0xe9, 0x58, 0x5b, |
|
| 6291 |
- 0xd4, 0x39, 0xc4, 0xd1, 0x08, 0xed, 0xbb, 0xd7, 0x9f, 0x83, 0x59, 0xec, 0xfc, 0x1c, 0x0c, 0x07, |
|
| 6292 |
- 0xfd, 0x02, 0x20, 0x10, 0xde, 0xc4, 0xf3, 0xe9, 0x90, 0x86, 0xf6, 0x3d, 0xbd, 0xe9, 0x7a, 0xe6, |
|
| 6293 |
- 0x6b, 0x3d, 0x43, 0xe1, 0x14, 0xa3, 0xf6, 0x39, 0x58, 0xa9, 0xdb, 0xa6, 0x6e, 0xc9, 0x39, 0x9d, |
|
| 6294 |
- 0x9a, 0x0b, 0xac, 0x9a, 0x2a, 0x24, 0x13, 0xe2, 0x47, 0x71, 0x25, 0x5c, 0xc6, 0x71, 0xe7, 0x8b, |
|
| 6295 |
- 0xe5, 0xc7, 0xb9, 0xda, 0x0e, 0x58, 0x29, 0xd5, 0xa1, 0x8f, 0x61, 0x4d, 0xd0, 0xa1, 0x17, 0x4a, |
|
| 6296 |
- 0x31, 0x1d, 0x90, 0x48, 0x8e, 0xec, 0x5f, 0x69, 0x42, 0x25, 0x31, 0xb6, 0x23, 0x39, 0xaa, 0x0d, |
|
| 6297 |
- 0x60, 0x7e, 0x78, 0xa8, 0x01, 0x96, 0x12, 0x45, 0x48, 0xc5, 0x84, 0x0a, 0x95, 0x6d, 0x55, 0xcc, |
|
| 6298 |
- 0xd3, 0x26, 0x25, 0xde, 0x90, 0x12, 0xe1, 0x8c, 0xf4, 0xdb, 0x51, 0xc6, 0xa6, 0xa7, 0x1e, 0x83, |
|
| 6299 |
- 0xe4, 0x86, 0x98, 0xc7, 0xc0, 0x74, 0x9b, 0xff, 0xce, 0x41, 0x25, 0x5d, 0x34, 0xa0, 0xdd, 0x38, |
|
| 6300 |
- 0xd9, 0xeb, 0x2d, 0xdd, 0xda, 0xd9, 0xbe, 0xa9, 0xc8, 0xd0, 0xa9, 0xd5, 0x8f, 0x94, 0xb3, 0x43, |
|
| 6301 |
- 0x55, 0xdf, 0x6b, 0x32, 0xfa, 0x29, 0xac, 0x06, 0x5c, 0xc8, 0xe4, 0x09, 0xcb, 0x0e, 0x30, 0x17, |
|
| 6302 |
- 0x49, 0x2a, 0x8a, 0xc1, 0xcd, 0x11, 0xdc, 0x5a, 0xf4, 0x86, 0x1e, 0xc2, 0xca, 0xf3, 0xfd, 0x7e, |
|
| 6303 |
- 0x75, 0xa9, 0x76, 0xff, 0xe5, 0x45, 0xe3, 0xbb, 0x8b, 0x83, 0xcf, 0x3d, 0x21, 0x23, 0xe2, 0xef, |
|
| 6304 |
- 0xf7, 0xd1, 0x0f, 0x61, 0xb5, 0x7b, 0x74, 0x8c, 0x71, 0x35, 0x57, 0xdb, 0x7c, 0x79, 0xd1, 0xb8, |
|
| 6305 |
- 0xbf, 0x88, 0x53, 0x43, 0x3c, 0x62, 0x2e, 0xe6, 0xa7, 0xb3, 0x5a, 0xf7, 0x3f, 0xcb, 0x60, 0x99, |
|
| 6306 |
- 0x97, 0xfd, 0x43, 0x7f, 0x87, 0xd6, 0xe2, 0x54, 0x9e, 0x5c, 0xd9, 0xe5, 0x1b, 0x33, 0x7a, 0x25, |
|
| 6307 |
- 0x26, 0x98, 0x33, 0x7e, 0x00, 0x15, 0x2f, 0x98, 0x7c, 0x36, 0xa0, 0x8c, 0x9c, 0xfa, 0xa6, 0xec, |
|
| 6308 |
- 0x2d, 0x61, 0x4b, 0xd9, 0x7a, 0xb1, 0x49, 0xbd, 0x17, 0x1e, 0x93, 0x54, 0x30, 0x53, 0xd0, 0x96, |
|
| 6309 |
- 0xf0, 0xac, 0x8f, 0xbe, 0x84, 0xbc, 0x17, 0x90, 0xb1, 0x29, 0x43, 0x32, 0x77, 0xb0, 0xdf, 0x6f, |
|
| 6310 |
- 0x1f, 0x1a, 0x0d, 0x76, 0x4a, 0x57, 0x97, 0x9b, 0x79, 0x65, 0xc0, 0x9a, 0x86, 0xea, 0x49, 0x25, |
|
| 6311 |
- 0xa0, 0x66, 0xd2, 0x6f, 0x7f, 0x09, 0xa7, 0x2c, 0x4a, 0x47, 0x1e, 0x1b, 0x0a, 0x1a, 0x86, 0x3a, |
|
| 6312 |
- 0x0b, 0x94, 0x70, 0xd2, 0x45, 0x35, 0x28, 0x9a, 0x7a, 0x42, 0x17, 0x10, 0x65, 0x95, 0xab, 0x8d, |
|
| 6313 |
- 0xa1, 0xb3, 0x06, 0x56, 0x1c, 0x8d, 0xc1, 0x99, 0xe0, 0xe3, 0xe6, 0x7f, 0xf3, 0x60, 0xed, 0xfa, |
|
| 6314 |
- 0x51, 0x28, 0x4d, 0x1a, 0xfc, 0x60, 0xc1, 0x7f, 0x01, 0xeb, 0x44, 0x7f, 0xaf, 0x08, 0x53, 0x39, |
|
| 6315 |
- 0x45, 0x97, 0x69, 0xe6, 0x00, 0x1e, 0x66, 0xba, 0x9b, 0x81, 0xe3, 0x92, 0xae, 0x53, 0x50, 0x3e, |
|
| 6316 |
- 0xed, 0x1c, 0xae, 0x92, 0x37, 0x46, 0xd0, 0x31, 0xac, 0x71, 0xe1, 0x8c, 0x68, 0x28, 0xe3, 0x4c, |
|
| 6317 |
- 0x64, 0xbe, 0x23, 0x99, 0x1f, 0xd5, 0x67, 0x69, 0xa0, 0x79, 0x86, 0xe3, 0xd5, 0x2e, 0xfa, 0x40, |
|
| 6318 |
- 0x8f, 0x21, 0x2f, 0xc8, 0x59, 0x52, 0x72, 0x66, 0x5e, 0x12, 0x4c, 0xce, 0xe4, 0x82, 0x0b, 0xcd, |
|
| 6319 |
- 0x40, 0xbf, 0x01, 0x70, 0xbd, 0x30, 0x20, 0xd2, 0x19, 0x51, 0x61, 0x0e, 0x3b, 0x73, 0x8b, 0xdd, |
|
| 6320 |
- 0x19, 0x6a, 0xc1, 0x4b, 0x8a, 0x8d, 0x0e, 0xa0, 0xec, 0x90, 0x44, 0xae, 0x85, 0xeb, 0xff, 0x68, |
|
| 6321 |
- 0xbb, 0x6d, 0xe3, 0xa2, 0xaa, 0x5c, 0x5c, 0x5d, 0x6e, 0x96, 0x12, 0x0b, 0x2e, 0x39, 0xc4, 0xc8, |
|
| 6322 |
- 0xf7, 0x00, 0xd6, 0xd4, 0xdf, 0x6d, 0xe0, 0xd2, 0x33, 0x12, 0xf9, 0x32, 0x96, 0xc9, 0x35, 0x69, |
|
| 6323 |
- 0x45, 0x7d, 0x04, 0xba, 0x06, 0x67, 0xd6, 0x55, 0x91, 0x29, 0x1b, 0xfa, 0x1d, 0xac, 0x53, 0xe6, |
|
| 6324 |
- 0x88, 0xa9, 0x16, 0x6b, 0xb2, 0xc2, 0xd2, 0xf5, 0x9b, 0xed, 0xcd, 0xc0, 0x0b, 0x9b, 0xad, 0xd2, |
|
| 6325 |
- 0x37, 0xec, 0xcd, 0x7f, 0xe6, 0x00, 0xe2, 0x4c, 0xfd, 0x61, 0x05, 0x88, 0x20, 0xef, 0x12, 0x49, |
|
| 6326 |
- 0xb4, 0xe6, 0x2a, 0x58, 0xb7, 0xd1, 0x17, 0x00, 0x92, 0x8e, 0x03, 0x9f, 0x48, 0x8f, 0x0d, 0x8d, |
|
| 6327 |
- 0x6c, 0xde, 0xf5, 0x1c, 0xa4, 0xd0, 0x68, 0x07, 0x0a, 0xe6, 0x63, 0x90, 0xbf, 0x91, 0x67, 0x90, |
|
| 6328 |
- 0xcd, 0xbf, 0xe6, 0x00, 0xe2, 0x6d, 0x7e, 0xab, 0xf7, 0xd6, 0xb1, 0x5f, 0xbd, 0xae, 0x2f, 0xfd, |
|
| 6329 |
- 0xe3, 0x75, 0x7d, 0xe9, 0x8f, 0x57, 0xf5, 0xdc, 0xab, 0xab, 0x7a, 0xee, 0x6f, 0x57, 0xf5, 0xdc, |
|
| 6330 |
- 0xbf, 0xae, 0xea, 0xb9, 0xd3, 0x82, 0xae, 0xfb, 0x7e, 0xf2, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, |
|
| 6331 |
- 0xc1, 0xd8, 0x19, 0x9e, 0x30, 0x13, 0x00, 0x00, |
|
| 6213 |
+ // 2000 bytes of a gzipped FileDescriptorProto |
|
| 6214 |
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x57, 0x4f, 0x6f, 0x1b, 0xb9, |
|
| 6215 |
+ 0x15, 0xb7, 0x6c, 0x59, 0x7f, 0xde, 0xc8, 0x89, 0xc2, 0x4d, 0xb2, 0x13, 0xa5, 0x6b, 0x29, 0xda, |
|
| 6216 |
+ 0x6c, 0xea, 0xdd, 0x45, 0x65, 0xd4, 0x2d, 0xb6, 0xd9, 0x4d, 0xb7, 0xad, 0x64, 0xa9, 0x8e, 0x9b, |
|
| 6217 |
+ 0xc6, 0x11, 0x68, 0x6f, 0xda, 0x00, 0x05, 0x04, 0x7a, 0x86, 0x96, 0x08, 0x8f, 0x86, 0x53, 0x0e, |
|
| 6218 |
+ 0xc7, 0x0b, 0xdd, 0x7a, 0x5c, 0xa4, 0x9f, 0x21, 0xe8, 0xa1, 0xe8, 0xbd, 0x1f, 0xa0, 0x1f, 0x20, |
|
| 6219 |
+ 0xc7, 0x1e, 0xdb, 0x8b, 0xd1, 0xd5, 0x57, 0xe8, 0xad, 0x97, 0x16, 0xe4, 0x70, 0x46, 0xa3, 0x64, |
|
| 6220 |
+ 0x1c, 0x07, 0x68, 0x0e, 0x7b, 0x23, 0xdf, 0xfc, 0x7e, 0x6f, 0x1e, 0xc9, 0xdf, 0xe3, 0x7b, 0x84, |
|
| 6221 |
+ 0x4f, 0xc6, 0x4c, 0x4e, 0xa2, 0xe3, 0x8e, 0xc3, 0xa7, 0xdb, 0x2e, 0x77, 0x4e, 0xa9, 0xd8, 0x0e, |
|
| 6222 |
+ 0xbf, 0x26, 0x62, 0x7a, 0xca, 0xe4, 0x36, 0x09, 0xd8, 0x76, 0x18, 0x50, 0x27, 0xec, 0x04, 0x82, |
|
| 6223 |
+ 0x4b, 0x8e, 0x50, 0x0c, 0xe8, 0x24, 0x80, 0xce, 0xd9, 0x0f, 0x1b, 0x97, 0xf1, 0xe5, 0x2c, 0xa0, |
|
| 6224 |
+ 0x86, 0xdf, 0xb8, 0x3e, 0xe6, 0x63, 0xae, 0x87, 0xdb, 0x6a, 0x64, 0xac, 0x9b, 0x63, 0xce, 0xc7, |
|
| 6225 |
+ 0x1e, 0xdd, 0xd6, 0xb3, 0xe3, 0xe8, 0x64, 0xdb, 0x8d, 0x04, 0x91, 0x8c, 0xfb, 0xe6, 0xfb, 0xad, |
|
| 6226 |
+ 0x57, 0xbf, 0x13, 0x7f, 0x16, 0x7f, 0x6a, 0xbf, 0x28, 0x42, 0xe5, 0x80, 0xbb, 0xf4, 0x30, 0xa0, |
|
| 6227 |
+ 0x0e, 0xda, 0x03, 0x8b, 0xf8, 0x3e, 0x97, 0x9a, 0x1b, 0xda, 0x85, 0x56, 0x61, 0xcb, 0xda, 0x69, |
|
| 6228 |
+ 0x76, 0x5e, 0x8f, 0xb9, 0xd3, 0x5d, 0xc0, 0x7a, 0xc5, 0x97, 0xe7, 0xcd, 0x15, 0x9c, 0x65, 0xa2, |
|
| 6229 |
+ 0x9f, 0x43, 0xcd, 0xa5, 0x21, 0x13, 0xd4, 0x1d, 0x09, 0xee, 0x51, 0x7b, 0xb5, 0x55, 0xd8, 0xba, |
|
| 6230 |
+ 0xb2, 0xf3, 0xbd, 0x3c, 0x4f, 0xea, 0xe7, 0x98, 0x7b, 0x14, 0x5b, 0x86, 0xa1, 0x26, 0x68, 0x0f, |
|
| 6231 |
+ 0x60, 0x4a, 0xa7, 0xc7, 0x54, 0x84, 0x13, 0x16, 0xd8, 0x6b, 0x9a, 0xfe, 0xfd, 0x8b, 0xe8, 0x2a, |
|
| 6232 |
+ 0xf6, 0xce, 0xe3, 0x14, 0x8e, 0x33, 0x54, 0xf4, 0x18, 0x6a, 0xe4, 0x8c, 0x30, 0x8f, 0x1c, 0x33, |
|
| 6233 |
+ 0x8f, 0xc9, 0x99, 0x5d, 0xd4, 0xae, 0x3e, 0x7e, 0xa3, 0xab, 0x6e, 0x86, 0x80, 0x97, 0xe8, 0x6d, |
|
| 6234 |
+ 0x17, 0x60, 0xf1, 0x23, 0x74, 0x0f, 0xca, 0xc3, 0xc1, 0x41, 0x7f, 0xff, 0x60, 0xaf, 0xbe, 0xd2, |
|
| 6235 |
+ 0xb8, 0xf5, 0xfc, 0x45, 0xeb, 0x86, 0xf2, 0xb1, 0x00, 0x0c, 0xa9, 0xef, 0x32, 0x7f, 0x8c, 0xb6, |
|
| 6236 |
+ 0xa0, 0xd2, 0xdd, 0xdd, 0x1d, 0x0c, 0x8f, 0x06, 0xfd, 0x7a, 0xa1, 0xd1, 0x78, 0xfe, 0xa2, 0x75, |
|
| 6237 |
+ 0x73, 0x19, 0xd8, 0x75, 0x1c, 0x1a, 0x48, 0xea, 0x36, 0x8a, 0xdf, 0xfc, 0x79, 0x73, 0xa5, 0xfd, |
|
| 6238 |
+ 0x4d, 0x01, 0x6a, 0xd9, 0x20, 0xd0, 0x3d, 0x28, 0x75, 0x77, 0x8f, 0xf6, 0x9f, 0x0e, 0xea, 0x2b, |
|
| 6239 |
+ 0x0b, 0x7a, 0x16, 0xd1, 0x75, 0x24, 0x3b, 0xa3, 0xe8, 0x2e, 0xac, 0x0f, 0xbb, 0x5f, 0x1d, 0x0e, |
|
| 6240 |
+ 0xea, 0x85, 0x45, 0x38, 0x59, 0xd8, 0x90, 0x44, 0xa1, 0x46, 0xf5, 0x71, 0x77, 0xff, 0xa0, 0xbe, |
|
| 6241 |
+ 0x9a, 0x8f, 0xea, 0x0b, 0xc2, 0x7c, 0x13, 0xca, 0x9f, 0x8a, 0x60, 0x1d, 0x52, 0x71, 0xc6, 0x9c, |
|
| 6242 |
+ 0x77, 0x2c, 0x91, 0xcf, 0xa0, 0x28, 0x49, 0x78, 0xaa, 0xa5, 0x61, 0xe5, 0x4b, 0xe3, 0x88, 0x84, |
|
| 6243 |
+ 0xa7, 0xea, 0xa7, 0x86, 0xae, 0xf1, 0x4a, 0x19, 0x82, 0x06, 0x1e, 0x73, 0x88, 0xa4, 0xae, 0x56, |
|
| 6244 |
+ 0x86, 0xb5, 0xf3, 0x51, 0x1e, 0x1b, 0xa7, 0x28, 0x13, 0xff, 0xc3, 0x15, 0x9c, 0xa1, 0xa2, 0x07, |
|
| 6245 |
+ 0x50, 0x1a, 0x7b, 0xfc, 0x98, 0x78, 0x5a, 0x13, 0xd6, 0xce, 0x9d, 0x3c, 0x27, 0x7b, 0x1a, 0xb1, |
|
| 6246 |
+ 0x70, 0x60, 0x28, 0xe8, 0x3e, 0x94, 0xa2, 0xc0, 0x25, 0x92, 0xda, 0x25, 0x4d, 0x6e, 0xe5, 0x91, |
|
| 6247 |
+ 0xbf, 0xd2, 0x88, 0x5d, 0xee, 0x9f, 0xb0, 0x31, 0x36, 0x78, 0xf4, 0x08, 0x2a, 0x3e, 0x95, 0x5f, |
|
| 6248 |
+ 0x73, 0x71, 0x1a, 0xda, 0xe5, 0xd6, 0xda, 0x96, 0xb5, 0xf3, 0x69, 0xae, 0x18, 0x63, 0x4c, 0x57, |
|
| 6249 |
+ 0x4a, 0xe2, 0x4c, 0xa6, 0xd4, 0x97, 0xb1, 0x9b, 0xde, 0xaa, 0x5d, 0xc0, 0xa9, 0x03, 0xf4, 0x53, |
|
| 6250 |
+ 0xa8, 0x50, 0xdf, 0x0d, 0x38, 0xf3, 0xa5, 0x5d, 0xb9, 0x38, 0x90, 0x81, 0xc1, 0xa8, 0xcd, 0xc4, |
|
| 6251 |
+ 0x29, 0x43, 0xb1, 0x05, 0xf7, 0xbc, 0x63, 0xe2, 0x9c, 0xda, 0xd5, 0xb7, 0x5c, 0x46, 0xca, 0xe8, |
|
| 6252 |
+ 0x95, 0xa0, 0x38, 0xe5, 0x2e, 0x6d, 0x6f, 0xc3, 0xb5, 0xd7, 0xb6, 0x1a, 0x35, 0xa0, 0x62, 0xb6, |
|
| 6253 |
+ 0x3a, 0xd6, 0x48, 0x11, 0xa7, 0xf3, 0xf6, 0x55, 0xd8, 0x58, 0xda, 0xd6, 0xf6, 0x5f, 0xd7, 0xa1, |
|
| 6254 |
+ 0x92, 0x9c, 0x35, 0xea, 0x42, 0xd5, 0xe1, 0xbe, 0x24, 0xcc, 0xa7, 0xc2, 0xc8, 0x2b, 0xf7, 0x64, |
|
| 6255 |
+ 0x76, 0x13, 0x90, 0x62, 0x3d, 0x5c, 0xc1, 0x0b, 0x16, 0xfa, 0x25, 0x54, 0x05, 0x0d, 0x79, 0x24, |
|
| 6256 |
+ 0x1c, 0x1a, 0x1a, 0x7d, 0x6d, 0xe5, 0x2b, 0x24, 0x06, 0x61, 0xfa, 0xfb, 0x88, 0x09, 0xaa, 0x76, |
|
| 6257 |
+ 0x39, 0xc4, 0x0b, 0x2a, 0x7a, 0x00, 0x65, 0x41, 0x43, 0x49, 0x84, 0x7c, 0x93, 0x44, 0x70, 0x0c, |
|
| 6258 |
+ 0x19, 0x72, 0x8f, 0x39, 0x33, 0x9c, 0x30, 0xd0, 0x03, 0xa8, 0x06, 0x1e, 0x71, 0xb4, 0x57, 0x7b, |
|
| 6259 |
+ 0x5d, 0xd3, 0x3f, 0xc8, 0xa3, 0x0f, 0x13, 0x10, 0x5e, 0xe0, 0xd1, 0xe7, 0x00, 0x1e, 0x1f, 0x8f, |
|
| 6260 |
+ 0x5c, 0xc1, 0xce, 0xa8, 0x30, 0x12, 0x6b, 0xe4, 0xb1, 0xfb, 0x1a, 0x81, 0xab, 0x1e, 0x1f, 0xc7, |
|
| 6261 |
+ 0x43, 0xb4, 0xf7, 0x7f, 0xe9, 0x2b, 0xa3, 0xad, 0x47, 0x00, 0x24, 0xfd, 0x6a, 0xd4, 0xf5, 0xf1, |
|
| 6262 |
+ 0x5b, 0xb9, 0x32, 0x27, 0x92, 0xa1, 0xa3, 0x3b, 0x50, 0x3b, 0xe1, 0xc2, 0xa1, 0x23, 0x93, 0x35, |
|
| 6263 |
+ 0x55, 0xad, 0x09, 0x4b, 0xdb, 0x62, 0x7d, 0xa1, 0x1e, 0x94, 0xc7, 0xd4, 0xa7, 0x82, 0x39, 0x36, |
|
| 6264 |
+ 0xe8, 0x9f, 0xdd, 0xcb, 0x4d, 0xc8, 0x18, 0x82, 0x23, 0x5f, 0xb2, 0x29, 0x35, 0x7f, 0x4a, 0x88, |
|
| 6265 |
+ 0xe8, 0x77, 0xf0, 0x5e, 0x72, 0x7c, 0x23, 0x41, 0x4f, 0xa8, 0xa0, 0xbe, 0xd2, 0x80, 0xa5, 0xf7, |
|
| 6266 |
+ 0xe1, 0xa3, 0x37, 0x6b, 0xc0, 0xa0, 0xcd, 0x65, 0x83, 0xc4, 0xab, 0x1f, 0xc2, 0x5e, 0x15, 0xca, |
|
| 6267 |
+ 0x22, 0xfe, 0x6f, 0xfb, 0x8f, 0x05, 0xa5, 0xfa, 0x57, 0x10, 0x68, 0x1b, 0xac, 0xf4, 0xf7, 0xcc, |
|
| 6268 |
+ 0xd5, 0xea, 0xad, 0xf6, 0xae, 0xcc, 0xcf, 0x9b, 0x90, 0x60, 0xf7, 0xfb, 0xea, 0x0e, 0x32, 0x63, |
|
| 6269 |
+ 0x17, 0x0d, 0x60, 0x23, 0x25, 0xa8, 0x32, 0x6f, 0x0a, 0x65, 0xeb, 0x4d, 0x91, 0x1e, 0xcd, 0x02, |
|
| 6270 |
+ 0x8a, 0x6b, 0x22, 0x33, 0x6b, 0xff, 0x16, 0xd0, 0xeb, 0xfb, 0x82, 0x10, 0x14, 0x4f, 0x99, 0x6f, |
|
| 6271 |
+ 0xc2, 0xc0, 0x7a, 0x8c, 0x3a, 0x50, 0x0e, 0xc8, 0xcc, 0xe3, 0xc4, 0x35, 0x89, 0x71, 0xbd, 0x13, |
|
| 6272 |
+ 0xf7, 0x06, 0x9d, 0xa4, 0x37, 0xe8, 0x74, 0xfd, 0x19, 0x4e, 0x40, 0xed, 0x47, 0x70, 0x23, 0xf7, |
|
| 6273 |
+ 0x78, 0xd1, 0x0e, 0xd4, 0xd2, 0x84, 0x5b, 0xac, 0xf5, 0xea, 0xfc, 0xbc, 0x69, 0xa5, 0x99, 0xb9, |
|
| 6274 |
+ 0xdf, 0xc7, 0x56, 0x0a, 0xda, 0x77, 0xdb, 0x7f, 0xab, 0xc2, 0xc6, 0x52, 0xda, 0xa2, 0xeb, 0xb0, |
|
| 6275 |
+ 0xce, 0xa6, 0x64, 0x4c, 0x4d, 0x8c, 0xf1, 0x04, 0x0d, 0xa0, 0xe4, 0x91, 0x63, 0xea, 0xa9, 0xe4, |
|
| 6276 |
+ 0x55, 0x07, 0xf7, 0x83, 0x4b, 0xf3, 0xbf, 0xf3, 0x6b, 0x8d, 0x1f, 0xf8, 0x52, 0xcc, 0xb0, 0x21, |
|
| 6277 |
+ 0x23, 0x1b, 0xca, 0x0e, 0x9f, 0x4e, 0x89, 0xaf, 0xca, 0xc4, 0xda, 0x56, 0x15, 0x27, 0x53, 0xb5, |
|
| 6278 |
+ 0x33, 0x44, 0x8c, 0x43, 0xbb, 0xa8, 0xcd, 0x7a, 0x8c, 0xea, 0xb0, 0x46, 0xfd, 0x33, 0x7b, 0x5d, |
|
| 6279 |
+ 0x9b, 0xd4, 0x50, 0x59, 0x5c, 0x16, 0x67, 0x5f, 0x15, 0xab, 0xa1, 0xe2, 0x45, 0x21, 0x15, 0x76, |
|
| 6280 |
+ 0x39, 0xde, 0x51, 0x35, 0x46, 0x3f, 0x81, 0xd2, 0x94, 0x47, 0xbe, 0x0c, 0xed, 0x8a, 0x0e, 0xf6, |
|
| 6281 |
+ 0x56, 0x5e, 0xb0, 0x8f, 0x15, 0xc2, 0x28, 0xcb, 0xc0, 0xd1, 0x00, 0xae, 0x85, 0x92, 0x07, 0xa3, |
|
| 6282 |
+ 0xb1, 0x20, 0x0e, 0x1d, 0x05, 0x54, 0x30, 0xee, 0x9a, 0x6b, 0xf8, 0xd6, 0x6b, 0x87, 0xd2, 0x37, |
|
| 6283 |
+ 0x0d, 0x1d, 0xbe, 0xaa, 0x38, 0x7b, 0x8a, 0x32, 0xd4, 0x0c, 0x34, 0x84, 0x5a, 0x10, 0x79, 0xde, |
|
| 6284 |
+ 0x88, 0x07, 0x71, 0x45, 0x8e, 0x73, 0xe7, 0x2d, 0xb6, 0x6c, 0x18, 0x79, 0xde, 0x93, 0x98, 0x84, |
|
| 6285 |
+ 0xad, 0x60, 0x31, 0x41, 0x37, 0xa1, 0x34, 0x16, 0x3c, 0x0a, 0xe2, 0xbc, 0xa9, 0x62, 0x33, 0x43, |
|
| 6286 |
+ 0x5f, 0x42, 0x39, 0xa4, 0x8e, 0xa0, 0x32, 0xb4, 0x6b, 0x7a, 0xa9, 0x1f, 0xe6, 0xfd, 0xe4, 0x50, |
|
| 6287 |
+ 0x43, 0xd2, 0x9c, 0xc0, 0x09, 0x07, 0xdd, 0x82, 0x35, 0x29, 0x67, 0xf6, 0x46, 0xab, 0xb0, 0x55, |
|
| 6288 |
+ 0xe9, 0x95, 0xe7, 0xe7, 0xcd, 0xb5, 0xa3, 0xa3, 0x67, 0x58, 0xd9, 0x54, 0xb5, 0x98, 0xf0, 0x50, |
|
| 6289 |
+ 0xfa, 0x64, 0x4a, 0xed, 0x2b, 0x7a, 0x6f, 0xd3, 0x39, 0x7a, 0x06, 0xe0, 0xfa, 0xe1, 0xc8, 0xd1, |
|
| 6290 |
+ 0xd7, 0x93, 0x7d, 0x55, 0xaf, 0xee, 0xd3, 0xcb, 0x57, 0xd7, 0x3f, 0x38, 0x34, 0x15, 0x73, 0x63, |
|
| 6291 |
+ 0x7e, 0xde, 0xac, 0xa6, 0x53, 0x5c, 0x75, 0xfd, 0x30, 0x1e, 0xa2, 0x1e, 0x58, 0x13, 0x4a, 0x3c, |
|
| 6292 |
+ 0x39, 0x71, 0x26, 0xd4, 0x39, 0xb5, 0xeb, 0x17, 0x97, 0xc0, 0x87, 0x1a, 0x66, 0x3c, 0x64, 0x49, |
|
| 6293 |
+ 0x4a, 0xc1, 0x2a, 0xd4, 0xd0, 0xbe, 0xa6, 0xf7, 0x2a, 0x9e, 0xa0, 0x0f, 0x00, 0x78, 0x40, 0xfd, |
|
| 6294 |
+ 0x51, 0x28, 0x5d, 0xe6, 0xdb, 0x48, 0x2d, 0x19, 0x57, 0x95, 0xe5, 0x50, 0x19, 0xd0, 0x6d, 0x55, |
|
| 6295 |
+ 0xa0, 0x88, 0x3b, 0xe2, 0xbe, 0x37, 0xb3, 0xdf, 0xd3, 0x5f, 0x2b, 0xca, 0xf0, 0xc4, 0xf7, 0x66, |
|
| 6296 |
+ 0xa8, 0x09, 0x96, 0xd6, 0x45, 0xc8, 0xc6, 0x3e, 0xf1, 0xec, 0xeb, 0x7a, 0x3f, 0x40, 0x99, 0x0e, |
|
| 6297 |
+ 0xb5, 0x45, 0x9d, 0x43, 0xbc, 0x1b, 0xa1, 0x7d, 0xe3, 0xe2, 0x73, 0x30, 0xc1, 0x2e, 0xce, 0xc1, |
|
| 6298 |
+ 0x70, 0xd0, 0xcf, 0x00, 0x02, 0xc1, 0xce, 0x98, 0x47, 0xc7, 0x34, 0xb4, 0x6f, 0xea, 0x45, 0x6f, |
|
| 6299 |
+ 0xe6, 0x56, 0xa6, 0x14, 0x85, 0x33, 0x0c, 0xd4, 0x04, 0x60, 0x3e, 0x93, 0xa3, 0x33, 0xe2, 0x45, |
|
| 6300 |
+ 0xd4, 0x7e, 0x5f, 0x45, 0xaf, 0xca, 0xaf, 0xb2, 0x3d, 0x55, 0xa6, 0xc6, 0xe7, 0x60, 0x65, 0xd2, |
|
| 6301 |
+ 0x51, 0xa5, 0xd1, 0x29, 0x9d, 0x99, 0x0c, 0x57, 0x43, 0xb5, 0x67, 0x31, 0x79, 0x35, 0xce, 0x7a, |
|
| 6302 |
+ 0x3d, 0xf9, 0x62, 0xf5, 0x7e, 0xa1, 0xb1, 0x03, 0x56, 0x46, 0x96, 0xe8, 0x43, 0x75, 0x3d, 0x8e, |
|
| 6303 |
+ 0x59, 0x28, 0xc5, 0x6c, 0x44, 0x22, 0x39, 0xb1, 0x7f, 0xa1, 0x09, 0xb5, 0xc4, 0xd8, 0x8d, 0xe4, |
|
| 6304 |
+ 0xa4, 0x31, 0x82, 0xc5, 0xe9, 0xa2, 0x16, 0x58, 0x4a, 0x35, 0x21, 0x15, 0x67, 0x54, 0xa8, 0xd6, |
|
| 6305 |
+ 0x43, 0x1d, 0x4a, 0xd6, 0xa4, 0xd4, 0x1d, 0x52, 0x22, 0x9c, 0x89, 0xbe, 0x5c, 0xaa, 0xd8, 0xcc, |
|
| 6306 |
+ 0xd4, 0x6d, 0x91, 0xa4, 0x90, 0xb9, 0x2d, 0xcc, 0x54, 0x35, 0x3a, 0x6a, 0x71, 0xed, 0x7f, 0x17, |
|
| 6307 |
+ 0xa0, 0x96, 0xed, 0xa4, 0xd0, 0x6e, 0xdc, 0x01, 0xe9, 0xa5, 0x5d, 0xd9, 0xd9, 0xbe, 0xac, 0xf3, |
|
| 6308 |
+ 0xd2, 0x37, 0xb8, 0x17, 0x29, 0xa7, 0x8f, 0xd5, 0xa3, 0x47, 0x93, 0xd1, 0x8f, 0x61, 0x3d, 0xe0, |
|
| 6309 |
+ 0x42, 0x26, 0x77, 0x5d, 0xfe, 0x49, 0x70, 0x91, 0xd4, 0xe7, 0x18, 0xdc, 0x9e, 0xc0, 0x95, 0x65, |
|
| 6310 |
+ 0x6f, 0xe8, 0x2e, 0xac, 0x3d, 0xdd, 0x1f, 0xd6, 0x57, 0x1a, 0xb7, 0x9f, 0xbf, 0x68, 0xbd, 0xbf, |
|
| 6311 |
+ 0xfc, 0xf1, 0x29, 0x13, 0x32, 0x22, 0xde, 0xfe, 0x10, 0x7d, 0x02, 0xeb, 0xfd, 0x83, 0x43, 0x8c, |
|
| 6312 |
+ 0xeb, 0x85, 0x46, 0xf3, 0xf9, 0x8b, 0xd6, 0xed, 0x65, 0x9c, 0xfa, 0xc4, 0x23, 0xdf, 0xc5, 0xfc, |
|
| 6313 |
+ 0x38, 0x7d, 0x00, 0xfc, 0x67, 0x15, 0x2c, 0x53, 0x02, 0xde, 0xf5, 0x1b, 0x71, 0x23, 0xee, 0x6f, |
|
| 6314 |
+ 0x92, 0xdc, 0x5e, 0xbd, 0xb4, 0xcd, 0xa9, 0xc5, 0x04, 0x73, 0xd6, 0x77, 0xa0, 0xc6, 0x82, 0xb3, |
|
| 6315 |
+ 0xcf, 0x46, 0xd4, 0x27, 0xc7, 0x9e, 0x79, 0x0b, 0x54, 0xb0, 0xa5, 0x6c, 0x83, 0xd8, 0xa4, 0x2e, |
|
| 6316 |
+ 0x16, 0xe6, 0x4b, 0x2a, 0x7c, 0xd3, 0xe5, 0x57, 0x70, 0x3a, 0x47, 0x5f, 0x42, 0x91, 0x05, 0x64, |
|
| 6317 |
+ 0x6a, 0x7a, 0xb3, 0xdc, 0x15, 0xec, 0x0f, 0xbb, 0x8f, 0x8d, 0x16, 0x7b, 0x95, 0xf9, 0x79, 0xb3, |
|
| 6318 |
+ 0xa8, 0x0c, 0x58, 0xd3, 0xd0, 0x66, 0xd2, 0x1e, 0xa9, 0x3f, 0xe9, 0x22, 0x51, 0xc1, 0x19, 0x8b, |
|
| 6319 |
+ 0xd2, 0x13, 0xf3, 0xc7, 0x82, 0x86, 0xa1, 0x2e, 0x17, 0x15, 0x9c, 0x4c, 0x51, 0x03, 0xca, 0xa6, |
|
| 6320 |
+ 0xc9, 0xd2, 0x5d, 0x55, 0x55, 0x35, 0x30, 0xc6, 0xd0, 0xdb, 0x00, 0x2b, 0xde, 0x8d, 0xd1, 0x89, |
|
| 6321 |
+ 0xe0, 0xd3, 0xf6, 0x7f, 0x8b, 0x60, 0xed, 0x7a, 0x51, 0x28, 0x4d, 0xbd, 0x7c, 0x67, 0x9b, 0xff, |
|
| 6322 |
+ 0x0c, 0xae, 0x11, 0xfd, 0xe6, 0x24, 0xbe, 0x2a, 0x3e, 0xba, 0x77, 0x35, 0x07, 0x70, 0x37, 0xd7, |
|
| 6323 |
+ 0x5d, 0x0a, 0x8e, 0xfb, 0xdc, 0x5e, 0x49, 0xf9, 0xb4, 0x0b, 0xb8, 0x4e, 0x5e, 0xf9, 0x82, 0x0e, |
|
| 6324 |
+ 0x61, 0x83, 0x0b, 0x67, 0x42, 0x43, 0x19, 0x97, 0x2c, 0xf3, 0x46, 0xcb, 0x7d, 0xbd, 0x3f, 0xc9, |
|
| 6325 |
+ 0x02, 0xcd, 0x7d, 0x1d, 0x47, 0xbb, 0xec, 0x03, 0xdd, 0x87, 0xa2, 0x20, 0x27, 0x49, 0x1f, 0x9e, |
|
| 6326 |
+ 0x9b, 0x24, 0x98, 0x9c, 0xc8, 0x25, 0x17, 0x9a, 0x81, 0x7e, 0x05, 0xe0, 0xb2, 0x30, 0x20, 0xd2, |
|
| 6327 |
+ 0x99, 0x50, 0x61, 0x0e, 0x3b, 0x77, 0x89, 0xfd, 0x14, 0xb5, 0xe4, 0x25, 0xc3, 0x46, 0x8f, 0xa0, |
|
| 6328 |
+ 0xea, 0x90, 0x44, 0xae, 0xa5, 0x8b, 0x1f, 0xae, 0xbb, 0x5d, 0xe3, 0xa2, 0xae, 0x5c, 0xcc, 0xcf, |
|
| 6329 |
+ 0x9b, 0x95, 0xc4, 0x82, 0x2b, 0x0e, 0x31, 0xf2, 0x7d, 0x04, 0x1b, 0xea, 0x41, 0x3b, 0x72, 0xe9, |
|
| 6330 |
+ 0x09, 0x89, 0x3c, 0x19, 0xcb, 0xe4, 0x82, 0xfa, 0xa3, 0x5e, 0x47, 0x7d, 0x83, 0x33, 0x71, 0xd5, |
|
| 6331 |
+ 0x64, 0xc6, 0x86, 0x7e, 0x03, 0xd7, 0xa8, 0xef, 0x88, 0x99, 0x16, 0x6b, 0x12, 0x61, 0xe5, 0xe2, |
|
| 6332 |
+ 0xc5, 0x0e, 0x52, 0xf0, 0xd2, 0x62, 0xeb, 0xf4, 0x15, 0x7b, 0xfb, 0x9f, 0x05, 0x80, 0xb8, 0xa4, |
|
| 6333 |
+ 0xbf, 0x5b, 0x01, 0x22, 0x28, 0xba, 0x44, 0x12, 0xad, 0xb9, 0x1a, 0xd6, 0x63, 0xf4, 0x05, 0x80, |
|
| 6334 |
+ 0xa4, 0xd3, 0xc0, 0x23, 0x92, 0xf9, 0x63, 0x23, 0x9b, 0x37, 0x5d, 0x07, 0x19, 0x34, 0xda, 0x81, |
|
| 6335 |
+ 0x92, 0x79, 0x2d, 0x15, 0x2f, 0xe5, 0x19, 0x64, 0xfb, 0x2f, 0x05, 0x80, 0x78, 0x99, 0xdf, 0xe9, |
|
| 6336 |
+ 0xb5, 0xf5, 0xec, 0x97, 0xdf, 0x6e, 0xae, 0xfc, 0xe3, 0xdb, 0xcd, 0x95, 0x3f, 0xcc, 0x37, 0x0b, |
|
| 6337 |
+ 0x2f, 0xe7, 0x9b, 0x85, 0xbf, 0xcf, 0x37, 0x0b, 0xff, 0x9a, 0x6f, 0x16, 0x8e, 0x4b, 0xba, 0x41, |
|
| 6338 |
+ 0xfc, 0xd1, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x4f, 0xdf, 0x5d, 0x60, 0x83, 0x14, 0x00, 0x00, |
|
| 6332 | 6339 |
} |
| ... | ... |
@@ -2,7 +2,7 @@ syntax = "proto3"; |
| 2 | 2 |
|
| 3 | 3 |
package docker.swarmkit.v1; |
| 4 | 4 |
|
| 5 |
-import "types.proto"; |
|
| 5 |
+import "github.com/docker/swarmkit/api/types.proto"; |
|
| 6 | 6 |
import "gogoproto/gogo.proto"; |
| 7 | 7 |
import "google/protobuf/duration.proto"; |
| 8 | 8 |
import "google/protobuf/any.proto"; |
| ... | ... |
@@ -128,6 +128,21 @@ message TaskSpec {
|
| 128 | 128 |
// using the same reconciliation-based mechanism that performs rolling |
| 129 | 129 |
// updates. |
| 130 | 130 |
uint64 force_update = 9; |
| 131 |
+ |
|
| 132 |
+ // ResourceReferences provides a generic way to specify resources that |
|
| 133 |
+ // are used by this task, and should be sent down to agents along with |
|
| 134 |
+ // the task. Inside the runtime field there may be more specific |
|
| 135 |
+ // information about how to use the resource, but ResourceReferences |
|
| 136 |
+ // establishes the relationship at the store level, and instructs the |
|
| 137 |
+ // dispatcher to send the related objects. |
|
| 138 |
+ // |
|
| 139 |
+ // ResourceReferences is a list of ResourceReferences used by the task. |
|
| 140 |
+ repeated ResourceReference resource_references = 11 [(gogoproto.nullable) = false]; |
|
| 141 |
+} |
|
| 142 |
+ |
|
| 143 |
+message ResourceReference {
|
|
| 144 |
+ string resource_id = 1; |
|
| 145 |
+ ResourceType resource_type = 2; |
|
| 131 | 146 |
} |
| 132 | 147 |
|
| 133 | 148 |
message GenericRuntimeSpec {
|
| ... | ... |
@@ -278,6 +293,11 @@ message ContainerSpec {
|
| 278 | 278 |
// task will exit and a new task will be rescheduled elsewhere. A container |
| 279 | 279 |
// is considered unhealthy after `Retries` number of consecutive failures. |
| 280 | 280 |
HealthConfig healthcheck = 16; |
| 281 |
+ |
|
| 282 |
+ // Run a custom init inside the container, if null, use the daemon's configured settings |
|
| 283 |
+ oneof init {
|
|
| 284 |
+ bool init_value = 23; |
|
| 285 |
+ } |
|
| 281 | 286 |
} |
| 282 | 287 |
|
| 283 | 288 |
// EndpointSpec defines the properties that can be configured to |
| ... | ... |
@@ -1,222 +1,7 @@ |
| 1 | 1 |
// Code generated by protoc-gen-gogo. |
| 2 |
-// source: types.proto |
|
| 2 |
+// source: github.com/docker/swarmkit/api/types.proto |
|
| 3 | 3 |
// DO NOT EDIT! |
| 4 | 4 |
|
| 5 |
-/* |
|
| 6 |
- Package api is a generated protocol buffer package. |
|
| 7 |
- |
|
| 8 |
- It is generated from these files: |
|
| 9 |
- types.proto |
|
| 10 |
- specs.proto |
|
| 11 |
- objects.proto |
|
| 12 |
- control.proto |
|
| 13 |
- dispatcher.proto |
|
| 14 |
- ca.proto |
|
| 15 |
- snapshot.proto |
|
| 16 |
- raft.proto |
|
| 17 |
- health.proto |
|
| 18 |
- resource.proto |
|
| 19 |
- logbroker.proto |
|
| 20 |
- watch.proto |
|
| 21 |
- |
|
| 22 |
- It has these top-level messages: |
|
| 23 |
- Version |
|
| 24 |
- IndexEntry |
|
| 25 |
- Annotations |
|
| 26 |
- NamedGenericResource |
|
| 27 |
- DiscreteGenericResource |
|
| 28 |
- GenericResource |
|
| 29 |
- Resources |
|
| 30 |
- ResourceRequirements |
|
| 31 |
- Platform |
|
| 32 |
- PluginDescription |
|
| 33 |
- EngineDescription |
|
| 34 |
- NodeDescription |
|
| 35 |
- NodeTLSInfo |
|
| 36 |
- RaftMemberStatus |
|
| 37 |
- NodeStatus |
|
| 38 |
- Image |
|
| 39 |
- Mount |
|
| 40 |
- RestartPolicy |
|
| 41 |
- UpdateConfig |
|
| 42 |
- UpdateStatus |
|
| 43 |
- ContainerStatus |
|
| 44 |
- PortStatus |
|
| 45 |
- TaskStatus |
|
| 46 |
- NetworkAttachmentConfig |
|
| 47 |
- IPAMConfig |
|
| 48 |
- PortConfig |
|
| 49 |
- Driver |
|
| 50 |
- IPAMOptions |
|
| 51 |
- Peer |
|
| 52 |
- WeightedPeer |
|
| 53 |
- IssuanceStatus |
|
| 54 |
- AcceptancePolicy |
|
| 55 |
- ExternalCA |
|
| 56 |
- CAConfig |
|
| 57 |
- OrchestrationConfig |
|
| 58 |
- TaskDefaults |
|
| 59 |
- DispatcherConfig |
|
| 60 |
- RaftConfig |
|
| 61 |
- EncryptionConfig |
|
| 62 |
- SpreadOver |
|
| 63 |
- PlacementPreference |
|
| 64 |
- Placement |
|
| 65 |
- JoinTokens |
|
| 66 |
- RootCA |
|
| 67 |
- Certificate |
|
| 68 |
- EncryptionKey |
|
| 69 |
- ManagerStatus |
|
| 70 |
- FileTarget |
|
| 71 |
- SecretReference |
|
| 72 |
- ConfigReference |
|
| 73 |
- BlacklistedCertificate |
|
| 74 |
- HealthConfig |
|
| 75 |
- MaybeEncryptedRecord |
|
| 76 |
- RootRotation |
|
| 77 |
- Privileges |
|
| 78 |
- NodeSpec |
|
| 79 |
- ServiceSpec |
|
| 80 |
- ReplicatedService |
|
| 81 |
- GlobalService |
|
| 82 |
- TaskSpec |
|
| 83 |
- GenericRuntimeSpec |
|
| 84 |
- NetworkAttachmentSpec |
|
| 85 |
- ContainerSpec |
|
| 86 |
- EndpointSpec |
|
| 87 |
- NetworkSpec |
|
| 88 |
- ClusterSpec |
|
| 89 |
- SecretSpec |
|
| 90 |
- ConfigSpec |
|
| 91 |
- Meta |
|
| 92 |
- Node |
|
| 93 |
- Service |
|
| 94 |
- Endpoint |
|
| 95 |
- Task |
|
| 96 |
- NetworkAttachment |
|
| 97 |
- Network |
|
| 98 |
- Cluster |
|
| 99 |
- Secret |
|
| 100 |
- Config |
|
| 101 |
- Resource |
|
| 102 |
- Extension |
|
| 103 |
- GetNodeRequest |
|
| 104 |
- GetNodeResponse |
|
| 105 |
- ListNodesRequest |
|
| 106 |
- ListNodesResponse |
|
| 107 |
- UpdateNodeRequest |
|
| 108 |
- UpdateNodeResponse |
|
| 109 |
- RemoveNodeRequest |
|
| 110 |
- RemoveNodeResponse |
|
| 111 |
- GetTaskRequest |
|
| 112 |
- GetTaskResponse |
|
| 113 |
- RemoveTaskRequest |
|
| 114 |
- RemoveTaskResponse |
|
| 115 |
- ListTasksRequest |
|
| 116 |
- ListTasksResponse |
|
| 117 |
- CreateServiceRequest |
|
| 118 |
- CreateServiceResponse |
|
| 119 |
- GetServiceRequest |
|
| 120 |
- GetServiceResponse |
|
| 121 |
- UpdateServiceRequest |
|
| 122 |
- UpdateServiceResponse |
|
| 123 |
- RemoveServiceRequest |
|
| 124 |
- RemoveServiceResponse |
|
| 125 |
- ListServicesRequest |
|
| 126 |
- ListServicesResponse |
|
| 127 |
- CreateNetworkRequest |
|
| 128 |
- CreateNetworkResponse |
|
| 129 |
- GetNetworkRequest |
|
| 130 |
- GetNetworkResponse |
|
| 131 |
- RemoveNetworkRequest |
|
| 132 |
- RemoveNetworkResponse |
|
| 133 |
- ListNetworksRequest |
|
| 134 |
- ListNetworksResponse |
|
| 135 |
- GetClusterRequest |
|
| 136 |
- GetClusterResponse |
|
| 137 |
- ListClustersRequest |
|
| 138 |
- ListClustersResponse |
|
| 139 |
- KeyRotation |
|
| 140 |
- UpdateClusterRequest |
|
| 141 |
- UpdateClusterResponse |
|
| 142 |
- GetSecretRequest |
|
| 143 |
- GetSecretResponse |
|
| 144 |
- UpdateSecretRequest |
|
| 145 |
- UpdateSecretResponse |
|
| 146 |
- ListSecretsRequest |
|
| 147 |
- ListSecretsResponse |
|
| 148 |
- CreateSecretRequest |
|
| 149 |
- CreateSecretResponse |
|
| 150 |
- RemoveSecretRequest |
|
| 151 |
- RemoveSecretResponse |
|
| 152 |
- GetConfigRequest |
|
| 153 |
- GetConfigResponse |
|
| 154 |
- UpdateConfigRequest |
|
| 155 |
- UpdateConfigResponse |
|
| 156 |
- ListConfigsRequest |
|
| 157 |
- ListConfigsResponse |
|
| 158 |
- CreateConfigRequest |
|
| 159 |
- CreateConfigResponse |
|
| 160 |
- RemoveConfigRequest |
|
| 161 |
- RemoveConfigResponse |
|
| 162 |
- SessionRequest |
|
| 163 |
- SessionMessage |
|
| 164 |
- HeartbeatRequest |
|
| 165 |
- HeartbeatResponse |
|
| 166 |
- UpdateTaskStatusRequest |
|
| 167 |
- UpdateTaskStatusResponse |
|
| 168 |
- TasksRequest |
|
| 169 |
- TasksMessage |
|
| 170 |
- AssignmentsRequest |
|
| 171 |
- Assignment |
|
| 172 |
- AssignmentChange |
|
| 173 |
- AssignmentsMessage |
|
| 174 |
- NodeCertificateStatusRequest |
|
| 175 |
- NodeCertificateStatusResponse |
|
| 176 |
- IssueNodeCertificateRequest |
|
| 177 |
- IssueNodeCertificateResponse |
|
| 178 |
- GetRootCACertificateRequest |
|
| 179 |
- GetRootCACertificateResponse |
|
| 180 |
- GetUnlockKeyRequest |
|
| 181 |
- GetUnlockKeyResponse |
|
| 182 |
- StoreSnapshot |
|
| 183 |
- ClusterSnapshot |
|
| 184 |
- Snapshot |
|
| 185 |
- RaftMember |
|
| 186 |
- JoinRequest |
|
| 187 |
- JoinResponse |
|
| 188 |
- LeaveRequest |
|
| 189 |
- LeaveResponse |
|
| 190 |
- ProcessRaftMessageRequest |
|
| 191 |
- ProcessRaftMessageResponse |
|
| 192 |
- ResolveAddressRequest |
|
| 193 |
- ResolveAddressResponse |
|
| 194 |
- InternalRaftRequest |
|
| 195 |
- StoreAction |
|
| 196 |
- HealthCheckRequest |
|
| 197 |
- HealthCheckResponse |
|
| 198 |
- AttachNetworkRequest |
|
| 199 |
- AttachNetworkResponse |
|
| 200 |
- DetachNetworkRequest |
|
| 201 |
- DetachNetworkResponse |
|
| 202 |
- LogSubscriptionOptions |
|
| 203 |
- LogSelector |
|
| 204 |
- LogContext |
|
| 205 |
- LogAttr |
|
| 206 |
- LogMessage |
|
| 207 |
- SubscribeLogsRequest |
|
| 208 |
- SubscribeLogsMessage |
|
| 209 |
- ListenSubscriptionsRequest |
|
| 210 |
- SubscriptionMessage |
|
| 211 |
- PublishLogsMessage |
|
| 212 |
- PublishLogsResponse |
|
| 213 |
- Object |
|
| 214 |
- SelectBySlot |
|
| 215 |
- SelectByCustom |
|
| 216 |
- SelectBy |
|
| 217 |
- WatchRequest |
|
| 218 |
- WatchMessage |
|
| 219 |
-*/ |
|
| 220 | 5 |
package api |
| 221 | 6 |
|
| 222 | 7 |
import proto "github.com/gogo/protobuf/proto" |
| ... | ... |
@@ -245,11 +30,29 @@ var _ = fmt.Errorf |
| 245 | 245 |
var _ = math.Inf |
| 246 | 246 |
var _ = time.Kitchen |
| 247 | 247 |
|
| 248 |
-// This is a compile-time assertion to ensure that this generated file |
|
| 249 |
-// is compatible with the proto package it is being compiled against. |
|
| 250 |
-// A compilation error at this line likely means your copy of the |
|
| 251 |
-// proto package needs to be updated. |
|
| 252 |
-const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package |
|
| 248 |
+type ResourceType int32 |
|
| 249 |
+ |
|
| 250 |
+const ( |
|
| 251 |
+ ResourceType_TASK ResourceType = 0 |
|
| 252 |
+ ResourceType_SECRET ResourceType = 1 |
|
| 253 |
+ ResourceType_CONFIG ResourceType = 2 |
|
| 254 |
+) |
|
| 255 |
+ |
|
| 256 |
+var ResourceType_name = map[int32]string{
|
|
| 257 |
+ 0: "TASK", |
|
| 258 |
+ 1: "SECRET", |
|
| 259 |
+ 2: "CONFIG", |
|
| 260 |
+} |
|
| 261 |
+var ResourceType_value = map[string]int32{
|
|
| 262 |
+ "TASK": 0, |
|
| 263 |
+ "SECRET": 1, |
|
| 264 |
+ "CONFIG": 2, |
|
| 265 |
+} |
|
| 266 |
+ |
|
| 267 |
+func (x ResourceType) String() string {
|
|
| 268 |
+ return proto.EnumName(ResourceType_name, int32(x)) |
|
| 269 |
+} |
|
| 270 |
+func (ResourceType) EnumDescriptor() ([]byte, []int) { return fileDescriptorTypes, []int{0} }
|
|
| 253 | 271 |
|
| 254 | 272 |
// TaskState enumerates the states that a task progresses through within an |
| 255 | 273 |
// agent. States are designed to be monotonically increasing, such that if two |
| ... | ... |
@@ -306,7 +109,7 @@ var TaskState_value = map[string]int32{
|
| 306 | 306 |
func (x TaskState) String() string {
|
| 307 | 307 |
return proto.EnumName(TaskState_name, int32(x)) |
| 308 | 308 |
} |
| 309 |
-func (TaskState) EnumDescriptor() ([]byte, []int) { return fileDescriptorTypes, []int{0} }
|
|
| 309 |
+func (TaskState) EnumDescriptor() ([]byte, []int) { return fileDescriptorTypes, []int{1} }
|
|
| 310 | 310 |
|
| 311 | 311 |
type NodeRole int32 |
| 312 | 312 |
|
| ... | ... |
@@ -327,7 +130,7 @@ var NodeRole_value = map[string]int32{
|
| 327 | 327 |
func (x NodeRole) String() string {
|
| 328 | 328 |
return proto.EnumName(NodeRole_name, int32(x)) |
| 329 | 329 |
} |
| 330 |
-func (NodeRole) EnumDescriptor() ([]byte, []int) { return fileDescriptorTypes, []int{1} }
|
|
| 330 |
+func (NodeRole) EnumDescriptor() ([]byte, []int) { return fileDescriptorTypes, []int{2} }
|
|
| 331 | 331 |
|
| 332 | 332 |
type RaftMemberStatus_Reachability int32 |
| 333 | 333 |
|
| ... | ... |
@@ -1267,6 +1070,13 @@ type TaskStatus struct {
|
| 1267 | 1267 |
// HostPorts provides a list of ports allocated at the host |
| 1268 | 1268 |
// level. |
| 1269 | 1269 |
PortStatus *PortStatus `protobuf:"bytes,6,opt,name=port_status,json=portStatus" json:"port_status,omitempty"` |
| 1270 |
+ // AppliedBy gives the node ID of the manager that applied this task |
|
| 1271 |
+ // status update to the Task object. |
|
| 1272 |
+ AppliedBy string `protobuf:"bytes,7,opt,name=applied_by,json=appliedBy,proto3" json:"applied_by,omitempty"` |
|
| 1273 |
+ // AppliedAt gives a timestamp of when this status update was applied to |
|
| 1274 |
+ // the Task object. |
|
| 1275 |
+ // Note: can't use stdtime because this field is nullable. |
|
| 1276 |
+ AppliedAt *google_protobuf.Timestamp `protobuf:"bytes,8,opt,name=applied_at,json=appliedAt" json:"applied_at,omitempty"` |
|
| 1270 | 1277 |
} |
| 1271 | 1278 |
|
| 1272 | 1279 |
func (m *TaskStatus) Reset() { *m = TaskStatus{} }
|
| ... | ... |
@@ -2311,6 +2121,7 @@ func init() {
|
| 2311 | 2311 |
proto.RegisterType((*Privileges)(nil), "docker.swarmkit.v1.Privileges") |
| 2312 | 2312 |
proto.RegisterType((*Privileges_CredentialSpec)(nil), "docker.swarmkit.v1.Privileges.CredentialSpec") |
| 2313 | 2313 |
proto.RegisterType((*Privileges_SELinuxContext)(nil), "docker.swarmkit.v1.Privileges.SELinuxContext") |
| 2314 |
+ proto.RegisterEnum("docker.swarmkit.v1.ResourceType", ResourceType_name, ResourceType_value)
|
|
| 2314 | 2315 |
proto.RegisterEnum("docker.swarmkit.v1.TaskState", TaskState_name, TaskState_value)
|
| 2315 | 2316 |
proto.RegisterEnum("docker.swarmkit.v1.NodeRole", NodeRole_name, NodeRole_value)
|
| 2316 | 2317 |
proto.RegisterEnum("docker.swarmkit.v1.RaftMemberStatus_Reachability", RaftMemberStatus_Reachability_name, RaftMemberStatus_Reachability_value)
|
| ... | ... |
@@ -2867,6 +2678,10 @@ func (m *TaskStatus) CopyFrom(src interface{}) {
|
| 2867 | 2867 |
m.PortStatus = &PortStatus{}
|
| 2868 | 2868 |
github_com_docker_swarmkit_api_deepcopy.Copy(m.PortStatus, o.PortStatus) |
| 2869 | 2869 |
} |
| 2870 |
+ if o.AppliedAt != nil {
|
|
| 2871 |
+ m.AppliedAt = &google_protobuf.Timestamp{}
|
|
| 2872 |
+ github_com_docker_swarmkit_api_deepcopy.Copy(m.AppliedAt, o.AppliedAt) |
|
| 2873 |
+ } |
|
| 2870 | 2874 |
if o.RuntimeStatus != nil {
|
| 2871 | 2875 |
switch o.RuntimeStatus.(type) {
|
| 2872 | 2876 |
case *TaskStatus_Container: |
| ... | ... |
@@ -4730,6 +4545,22 @@ func (m *TaskStatus) MarshalTo(dAtA []byte) (int, error) {
|
| 4730 | 4730 |
} |
| 4731 | 4731 |
i += n22 |
| 4732 | 4732 |
} |
| 4733 |
+ if len(m.AppliedBy) > 0 {
|
|
| 4734 |
+ dAtA[i] = 0x3a |
|
| 4735 |
+ i++ |
|
| 4736 |
+ i = encodeVarintTypes(dAtA, i, uint64(len(m.AppliedBy))) |
|
| 4737 |
+ i += copy(dAtA[i:], m.AppliedBy) |
|
| 4738 |
+ } |
|
| 4739 |
+ if m.AppliedAt != nil {
|
|
| 4740 |
+ dAtA[i] = 0x42 |
|
| 4741 |
+ i++ |
|
| 4742 |
+ i = encodeVarintTypes(dAtA, i, uint64(m.AppliedAt.Size())) |
|
| 4743 |
+ n23, err := m.AppliedAt.MarshalTo(dAtA[i:]) |
|
| 4744 |
+ if err != nil {
|
|
| 4745 |
+ return 0, err |
|
| 4746 |
+ } |
|
| 4747 |
+ i += n23 |
|
| 4748 |
+ } |
|
| 4733 | 4749 |
return i, nil |
| 4734 | 4750 |
} |
| 4735 | 4751 |
|
| ... | ... |
@@ -4739,11 +4570,11 @@ func (m *TaskStatus_Container) MarshalTo(dAtA []byte) (int, error) {
|
| 4739 | 4739 |
dAtA[i] = 0x2a |
| 4740 | 4740 |
i++ |
| 4741 | 4741 |
i = encodeVarintTypes(dAtA, i, uint64(m.Container.Size())) |
| 4742 |
- n23, err := m.Container.MarshalTo(dAtA[i:]) |
|
| 4742 |
+ n24, err := m.Container.MarshalTo(dAtA[i:]) |
|
| 4743 | 4743 |
if err != nil {
|
| 4744 | 4744 |
return 0, err |
| 4745 | 4745 |
} |
| 4746 |
- i += n23 |
|
| 4746 |
+ i += n24 |
|
| 4747 | 4747 |
} |
| 4748 | 4748 |
return i, nil |
| 4749 | 4749 |
} |
| ... | ... |
@@ -4980,11 +4811,11 @@ func (m *IPAMOptions) MarshalTo(dAtA []byte) (int, error) {
|
| 4980 | 4980 |
dAtA[i] = 0xa |
| 4981 | 4981 |
i++ |
| 4982 | 4982 |
i = encodeVarintTypes(dAtA, i, uint64(m.Driver.Size())) |
| 4983 |
- n24, err := m.Driver.MarshalTo(dAtA[i:]) |
|
| 4983 |
+ n25, err := m.Driver.MarshalTo(dAtA[i:]) |
|
| 4984 | 4984 |
if err != nil {
|
| 4985 | 4985 |
return 0, err |
| 4986 | 4986 |
} |
| 4987 |
- i += n24 |
|
| 4987 |
+ i += n25 |
|
| 4988 | 4988 |
} |
| 4989 | 4989 |
if len(m.Configs) > 0 {
|
| 4990 | 4990 |
for _, msg := range m.Configs {
|
| ... | ... |
@@ -5050,11 +4881,11 @@ func (m *WeightedPeer) MarshalTo(dAtA []byte) (int, error) {
|
| 5050 | 5050 |
dAtA[i] = 0xa |
| 5051 | 5051 |
i++ |
| 5052 | 5052 |
i = encodeVarintTypes(dAtA, i, uint64(m.Peer.Size())) |
| 5053 |
- n25, err := m.Peer.MarshalTo(dAtA[i:]) |
|
| 5053 |
+ n26, err := m.Peer.MarshalTo(dAtA[i:]) |
|
| 5054 | 5054 |
if err != nil {
|
| 5055 | 5055 |
return 0, err |
| 5056 | 5056 |
} |
| 5057 |
- i += n25 |
|
| 5057 |
+ i += n26 |
|
| 5058 | 5058 |
} |
| 5059 | 5059 |
if m.Weight != 0 {
|
| 5060 | 5060 |
dAtA[i] = 0x10 |
| ... | ... |
@@ -5157,11 +4988,11 @@ func (m *AcceptancePolicy_RoleAdmissionPolicy) MarshalTo(dAtA []byte) (int, erro |
| 5157 | 5157 |
dAtA[i] = 0x1a |
| 5158 | 5158 |
i++ |
| 5159 | 5159 |
i = encodeVarintTypes(dAtA, i, uint64(m.Secret.Size())) |
| 5160 |
- n26, err := m.Secret.MarshalTo(dAtA[i:]) |
|
| 5160 |
+ n27, err := m.Secret.MarshalTo(dAtA[i:]) |
|
| 5161 | 5161 |
if err != nil {
|
| 5162 | 5162 |
return 0, err |
| 5163 | 5163 |
} |
| 5164 |
- i += n26 |
|
| 5164 |
+ i += n27 |
|
| 5165 | 5165 |
} |
| 5166 | 5166 |
return i, nil |
| 5167 | 5167 |
} |
| ... | ... |
@@ -5267,11 +5098,11 @@ func (m *CAConfig) MarshalTo(dAtA []byte) (int, error) {
|
| 5267 | 5267 |
dAtA[i] = 0xa |
| 5268 | 5268 |
i++ |
| 5269 | 5269 |
i = encodeVarintTypes(dAtA, i, uint64(m.NodeCertExpiry.Size())) |
| 5270 |
- n27, err := m.NodeCertExpiry.MarshalTo(dAtA[i:]) |
|
| 5270 |
+ n28, err := m.NodeCertExpiry.MarshalTo(dAtA[i:]) |
|
| 5271 | 5271 |
if err != nil {
|
| 5272 | 5272 |
return 0, err |
| 5273 | 5273 |
} |
| 5274 |
- i += n27 |
|
| 5274 |
+ i += n28 |
|
| 5275 | 5275 |
} |
| 5276 | 5276 |
if len(m.ExternalCAs) > 0 {
|
| 5277 | 5277 |
for _, msg := range m.ExternalCAs {
|
| ... | ... |
@@ -5347,11 +5178,11 @@ func (m *TaskDefaults) MarshalTo(dAtA []byte) (int, error) {
|
| 5347 | 5347 |
dAtA[i] = 0xa |
| 5348 | 5348 |
i++ |
| 5349 | 5349 |
i = encodeVarintTypes(dAtA, i, uint64(m.LogDriver.Size())) |
| 5350 |
- n28, err := m.LogDriver.MarshalTo(dAtA[i:]) |
|
| 5350 |
+ n29, err := m.LogDriver.MarshalTo(dAtA[i:]) |
|
| 5351 | 5351 |
if err != nil {
|
| 5352 | 5352 |
return 0, err |
| 5353 | 5353 |
} |
| 5354 |
- i += n28 |
|
| 5354 |
+ i += n29 |
|
| 5355 | 5355 |
} |
| 5356 | 5356 |
return i, nil |
| 5357 | 5357 |
} |
| ... | ... |
@@ -5375,11 +5206,11 @@ func (m *DispatcherConfig) MarshalTo(dAtA []byte) (int, error) {
|
| 5375 | 5375 |
dAtA[i] = 0xa |
| 5376 | 5376 |
i++ |
| 5377 | 5377 |
i = encodeVarintTypes(dAtA, i, uint64(m.HeartbeatPeriod.Size())) |
| 5378 |
- n29, err := m.HeartbeatPeriod.MarshalTo(dAtA[i:]) |
|
| 5378 |
+ n30, err := m.HeartbeatPeriod.MarshalTo(dAtA[i:]) |
|
| 5379 | 5379 |
if err != nil {
|
| 5380 | 5380 |
return 0, err |
| 5381 | 5381 |
} |
| 5382 |
- i += n29 |
|
| 5382 |
+ i += n30 |
|
| 5383 | 5383 |
} |
| 5384 | 5384 |
return i, nil |
| 5385 | 5385 |
} |
| ... | ... |
@@ -5495,11 +5326,11 @@ func (m *PlacementPreference) MarshalTo(dAtA []byte) (int, error) {
|
| 5495 | 5495 |
var l int |
| 5496 | 5496 |
_ = l |
| 5497 | 5497 |
if m.Preference != nil {
|
| 5498 |
- nn30, err := m.Preference.MarshalTo(dAtA[i:]) |
|
| 5498 |
+ nn31, err := m.Preference.MarshalTo(dAtA[i:]) |
|
| 5499 | 5499 |
if err != nil {
|
| 5500 | 5500 |
return 0, err |
| 5501 | 5501 |
} |
| 5502 |
- i += nn30 |
|
| 5502 |
+ i += nn31 |
|
| 5503 | 5503 |
} |
| 5504 | 5504 |
return i, nil |
| 5505 | 5505 |
} |
| ... | ... |
@@ -5510,11 +5341,11 @@ func (m *PlacementPreference_Spread) MarshalTo(dAtA []byte) (int, error) {
|
| 5510 | 5510 |
dAtA[i] = 0xa |
| 5511 | 5511 |
i++ |
| 5512 | 5512 |
i = encodeVarintTypes(dAtA, i, uint64(m.Spread.Size())) |
| 5513 |
- n31, err := m.Spread.MarshalTo(dAtA[i:]) |
|
| 5513 |
+ n32, err := m.Spread.MarshalTo(dAtA[i:]) |
|
| 5514 | 5514 |
if err != nil {
|
| 5515 | 5515 |
return 0, err |
| 5516 | 5516 |
} |
| 5517 |
- i += n31 |
|
| 5517 |
+ i += n32 |
|
| 5518 | 5518 |
} |
| 5519 | 5519 |
return i, nil |
| 5520 | 5520 |
} |
| ... | ... |
@@ -5641,20 +5472,20 @@ func (m *RootCA) MarshalTo(dAtA []byte) (int, error) {
|
| 5641 | 5641 |
dAtA[i] = 0x22 |
| 5642 | 5642 |
i++ |
| 5643 | 5643 |
i = encodeVarintTypes(dAtA, i, uint64(m.JoinTokens.Size())) |
| 5644 |
- n32, err := m.JoinTokens.MarshalTo(dAtA[i:]) |
|
| 5644 |
+ n33, err := m.JoinTokens.MarshalTo(dAtA[i:]) |
|
| 5645 | 5645 |
if err != nil {
|
| 5646 | 5646 |
return 0, err |
| 5647 | 5647 |
} |
| 5648 |
- i += n32 |
|
| 5648 |
+ i += n33 |
|
| 5649 | 5649 |
if m.RootRotation != nil {
|
| 5650 | 5650 |
dAtA[i] = 0x2a |
| 5651 | 5651 |
i++ |
| 5652 | 5652 |
i = encodeVarintTypes(dAtA, i, uint64(m.RootRotation.Size())) |
| 5653 |
- n33, err := m.RootRotation.MarshalTo(dAtA[i:]) |
|
| 5653 |
+ n34, err := m.RootRotation.MarshalTo(dAtA[i:]) |
|
| 5654 | 5654 |
if err != nil {
|
| 5655 | 5655 |
return 0, err |
| 5656 | 5656 |
} |
| 5657 |
- i += n33 |
|
| 5657 |
+ i += n34 |
|
| 5658 | 5658 |
} |
| 5659 | 5659 |
if m.LastForcedRotation != 0 {
|
| 5660 | 5660 |
dAtA[i] = 0x30 |
| ... | ... |
@@ -5693,11 +5524,11 @@ func (m *Certificate) MarshalTo(dAtA []byte) (int, error) {
|
| 5693 | 5693 |
dAtA[i] = 0x1a |
| 5694 | 5694 |
i++ |
| 5695 | 5695 |
i = encodeVarintTypes(dAtA, i, uint64(m.Status.Size())) |
| 5696 |
- n34, err := m.Status.MarshalTo(dAtA[i:]) |
|
| 5696 |
+ n35, err := m.Status.MarshalTo(dAtA[i:]) |
|
| 5697 | 5697 |
if err != nil {
|
| 5698 | 5698 |
return 0, err |
| 5699 | 5699 |
} |
| 5700 |
- i += n34 |
|
| 5700 |
+ i += n35 |
|
| 5701 | 5701 |
if len(m.Certificate) > 0 {
|
| 5702 | 5702 |
dAtA[i] = 0x22 |
| 5703 | 5703 |
i++ |
| ... | ... |
@@ -5866,11 +5697,11 @@ func (m *SecretReference) MarshalTo(dAtA []byte) (int, error) {
|
| 5866 | 5866 |
i += copy(dAtA[i:], m.SecretName) |
| 5867 | 5867 |
} |
| 5868 | 5868 |
if m.Target != nil {
|
| 5869 |
- nn35, err := m.Target.MarshalTo(dAtA[i:]) |
|
| 5869 |
+ nn36, err := m.Target.MarshalTo(dAtA[i:]) |
|
| 5870 | 5870 |
if err != nil {
|
| 5871 | 5871 |
return 0, err |
| 5872 | 5872 |
} |
| 5873 |
- i += nn35 |
|
| 5873 |
+ i += nn36 |
|
| 5874 | 5874 |
} |
| 5875 | 5875 |
return i, nil |
| 5876 | 5876 |
} |
| ... | ... |
@@ -5881,11 +5712,11 @@ func (m *SecretReference_File) MarshalTo(dAtA []byte) (int, error) {
|
| 5881 | 5881 |
dAtA[i] = 0x1a |
| 5882 | 5882 |
i++ |
| 5883 | 5883 |
i = encodeVarintTypes(dAtA, i, uint64(m.File.Size())) |
| 5884 |
- n36, err := m.File.MarshalTo(dAtA[i:]) |
|
| 5884 |
+ n37, err := m.File.MarshalTo(dAtA[i:]) |
|
| 5885 | 5885 |
if err != nil {
|
| 5886 | 5886 |
return 0, err |
| 5887 | 5887 |
} |
| 5888 |
- i += n36 |
|
| 5888 |
+ i += n37 |
|
| 5889 | 5889 |
} |
| 5890 | 5890 |
return i, nil |
| 5891 | 5891 |
} |
| ... | ... |
@@ -5917,11 +5748,11 @@ func (m *ConfigReference) MarshalTo(dAtA []byte) (int, error) {
|
| 5917 | 5917 |
i += copy(dAtA[i:], m.ConfigName) |
| 5918 | 5918 |
} |
| 5919 | 5919 |
if m.Target != nil {
|
| 5920 |
- nn37, err := m.Target.MarshalTo(dAtA[i:]) |
|
| 5920 |
+ nn38, err := m.Target.MarshalTo(dAtA[i:]) |
|
| 5921 | 5921 |
if err != nil {
|
| 5922 | 5922 |
return 0, err |
| 5923 | 5923 |
} |
| 5924 |
- i += nn37 |
|
| 5924 |
+ i += nn38 |
|
| 5925 | 5925 |
} |
| 5926 | 5926 |
return i, nil |
| 5927 | 5927 |
} |
| ... | ... |
@@ -5932,11 +5763,11 @@ func (m *ConfigReference_File) MarshalTo(dAtA []byte) (int, error) {
|
| 5932 | 5932 |
dAtA[i] = 0x1a |
| 5933 | 5933 |
i++ |
| 5934 | 5934 |
i = encodeVarintTypes(dAtA, i, uint64(m.File.Size())) |
| 5935 |
- n38, err := m.File.MarshalTo(dAtA[i:]) |
|
| 5935 |
+ n39, err := m.File.MarshalTo(dAtA[i:]) |
|
| 5936 | 5936 |
if err != nil {
|
| 5937 | 5937 |
return 0, err |
| 5938 | 5938 |
} |
| 5939 |
- i += n38 |
|
| 5939 |
+ i += n39 |
|
| 5940 | 5940 |
} |
| 5941 | 5941 |
return i, nil |
| 5942 | 5942 |
} |
| ... | ... |
@@ -5959,11 +5790,11 @@ func (m *BlacklistedCertificate) MarshalTo(dAtA []byte) (int, error) {
|
| 5959 | 5959 |
dAtA[i] = 0xa |
| 5960 | 5960 |
i++ |
| 5961 | 5961 |
i = encodeVarintTypes(dAtA, i, uint64(m.Expiry.Size())) |
| 5962 |
- n39, err := m.Expiry.MarshalTo(dAtA[i:]) |
|
| 5962 |
+ n40, err := m.Expiry.MarshalTo(dAtA[i:]) |
|
| 5963 | 5963 |
if err != nil {
|
| 5964 | 5964 |
return 0, err |
| 5965 | 5965 |
} |
| 5966 |
- i += n39 |
|
| 5966 |
+ i += n40 |
|
| 5967 | 5967 |
} |
| 5968 | 5968 |
return i, nil |
| 5969 | 5969 |
} |
| ... | ... |
@@ -6002,21 +5833,21 @@ func (m *HealthConfig) MarshalTo(dAtA []byte) (int, error) {
|
| 6002 | 6002 |
dAtA[i] = 0x12 |
| 6003 | 6003 |
i++ |
| 6004 | 6004 |
i = encodeVarintTypes(dAtA, i, uint64(m.Interval.Size())) |
| 6005 |
- n40, err := m.Interval.MarshalTo(dAtA[i:]) |
|
| 6005 |
+ n41, err := m.Interval.MarshalTo(dAtA[i:]) |
|
| 6006 | 6006 |
if err != nil {
|
| 6007 | 6007 |
return 0, err |
| 6008 | 6008 |
} |
| 6009 |
- i += n40 |
|
| 6009 |
+ i += n41 |
|
| 6010 | 6010 |
} |
| 6011 | 6011 |
if m.Timeout != nil {
|
| 6012 | 6012 |
dAtA[i] = 0x1a |
| 6013 | 6013 |
i++ |
| 6014 | 6014 |
i = encodeVarintTypes(dAtA, i, uint64(m.Timeout.Size())) |
| 6015 |
- n41, err := m.Timeout.MarshalTo(dAtA[i:]) |
|
| 6015 |
+ n42, err := m.Timeout.MarshalTo(dAtA[i:]) |
|
| 6016 | 6016 |
if err != nil {
|
| 6017 | 6017 |
return 0, err |
| 6018 | 6018 |
} |
| 6019 |
- i += n41 |
|
| 6019 |
+ i += n42 |
|
| 6020 | 6020 |
} |
| 6021 | 6021 |
if m.Retries != 0 {
|
| 6022 | 6022 |
dAtA[i] = 0x20 |
| ... | ... |
@@ -6027,11 +5858,11 @@ func (m *HealthConfig) MarshalTo(dAtA []byte) (int, error) {
|
| 6027 | 6027 |
dAtA[i] = 0x2a |
| 6028 | 6028 |
i++ |
| 6029 | 6029 |
i = encodeVarintTypes(dAtA, i, uint64(m.StartPeriod.Size())) |
| 6030 |
- n42, err := m.StartPeriod.MarshalTo(dAtA[i:]) |
|
| 6030 |
+ n43, err := m.StartPeriod.MarshalTo(dAtA[i:]) |
|
| 6031 | 6031 |
if err != nil {
|
| 6032 | 6032 |
return 0, err |
| 6033 | 6033 |
} |
| 6034 |
- i += n42 |
|
| 6034 |
+ i += n43 |
|
| 6035 | 6035 |
} |
| 6036 | 6036 |
return i, nil |
| 6037 | 6037 |
} |
| ... | ... |
@@ -6126,21 +5957,21 @@ func (m *Privileges) MarshalTo(dAtA []byte) (int, error) {
|
| 6126 | 6126 |
dAtA[i] = 0xa |
| 6127 | 6127 |
i++ |
| 6128 | 6128 |
i = encodeVarintTypes(dAtA, i, uint64(m.CredentialSpec.Size())) |
| 6129 |
- n43, err := m.CredentialSpec.MarshalTo(dAtA[i:]) |
|
| 6129 |
+ n44, err := m.CredentialSpec.MarshalTo(dAtA[i:]) |
|
| 6130 | 6130 |
if err != nil {
|
| 6131 | 6131 |
return 0, err |
| 6132 | 6132 |
} |
| 6133 |
- i += n43 |
|
| 6133 |
+ i += n44 |
|
| 6134 | 6134 |
} |
| 6135 | 6135 |
if m.SELinuxContext != nil {
|
| 6136 | 6136 |
dAtA[i] = 0x12 |
| 6137 | 6137 |
i++ |
| 6138 | 6138 |
i = encodeVarintTypes(dAtA, i, uint64(m.SELinuxContext.Size())) |
| 6139 |
- n44, err := m.SELinuxContext.MarshalTo(dAtA[i:]) |
|
| 6139 |
+ n45, err := m.SELinuxContext.MarshalTo(dAtA[i:]) |
|
| 6140 | 6140 |
if err != nil {
|
| 6141 | 6141 |
return 0, err |
| 6142 | 6142 |
} |
| 6143 |
- i += n44 |
|
| 6143 |
+ i += n45 |
|
| 6144 | 6144 |
} |
| 6145 | 6145 |
return i, nil |
| 6146 | 6146 |
} |
| ... | ... |
@@ -6161,11 +5992,11 @@ func (m *Privileges_CredentialSpec) MarshalTo(dAtA []byte) (int, error) {
|
| 6161 | 6161 |
var l int |
| 6162 | 6162 |
_ = l |
| 6163 | 6163 |
if m.Source != nil {
|
| 6164 |
- nn45, err := m.Source.MarshalTo(dAtA[i:]) |
|
| 6164 |
+ nn46, err := m.Source.MarshalTo(dAtA[i:]) |
|
| 6165 | 6165 |
if err != nil {
|
| 6166 | 6166 |
return 0, err |
| 6167 | 6167 |
} |
| 6168 |
- i += nn45 |
|
| 6168 |
+ i += nn46 |
|
| 6169 | 6169 |
} |
| 6170 | 6170 |
return i, nil |
| 6171 | 6171 |
} |
| ... | ... |
@@ -6730,6 +6561,14 @@ func (m *TaskStatus) Size() (n int) {
|
| 6730 | 6730 |
l = m.PortStatus.Size() |
| 6731 | 6731 |
n += 1 + l + sovTypes(uint64(l)) |
| 6732 | 6732 |
} |
| 6733 |
+ l = len(m.AppliedBy) |
|
| 6734 |
+ if l > 0 {
|
|
| 6735 |
+ n += 1 + l + sovTypes(uint64(l)) |
|
| 6736 |
+ } |
|
| 6737 |
+ if m.AppliedAt != nil {
|
|
| 6738 |
+ l = m.AppliedAt.Size() |
|
| 6739 |
+ n += 1 + l + sovTypes(uint64(l)) |
|
| 6740 |
+ } |
|
| 6733 | 6741 |
return n |
| 6734 | 6742 |
} |
| 6735 | 6743 |
|
| ... | ... |
@@ -7780,6 +7619,8 @@ func (this *TaskStatus) String() string {
|
| 7780 | 7780 |
`Err:` + fmt.Sprintf("%v", this.Err) + `,`,
|
| 7781 | 7781 |
`RuntimeStatus:` + fmt.Sprintf("%v", this.RuntimeStatus) + `,`,
|
| 7782 | 7782 |
`PortStatus:` + strings.Replace(fmt.Sprintf("%v", this.PortStatus), "PortStatus", "PortStatus", 1) + `,`,
|
| 7783 |
+ `AppliedBy:` + fmt.Sprintf("%v", this.AppliedBy) + `,`,
|
|
| 7784 |
+ `AppliedAt:` + strings.Replace(fmt.Sprintf("%v", this.AppliedAt), "Timestamp", "google_protobuf.Timestamp", 1) + `,`,
|
|
| 7783 | 7785 |
`}`, |
| 7784 | 7786 |
}, "") |
| 7785 | 7787 |
return s |
| ... | ... |
@@ -11924,6 +11765,68 @@ func (m *TaskStatus) Unmarshal(dAtA []byte) error {
|
| 11924 | 11924 |
return err |
| 11925 | 11925 |
} |
| 11926 | 11926 |
iNdEx = postIndex |
| 11927 |
+ case 7: |
|
| 11928 |
+ if wireType != 2 {
|
|
| 11929 |
+ return fmt.Errorf("proto: wrong wireType = %d for field AppliedBy", wireType)
|
|
| 11930 |
+ } |
|
| 11931 |
+ var stringLen uint64 |
|
| 11932 |
+ for shift := uint(0); ; shift += 7 {
|
|
| 11933 |
+ if shift >= 64 {
|
|
| 11934 |
+ return ErrIntOverflowTypes |
|
| 11935 |
+ } |
|
| 11936 |
+ if iNdEx >= l {
|
|
| 11937 |
+ return io.ErrUnexpectedEOF |
|
| 11938 |
+ } |
|
| 11939 |
+ b := dAtA[iNdEx] |
|
| 11940 |
+ iNdEx++ |
|
| 11941 |
+ stringLen |= (uint64(b) & 0x7F) << shift |
|
| 11942 |
+ if b < 0x80 {
|
|
| 11943 |
+ break |
|
| 11944 |
+ } |
|
| 11945 |
+ } |
|
| 11946 |
+ intStringLen := int(stringLen) |
|
| 11947 |
+ if intStringLen < 0 {
|
|
| 11948 |
+ return ErrInvalidLengthTypes |
|
| 11949 |
+ } |
|
| 11950 |
+ postIndex := iNdEx + intStringLen |
|
| 11951 |
+ if postIndex > l {
|
|
| 11952 |
+ return io.ErrUnexpectedEOF |
|
| 11953 |
+ } |
|
| 11954 |
+ m.AppliedBy = string(dAtA[iNdEx:postIndex]) |
|
| 11955 |
+ iNdEx = postIndex |
|
| 11956 |
+ case 8: |
|
| 11957 |
+ if wireType != 2 {
|
|
| 11958 |
+ return fmt.Errorf("proto: wrong wireType = %d for field AppliedAt", wireType)
|
|
| 11959 |
+ } |
|
| 11960 |
+ var msglen int |
|
| 11961 |
+ for shift := uint(0); ; shift += 7 {
|
|
| 11962 |
+ if shift >= 64 {
|
|
| 11963 |
+ return ErrIntOverflowTypes |
|
| 11964 |
+ } |
|
| 11965 |
+ if iNdEx >= l {
|
|
| 11966 |
+ return io.ErrUnexpectedEOF |
|
| 11967 |
+ } |
|
| 11968 |
+ b := dAtA[iNdEx] |
|
| 11969 |
+ iNdEx++ |
|
| 11970 |
+ msglen |= (int(b) & 0x7F) << shift |
|
| 11971 |
+ if b < 0x80 {
|
|
| 11972 |
+ break |
|
| 11973 |
+ } |
|
| 11974 |
+ } |
|
| 11975 |
+ if msglen < 0 {
|
|
| 11976 |
+ return ErrInvalidLengthTypes |
|
| 11977 |
+ } |
|
| 11978 |
+ postIndex := iNdEx + msglen |
|
| 11979 |
+ if postIndex > l {
|
|
| 11980 |
+ return io.ErrUnexpectedEOF |
|
| 11981 |
+ } |
|
| 11982 |
+ if m.AppliedAt == nil {
|
|
| 11983 |
+ m.AppliedAt = &google_protobuf.Timestamp{}
|
|
| 11984 |
+ } |
|
| 11985 |
+ if err := m.AppliedAt.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
|
| 11986 |
+ return err |
|
| 11987 |
+ } |
|
| 11988 |
+ iNdEx = postIndex |
|
| 11927 | 11989 |
default: |
| 11928 | 11990 |
iNdEx = preIndex |
| 11929 | 11991 |
skippy, err := skipTypes(dAtA[iNdEx:]) |
| ... | ... |
@@ -17058,310 +16961,315 @@ var ( |
| 17058 | 17058 |
ErrIntOverflowTypes = fmt.Errorf("proto: integer overflow")
|
| 17059 | 17059 |
) |
| 17060 | 17060 |
|
| 17061 |
-func init() { proto.RegisterFile("types.proto", fileDescriptorTypes) }
|
|
| 17061 |
+func init() { proto.RegisterFile("github.com/docker/swarmkit/api/types.proto", fileDescriptorTypes) }
|
|
| 17062 | 17062 |
|
| 17063 | 17063 |
var fileDescriptorTypes = []byte{
|
| 17064 |
- // 4822 bytes of a gzipped FileDescriptorProto |
|
| 17064 |
+ // 4905 bytes of a gzipped FileDescriptorProto |
|
| 17065 | 17065 |
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x7a, 0x4d, 0x6c, 0x24, 0x49, |
| 17066 |
- 0x56, 0xbf, 0xeb, 0xd3, 0x55, 0xaf, 0xca, 0x76, 0x3a, 0xda, 0xdb, 0xe3, 0xae, 0xed, 0xb1, 0x6b, |
|
| 17067 |
- 0x72, 0xa6, 0x77, 0x66, 0x67, 0xe7, 0x5f, 0xd3, 0x1f, 0xbb, 0xab, 0x9e, 0x99, 0xff, 0x7c, 0xd4, |
|
| 17068 |
- 0x97, 0xdb, 0xb5, 0x6d, 0x57, 0x95, 0xa2, 0xca, 0xdd, 0x3b, 0x48, 0x90, 0x4a, 0x67, 0x86, 0xcb, |
|
| 17069 |
- 0x39, 0xce, 0xca, 0x28, 0x32, 0xb3, 0xec, 0x2e, 0x16, 0x44, 0x8b, 0x03, 0x20, 0x9f, 0xe0, 0xb6, |
|
| 17070 |
- 0x12, 0x32, 0x17, 0x38, 0x21, 0x24, 0x0e, 0x20, 0x21, 0xb8, 0x30, 0x48, 0x1c, 0xe6, 0xc6, 0x02, |
|
| 17071 |
- 0x12, 0x5a, 0x81, 0x64, 0x18, 0x1f, 0xb8, 0x21, 0xb8, 0xac, 0xb8, 0x80, 0x84, 0xe2, 0x23, 0xb3, |
|
| 17072 |
- 0xb2, 0xaa, 0xd3, 0x76, 0x0f, 0xb3, 0x17, 0x3b, 0xe3, 0xbd, 0xdf, 0x7b, 0xf1, 0xe2, 0x45, 0xc4, |
|
| 17073 |
- 0x8b, 0xf7, 0x22, 0x0a, 0x0a, 0xfe, 0x64, 0x44, 0xbc, 0xca, 0xc8, 0xa5, 0x3e, 0x45, 0xc8, 0xa4, |
|
| 17074 |
- 0xc6, 0x11, 0x71, 0x2b, 0xde, 0x89, 0xee, 0x0e, 0x8f, 0x2c, 0xbf, 0x72, 0x7c, 0xaf, 0xb4, 0x39, |
|
| 17075 |
- 0xa0, 0x74, 0x60, 0x93, 0x77, 0x39, 0x62, 0x7f, 0x7c, 0xf0, 0xae, 0x6f, 0x0d, 0x89, 0xe7, 0xeb, |
|
| 17076 |
- 0xc3, 0x91, 0x10, 0x2a, 0x6d, 0xcc, 0x03, 0xcc, 0xb1, 0xab, 0xfb, 0x16, 0x75, 0x24, 0x7f, 0x6d, |
|
| 17077 |
- 0x40, 0x07, 0x94, 0x7f, 0xbe, 0xcb, 0xbe, 0x04, 0x55, 0xdd, 0x84, 0xc5, 0x27, 0xc4, 0xf5, 0x2c, |
|
| 17078 |
- 0xea, 0xa0, 0x35, 0xc8, 0x58, 0x8e, 0x49, 0x9e, 0xad, 0x27, 0xca, 0x89, 0xb7, 0xd2, 0x58, 0x34, |
|
| 17079 |
- 0xd4, 0xbb, 0x00, 0x2d, 0xf6, 0xd1, 0x74, 0x7c, 0x77, 0x82, 0x14, 0x48, 0x1d, 0x91, 0x09, 0x47, |
|
| 17080 |
- 0xe4, 0x31, 0xfb, 0x64, 0x94, 0x63, 0xdd, 0x5e, 0x4f, 0x0a, 0xca, 0xb1, 0x6e, 0xab, 0x5f, 0x26, |
|
| 17081 |
- 0xa0, 0x50, 0x75, 0x1c, 0xea, 0xf3, 0xde, 0x3d, 0x84, 0x20, 0xed, 0xe8, 0x43, 0x22, 0x85, 0xf8, |
|
| 17082 |
- 0x37, 0xaa, 0x43, 0xd6, 0xd6, 0xf7, 0x89, 0xed, 0xad, 0x27, 0xcb, 0xa9, 0xb7, 0x0a, 0xf7, 0xbf, |
|
| 17083 |
- 0x53, 0x79, 0x71, 0xc8, 0x95, 0x88, 0x92, 0xca, 0x0e, 0x47, 0x73, 0x23, 0xb0, 0x14, 0x45, 0x1f, |
|
| 17084 |
- 0xc1, 0xa2, 0xe5, 0x98, 0x96, 0x41, 0xbc, 0xf5, 0x34, 0xd7, 0xb2, 0x11, 0xa7, 0x65, 0x6a, 0x7d, |
|
| 17085 |
- 0x2d, 0xfd, 0xc5, 0xf9, 0xe6, 0x02, 0x0e, 0x84, 0x4a, 0xef, 0x41, 0x21, 0xa2, 0x36, 0x66, 0x6c, |
|
| 17086 |
- 0x6b, 0x90, 0x39, 0xd6, 0xed, 0x31, 0x91, 0xa3, 0x13, 0x8d, 0xf7, 0x93, 0x0f, 0x13, 0xea, 0x27, |
|
| 17087 |
- 0xb0, 0xd6, 0xd6, 0x87, 0xc4, 0x7c, 0x44, 0x1c, 0xe2, 0x5a, 0x06, 0x26, 0x1e, 0x1d, 0xbb, 0x06, |
|
| 17088 |
- 0x61, 0x63, 0x3d, 0xb2, 0x1c, 0x33, 0x18, 0x2b, 0xfb, 0x8e, 0xd7, 0xa2, 0xd6, 0xe1, 0x95, 0x86, |
|
| 17089 |
- 0xe5, 0x19, 0x2e, 0xf1, 0xc9, 0x57, 0x56, 0x92, 0x0a, 0x94, 0x9c, 0x27, 0x60, 0x65, 0x5e, 0xfa, |
|
| 17090 |
- 0x17, 0xe0, 0x06, 0x73, 0xb1, 0xa9, 0xb9, 0x92, 0xa2, 0x79, 0x23, 0x62, 0x70, 0x65, 0x85, 0xfb, |
|
| 17091 |
- 0x6f, 0xc5, 0x79, 0x28, 0x6e, 0x24, 0xdb, 0x0b, 0x78, 0x95, 0xab, 0x09, 0x08, 0xbd, 0x11, 0x31, |
|
| 17092 |
- 0x90, 0x01, 0x37, 0x4d, 0x69, 0xf4, 0x9c, 0xfa, 0x24, 0x57, 0x1f, 0x3b, 0x8d, 0x97, 0x0c, 0x73, |
|
| 17093 |
- 0x7b, 0x01, 0xaf, 0x05, 0xca, 0xa2, 0x9d, 0xd4, 0x00, 0x72, 0x81, 0x6e, 0xf5, 0xc7, 0x09, 0xc8, |
|
| 17094 |
- 0x07, 0x4c, 0x0f, 0x7d, 0x1b, 0xf2, 0x8e, 0xee, 0x50, 0xcd, 0x18, 0x8d, 0x3d, 0x3e, 0xa0, 0x54, |
|
| 17095 |
- 0xad, 0x78, 0x71, 0xbe, 0x99, 0x6b, 0xeb, 0x0e, 0xad, 0x77, 0xf7, 0x3c, 0x9c, 0x63, 0xec, 0xfa, |
|
| 17096 |
- 0x68, 0xec, 0xa1, 0xd7, 0xa0, 0x38, 0x24, 0x43, 0xea, 0x4e, 0xb4, 0xfd, 0x89, 0x4f, 0x3c, 0xe9, |
|
| 17097 |
- 0xb6, 0x82, 0xa0, 0xd5, 0x18, 0x09, 0x7d, 0x08, 0x8b, 0x03, 0x61, 0xd2, 0x7a, 0x8a, 0x2f, 0x9f, |
|
| 17098 |
- 0xd7, 0xe3, 0xac, 0x9f, 0xb3, 0x1a, 0x07, 0x32, 0xea, 0xef, 0x24, 0x60, 0x2d, 0xa4, 0x92, 0x5f, |
|
| 17099 |
- 0x1e, 0x5b, 0x2e, 0x19, 0x12, 0xc7, 0xf7, 0xd0, 0xf7, 0x20, 0x6b, 0x5b, 0x43, 0xcb, 0xf7, 0xa4, |
|
| 17100 |
- 0xcf, 0x5f, 0x8d, 0x53, 0x1b, 0x0e, 0x0a, 0x4b, 0x30, 0xaa, 0x42, 0xd1, 0x25, 0x1e, 0x71, 0x8f, |
|
| 17101 |
- 0xc5, 0x8a, 0x97, 0x1e, 0xbd, 0x46, 0x78, 0x46, 0x44, 0xdd, 0x82, 0x5c, 0xd7, 0xd6, 0xfd, 0x03, |
|
| 17102 |
- 0xea, 0x0e, 0x91, 0x0a, 0x45, 0xdd, 0x35, 0x0e, 0x2d, 0x9f, 0x18, 0xfe, 0xd8, 0x0d, 0x76, 0xdf, |
|
| 17103 |
- 0x0c, 0x0d, 0xdd, 0x84, 0x24, 0x15, 0x1d, 0xe5, 0x6b, 0xd9, 0x8b, 0xf3, 0xcd, 0x64, 0xa7, 0x87, |
|
| 17104 |
- 0x93, 0xd4, 0x53, 0x3f, 0x80, 0xd5, 0xae, 0x3d, 0x1e, 0x58, 0x4e, 0x83, 0x78, 0x86, 0x6b, 0x8d, |
|
| 17105 |
- 0x98, 0x76, 0xb6, 0x2a, 0x59, 0x8c, 0x0a, 0x56, 0x25, 0xfb, 0x0e, 0xb7, 0x76, 0x72, 0xba, 0xb5, |
|
| 17106 |
- 0xd5, 0xdf, 0x4a, 0xc2, 0x6a, 0xd3, 0x19, 0x58, 0x0e, 0x89, 0x4a, 0xdf, 0x81, 0x65, 0xc2, 0x89, |
|
| 17107 |
- 0xda, 0xb1, 0x08, 0x37, 0x52, 0xcf, 0x92, 0xa0, 0x06, 0x31, 0xa8, 0x35, 0x17, 0x17, 0xee, 0xc5, |
|
| 17108 |
- 0x0d, 0xff, 0x05, 0xed, 0xb1, 0xd1, 0xa1, 0x09, 0x8b, 0x23, 0x3e, 0x08, 0x4f, 0x4e, 0xef, 0x9d, |
|
| 17109 |
- 0x38, 0x5d, 0x2f, 0x8c, 0x33, 0x08, 0x12, 0x52, 0xf6, 0xeb, 0x04, 0x89, 0x3f, 0x4e, 0xc2, 0x4a, |
|
| 17110 |
- 0x9b, 0x9a, 0x33, 0x7e, 0x28, 0x41, 0xee, 0x90, 0x7a, 0x7e, 0x24, 0x20, 0x86, 0x6d, 0xf4, 0x10, |
|
| 17111 |
- 0x72, 0x23, 0x39, 0x7d, 0x72, 0xf6, 0x6f, 0xc7, 0x9b, 0x2c, 0x30, 0x38, 0x44, 0xa3, 0x0f, 0x20, |
|
| 17112 |
- 0x1f, 0x6c, 0x19, 0x36, 0xda, 0x97, 0x58, 0x38, 0x53, 0x3c, 0xfa, 0x10, 0xb2, 0x62, 0x12, 0xd6, |
|
| 17113 |
- 0xd3, 0x5c, 0xf2, 0xce, 0x4b, 0xf9, 0x1c, 0x4b, 0x21, 0xf4, 0x08, 0x72, 0xbe, 0xed, 0x69, 0x96, |
|
| 17114 |
- 0x73, 0x40, 0xd7, 0x33, 0x5c, 0xc1, 0x66, 0x6c, 0x90, 0xa1, 0x26, 0xe9, 0xef, 0xf4, 0x5a, 0xce, |
|
| 17115 |
- 0x01, 0xad, 0x15, 0x2e, 0xce, 0x37, 0x17, 0x65, 0x03, 0x2f, 0xfa, 0xb6, 0xc7, 0x3e, 0xd4, 0xdf, |
|
| 17116 |
- 0x4d, 0x40, 0x21, 0x82, 0x42, 0xaf, 0x02, 0xf8, 0xee, 0xd8, 0xf3, 0x35, 0x97, 0x52, 0x9f, 0x3b, |
|
| 17117 |
- 0xab, 0x88, 0xf3, 0x9c, 0x82, 0x29, 0xf5, 0x51, 0x05, 0x6e, 0x18, 0xc4, 0xf5, 0x35, 0xcb, 0xf3, |
|
| 17118 |
- 0xc6, 0xc4, 0xd5, 0xbc, 0xf1, 0xfe, 0x67, 0xc4, 0xf0, 0xb9, 0xe3, 0x8a, 0x78, 0x95, 0xb1, 0x5a, |
|
| 17119 |
- 0x9c, 0xd3, 0x13, 0x0c, 0xf4, 0x00, 0x6e, 0x46, 0xf1, 0xa3, 0xf1, 0xbe, 0x6d, 0x19, 0x1a, 0x9b, |
|
| 17120 |
- 0xcc, 0x14, 0x17, 0xb9, 0x31, 0x15, 0xe9, 0x72, 0xde, 0x63, 0x32, 0x51, 0x7f, 0x9a, 0x00, 0x05, |
|
| 17121 |
- 0xeb, 0x07, 0xfe, 0x2e, 0x19, 0xee, 0x13, 0xb7, 0xe7, 0xeb, 0xfe, 0xd8, 0x43, 0x37, 0x21, 0x6b, |
|
| 17122 |
- 0x13, 0xdd, 0x24, 0x2e, 0x37, 0x2a, 0x87, 0x65, 0x0b, 0xed, 0xb1, 0x1d, 0xac, 0x1b, 0x87, 0xfa, |
|
| 17123 |
- 0xbe, 0x65, 0x5b, 0xfe, 0x84, 0x9b, 0xb2, 0x1c, 0xbf, 0x84, 0xe7, 0x75, 0x56, 0x70, 0x44, 0x10, |
|
| 17124 |
- 0xcf, 0xa8, 0x41, 0xeb, 0xb0, 0x38, 0x24, 0x9e, 0xa7, 0x0f, 0x08, 0xb7, 0x34, 0x8f, 0x83, 0xa6, |
|
| 17125 |
- 0xfa, 0x01, 0x14, 0xa3, 0x72, 0xa8, 0x00, 0x8b, 0x7b, 0xed, 0xc7, 0xed, 0xce, 0xd3, 0xb6, 0xb2, |
|
| 17126 |
- 0x80, 0x56, 0xa0, 0xb0, 0xd7, 0xc6, 0xcd, 0x6a, 0x7d, 0xbb, 0x5a, 0xdb, 0x69, 0x2a, 0x09, 0xb4, |
|
| 17127 |
- 0x04, 0xf9, 0x69, 0x33, 0xa9, 0xfe, 0x69, 0x02, 0x80, 0xb9, 0x5b, 0x0e, 0xea, 0x7d, 0xc8, 0x78, |
|
| 17128 |
- 0xbe, 0xee, 0x8b, 0x55, 0xb9, 0x7c, 0xff, 0x8d, 0xcb, 0xe6, 0x50, 0xda, 0xcb, 0xfe, 0x11, 0x2c, |
|
| 17129 |
- 0x44, 0xa2, 0x16, 0x26, 0x67, 0x2c, 0x64, 0x01, 0x42, 0x37, 0x4d, 0x57, 0x1a, 0xce, 0xbf, 0xd5, |
|
| 17130 |
- 0x0f, 0x20, 0xc3, 0xa5, 0x67, 0xcd, 0xcd, 0x41, 0xba, 0xc1, 0xbe, 0x12, 0x28, 0x0f, 0x19, 0xdc, |
|
| 17131 |
- 0xac, 0x36, 0x3e, 0x55, 0x92, 0x48, 0x81, 0x62, 0xa3, 0xd5, 0xab, 0x77, 0xda, 0xed, 0x66, 0xbd, |
|
| 17132 |
- 0xdf, 0x6c, 0x28, 0x29, 0xf5, 0x0e, 0x64, 0x5a, 0x43, 0xa6, 0xf9, 0x36, 0x5b, 0xf2, 0x07, 0xc4, |
|
| 17133 |
- 0x25, 0x8e, 0x11, 0xec, 0xa4, 0x29, 0x41, 0xfd, 0x49, 0x1e, 0x32, 0xbb, 0x74, 0xec, 0xf8, 0xe8, |
|
| 17134 |
- 0x7e, 0x24, 0x6c, 0x2d, 0xc7, 0x67, 0x08, 0x1c, 0x58, 0xe9, 0x4f, 0x46, 0x44, 0x86, 0xb5, 0x9b, |
|
| 17135 |
- 0x90, 0x15, 0x9b, 0x43, 0x0e, 0x47, 0xb6, 0x18, 0xdd, 0xd7, 0xdd, 0x01, 0xf1, 0xe5, 0x78, 0x64, |
|
| 17136 |
- 0x0b, 0xbd, 0xc5, 0x4e, 0x2c, 0xdd, 0xa4, 0x8e, 0x3d, 0xe1, 0x7b, 0x28, 0x27, 0x8e, 0x25, 0x4c, |
|
| 17137 |
- 0x74, 0xb3, 0xe3, 0xd8, 0x13, 0x1c, 0x72, 0xd1, 0x36, 0x14, 0xf7, 0x2d, 0xc7, 0xd4, 0xe8, 0x48, |
|
| 17138 |
- 0x04, 0xf9, 0xcc, 0xe5, 0x3b, 0x4e, 0x58, 0x55, 0xb3, 0x1c, 0xb3, 0x23, 0xc0, 0xb8, 0xb0, 0x3f, |
|
| 17139 |
- 0x6d, 0xa0, 0x36, 0x2c, 0x1f, 0x53, 0x7b, 0x3c, 0x24, 0xa1, 0xae, 0x2c, 0xd7, 0xf5, 0xe6, 0xe5, |
|
| 17140 |
- 0xba, 0x9e, 0x70, 0x7c, 0xa0, 0x6d, 0xe9, 0x38, 0xda, 0x44, 0x8f, 0x61, 0xc9, 0x1f, 0x8e, 0x0e, |
|
| 17141 |
- 0xbc, 0x50, 0xdd, 0x22, 0x57, 0xf7, 0xad, 0x2b, 0x1c, 0xc6, 0xe0, 0x81, 0xb6, 0xa2, 0x1f, 0x69, |
|
| 17142 |
- 0x95, 0x7e, 0x23, 0x05, 0x85, 0x88, 0xe5, 0xa8, 0x07, 0x85, 0x91, 0x4b, 0x47, 0xfa, 0x80, 0x1f, |
|
| 17143 |
- 0x54, 0x72, 0x2e, 0xee, 0xbd, 0xd4, 0xa8, 0x2b, 0xdd, 0xa9, 0x20, 0x8e, 0x6a, 0x51, 0xcf, 0x92, |
|
| 17144 |
- 0x50, 0x88, 0x30, 0xd1, 0xdb, 0x90, 0xc3, 0x5d, 0xdc, 0x7a, 0x52, 0xed, 0x37, 0x95, 0x85, 0xd2, |
|
| 17145 |
- 0xed, 0xd3, 0xb3, 0xf2, 0x3a, 0xd7, 0x16, 0x55, 0xd0, 0x75, 0xad, 0x63, 0xb6, 0xf4, 0xde, 0x82, |
|
| 17146 |
- 0xc5, 0x00, 0x9a, 0x28, 0x7d, 0xf3, 0xf4, 0xac, 0xfc, 0xca, 0x3c, 0x34, 0x82, 0xc4, 0xbd, 0xed, |
|
| 17147 |
- 0x2a, 0x6e, 0x36, 0x94, 0x64, 0x3c, 0x12, 0xf7, 0x0e, 0x75, 0x97, 0x98, 0xe8, 0x5b, 0x90, 0x95, |
|
| 17148 |
- 0xc0, 0x54, 0xa9, 0x74, 0x7a, 0x56, 0xbe, 0x39, 0x0f, 0x9c, 0xe2, 0x70, 0x6f, 0xa7, 0xfa, 0xa4, |
|
| 17149 |
- 0xa9, 0xa4, 0xe3, 0x71, 0xb8, 0x67, 0xeb, 0xc7, 0x04, 0xbd, 0x01, 0x19, 0x01, 0xcb, 0x94, 0x6e, |
|
| 17150 |
- 0x9d, 0x9e, 0x95, 0xbf, 0xf1, 0x82, 0x3a, 0x86, 0x2a, 0xad, 0xff, 0xf6, 0x1f, 0x6c, 0x2c, 0xfc, |
|
| 17151 |
- 0xe5, 0x1f, 0x6e, 0x28, 0xf3, 0xec, 0xd2, 0x7f, 0x27, 0x60, 0x69, 0x66, 0xca, 0x91, 0x0a, 0x59, |
|
| 17152 |
- 0x87, 0x1a, 0x74, 0x24, 0xce, 0xaf, 0x5c, 0x0d, 0x2e, 0xce, 0x37, 0xb3, 0x6d, 0x5a, 0xa7, 0xa3, |
|
| 17153 |
- 0x09, 0x96, 0x1c, 0xf4, 0x78, 0xee, 0x04, 0x7e, 0xf0, 0x92, 0xeb, 0x29, 0xf6, 0x0c, 0xfe, 0x18, |
|
| 17154 |
- 0x96, 0x4c, 0xd7, 0x3a, 0x26, 0xae, 0x66, 0x50, 0xe7, 0xc0, 0x1a, 0xc8, 0xb3, 0xa9, 0x14, 0x9b, |
|
| 17155 |
- 0x26, 0x72, 0x20, 0x2e, 0x0a, 0x81, 0x3a, 0xc7, 0x7f, 0x8d, 0xd3, 0xb7, 0xf4, 0x04, 0x8a, 0xd1, |
|
| 17156 |
- 0x15, 0xca, 0x8e, 0x13, 0xcf, 0xfa, 0x15, 0x22, 0xf3, 0x41, 0x9e, 0x3d, 0xe2, 0x3c, 0xa3, 0x88, |
|
| 17157 |
- 0x6c, 0xf0, 0x4d, 0x48, 0x0f, 0xa9, 0x29, 0xf4, 0x2c, 0xd5, 0x6e, 0xb0, 0x24, 0xe0, 0x9f, 0xce, |
|
| 17158 |
- 0x37, 0x0b, 0xd4, 0xab, 0x6c, 0x59, 0x36, 0xd9, 0xa5, 0x26, 0xc1, 0x1c, 0xa0, 0x1e, 0x43, 0x9a, |
|
| 17159 |
- 0x85, 0x0a, 0xf4, 0x4d, 0x48, 0xd7, 0x5a, 0xed, 0x86, 0xb2, 0x50, 0x5a, 0x3d, 0x3d, 0x2b, 0x2f, |
|
| 17160 |
- 0x71, 0x97, 0x30, 0x06, 0x5b, 0xbb, 0x68, 0x13, 0xb2, 0x4f, 0x3a, 0x3b, 0x7b, 0xbb, 0x6c, 0x79, |
|
| 17161 |
- 0xdd, 0x38, 0x3d, 0x2b, 0xaf, 0x84, 0x6c, 0xe1, 0x34, 0xf4, 0x2a, 0x64, 0xfa, 0xbb, 0xdd, 0xad, |
|
| 17162 |
- 0x9e, 0x92, 0x2c, 0xa1, 0xd3, 0xb3, 0xf2, 0x72, 0xc8, 0xe7, 0x36, 0x97, 0x56, 0xe5, 0xac, 0xe6, |
|
| 17163 |
- 0x43, 0xba, 0xfa, 0xb3, 0x24, 0x2c, 0x61, 0x56, 0xf1, 0xb9, 0x7e, 0x97, 0xda, 0x96, 0x31, 0x41, |
|
| 17164 |
- 0x5d, 0xc8, 0x1b, 0xd4, 0x31, 0xad, 0xc8, 0x9e, 0xba, 0x7f, 0xc9, 0xa9, 0x3f, 0x95, 0x0a, 0x5a, |
|
| 17165 |
- 0xf5, 0x40, 0x12, 0x4f, 0x95, 0xa0, 0x77, 0x21, 0x63, 0x12, 0x5b, 0x9f, 0xc8, 0xf4, 0xe3, 0x56, |
|
| 17166 |
- 0x45, 0xd4, 0x94, 0x95, 0xa0, 0xa6, 0xac, 0x34, 0x64, 0x4d, 0x89, 0x05, 0x8e, 0xa7, 0xd9, 0xfa, |
|
| 17167 |
- 0x33, 0x4d, 0xf7, 0x7d, 0x32, 0x1c, 0xf9, 0x22, 0xf7, 0x48, 0xe3, 0xc2, 0x50, 0x7f, 0x56, 0x95, |
|
| 17168 |
- 0x24, 0x74, 0x0f, 0xb2, 0x27, 0x96, 0x63, 0xd2, 0x13, 0x99, 0x5e, 0x5c, 0xa1, 0x54, 0x02, 0xd5, |
|
| 17169 |
- 0x53, 0x76, 0xea, 0xce, 0x99, 0xc9, 0xfc, 0xdd, 0xee, 0xb4, 0x9b, 0x81, 0xbf, 0x25, 0xbf, 0xe3, |
|
| 17170 |
- 0xb4, 0xa9, 0xc3, 0xf6, 0x0a, 0x74, 0xda, 0xda, 0x56, 0xb5, 0xb5, 0xb3, 0x87, 0x99, 0xcf, 0xd7, |
|
| 17171 |
- 0x4e, 0xcf, 0xca, 0x4a, 0x08, 0xd9, 0xd2, 0x2d, 0x9b, 0xe5, 0xbb, 0xb7, 0x20, 0x55, 0x6d, 0x7f, |
|
| 17172 |
- 0xaa, 0x24, 0x4b, 0xca, 0xe9, 0x59, 0xb9, 0x18, 0xb2, 0xab, 0xce, 0x64, 0xba, 0x8d, 0xe6, 0xfb, |
|
| 17173 |
- 0x55, 0xff, 0x36, 0x05, 0xc5, 0xbd, 0x91, 0xa9, 0xfb, 0x44, 0xac, 0x49, 0x54, 0x86, 0xc2, 0x48, |
|
| 17174 |
- 0x77, 0x75, 0xdb, 0x26, 0xb6, 0xe5, 0x0d, 0x65, 0xb5, 0x1c, 0x25, 0xa1, 0xf7, 0x5e, 0xd6, 0x8d, |
|
| 17175 |
- 0xb5, 0x1c, 0x5b, 0x67, 0x3f, 0xfe, 0x97, 0xcd, 0x44, 0xe0, 0xd0, 0x3d, 0x58, 0x3e, 0x10, 0xd6, |
|
| 17176 |
- 0x6a, 0xba, 0xc1, 0x27, 0x36, 0xc5, 0x27, 0xb6, 0x12, 0x37, 0xb1, 0x51, 0xb3, 0x2a, 0x72, 0x90, |
|
| 17177 |
- 0x55, 0x2e, 0x85, 0x97, 0x0e, 0xa2, 0x4d, 0xf4, 0x00, 0x16, 0x87, 0xd4, 0xb1, 0x7c, 0xea, 0x5e, |
|
| 17178 |
- 0x3f, 0x0b, 0x01, 0x12, 0xbd, 0x0d, 0xab, 0x6c, 0x72, 0x03, 0x7b, 0x38, 0x9b, 0x9f, 0x58, 0x49, |
|
| 17179 |
- 0xbc, 0x32, 0xd4, 0x9f, 0xc9, 0x0e, 0x31, 0x23, 0xa3, 0x1a, 0x64, 0xa8, 0xcb, 0x52, 0xa2, 0x2c, |
|
| 17180 |
- 0x37, 0xf7, 0x9d, 0x6b, 0xcd, 0x15, 0x8d, 0x0e, 0x93, 0xc1, 0x42, 0x54, 0xfd, 0x3e, 0x2c, 0xcd, |
|
| 17181 |
- 0x0c, 0x82, 0x65, 0x02, 0xdd, 0xea, 0x5e, 0xaf, 0xa9, 0x2c, 0xa0, 0x22, 0xe4, 0xea, 0x9d, 0x76, |
|
| 17182 |
- 0xbf, 0xd5, 0xde, 0x63, 0xa9, 0x4c, 0x11, 0x72, 0xb8, 0xb3, 0xb3, 0x53, 0xab, 0xd6, 0x1f, 0x2b, |
|
| 17183 |
- 0x49, 0xb5, 0x02, 0x85, 0x88, 0x36, 0xb4, 0x0c, 0xd0, 0xeb, 0x77, 0xba, 0xda, 0x56, 0x0b, 0xf7, |
|
| 17184 |
- 0xfa, 0x22, 0x11, 0xea, 0xf5, 0xab, 0xb8, 0x2f, 0x09, 0x09, 0xf5, 0x3f, 0x92, 0xc1, 0x8c, 0xca, |
|
| 17185 |
- 0xdc, 0xa7, 0x36, 0x9b, 0xfb, 0x5c, 0x61, 0xbc, 0xcc, 0x7e, 0xa6, 0x8d, 0x30, 0x07, 0x7a, 0x0f, |
|
| 17186 |
- 0x80, 0x2f, 0x1c, 0x62, 0x6a, 0xba, 0x2f, 0x27, 0xbe, 0xf4, 0x82, 0x93, 0xfb, 0xc1, 0xa5, 0x0d, |
|
| 17187 |
- 0xce, 0x4b, 0x74, 0xd5, 0x47, 0x1f, 0x42, 0xd1, 0xa0, 0xc3, 0x91, 0x4d, 0xa4, 0x70, 0xea, 0x5a, |
|
| 17188 |
- 0xe1, 0x42, 0x88, 0xaf, 0xfa, 0xd1, 0xec, 0x2b, 0x3d, 0x9b, 0x1f, 0xfe, 0x66, 0x22, 0xf0, 0x4c, |
|
| 17189 |
- 0x4c, 0xc2, 0x55, 0x84, 0xdc, 0x5e, 0xb7, 0x51, 0xed, 0xb7, 0xda, 0x8f, 0x94, 0x04, 0x02, 0xc8, |
|
| 17190 |
- 0x72, 0x57, 0x37, 0x94, 0x24, 0x4b, 0x14, 0xeb, 0x9d, 0xdd, 0xee, 0x4e, 0x93, 0xa7, 0x5c, 0x68, |
|
| 17191 |
- 0x0d, 0x94, 0xc0, 0xd9, 0x1a, 0x77, 0x64, 0xb3, 0xa1, 0xa4, 0xd1, 0x0d, 0x58, 0x09, 0xa9, 0x52, |
|
| 17192 |
- 0x32, 0x83, 0x6e, 0x02, 0x0a, 0x89, 0x53, 0x15, 0x59, 0xf5, 0xd7, 0x60, 0xa5, 0x4e, 0x1d, 0x5f, |
|
| 17193 |
- 0xb7, 0x9c, 0x30, 0x89, 0xbe, 0xcf, 0x06, 0x2d, 0x49, 0x9a, 0x25, 0x2f, 0x3b, 0x6a, 0x2b, 0x17, |
|
| 17194 |
- 0xe7, 0x9b, 0x85, 0x10, 0xda, 0x6a, 0xb0, 0x91, 0x06, 0x0d, 0x93, 0xed, 0xdf, 0x91, 0x65, 0x72, |
|
| 17195 |
- 0xe7, 0x66, 0x6a, 0x8b, 0x17, 0xe7, 0x9b, 0xa9, 0x6e, 0xab, 0x81, 0x19, 0x0d, 0x7d, 0x13, 0xf2, |
|
| 17196 |
- 0xe4, 0x99, 0xe5, 0x6b, 0x06, 0x8b, 0xe1, 0xcc, 0x81, 0x19, 0x9c, 0x63, 0x84, 0x3a, 0x0b, 0xd9, |
|
| 17197 |
- 0x35, 0x80, 0x2e, 0x75, 0x7d, 0xd9, 0xf3, 0x77, 0x21, 0x33, 0xa2, 0x2e, 0x2f, 0xcf, 0x2f, 0xbd, |
|
| 17198 |
- 0x34, 0x62, 0x70, 0xb1, 0x50, 0xb1, 0x00, 0xab, 0x7f, 0x95, 0x04, 0xe8, 0xeb, 0xde, 0x91, 0x54, |
|
| 17199 |
- 0xf2, 0x10, 0xf2, 0xe1, 0x05, 0x9c, 0xac, 0xf3, 0xaf, 0x9c, 0xed, 0x10, 0x8c, 0x1e, 0x04, 0x8b, |
|
| 17200 |
- 0x4d, 0x94, 0x07, 0xb1, 0x75, 0x5a, 0xd0, 0x51, 0x5c, 0x86, 0x3d, 0x5b, 0x03, 0xb0, 0x23, 0x91, |
|
| 17201 |
- 0xb8, 0xae, 0x9c, 0x79, 0xf6, 0x89, 0xea, 0xfc, 0x58, 0x10, 0x4e, 0x93, 0x09, 0x66, 0xec, 0xcd, |
|
| 17202 |
- 0xc6, 0xdc, 0x8c, 0x6c, 0x2f, 0xe0, 0xa9, 0x1c, 0xfa, 0x18, 0x0a, 0x6c, 0xdc, 0x9a, 0xc7, 0x79, |
|
| 17203 |
- 0x32, 0xb7, 0xbc, 0xd4, 0x55, 0x42, 0x03, 0x86, 0x51, 0xf8, 0x5d, 0x53, 0x60, 0xd9, 0x1d, 0x3b, |
|
| 17204 |
- 0x6c, 0xd8, 0x52, 0x87, 0xfa, 0x27, 0x49, 0x78, 0xa5, 0x4d, 0xfc, 0x13, 0xea, 0x1e, 0x55, 0x7d, |
|
| 17205 |
- 0x5f, 0x37, 0x0e, 0x87, 0xc4, 0x91, 0x4e, 0x8e, 0x64, 0xd6, 0x89, 0x99, 0xcc, 0x7a, 0x1d, 0x16, |
|
| 17206 |
- 0x75, 0xdb, 0xd2, 0x3d, 0x22, 0xd2, 0x91, 0x3c, 0x0e, 0x9a, 0x2c, 0xff, 0x67, 0xd5, 0x04, 0xf1, |
|
| 17207 |
- 0x3c, 0x22, 0x0a, 0xfc, 0x3c, 0x9e, 0x12, 0xd0, 0x8f, 0xe0, 0xa6, 0x4c, 0x3c, 0xf4, 0xb0, 0x2b, |
|
| 17208 |
- 0x96, 0xd9, 0x06, 0x37, 0x85, 0xcd, 0xd8, 0xf2, 0x26, 0xde, 0x38, 0x99, 0x99, 0x4c, 0xc9, 0x9d, |
|
| 17209 |
- 0x91, 0x2f, 0xf3, 0x9c, 0x35, 0x33, 0x86, 0x55, 0x7a, 0x04, 0xb7, 0x2e, 0x15, 0xf9, 0x4a, 0x17, |
|
| 17210 |
- 0x08, 0xff, 0x90, 0x04, 0x68, 0x75, 0xab, 0xbb, 0xd2, 0x49, 0x0d, 0xc8, 0x1e, 0xe8, 0x43, 0xcb, |
|
| 17211 |
- 0x9e, 0x5c, 0x15, 0xa7, 0xa6, 0xf8, 0x4a, 0x55, 0xb8, 0x63, 0x8b, 0xcb, 0x60, 0x29, 0xcb, 0x8b, |
|
| 17212 |
- 0x9b, 0xf1, 0xbe, 0x43, 0xfc, 0xb0, 0xb8, 0xe1, 0x2d, 0x66, 0x86, 0xab, 0x3b, 0xe1, 0x02, 0x13, |
|
| 17213 |
- 0x0d, 0x36, 0x01, 0x03, 0xdd, 0x27, 0x27, 0xfa, 0x24, 0x08, 0x2e, 0xb2, 0x89, 0xb6, 0xf9, 0x35, |
|
| 17214 |
- 0x1d, 0x71, 0x8f, 0x89, 0xb9, 0x9e, 0xe1, 0x4e, 0xbd, 0xce, 0x1e, 0x2c, 0xe1, 0xc2, 0x77, 0xa1, |
|
| 17215 |
- 0x74, 0xe9, 0x03, 0x9e, 0xd8, 0x4c, 0x59, 0x5f, 0xc9, 0x47, 0x77, 0x61, 0x69, 0x66, 0x9c, 0x2f, |
|
| 17216 |
- 0x54, 0x95, 0xad, 0xee, 0x93, 0xef, 0x2a, 0x69, 0xf9, 0xf5, 0x7d, 0x25, 0xab, 0xfe, 0x51, 0x4a, |
|
| 17217 |
- 0x84, 0x03, 0xe9, 0xd5, 0xf8, 0xeb, 0xe9, 0x1c, 0xdf, 0xc4, 0x06, 0xb5, 0xe5, 0x36, 0x7d, 0xf3, |
|
| 17218 |
- 0xea, 0x28, 0xc1, 0xaa, 0x14, 0x0e, 0xc7, 0xa1, 0x20, 0xda, 0x84, 0x82, 0x58, 0xc5, 0x1a, 0xdb, |
|
| 17219 |
- 0x16, 0xdc, 0xad, 0x4b, 0x18, 0x04, 0x89, 0x49, 0xa2, 0x3b, 0xb0, 0xcc, 0x6f, 0x21, 0xbc, 0x43, |
|
| 17220 |
- 0x62, 0x0a, 0x4c, 0x9a, 0x63, 0x96, 0x42, 0x2a, 0x87, 0xed, 0x42, 0x51, 0x12, 0x34, 0x9e, 0xa1, |
|
| 17221 |
- 0x66, 0xb8, 0x41, 0x6f, 0x5f, 0x67, 0x90, 0x10, 0xe1, 0x89, 0x6b, 0x61, 0x34, 0x6d, 0xa8, 0x0d, |
|
| 17222 |
- 0xc8, 0x05, 0xc6, 0xa2, 0x75, 0x48, 0xf5, 0xeb, 0x5d, 0x65, 0xa1, 0xb4, 0x72, 0x7a, 0x56, 0x2e, |
|
| 17223 |
- 0x04, 0xe4, 0x7e, 0xbd, 0xcb, 0x38, 0x7b, 0x8d, 0xae, 0x92, 0x98, 0xe5, 0xec, 0x35, 0xba, 0xa5, |
|
| 17224 |
- 0x34, 0xcb, 0x94, 0xd4, 0x03, 0x28, 0x44, 0x7a, 0x40, 0xaf, 0xc3, 0x62, 0xab, 0xfd, 0x08, 0x37, |
|
| 17225 |
- 0x7b, 0x3d, 0x65, 0xa1, 0x74, 0xf3, 0xf4, 0xac, 0x8c, 0x22, 0xdc, 0x96, 0x33, 0x60, 0xf3, 0x83, |
|
| 17226 |
- 0x5e, 0x85, 0xf4, 0x76, 0x87, 0x9d, 0xc0, 0x22, 0x25, 0x8e, 0x20, 0xb6, 0xa9, 0xe7, 0x97, 0x6e, |
|
| 17227 |
- 0xc8, 0x14, 0x2c, 0xaa, 0x58, 0xfd, 0xbd, 0x04, 0x64, 0xc5, 0x66, 0x8a, 0x9d, 0xa8, 0x2a, 0x2c, |
|
| 17228 |
- 0x06, 0xf5, 0xaa, 0x28, 0x57, 0xde, 0xbc, 0xbc, 0xb4, 0xa8, 0xc8, 0x4a, 0x40, 0x2c, 0xbf, 0x40, |
|
| 17229 |
- 0xae, 0xf4, 0x3e, 0x14, 0xa3, 0x8c, 0xaf, 0xb4, 0xf8, 0x7e, 0x04, 0x05, 0xb6, 0xbe, 0x83, 0x12, |
|
| 17230 |
- 0xe3, 0x3e, 0x64, 0x45, 0x40, 0x08, 0x4f, 0x84, 0xcb, 0xeb, 0x1c, 0x89, 0x44, 0x0f, 0x61, 0x51, |
|
| 17231 |
- 0xd4, 0x46, 0xc1, 0x35, 0xe5, 0xc6, 0xd5, 0xbb, 0x08, 0x07, 0x70, 0xf5, 0x63, 0x48, 0x77, 0x09, |
|
| 17232 |
- 0x71, 0x99, 0xef, 0x1d, 0x6a, 0x92, 0xe9, 0x21, 0x2a, 0xcb, 0x3a, 0x93, 0xb4, 0x1a, 0xac, 0xac, |
|
| 17233 |
- 0x33, 0x49, 0xcb, 0x0c, 0x2f, 0x62, 0x92, 0x91, 0x8b, 0x98, 0x3e, 0x14, 0x9f, 0x12, 0x6b, 0x70, |
|
| 17234 |
- 0xe8, 0x13, 0x93, 0x2b, 0x7a, 0x07, 0xd2, 0x23, 0x12, 0x1a, 0xbf, 0x1e, 0xbb, 0xc0, 0x08, 0x71, |
|
| 17235 |
- 0x31, 0x47, 0xb1, 0x38, 0x72, 0xc2, 0xa5, 0xe5, 0xdd, 0xba, 0x6c, 0xa9, 0x7f, 0x9f, 0x84, 0xe5, |
|
| 17236 |
- 0x96, 0xe7, 0x8d, 0x75, 0xc7, 0x08, 0xf2, 0xab, 0x8f, 0x66, 0xf3, 0xab, 0xd8, 0x47, 0x88, 0x59, |
|
| 17237 |
- 0x91, 0xd9, 0xfb, 0x25, 0x79, 0xc6, 0x25, 0xc3, 0x33, 0x4e, 0xfd, 0xf7, 0x44, 0x70, 0x89, 0x74, |
|
| 17238 |
- 0x27, 0xb2, 0xdd, 0x4b, 0xeb, 0xa7, 0x67, 0xe5, 0xb5, 0xa8, 0x26, 0xb2, 0xe7, 0x1c, 0x39, 0xf4, |
|
| 17239 |
- 0xc4, 0x41, 0xaf, 0x41, 0x06, 0x37, 0xdb, 0xcd, 0xa7, 0x4a, 0x42, 0x2c, 0xcf, 0x19, 0x10, 0x26, |
|
| 17240 |
- 0x0e, 0x39, 0x61, 0x9a, 0xba, 0xcd, 0x76, 0x83, 0xe5, 0x43, 0xc9, 0x18, 0x4d, 0x5d, 0xe2, 0x98, |
|
| 17241 |
- 0x96, 0x33, 0x40, 0xaf, 0x43, 0xb6, 0xd5, 0xeb, 0xed, 0xf1, 0x32, 0xff, 0x95, 0xd3, 0xb3, 0xf2, |
|
| 17242 |
- 0x8d, 0x19, 0x14, 0xbf, 0x40, 0x34, 0x19, 0x88, 0x15, 0x23, 0x2c, 0x53, 0x8a, 0x01, 0xb1, 0x2c, |
|
| 17243 |
- 0x57, 0x80, 0x70, 0xa7, 0x5f, 0xed, 0xb3, 0x0a, 0xff, 0x45, 0x10, 0xa6, 0xec, 0xaf, 0xdc, 0x6e, |
|
| 17244 |
- 0xff, 0x9c, 0x04, 0xa5, 0x6a, 0x18, 0x64, 0xe4, 0x33, 0xbe, 0xac, 0xff, 0xfa, 0x90, 0x1b, 0xb1, |
|
| 17245 |
- 0x2f, 0x8b, 0x04, 0xb9, 0xcc, 0xc3, 0xd8, 0x67, 0xb4, 0x39, 0xb9, 0x0a, 0xa6, 0x36, 0xa9, 0x9a, |
|
| 17246 |
- 0x43, 0xcb, 0xf3, 0x2c, 0xea, 0x08, 0x1a, 0x0e, 0x35, 0x95, 0xfe, 0x33, 0x01, 0x37, 0x62, 0x10, |
|
| 17247 |
- 0xe8, 0x2e, 0xa4, 0x5d, 0x6a, 0x07, 0x73, 0x78, 0xfb, 0xb2, 0xfb, 0x41, 0x26, 0x8a, 0x39, 0x12, |
|
| 17248 |
- 0x6d, 0x00, 0xe8, 0x63, 0x9f, 0xea, 0xbc, 0x7f, 0x3e, 0x7b, 0x39, 0x1c, 0xa1, 0xa0, 0xa7, 0x90, |
|
| 17249 |
- 0xf5, 0x88, 0xe1, 0x92, 0x20, 0xe3, 0xfd, 0xf8, 0xff, 0x6a, 0x7d, 0xa5, 0xc7, 0xd5, 0x60, 0xa9, |
|
| 17250 |
- 0xae, 0x54, 0x81, 0xac, 0xa0, 0xb0, 0x65, 0x6f, 0xea, 0xbe, 0x2e, 0x6f, 0x8f, 0xf9, 0x37, 0x5b, |
|
| 17251 |
- 0x4d, 0xba, 0x3d, 0x08, 0x56, 0x93, 0x6e, 0x0f, 0xd4, 0xbf, 0x49, 0x02, 0x34, 0x9f, 0xf9, 0xc4, |
|
| 17252 |
- 0x75, 0x74, 0xbb, 0x5e, 0x45, 0xcd, 0x48, 0xf4, 0x17, 0xa3, 0xfd, 0x76, 0xec, 0x95, 0x78, 0x28, |
|
| 17253 |
- 0x51, 0xa9, 0x57, 0x63, 0xe2, 0xff, 0x2d, 0x48, 0x8d, 0x5d, 0xf9, 0x32, 0x2a, 0xb2, 0xd5, 0x3d, |
|
| 17254 |
- 0xbc, 0x83, 0x19, 0x0d, 0x35, 0xa7, 0x61, 0x2b, 0x75, 0xf9, 0xfb, 0x67, 0xa4, 0x83, 0xd8, 0xd0, |
|
| 17255 |
- 0xc5, 0x76, 0xbe, 0xa1, 0x6b, 0x06, 0x91, 0x27, 0x47, 0x51, 0xec, 0xfc, 0x7a, 0xb5, 0x4e, 0x5c, |
|
| 17256 |
- 0x1f, 0x67, 0x0d, 0x9d, 0xfd, 0xff, 0x5a, 0xf1, 0xed, 0x1d, 0x80, 0xe9, 0xd0, 0xd0, 0x06, 0x64, |
|
| 17257 |
- 0xea, 0x5b, 0xbd, 0xde, 0x8e, 0xb2, 0x20, 0x02, 0xf8, 0x94, 0xc5, 0xc9, 0xea, 0x5f, 0x24, 0x21, |
|
| 17258 |
- 0x57, 0xaf, 0xca, 0x63, 0xb5, 0x0e, 0x0a, 0x8f, 0x4a, 0xfc, 0xce, 0x9d, 0x3c, 0x1b, 0x59, 0xee, |
|
| 17259 |
- 0x44, 0x06, 0x96, 0x2b, 0x4a, 0xcf, 0x65, 0x26, 0xc2, 0xac, 0x6e, 0x72, 0x01, 0x84, 0xa1, 0x48, |
|
| 17260 |
- 0xa4, 0x13, 0x34, 0x43, 0x0f, 0x62, 0xfc, 0xc6, 0xd5, 0xce, 0x12, 0x45, 0xc4, 0xb4, 0xed, 0xe1, |
|
| 17261 |
- 0x42, 0xa0, 0xa4, 0xae, 0x7b, 0xe8, 0x3d, 0x58, 0xf1, 0xac, 0x81, 0x63, 0x39, 0x03, 0x2d, 0x70, |
|
| 17262 |
- 0x1e, 0x7f, 0x00, 0xa8, 0xad, 0x5e, 0x9c, 0x6f, 0x2e, 0xf5, 0x04, 0x4b, 0xfa, 0x70, 0x49, 0x22, |
|
| 17263 |
- 0xeb, 0xdc, 0x95, 0xe8, 0xfb, 0xb0, 0x1c, 0x11, 0x65, 0x5e, 0x14, 0x6e, 0x57, 0x2e, 0xce, 0x37, |
|
| 17264 |
- 0x8b, 0xa1, 0xe4, 0x63, 0x32, 0xc1, 0xc5, 0x50, 0xf0, 0x31, 0xe1, 0xb7, 0x24, 0x07, 0xd4, 0x35, |
|
| 17265 |
- 0x88, 0xe6, 0xf2, 0x3d, 0xcd, 0x4f, 0xf0, 0x34, 0x2e, 0x70, 0x9a, 0xd8, 0xe6, 0xea, 0x13, 0xb8, |
|
| 17266 |
- 0xd1, 0x71, 0x8d, 0x43, 0xe2, 0xf9, 0xc2, 0x15, 0xd2, 0x8b, 0x1f, 0xc3, 0x6d, 0x5f, 0xf7, 0x8e, |
|
| 17267 |
- 0xb4, 0x43, 0xcb, 0xf3, 0xa9, 0x3b, 0xd1, 0x5c, 0xe2, 0x13, 0x87, 0xf1, 0x35, 0xfe, 0x6a, 0x28, |
|
| 17268 |
- 0xaf, 0xb1, 0x6e, 0x31, 0xcc, 0xb6, 0x80, 0xe0, 0x00, 0xb1, 0xc3, 0x00, 0x6a, 0x0b, 0x8a, 0xac, |
|
| 17269 |
- 0x98, 0x68, 0x90, 0x03, 0x7d, 0x6c, 0xfb, 0x6c, 0xf4, 0x60, 0xd3, 0x81, 0xf6, 0xd2, 0xc7, 0x54, |
|
| 17270 |
- 0xde, 0xa6, 0x03, 0xf1, 0xa9, 0xfe, 0x10, 0x94, 0x86, 0xe5, 0x8d, 0x74, 0xdf, 0x38, 0x0c, 0xee, |
|
| 17271 |
- 0xe7, 0x50, 0x03, 0x94, 0x43, 0xa2, 0xbb, 0xfe, 0x3e, 0xd1, 0x7d, 0x6d, 0x44, 0x5c, 0x8b, 0x9a, |
|
| 17272 |
- 0xd7, 0xcf, 0xf2, 0x4a, 0x28, 0xd2, 0xe5, 0x12, 0xea, 0x7f, 0x25, 0x00, 0xb0, 0x7e, 0x10, 0x64, |
|
| 17273 |
- 0x64, 0xdf, 0x81, 0x55, 0xcf, 0xd1, 0x47, 0xde, 0x21, 0xf5, 0x35, 0xcb, 0xf1, 0x89, 0x7b, 0xac, |
|
| 17274 |
- 0xdb, 0xf2, 0x9a, 0x45, 0x09, 0x18, 0x2d, 0x49, 0x47, 0xef, 0x00, 0x3a, 0x22, 0x64, 0xa4, 0x51, |
|
| 17275 |
- 0xdb, 0xd4, 0x02, 0xa6, 0x78, 0xd3, 0x4c, 0x63, 0x85, 0x71, 0x3a, 0xb6, 0xd9, 0x0b, 0xe8, 0xa8, |
|
| 17276 |
- 0x06, 0x1b, 0x6c, 0xf8, 0xc4, 0xf1, 0x5d, 0x8b, 0x78, 0xda, 0x01, 0x75, 0x35, 0xcf, 0xa6, 0x27, |
|
| 17277 |
- 0xda, 0x01, 0xb5, 0x6d, 0x7a, 0x42, 0xdc, 0xe0, 0x06, 0xab, 0x64, 0xd3, 0x41, 0x53, 0x80, 0xb6, |
|
| 17278 |
- 0xa8, 0xdb, 0xb3, 0xe9, 0xc9, 0x56, 0x80, 0x60, 0x69, 0xdb, 0x74, 0xcc, 0xbe, 0x65, 0x1c, 0x05, |
|
| 17279 |
- 0x69, 0x5b, 0x48, 0xed, 0x5b, 0xc6, 0x11, 0x7a, 0x1d, 0x96, 0x88, 0x4d, 0xf8, 0x45, 0x86, 0x40, |
|
| 17280 |
- 0x65, 0x38, 0xaa, 0x18, 0x10, 0x19, 0x48, 0xfd, 0x04, 0x94, 0xa6, 0x63, 0xb8, 0x93, 0x51, 0x64, |
|
| 17281 |
- 0xce, 0xdf, 0x01, 0xc4, 0x82, 0xa4, 0x66, 0x53, 0xe3, 0x48, 0x1b, 0xea, 0x8e, 0x3e, 0x60, 0x76, |
|
| 17282 |
- 0x89, 0xa7, 0x26, 0x85, 0x71, 0x76, 0xa8, 0x71, 0xb4, 0x2b, 0xe9, 0xea, 0x7b, 0x00, 0xbd, 0x91, |
|
| 17283 |
- 0x4b, 0x74, 0xb3, 0xc3, 0xb2, 0x09, 0xe6, 0x3a, 0xde, 0xd2, 0x4c, 0xf9, 0x54, 0x47, 0x5d, 0xb9, |
|
| 17284 |
- 0xd5, 0x15, 0xc1, 0x68, 0x84, 0x74, 0xf5, 0x17, 0xe1, 0x46, 0xd7, 0xd6, 0x0d, 0xfe, 0x6c, 0xdd, |
|
| 17285 |
- 0x0d, 0xdf, 0x4e, 0xd0, 0x43, 0xc8, 0x0a, 0xa8, 0x9c, 0xc9, 0xd8, 0xed, 0x36, 0xed, 0x73, 0x7b, |
|
| 17286 |
- 0x01, 0x4b, 0x7c, 0xad, 0x08, 0x30, 0xd5, 0xa3, 0xfe, 0x59, 0x02, 0xf2, 0xa1, 0x7e, 0x54, 0x06, |
|
| 17287 |
- 0x56, 0xca, 0xb3, 0xe5, 0x6d, 0x39, 0xb2, 0xf6, 0xce, 0xe3, 0x28, 0x09, 0xb5, 0xa0, 0x30, 0x0a, |
|
| 17288 |
- 0xa5, 0xaf, 0xcc, 0xe7, 0x62, 0xac, 0xc6, 0x51, 0x59, 0xf4, 0x3e, 0xe4, 0x83, 0xb7, 0xd1, 0x20, |
|
| 17289 |
- 0xc2, 0x5e, 0xfd, 0x94, 0x3a, 0x85, 0xab, 0x1f, 0x01, 0xfc, 0x80, 0x5a, 0x4e, 0x9f, 0x1e, 0x11, |
|
| 17290 |
- 0x87, 0xbf, 0xf5, 0xb1, 0x9a, 0x90, 0x04, 0x5e, 0x94, 0x2d, 0x5e, 0x90, 0x8b, 0x29, 0x08, 0x9f, |
|
| 17291 |
- 0xbc, 0x44, 0x53, 0xfd, 0xeb, 0x24, 0x64, 0x31, 0xa5, 0x7e, 0xbd, 0x8a, 0xca, 0x90, 0x95, 0x71, |
|
| 17292 |
- 0x82, 0x9f, 0x3f, 0xb5, 0xfc, 0xc5, 0xf9, 0x66, 0x46, 0x04, 0x88, 0x8c, 0xc1, 0x23, 0x43, 0x24, |
|
| 17293 |
- 0x82, 0x27, 0x2f, 0x8b, 0xe0, 0xe8, 0x2e, 0x14, 0x25, 0x48, 0x3b, 0xd4, 0xbd, 0x43, 0x51, 0xa0, |
|
| 17294 |
- 0xd5, 0x96, 0x2f, 0xce, 0x37, 0x41, 0x20, 0xb7, 0x75, 0xef, 0x10, 0x83, 0x40, 0xb3, 0x6f, 0xd4, |
|
| 17295 |
- 0x84, 0xc2, 0x67, 0xd4, 0x72, 0x34, 0x9f, 0x0f, 0x42, 0x5e, 0xf9, 0xc5, 0xce, 0xe3, 0x74, 0xa8, |
|
| 17296 |
- 0xf2, 0xe1, 0x1b, 0x3e, 0x9b, 0x0e, 0xbe, 0x09, 0x4b, 0x2e, 0xa5, 0xbe, 0x08, 0x5b, 0x16, 0x75, |
|
| 17297 |
- 0xe4, 0x6d, 0x42, 0x39, 0xf6, 0x92, 0x99, 0x52, 0x1f, 0x4b, 0x1c, 0x2e, 0xba, 0x91, 0x16, 0xba, |
|
| 17298 |
- 0x0b, 0x6b, 0xb6, 0xee, 0xf9, 0x1a, 0x8f, 0x77, 0xe6, 0x54, 0x5b, 0x96, 0x6f, 0x35, 0xc4, 0x78, |
|
| 17299 |
- 0x5b, 0x9c, 0x15, 0x48, 0xa8, 0xff, 0x98, 0x80, 0x02, 0x1b, 0x8c, 0x75, 0x60, 0x19, 0x2c, 0xc9, |
|
| 17300 |
- 0xfb, 0xea, 0xb9, 0xc7, 0x2d, 0x48, 0x19, 0x9e, 0x2b, 0x9d, 0xca, 0x0f, 0xdf, 0x7a, 0x0f, 0x63, |
|
| 17301 |
- 0x46, 0x43, 0x9f, 0x40, 0x56, 0xde, 0x6a, 0x88, 0xb4, 0x43, 0xbd, 0x3e, 0x1d, 0x95, 0xbe, 0x91, |
|
| 17302 |
- 0x72, 0x7c, 0x2d, 0x4f, 0xad, 0x13, 0x87, 0x00, 0x8e, 0x92, 0xd0, 0x4d, 0x48, 0x1a, 0xc2, 0x5d, |
|
| 17303 |
- 0xf2, 0x97, 0x15, 0xf5, 0x36, 0x4e, 0x1a, 0x8e, 0xfa, 0x77, 0x09, 0x58, 0x9a, 0x6e, 0x78, 0xb6, |
|
| 17304 |
- 0x02, 0x6e, 0x43, 0xde, 0x1b, 0xef, 0x7b, 0x13, 0xcf, 0x27, 0xc3, 0xe0, 0x1d, 0x33, 0x24, 0xa0, |
|
| 17305 |
- 0x16, 0xe4, 0x75, 0x7b, 0x40, 0x5d, 0xcb, 0x3f, 0x1c, 0xca, 0x4a, 0x34, 0x3e, 0x55, 0x88, 0xea, |
|
| 17306 |
- 0xac, 0x54, 0x03, 0x11, 0x3c, 0x95, 0x0e, 0xce, 0x7d, 0xf1, 0xd8, 0xcd, 0xcf, 0xfd, 0xd7, 0xa0, |
|
| 17307 |
- 0x68, 0xeb, 0x43, 0x7e, 0xcd, 0xe3, 0x5b, 0x43, 0x31, 0x8e, 0x34, 0x2e, 0x48, 0x5a, 0xdf, 0x1a, |
|
| 17308 |
- 0x12, 0x55, 0x85, 0x7c, 0xa8, 0x0c, 0xad, 0x40, 0xa1, 0xda, 0xec, 0x69, 0xf7, 0xee, 0x3f, 0xd4, |
|
| 17309 |
- 0x1e, 0xd5, 0x77, 0x95, 0x05, 0x99, 0x9b, 0xfe, 0x79, 0x02, 0x96, 0x64, 0x38, 0x92, 0xf9, 0xfe, |
|
| 17310 |
- 0xeb, 0xb0, 0xe8, 0xea, 0x07, 0x7e, 0x50, 0x91, 0xa4, 0xc5, 0xaa, 0x66, 0x11, 0x9e, 0x55, 0x24, |
|
| 17311 |
- 0x8c, 0x15, 0x5f, 0x91, 0x44, 0x5e, 0xd6, 0x53, 0x57, 0xbe, 0xac, 0xa7, 0x7f, 0x2e, 0x2f, 0xeb, |
|
| 17312 |
- 0xea, 0xaf, 0x03, 0x6c, 0x59, 0x36, 0xe9, 0x8b, 0xbb, 0xa6, 0xb8, 0xfa, 0x92, 0xe5, 0x70, 0xf2, |
|
| 17313 |
- 0xc6, 0x31, 0xc8, 0xe1, 0x5a, 0x0d, 0xcc, 0x68, 0x8c, 0x35, 0xb0, 0x4c, 0xb9, 0x19, 0x39, 0xeb, |
|
| 17314 |
- 0x11, 0x63, 0x0d, 0x2c, 0x33, 0x7c, 0x4b, 0x4a, 0x5f, 0xf7, 0x96, 0x74, 0x96, 0x80, 0x15, 0x99, |
|
| 17315 |
- 0xbb, 0x86, 0xe1, 0xf7, 0xdb, 0x90, 0x17, 0x69, 0xec, 0xb4, 0xa0, 0xe3, 0xaf, 0xc9, 0x02, 0xd7, |
|
| 17316 |
- 0x6a, 0xe0, 0x9c, 0x60, 0xb7, 0x4c, 0xb4, 0x09, 0x05, 0x09, 0x8d, 0xfc, 0x0a, 0x07, 0x04, 0xa9, |
|
| 17317 |
- 0xcd, 0xcc, 0xff, 0x2e, 0xa4, 0x0f, 0x2c, 0x9b, 0xc8, 0x85, 0x1e, 0x1b, 0x00, 0xa6, 0x0e, 0xd8, |
|
| 17318 |
- 0x5e, 0xc0, 0x1c, 0x5d, 0xcb, 0x05, 0x97, 0x71, 0xdc, 0x3e, 0x59, 0x76, 0x46, 0xed, 0x13, 0x15, |
|
| 17319 |
- 0xe8, 0x9c, 0x7d, 0x02, 0xc7, 0xec, 0x13, 0x6c, 0x61, 0x9f, 0x84, 0x46, 0xed, 0x13, 0xa4, 0x9f, |
|
| 17320 |
- 0x8b, 0x7d, 0x3b, 0x70, 0xb3, 0x66, 0xeb, 0xc6, 0x91, 0x6d, 0x79, 0x3e, 0x31, 0xa3, 0x11, 0xe3, |
|
| 17321 |
- 0x3e, 0x64, 0x67, 0x92, 0xce, 0xab, 0x2e, 0x67, 0x25, 0x52, 0xfd, 0xb7, 0x04, 0x14, 0xb7, 0x89, |
|
| 17322 |
- 0x6e, 0xfb, 0x87, 0xd3, 0xab, 0x21, 0x9f, 0x78, 0xbe, 0x3c, 0xac, 0xf8, 0x37, 0xfa, 0x1e, 0xe4, |
|
| 17323 |
- 0xc2, 0x9c, 0xe4, 0xda, 0x57, 0xb2, 0x10, 0x8a, 0x1e, 0xc0, 0x22, 0xdb, 0x63, 0x74, 0x1c, 0x14, |
|
| 17324 |
- 0x3b, 0x57, 0x3d, 0xc0, 0x48, 0x24, 0x3b, 0x64, 0x5c, 0xc2, 0x93, 0x10, 0xbe, 0x94, 0x32, 0x38, |
|
| 17325 |
- 0x68, 0xa2, 0xff, 0x0f, 0x45, 0xfe, 0x7e, 0x10, 0xe4, 0x5c, 0x99, 0xeb, 0x74, 0x16, 0xc4, 0x13, |
|
| 17326 |
- 0xa0, 0xc8, 0xb7, 0xfe, 0x27, 0x01, 0x6b, 0xbb, 0xfa, 0x64, 0x9f, 0xc8, 0xb0, 0x41, 0x4c, 0x4c, |
|
| 17327 |
- 0x0c, 0xea, 0x9a, 0xa8, 0x1b, 0x0d, 0x37, 0x57, 0xbc, 0x28, 0xc6, 0x09, 0xc7, 0x47, 0x9d, 0xa0, |
|
| 17328 |
- 0x00, 0x4b, 0x46, 0x0a, 0xb0, 0x35, 0xc8, 0x38, 0xd4, 0x31, 0x88, 0x8c, 0x45, 0xa2, 0xa1, 0x5a, |
|
| 17329 |
- 0xd1, 0x50, 0x53, 0x0a, 0x1f, 0xfb, 0xf8, 0x53, 0x5d, 0x9b, 0xfa, 0x61, 0x6f, 0xe8, 0x13, 0x28, |
|
| 17330 |
- 0xf5, 0x9a, 0x75, 0xdc, 0xec, 0xd7, 0x3a, 0x3f, 0xd4, 0x7a, 0xd5, 0x9d, 0x5e, 0xf5, 0xfe, 0x5d, |
|
| 17331 |
- 0xad, 0xdb, 0xd9, 0xf9, 0xf4, 0xde, 0x83, 0xbb, 0xdf, 0x53, 0x12, 0xa5, 0xf2, 0xe9, 0x59, 0xf9, |
|
| 17332 |
- 0x76, 0xbb, 0x5a, 0xdf, 0x11, 0x3b, 0x66, 0x9f, 0x3e, 0xeb, 0xe9, 0xb6, 0xa7, 0xdf, 0xbf, 0xdb, |
|
| 17333 |
- 0xa5, 0xf6, 0x84, 0x61, 0xd8, 0xb2, 0x2e, 0x46, 0xcf, 0xab, 0xe8, 0x31, 0x9c, 0xb8, 0xf4, 0x18, |
|
| 17334 |
- 0x9e, 0x9e, 0xe6, 0xc9, 0x4b, 0x4e, 0xf3, 0x2d, 0x58, 0x33, 0x5c, 0xea, 0x79, 0x1a, 0xcb, 0xfe, |
|
| 17335 |
- 0x89, 0x39, 0x57, 0x5f, 0x7c, 0xe3, 0xe2, 0x7c, 0x73, 0xb5, 0xce, 0xf8, 0x3d, 0xce, 0x96, 0xea, |
|
| 17336 |
- 0x57, 0x8d, 0x08, 0x89, 0xf7, 0xa4, 0xfe, 0x7e, 0x8a, 0x25, 0x52, 0xd6, 0xb1, 0x65, 0x93, 0x01, |
|
| 17337 |
- 0xf1, 0xd0, 0x13, 0x58, 0x31, 0x5c, 0x62, 0xb2, 0xb4, 0x5e, 0xb7, 0xa3, 0xbf, 0xe6, 0xfc, 0x7f, |
|
| 17338 |
- 0xb1, 0x39, 0x4d, 0x28, 0x58, 0xa9, 0x87, 0x52, 0xbd, 0x11, 0x31, 0xf0, 0xb2, 0x31, 0xd3, 0x46, |
|
| 17339 |
- 0x9f, 0xc1, 0x8a, 0x47, 0x6c, 0xcb, 0x19, 0x3f, 0xd3, 0x0c, 0xea, 0xf8, 0xe4, 0x59, 0xf0, 0x6e, |
|
| 17340 |
- 0x75, 0x9d, 0xde, 0x5e, 0x73, 0x87, 0x49, 0xd5, 0x85, 0x50, 0x0d, 0x5d, 0x9c, 0x6f, 0x2e, 0xcf, |
|
| 17341 |
- 0xd2, 0xf0, 0xb2, 0xd4, 0x2c, 0xdb, 0xa5, 0x36, 0x2c, 0xcf, 0x5a, 0x83, 0xd6, 0xe4, 0xde, 0xe7, |
|
| 17342 |
- 0x21, 0x24, 0xd8, 0xdb, 0xe8, 0x36, 0xe4, 0x5c, 0x32, 0xb0, 0x3c, 0xdf, 0x15, 0x6e, 0x66, 0x9c, |
|
| 17343 |
- 0x90, 0xc2, 0x76, 0xbe, 0xf8, 0x29, 0x4e, 0xe9, 0x57, 0x61, 0xae, 0x47, 0xb6, 0x59, 0x4c, 0xcb, |
|
| 17344 |
- 0xd3, 0xf7, 0xa5, 0xca, 0x1c, 0x0e, 0x9a, 0x6c, 0x0d, 0x8e, 0xbd, 0x30, 0x51, 0xe3, 0xdf, 0x8c, |
|
| 17345 |
- 0xc6, 0x33, 0x0a, 0xf9, 0xc3, 0x24, 0x9e, 0x33, 0x04, 0xbf, 0x70, 0x4c, 0x47, 0x7e, 0xe1, 0xb8, |
|
| 17346 |
- 0x06, 0x19, 0x9b, 0x1c, 0x13, 0x5b, 0x9c, 0xe5, 0x58, 0x34, 0xde, 0xfe, 0x59, 0x0a, 0xf2, 0xe1, |
|
| 17347 |
- 0x1b, 0x0d, 0x3b, 0x09, 0xda, 0xcd, 0xa7, 0xc1, 0x5a, 0x0d, 0xe9, 0x6d, 0x72, 0x82, 0x5e, 0x9b, |
|
| 17348 |
- 0xde, 0x29, 0x7d, 0x22, 0x1e, 0xa5, 0x43, 0x76, 0x70, 0x9f, 0xf4, 0x06, 0xe4, 0xaa, 0xbd, 0x5e, |
|
| 17349 |
- 0xeb, 0x51, 0xbb, 0xd9, 0x50, 0x3e, 0x4f, 0x94, 0xbe, 0x71, 0x7a, 0x56, 0x5e, 0x0d, 0x41, 0x55, |
|
| 17350 |
- 0x4f, 0x2c, 0x25, 0x8e, 0xaa, 0xd7, 0x9b, 0xdd, 0x7e, 0xb3, 0xa1, 0x3c, 0x4f, 0xce, 0xa3, 0xf8, |
|
| 17351 |
- 0x1d, 0x09, 0xff, 0x69, 0x49, 0xbe, 0x8b, 0x9b, 0xdd, 0x2a, 0x66, 0x1d, 0x7e, 0x9e, 0x14, 0x57, |
|
| 17352 |
- 0x5d, 0xd3, 0x1e, 0x5d, 0x32, 0xd2, 0x5d, 0xd6, 0xe7, 0x46, 0xf0, 0x13, 0xab, 0xe7, 0x29, 0xf1, |
|
| 17353 |
- 0xf3, 0x83, 0xe9, 0x83, 0x13, 0xd1, 0xcd, 0x09, 0xeb, 0x8d, 0xbf, 0xf4, 0x71, 0x35, 0xa9, 0xb9, |
|
| 17354 |
- 0xde, 0x7a, 0x2c, 0x92, 0x30, 0x2d, 0x2a, 0x2c, 0xe2, 0xbd, 0x76, 0x9b, 0x81, 0x9e, 0xa7, 0xe7, |
|
| 17355 |
- 0x46, 0x87, 0xc7, 0x0e, 0xab, 0x7f, 0xd1, 0x1d, 0xc8, 0x05, 0x0f, 0x81, 0xca, 0xe7, 0xe9, 0x39, |
|
| 17356 |
- 0x83, 0xea, 0xc1, 0x2b, 0x26, 0xef, 0x70, 0x7b, 0xaf, 0xcf, 0x7f, 0x01, 0xf6, 0x3c, 0x33, 0xdf, |
|
| 17357 |
- 0xe1, 0xe1, 0xd8, 0x37, 0xe9, 0x89, 0xc3, 0x76, 0xa0, 0xbc, 0x55, 0xfb, 0x3c, 0x23, 0xae, 0x20, |
|
| 17358 |
- 0x42, 0x8c, 0xbc, 0x52, 0x7b, 0x03, 0x72, 0xb8, 0xf9, 0x03, 0xf1, 0x63, 0xb1, 0xe7, 0xd9, 0x39, |
|
| 17359 |
- 0x3d, 0x98, 0x7c, 0x46, 0x0c, 0xd9, 0x5b, 0x07, 0x77, 0xb7, 0xab, 0xdc, 0xe5, 0xf3, 0xa8, 0x8e, |
|
| 17360 |
- 0x3b, 0x3a, 0xd4, 0x1d, 0x62, 0x4e, 0x7f, 0x83, 0x11, 0xb2, 0xde, 0xfe, 0x25, 0xc8, 0x05, 0x79, |
|
| 17361 |
- 0x26, 0xda, 0x80, 0xec, 0xd3, 0x0e, 0x7e, 0xdc, 0xc4, 0xca, 0x82, 0xf0, 0x61, 0xc0, 0x79, 0x2a, |
|
| 17362 |
- 0x2a, 0x84, 0x32, 0x2c, 0xee, 0x56, 0xdb, 0xd5, 0x47, 0x4d, 0x1c, 0x5c, 0x78, 0x07, 0x00, 0x99, |
|
| 17363 |
- 0x2c, 0x95, 0x14, 0xd9, 0x41, 0xa8, 0xb3, 0xb6, 0xfe, 0xc5, 0x97, 0x1b, 0x0b, 0x3f, 0xfd, 0x72, |
|
| 17364 |
- 0x63, 0xe1, 0xf9, 0xc5, 0x46, 0xe2, 0x8b, 0x8b, 0x8d, 0xc4, 0x4f, 0x2e, 0x36, 0x12, 0xff, 0x7a, |
|
| 17365 |
- 0xb1, 0x91, 0xd8, 0xcf, 0xf2, 0x90, 0xfe, 0xe0, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x48, 0x1c, |
|
| 17366 |
- 0x30, 0x25, 0x28, 0x30, 0x00, 0x00, |
|
| 17066 |
+ 0x56, 0xbf, 0xeb, 0xd3, 0x55, 0xaf, 0xca, 0x76, 0x3a, 0xda, 0xdb, 0xe3, 0xae, 0xed, 0xb1, 0x3d, |
|
| 17067 |
+ 0x39, 0xd3, 0x3b, 0x33, 0xbd, 0xf3, 0xaf, 0xfe, 0x9a, 0x19, 0xf5, 0xcc, 0xfc, 0xe7, 0xa3, 0xbe, |
|
| 17068 |
+ 0xdc, 0xae, 0x6d, 0xbb, 0xaa, 0x14, 0x55, 0xee, 0xde, 0x41, 0x82, 0x54, 0x3a, 0x33, 0x5c, 0xce, |
|
| 17069 |
+ 0x71, 0x56, 0x46, 0x91, 0x99, 0x65, 0x77, 0xb1, 0x20, 0x5a, 0x1c, 0x00, 0xf9, 0x04, 0xb7, 0x45, |
|
| 17070 |
+ 0xc8, 0x5c, 0xe0, 0x84, 0x90, 0x38, 0x80, 0x84, 0xe0, 0x34, 0x48, 0x1c, 0xe6, 0xc6, 0x02, 0x12, |
|
| 17071 |
+ 0x5a, 0x81, 0x64, 0x18, 0x1f, 0xb8, 0x21, 0xb8, 0xac, 0xb8, 0x80, 0x84, 0xe2, 0x23, 0xb3, 0xb2, |
|
| 17072 |
+ 0xaa, 0xd3, 0x76, 0x0f, 0xb3, 0x17, 0x3b, 0xe3, 0xbd, 0xdf, 0x7b, 0xf1, 0xe2, 0x45, 0xc4, 0x8b, |
|
| 17073 |
+ 0xf7, 0x22, 0x0a, 0x6e, 0xf7, 0x2d, 0xff, 0x60, 0xb4, 0x57, 0x36, 0xe8, 0xe0, 0x8e, 0x49, 0x8d, |
|
| 17074 |
+ 0x43, 0xe2, 0xde, 0xf1, 0x8e, 0x75, 0x77, 0x70, 0x68, 0xf9, 0x77, 0xf4, 0xa1, 0x75, 0xc7, 0x1f, |
|
| 17075 |
+ 0x0f, 0x89, 0x57, 0x1e, 0xba, 0xd4, 0xa7, 0x08, 0x09, 0x40, 0x39, 0x00, 0x94, 0x8f, 0xee, 0x95, |
|
| 17076 |
+ 0xd6, 0xfb, 0x94, 0xf6, 0x6d, 0x72, 0x87, 0x23, 0xf6, 0x46, 0xfb, 0x77, 0x7c, 0x6b, 0x40, 0x3c, |
|
| 17077 |
+ 0x5f, 0x1f, 0x0c, 0x85, 0x50, 0x69, 0x6d, 0x16, 0x60, 0x8e, 0x5c, 0xdd, 0xb7, 0xa8, 0x23, 0xf9, |
|
| 17078 |
+ 0x2b, 0x7d, 0xda, 0xa7, 0xfc, 0xf3, 0x0e, 0xfb, 0x12, 0x54, 0x75, 0x1d, 0xe6, 0x9f, 0x10, 0xd7, |
|
| 17079 |
+ 0xb3, 0xa8, 0x83, 0x56, 0x20, 0x63, 0x39, 0x26, 0x79, 0xb6, 0x9a, 0xd8, 0x48, 0xbc, 0x95, 0xc6, |
|
| 17080 |
+ 0xa2, 0xa1, 0xde, 0x05, 0x68, 0xb2, 0x8f, 0x86, 0xe3, 0xbb, 0x63, 0xa4, 0x40, 0xea, 0x90, 0x8c, |
|
| 17081 |
+ 0x39, 0x22, 0x8f, 0xd9, 0x27, 0xa3, 0x1c, 0xe9, 0xf6, 0x6a, 0x52, 0x50, 0x8e, 0x74, 0x5b, 0xfd, |
|
| 17082 |
+ 0x3a, 0x01, 0x85, 0x8a, 0xe3, 0x50, 0x9f, 0xf7, 0xee, 0x21, 0x04, 0x69, 0x47, 0x1f, 0x10, 0x29, |
|
| 17083 |
+ 0xc4, 0xbf, 0x51, 0x0d, 0xb2, 0xb6, 0xbe, 0x47, 0x6c, 0x6f, 0x35, 0xb9, 0x91, 0x7a, 0xab, 0x70, |
|
| 17084 |
+ 0xff, 0xfb, 0xe5, 0x17, 0x87, 0x5c, 0x8e, 0x28, 0x29, 0x6f, 0x73, 0x34, 0x37, 0x02, 0x4b, 0x51, |
|
| 17085 |
+ 0xf4, 0x09, 0xcc, 0x5b, 0x8e, 0x69, 0x19, 0xc4, 0x5b, 0x4d, 0x73, 0x2d, 0x6b, 0x71, 0x5a, 0x26, |
|
| 17086 |
+ 0xd6, 0x57, 0xd3, 0x5f, 0x9d, 0xad, 0xcf, 0xe1, 0x40, 0xa8, 0xf4, 0x01, 0x14, 0x22, 0x6a, 0x63, |
|
| 17087 |
+ 0xc6, 0xb6, 0x02, 0x99, 0x23, 0xdd, 0x1e, 0x11, 0x39, 0x3a, 0xd1, 0xf8, 0x30, 0xf9, 0x30, 0xa1, |
|
| 17088 |
+ 0x7e, 0x06, 0x2b, 0x2d, 0x7d, 0x40, 0xcc, 0x47, 0xc4, 0x21, 0xae, 0x65, 0x60, 0xe2, 0xd1, 0x91, |
|
| 17089 |
+ 0x6b, 0x10, 0x36, 0xd6, 0x43, 0xcb, 0x31, 0x83, 0xb1, 0xb2, 0xef, 0x78, 0x2d, 0x6a, 0x0d, 0x5e, |
|
| 17090 |
+ 0xa9, 0x5b, 0x9e, 0xe1, 0x12, 0x9f, 0x7c, 0x63, 0x25, 0xa9, 0x40, 0xc9, 0x59, 0x02, 0x96, 0x66, |
|
| 17091 |
+ 0xa5, 0x7f, 0x01, 0xae, 0x31, 0x17, 0x9b, 0x9a, 0x2b, 0x29, 0x9a, 0x37, 0x24, 0x06, 0x57, 0x56, |
|
| 17092 |
+ 0xb8, 0xff, 0x56, 0x9c, 0x87, 0xe2, 0x46, 0xb2, 0x35, 0x87, 0x97, 0xb9, 0x9a, 0x80, 0xd0, 0x1d, |
|
| 17093 |
+ 0x12, 0x03, 0x19, 0x70, 0xdd, 0x94, 0x46, 0xcf, 0xa8, 0x4f, 0x72, 0xf5, 0xb1, 0xd3, 0x78, 0xc1, |
|
| 17094 |
+ 0x30, 0xb7, 0xe6, 0xf0, 0x4a, 0xa0, 0x2c, 0xda, 0x49, 0x15, 0x20, 0x17, 0xe8, 0x56, 0x7f, 0x9c, |
|
| 17095 |
+ 0x80, 0x7c, 0xc0, 0xf4, 0xd0, 0xdb, 0x90, 0x77, 0x74, 0x87, 0x6a, 0xc6, 0x70, 0xe4, 0xf1, 0x01, |
|
| 17096 |
+ 0xa5, 0xaa, 0xc5, 0xf3, 0xb3, 0xf5, 0x5c, 0x4b, 0x77, 0x68, 0xad, 0xb3, 0xeb, 0xe1, 0x1c, 0x63, |
|
| 17097 |
+ 0xd7, 0x86, 0x23, 0x0f, 0xbd, 0x06, 0xc5, 0x01, 0x19, 0x50, 0x77, 0xac, 0xed, 0x8d, 0x7d, 0xe2, |
|
| 17098 |
+ 0x49, 0xb7, 0x15, 0x04, 0xad, 0xca, 0x48, 0xe8, 0x63, 0x98, 0xef, 0x0b, 0x93, 0x56, 0x53, 0x7c, |
|
| 17099 |
+ 0xf9, 0xbc, 0x1e, 0x67, 0xfd, 0x8c, 0xd5, 0x38, 0x90, 0x51, 0x7f, 0x27, 0x01, 0x2b, 0x21, 0x95, |
|
| 17100 |
+ 0xfc, 0xf2, 0xc8, 0x72, 0xc9, 0x80, 0x38, 0xbe, 0x87, 0xde, 0x83, 0xac, 0x6d, 0x0d, 0x2c, 0xdf, |
|
| 17101 |
+ 0x93, 0x3e, 0x7f, 0x35, 0x4e, 0x6d, 0x38, 0x28, 0x2c, 0xc1, 0xa8, 0x02, 0x45, 0x97, 0x78, 0xc4, |
|
| 17102 |
+ 0x3d, 0x12, 0x2b, 0x5e, 0x7a, 0xf4, 0x0a, 0xe1, 0x29, 0x11, 0x75, 0x13, 0x72, 0x1d, 0x5b, 0xf7, |
|
| 17103 |
+ 0xf7, 0xa9, 0x3b, 0x40, 0x2a, 0x14, 0x75, 0xd7, 0x38, 0xb0, 0x7c, 0x62, 0xf8, 0x23, 0x37, 0xd8, |
|
| 17104 |
+ 0x7d, 0x53, 0x34, 0x74, 0x1d, 0x92, 0x54, 0x74, 0x94, 0xaf, 0x66, 0xcf, 0xcf, 0xd6, 0x93, 0xed, |
|
| 17105 |
+ 0x2e, 0x4e, 0x52, 0x4f, 0xfd, 0x08, 0x96, 0x3b, 0xf6, 0xa8, 0x6f, 0x39, 0x75, 0xe2, 0x19, 0xae, |
|
| 17106 |
+ 0x35, 0x64, 0xda, 0xd9, 0xaa, 0x64, 0x31, 0x2a, 0x58, 0x95, 0xec, 0x3b, 0xdc, 0xda, 0xc9, 0xc9, |
|
| 17107 |
+ 0xd6, 0x56, 0x7f, 0x2b, 0x09, 0xcb, 0x0d, 0xa7, 0x6f, 0x39, 0x24, 0x2a, 0x7d, 0x0b, 0x16, 0x09, |
|
| 17108 |
+ 0x27, 0x6a, 0x47, 0x22, 0xdc, 0x48, 0x3d, 0x0b, 0x82, 0x1a, 0xc4, 0xa0, 0xe6, 0x4c, 0x5c, 0xb8, |
|
| 17109 |
+ 0x17, 0x37, 0xfc, 0x17, 0xb4, 0xc7, 0x46, 0x87, 0x06, 0xcc, 0x0f, 0xf9, 0x20, 0x3c, 0x39, 0xbd, |
|
| 17110 |
+ 0xb7, 0xe2, 0x74, 0xbd, 0x30, 0xce, 0x20, 0x48, 0x48, 0xd9, 0x6f, 0x13, 0x24, 0xfe, 0x24, 0x09, |
|
| 17111 |
+ 0x4b, 0x2d, 0x6a, 0x4e, 0xf9, 0xa1, 0x04, 0xb9, 0x03, 0xea, 0xf9, 0x91, 0x80, 0x18, 0xb6, 0xd1, |
|
| 17112 |
+ 0x43, 0xc8, 0x0d, 0xe5, 0xf4, 0xc9, 0xd9, 0xbf, 0x19, 0x6f, 0xb2, 0xc0, 0xe0, 0x10, 0x8d, 0x3e, |
|
| 17113 |
+ 0x82, 0x7c, 0xb0, 0x65, 0xd8, 0x68, 0x5f, 0x62, 0xe1, 0x4c, 0xf0, 0xe8, 0x63, 0xc8, 0x8a, 0x49, |
|
| 17114 |
+ 0x58, 0x4d, 0x73, 0xc9, 0x5b, 0x2f, 0xe5, 0x73, 0x2c, 0x85, 0xd0, 0x23, 0xc8, 0xf9, 0xb6, 0xa7, |
|
| 17115 |
+ 0x59, 0xce, 0x3e, 0x5d, 0xcd, 0x70, 0x05, 0xeb, 0xb1, 0x41, 0x86, 0x9a, 0xa4, 0xb7, 0xdd, 0x6d, |
|
| 17116 |
+ 0x3a, 0xfb, 0xb4, 0x5a, 0x38, 0x3f, 0x5b, 0x9f, 0x97, 0x0d, 0x3c, 0xef, 0xdb, 0x1e, 0xfb, 0x50, |
|
| 17117 |
+ 0x7f, 0x37, 0x01, 0x85, 0x08, 0x0a, 0xbd, 0x0a, 0xe0, 0xbb, 0x23, 0xcf, 0xd7, 0x5c, 0x4a, 0x7d, |
|
| 17118 |
+ 0xee, 0xac, 0x22, 0xce, 0x73, 0x0a, 0xa6, 0xd4, 0x47, 0x65, 0xb8, 0x66, 0x10, 0xd7, 0xd7, 0x2c, |
|
| 17119 |
+ 0xcf, 0x1b, 0x11, 0x57, 0xf3, 0x46, 0x7b, 0x5f, 0x10, 0xc3, 0xe7, 0x8e, 0x2b, 0xe2, 0x65, 0xc6, |
|
| 17120 |
+ 0x6a, 0x72, 0x4e, 0x57, 0x30, 0xd0, 0x03, 0xb8, 0x1e, 0xc5, 0x0f, 0x47, 0x7b, 0xb6, 0x65, 0x68, |
|
| 17121 |
+ 0x6c, 0x32, 0x53, 0x5c, 0xe4, 0xda, 0x44, 0xa4, 0xc3, 0x79, 0x8f, 0xc9, 0x58, 0xfd, 0x69, 0x02, |
|
| 17122 |
+ 0x14, 0xac, 0xef, 0xfb, 0x3b, 0x64, 0xb0, 0x47, 0xdc, 0xae, 0xaf, 0xfb, 0x23, 0x0f, 0x5d, 0x87, |
|
| 17123 |
+ 0xac, 0x4d, 0x74, 0x93, 0xb8, 0xdc, 0xa8, 0x1c, 0x96, 0x2d, 0xb4, 0xcb, 0x76, 0xb0, 0x6e, 0x1c, |
|
| 17124 |
+ 0xe8, 0x7b, 0x96, 0x6d, 0xf9, 0x63, 0x6e, 0xca, 0x62, 0xfc, 0x12, 0x9e, 0xd5, 0x59, 0xc6, 0x11, |
|
| 17125 |
+ 0x41, 0x3c, 0xa5, 0x06, 0xad, 0xc2, 0xfc, 0x80, 0x78, 0x9e, 0xde, 0x27, 0xdc, 0xd2, 0x3c, 0x0e, |
|
| 17126 |
+ 0x9a, 0xea, 0x47, 0x50, 0x8c, 0xca, 0xa1, 0x02, 0xcc, 0xef, 0xb6, 0x1e, 0xb7, 0xda, 0x4f, 0x5b, |
|
| 17127 |
+ 0xca, 0x1c, 0x5a, 0x82, 0xc2, 0x6e, 0x0b, 0x37, 0x2a, 0xb5, 0xad, 0x4a, 0x75, 0xbb, 0xa1, 0x24, |
|
| 17128 |
+ 0xd0, 0x02, 0xe4, 0x27, 0xcd, 0xa4, 0xfa, 0x67, 0x09, 0x00, 0xe6, 0x6e, 0x39, 0xa8, 0x0f, 0x21, |
|
| 17129 |
+ 0xe3, 0xf9, 0xba, 0x2f, 0x56, 0xe5, 0xe2, 0xfd, 0x37, 0x2e, 0x9a, 0x43, 0x69, 0x2f, 0xfb, 0x47, |
|
| 17130 |
+ 0xb0, 0x10, 0x89, 0x5a, 0x98, 0x9c, 0xb2, 0x90, 0x05, 0x08, 0xdd, 0x34, 0x5d, 0x69, 0x38, 0xff, |
|
| 17131 |
+ 0x56, 0x3f, 0x82, 0x0c, 0x97, 0x9e, 0x36, 0x37, 0x07, 0xe9, 0x3a, 0xfb, 0x4a, 0xa0, 0x3c, 0x64, |
|
| 17132 |
+ 0x70, 0xa3, 0x52, 0xff, 0x5c, 0x49, 0x22, 0x05, 0x8a, 0xf5, 0x66, 0xb7, 0xd6, 0x6e, 0xb5, 0x1a, |
|
| 17133 |
+ 0xb5, 0x5e, 0xa3, 0xae, 0xa4, 0xd4, 0x5b, 0x90, 0x69, 0x0e, 0x98, 0xe6, 0x9b, 0x6c, 0xc9, 0xef, |
|
| 17134 |
+ 0x13, 0x97, 0x38, 0x46, 0xb0, 0x93, 0x26, 0x04, 0xf5, 0x27, 0x79, 0xc8, 0xec, 0xd0, 0x91, 0xe3, |
|
| 17135 |
+ 0xa3, 0xfb, 0x91, 0xb0, 0xb5, 0x18, 0x9f, 0x21, 0x70, 0x60, 0xb9, 0x37, 0x1e, 0x12, 0x19, 0xd6, |
|
| 17136 |
+ 0xae, 0x43, 0x56, 0x6c, 0x0e, 0x39, 0x1c, 0xd9, 0x62, 0x74, 0x5f, 0x77, 0xfb, 0xc4, 0x97, 0xe3, |
|
| 17137 |
+ 0x91, 0x2d, 0xf4, 0x16, 0x3b, 0xb1, 0x74, 0x93, 0x3a, 0xf6, 0x98, 0xef, 0xa1, 0x9c, 0x38, 0x96, |
|
| 17138 |
+ 0x30, 0xd1, 0xcd, 0xb6, 0x63, 0x8f, 0x71, 0xc8, 0x45, 0x5b, 0x50, 0xdc, 0xb3, 0x1c, 0x53, 0xa3, |
|
| 17139 |
+ 0x43, 0x11, 0xe4, 0x33, 0x17, 0xef, 0x38, 0x61, 0x55, 0xd5, 0x72, 0xcc, 0xb6, 0x00, 0xe3, 0xc2, |
|
| 17140 |
+ 0xde, 0xa4, 0x81, 0x5a, 0xb0, 0x78, 0x44, 0xed, 0xd1, 0x80, 0x84, 0xba, 0xb2, 0x5c, 0xd7, 0x9b, |
|
| 17141 |
+ 0x17, 0xeb, 0x7a, 0xc2, 0xf1, 0x81, 0xb6, 0x85, 0xa3, 0x68, 0x13, 0x3d, 0x86, 0x05, 0x7f, 0x30, |
|
| 17142 |
+ 0xdc, 0xf7, 0x42, 0x75, 0xf3, 0x5c, 0xdd, 0xf7, 0x2e, 0x71, 0x18, 0x83, 0x07, 0xda, 0x8a, 0x7e, |
|
| 17143 |
+ 0xa4, 0x55, 0xfa, 0x8d, 0x14, 0x14, 0x22, 0x96, 0xa3, 0x2e, 0x14, 0x86, 0x2e, 0x1d, 0xea, 0x7d, |
|
| 17144 |
+ 0x7e, 0x50, 0xc9, 0xb9, 0xb8, 0xf7, 0x52, 0xa3, 0x2e, 0x77, 0x26, 0x82, 0x38, 0xaa, 0x45, 0x3d, |
|
| 17145 |
+ 0x4d, 0x42, 0x21, 0xc2, 0x44, 0xb7, 0x21, 0x87, 0x3b, 0xb8, 0xf9, 0xa4, 0xd2, 0x6b, 0x28, 0x73, |
|
| 17146 |
+ 0xa5, 0x9b, 0x27, 0xa7, 0x1b, 0xab, 0x5c, 0x5b, 0x54, 0x41, 0xc7, 0xb5, 0x8e, 0xd8, 0xd2, 0x7b, |
|
| 17147 |
+ 0x0b, 0xe6, 0x03, 0x68, 0xa2, 0xf4, 0xdd, 0x93, 0xd3, 0x8d, 0x57, 0x66, 0xa1, 0x11, 0x24, 0xee, |
|
| 17148 |
+ 0x6e, 0x55, 0x70, 0xa3, 0xae, 0x24, 0xe3, 0x91, 0xb8, 0x7b, 0xa0, 0xbb, 0xc4, 0x44, 0xdf, 0x83, |
|
| 17149 |
+ 0xac, 0x04, 0xa6, 0x4a, 0xa5, 0x93, 0xd3, 0x8d, 0xeb, 0xb3, 0xc0, 0x09, 0x0e, 0x77, 0xb7, 0x2b, |
|
| 17150 |
+ 0x4f, 0x1a, 0x4a, 0x3a, 0x1e, 0x87, 0xbb, 0xb6, 0x7e, 0x44, 0xd0, 0x1b, 0x90, 0x11, 0xb0, 0x4c, |
|
| 17151 |
+ 0xe9, 0xc6, 0xc9, 0xe9, 0xc6, 0x77, 0x5e, 0x50, 0xc7, 0x50, 0xa5, 0xd5, 0xdf, 0xfe, 0xc3, 0xb5, |
|
| 17152 |
+ 0xb9, 0xbf, 0xfa, 0xa3, 0x35, 0x65, 0x96, 0x5d, 0xfa, 0xef, 0x04, 0x2c, 0x4c, 0x4d, 0x39, 0x52, |
|
| 17153 |
+ 0x21, 0xeb, 0x50, 0x83, 0x0e, 0xc5, 0xf9, 0x95, 0xab, 0xc2, 0xf9, 0xd9, 0x7a, 0xb6, 0x45, 0x6b, |
|
| 17154 |
+ 0x74, 0x38, 0xc6, 0x92, 0x83, 0x1e, 0xcf, 0x9c, 0xc0, 0x0f, 0x5e, 0x72, 0x3d, 0xc5, 0x9e, 0xc1, |
|
| 17155 |
+ 0x9f, 0xc2, 0x82, 0xe9, 0x5a, 0x47, 0xc4, 0xd5, 0x0c, 0xea, 0xec, 0x5b, 0x7d, 0x79, 0x36, 0x95, |
|
| 17156 |
+ 0x62, 0xd3, 0x44, 0x0e, 0xc4, 0x45, 0x21, 0x50, 0xe3, 0xf8, 0x6f, 0x71, 0xfa, 0x96, 0x9e, 0x40, |
|
| 17157 |
+ 0x31, 0xba, 0x42, 0xd9, 0x71, 0xe2, 0x59, 0xbf, 0x42, 0x64, 0x3e, 0xc8, 0xb3, 0x47, 0x9c, 0x67, |
|
| 17158 |
+ 0x14, 0x91, 0x0d, 0xbe, 0x09, 0xe9, 0x01, 0x35, 0x85, 0x9e, 0x85, 0xea, 0x35, 0x96, 0x04, 0xfc, |
|
| 17159 |
+ 0xd3, 0xd9, 0x7a, 0x81, 0x7a, 0xe5, 0x4d, 0xcb, 0x26, 0x3b, 0xd4, 0x24, 0x98, 0x03, 0xd4, 0x23, |
|
| 17160 |
+ 0x48, 0xb3, 0x50, 0x81, 0xbe, 0x0b, 0xe9, 0x6a, 0xb3, 0x55, 0x57, 0xe6, 0x4a, 0xcb, 0x27, 0xa7, |
|
| 17161 |
+ 0x1b, 0x0b, 0xdc, 0x25, 0x8c, 0xc1, 0xd6, 0x2e, 0x5a, 0x87, 0xec, 0x93, 0xf6, 0xf6, 0xee, 0x0e, |
|
| 17162 |
+ 0x5b, 0x5e, 0xd7, 0x4e, 0x4e, 0x37, 0x96, 0x42, 0xb6, 0x70, 0x1a, 0x7a, 0x15, 0x32, 0xbd, 0x9d, |
|
| 17163 |
+ 0xce, 0x66, 0x57, 0x49, 0x96, 0xd0, 0xc9, 0xe9, 0xc6, 0x62, 0xc8, 0xe7, 0x36, 0x97, 0x96, 0xe5, |
|
| 17164 |
+ 0xac, 0xe6, 0x43, 0xba, 0xfa, 0xb3, 0x24, 0x2c, 0x60, 0x56, 0xf1, 0xb9, 0x7e, 0x87, 0xda, 0x96, |
|
| 17165 |
+ 0x31, 0x46, 0x1d, 0xc8, 0x1b, 0xd4, 0x31, 0xad, 0xc8, 0x9e, 0xba, 0x7f, 0xc1, 0xa9, 0x3f, 0x91, |
|
| 17166 |
+ 0x0a, 0x5a, 0xb5, 0x40, 0x12, 0x4f, 0x94, 0xa0, 0x3b, 0x90, 0x31, 0x89, 0xad, 0x8f, 0x65, 0xfa, |
|
| 17167 |
+ 0x71, 0xa3, 0x2c, 0x6a, 0xca, 0x72, 0x50, 0x53, 0x96, 0xeb, 0xb2, 0xa6, 0xc4, 0x02, 0xc7, 0xd3, |
|
| 17168 |
+ 0x6c, 0xfd, 0x99, 0xa6, 0xfb, 0x3e, 0x19, 0x0c, 0x7d, 0x91, 0x7b, 0xa4, 0x71, 0x61, 0xa0, 0x3f, |
|
| 17169 |
+ 0xab, 0x48, 0x12, 0xba, 0x07, 0xd9, 0x63, 0xcb, 0x31, 0xe9, 0xb1, 0x4c, 0x2f, 0x2e, 0x51, 0x2a, |
|
| 17170 |
+ 0x81, 0xea, 0x09, 0x3b, 0x75, 0x67, 0xcc, 0x64, 0xfe, 0x6e, 0xb5, 0x5b, 0x8d, 0xc0, 0xdf, 0x92, |
|
| 17171 |
+ 0xdf, 0x76, 0x5a, 0xd4, 0x61, 0x7b, 0x05, 0xda, 0x2d, 0x6d, 0xb3, 0xd2, 0xdc, 0xde, 0xc5, 0xcc, |
|
| 17172 |
+ 0xe7, 0x2b, 0x27, 0xa7, 0x1b, 0x4a, 0x08, 0xd9, 0xd4, 0x2d, 0x9b, 0xe5, 0xbb, 0x37, 0x20, 0x55, |
|
| 17173 |
+ 0x69, 0x7d, 0xae, 0x24, 0x4b, 0xca, 0xc9, 0xe9, 0x46, 0x31, 0x64, 0x57, 0x9c, 0xf1, 0x64, 0x1b, |
|
| 17174 |
+ 0xcd, 0xf6, 0xab, 0xfe, 0x6d, 0x0a, 0x8a, 0xbb, 0x43, 0x53, 0xf7, 0x89, 0x58, 0x93, 0x68, 0x03, |
|
| 17175 |
+ 0x0a, 0x43, 0xdd, 0xd5, 0x6d, 0x9b, 0xd8, 0x96, 0x37, 0x90, 0xd5, 0x72, 0x94, 0x84, 0x3e, 0x78, |
|
| 17176 |
+ 0x59, 0x37, 0x56, 0x73, 0x6c, 0x9d, 0xfd, 0xf8, 0x5f, 0xd6, 0x13, 0x81, 0x43, 0x77, 0x61, 0x71, |
|
| 17177 |
+ 0x5f, 0x58, 0xab, 0xe9, 0x06, 0x9f, 0xd8, 0x14, 0x9f, 0xd8, 0x72, 0xdc, 0xc4, 0x46, 0xcd, 0x2a, |
|
| 17178 |
+ 0xcb, 0x41, 0x56, 0xb8, 0x14, 0x5e, 0xd8, 0x8f, 0x36, 0xd1, 0x03, 0x98, 0x1f, 0x50, 0xc7, 0xf2, |
|
| 17179 |
+ 0xa9, 0x7b, 0xf5, 0x2c, 0x04, 0x48, 0x74, 0x1b, 0x96, 0xd9, 0xe4, 0x06, 0xf6, 0x70, 0x36, 0x3f, |
|
| 17180 |
+ 0xb1, 0x92, 0x78, 0x69, 0xa0, 0x3f, 0x93, 0x1d, 0x62, 0x46, 0x46, 0x55, 0xc8, 0x50, 0x97, 0xa5, |
|
| 17181 |
+ 0x44, 0x59, 0x6e, 0xee, 0x3b, 0x57, 0x9a, 0x2b, 0x1a, 0x6d, 0x26, 0x83, 0x85, 0xa8, 0xfa, 0x3e, |
|
| 17182 |
+ 0x2c, 0x4c, 0x0d, 0x82, 0x65, 0x02, 0x9d, 0xca, 0x6e, 0xb7, 0xa1, 0xcc, 0xa1, 0x22, 0xe4, 0x6a, |
|
| 17183 |
+ 0xed, 0x56, 0xaf, 0xd9, 0xda, 0x65, 0xa9, 0x4c, 0x11, 0x72, 0xb8, 0xbd, 0xbd, 0x5d, 0xad, 0xd4, |
|
| 17184 |
+ 0x1e, 0x2b, 0x49, 0xb5, 0x0c, 0x85, 0x88, 0x36, 0xb4, 0x08, 0xd0, 0xed, 0xb5, 0x3b, 0xda, 0x66, |
|
| 17185 |
+ 0x13, 0x77, 0x7b, 0x22, 0x11, 0xea, 0xf6, 0x2a, 0xb8, 0x27, 0x09, 0x09, 0xf5, 0x3f, 0x92, 0xc1, |
|
| 17186 |
+ 0x8c, 0xca, 0xdc, 0xa7, 0x3a, 0x9d, 0xfb, 0x5c, 0x62, 0xbc, 0xcc, 0x7e, 0x26, 0x8d, 0x30, 0x07, |
|
| 17187 |
+ 0xfa, 0x00, 0x80, 0x2f, 0x1c, 0x62, 0x6a, 0xba, 0x2f, 0x27, 0xbe, 0xf4, 0x82, 0x93, 0x7b, 0xc1, |
|
| 17188 |
+ 0xa5, 0x0d, 0xce, 0x4b, 0x74, 0xc5, 0x47, 0x1f, 0x43, 0xd1, 0xa0, 0x83, 0xa1, 0x4d, 0xa4, 0x70, |
|
| 17189 |
+ 0xea, 0x4a, 0xe1, 0x42, 0x88, 0xaf, 0xf8, 0xd1, 0xec, 0x2b, 0x3d, 0x9d, 0x1f, 0xfe, 0x66, 0x22, |
|
| 17190 |
+ 0xf0, 0x4c, 0x4c, 0xc2, 0x55, 0x84, 0xdc, 0x6e, 0xa7, 0x5e, 0xe9, 0x35, 0x5b, 0x8f, 0x94, 0x04, |
|
| 17191 |
+ 0x02, 0xc8, 0x72, 0x57, 0xd7, 0x95, 0x24, 0x4b, 0x14, 0x6b, 0xed, 0x9d, 0xce, 0x76, 0x83, 0xa7, |
|
| 17192 |
+ 0x5c, 0x68, 0x05, 0x94, 0xc0, 0xd9, 0x1a, 0x77, 0x64, 0xa3, 0xae, 0xa4, 0xd1, 0x35, 0x58, 0x0a, |
|
| 17193 |
+ 0xa9, 0x52, 0x32, 0x83, 0xae, 0x03, 0x0a, 0x89, 0x13, 0x15, 0x59, 0xf5, 0xd7, 0x60, 0xa9, 0x46, |
|
| 17194 |
+ 0x1d, 0x5f, 0xb7, 0x9c, 0x30, 0x89, 0xbe, 0xcf, 0x06, 0x2d, 0x49, 0x9a, 0x25, 0x2f, 0x3b, 0xaa, |
|
| 17195 |
+ 0x4b, 0xe7, 0x67, 0xeb, 0x85, 0x10, 0xda, 0xac, 0xb3, 0x91, 0x06, 0x0d, 0x93, 0xed, 0xdf, 0xa1, |
|
| 17196 |
+ 0x65, 0x72, 0xe7, 0x66, 0xaa, 0xf3, 0xe7, 0x67, 0xeb, 0xa9, 0x4e, 0xb3, 0x8e, 0x19, 0x0d, 0x7d, |
|
| 17197 |
+ 0x17, 0xf2, 0xe4, 0x99, 0xe5, 0x6b, 0x06, 0x8b, 0xe1, 0xcc, 0x81, 0x19, 0x9c, 0x63, 0x84, 0x1a, |
|
| 17198 |
+ 0x0b, 0xd9, 0x55, 0x80, 0x0e, 0x75, 0x7d, 0xd9, 0xf3, 0xbb, 0x90, 0x19, 0x52, 0x97, 0x97, 0xe7, |
|
| 17199 |
+ 0x17, 0x5e, 0x1a, 0x31, 0xb8, 0x58, 0xa8, 0x58, 0x80, 0xd5, 0xdf, 0x4b, 0x01, 0xf4, 0x74, 0xef, |
|
| 17200 |
+ 0x50, 0x2a, 0x79, 0x08, 0xf9, 0xf0, 0x02, 0x4e, 0xd6, 0xf9, 0x97, 0xce, 0x76, 0x08, 0x46, 0x0f, |
|
| 17201 |
+ 0x82, 0xc5, 0x26, 0xca, 0x83, 0xd8, 0x3a, 0x2d, 0xe8, 0x28, 0x2e, 0xc3, 0x9e, 0xae, 0x01, 0xd8, |
|
| 17202 |
+ 0x91, 0x48, 0x5c, 0x57, 0xce, 0x3c, 0xfb, 0x44, 0x35, 0x7e, 0x2c, 0x08, 0xa7, 0xc9, 0x04, 0x33, |
|
| 17203 |
+ 0xf6, 0x66, 0x63, 0x66, 0x46, 0xb6, 0xe6, 0xf0, 0x44, 0x0e, 0x7d, 0x0a, 0x05, 0x36, 0x6e, 0xcd, |
|
| 17204 |
+ 0xe3, 0x3c, 0x99, 0x5b, 0x5e, 0xe8, 0x2a, 0xa1, 0x01, 0xc3, 0x70, 0xe2, 0xe5, 0x57, 0x01, 0xf4, |
|
| 17205 |
+ 0xe1, 0xd0, 0xb6, 0x88, 0xa9, 0xed, 0x8d, 0x79, 0x32, 0x99, 0xc7, 0x79, 0x49, 0xa9, 0x8e, 0xd9, |
|
| 17206 |
+ 0x76, 0x09, 0xd8, 0xba, 0xbf, 0x9a, 0xbb, 0xda, 0x81, 0x12, 0x5d, 0xf1, 0xab, 0x0a, 0x2c, 0xba, |
|
| 17207 |
+ 0x23, 0x87, 0x39, 0x54, 0x5a, 0xa7, 0xfe, 0x69, 0x12, 0x5e, 0x69, 0x11, 0xff, 0x98, 0xba, 0x87, |
|
| 17208 |
+ 0x15, 0xdf, 0xd7, 0x8d, 0x83, 0x01, 0x71, 0xe4, 0xf4, 0x45, 0x72, 0xf6, 0xc4, 0x54, 0xce, 0xbe, |
|
| 17209 |
+ 0x0a, 0xf3, 0xba, 0x6d, 0xe9, 0x1e, 0x11, 0x89, 0x4e, 0x1e, 0x07, 0x4d, 0x56, 0x59, 0xb0, 0x3a, |
|
| 17210 |
+ 0x85, 0x78, 0x1e, 0x11, 0x57, 0x07, 0xcc, 0xf0, 0x80, 0x80, 0x7e, 0x04, 0xd7, 0x65, 0x4a, 0xa3, |
|
| 17211 |
+ 0x87, 0x5d, 0xb1, 0x9c, 0x39, 0xb8, 0x83, 0x6c, 0xc4, 0x16, 0x4e, 0xf1, 0xc6, 0xc9, 0x9c, 0x67, |
|
| 17212 |
+ 0x42, 0x6e, 0x0f, 0x7d, 0x99, 0x41, 0xad, 0x98, 0x31, 0xac, 0xd2, 0x23, 0xb8, 0x71, 0xa1, 0xc8, |
|
| 17213 |
+ 0x37, 0xba, 0x9a, 0xf8, 0x87, 0x24, 0x40, 0xb3, 0x53, 0xd9, 0x91, 0x4e, 0xaa, 0x43, 0x76, 0x5f, |
|
| 17214 |
+ 0x1f, 0x58, 0xf6, 0xf8, 0xb2, 0x08, 0x38, 0xc1, 0x97, 0x2b, 0xc2, 0x1d, 0x9b, 0x5c, 0x06, 0x4b, |
|
| 17215 |
+ 0x59, 0x5e, 0x36, 0x8d, 0xf6, 0x1c, 0xe2, 0x87, 0x65, 0x13, 0x6f, 0x31, 0x33, 0x5c, 0xdd, 0x09, |
|
| 17216 |
+ 0x97, 0xae, 0x68, 0xb0, 0x09, 0xe8, 0xeb, 0x3e, 0x39, 0xd6, 0xc7, 0x41, 0xd8, 0x92, 0x4d, 0xb4, |
|
| 17217 |
+ 0xc5, 0x2f, 0x00, 0x89, 0x7b, 0x44, 0xcc, 0xd5, 0x0c, 0x77, 0xea, 0x55, 0xf6, 0x60, 0x09, 0x17, |
|
| 17218 |
+ 0xbe, 0x0b, 0xa5, 0x4b, 0x1f, 0xf1, 0x94, 0x69, 0xc2, 0xfa, 0x46, 0x3e, 0xba, 0x0b, 0x0b, 0x53, |
|
| 17219 |
+ 0xe3, 0x7c, 0xa1, 0x5e, 0x6d, 0x76, 0x9e, 0xbc, 0xab, 0xa4, 0xe5, 0xd7, 0xfb, 0x4a, 0x56, 0xfd, |
|
| 17220 |
+ 0xe3, 0x94, 0x08, 0x34, 0xd2, 0xab, 0xf1, 0x17, 0xdf, 0x39, 0xbe, 0xba, 0x0d, 0x6a, 0xcb, 0x00, |
|
| 17221 |
+ 0xf0, 0xe6, 0xe5, 0xf1, 0x87, 0xd5, 0x3f, 0x1c, 0x8e, 0x43, 0x41, 0xb4, 0x0e, 0x05, 0xb1, 0x8a, |
|
| 17222 |
+ 0x35, 0xb6, 0xe1, 0xb8, 0x5b, 0x17, 0x30, 0x08, 0x12, 0x93, 0x44, 0xb7, 0x60, 0x91, 0xdf, 0x6f, |
|
| 17223 |
+ 0x78, 0x07, 0xc4, 0x14, 0x98, 0x34, 0xc7, 0x2c, 0x84, 0x54, 0x0e, 0xdb, 0x81, 0xa2, 0x24, 0x68, |
|
| 17224 |
+ 0x3c, 0xf7, 0xcd, 0x70, 0x83, 0x6e, 0x5f, 0x65, 0x90, 0x10, 0xe1, 0x29, 0x71, 0x61, 0x38, 0x69, |
|
| 17225 |
+ 0xa8, 0x75, 0xc8, 0x05, 0xc6, 0xa2, 0x55, 0x48, 0xf5, 0x6a, 0x1d, 0x65, 0xae, 0xb4, 0x74, 0x72, |
|
| 17226 |
+ 0xba, 0x51, 0x08, 0xc8, 0xbd, 0x5a, 0x87, 0x71, 0x76, 0xeb, 0x1d, 0x25, 0x31, 0xcd, 0xd9, 0xad, |
|
| 17227 |
+ 0x77, 0x4a, 0x69, 0x96, 0x83, 0xa9, 0xfb, 0x50, 0x88, 0xf4, 0x80, 0x5e, 0x87, 0xf9, 0x66, 0xeb, |
|
| 17228 |
+ 0x11, 0x6e, 0x74, 0xbb, 0xca, 0x5c, 0xe9, 0xfa, 0xc9, 0xe9, 0x06, 0x8a, 0x70, 0x9b, 0x4e, 0x9f, |
|
| 17229 |
+ 0xcd, 0x0f, 0x7a, 0x15, 0xd2, 0x5b, 0x6d, 0x76, 0xb6, 0x8b, 0x64, 0x3b, 0x82, 0xd8, 0xa2, 0x9e, |
|
| 17230 |
+ 0x5f, 0xba, 0x26, 0x93, 0xbb, 0xa8, 0x62, 0xf5, 0xf7, 0x13, 0x90, 0x15, 0x9b, 0x29, 0x76, 0xa2, |
|
| 17231 |
+ 0x2a, 0x30, 0x1f, 0x54, 0xc2, 0xa2, 0x10, 0x7a, 0xf3, 0xe2, 0xa2, 0xa5, 0x2c, 0x6b, 0x0c, 0xb1, |
|
| 17232 |
+ 0xfc, 0x02, 0xb9, 0xd2, 0x87, 0x50, 0x8c, 0x32, 0xbe, 0xd1, 0xe2, 0xfb, 0x11, 0x14, 0xd8, 0xfa, |
|
| 17233 |
+ 0x0e, 0x8a, 0x97, 0xfb, 0x90, 0x15, 0x01, 0x21, 0x3c, 0x6b, 0x2e, 0xae, 0xa0, 0x24, 0x12, 0x3d, |
|
| 17234 |
+ 0x84, 0x79, 0x51, 0x75, 0x05, 0x17, 0xa0, 0x6b, 0x97, 0xef, 0x22, 0x1c, 0xc0, 0xd5, 0x4f, 0x21, |
|
| 17235 |
+ 0xdd, 0x21, 0xc4, 0x65, 0xbe, 0x77, 0xa8, 0x49, 0x26, 0xc7, 0xb3, 0x2c, 0x18, 0x4d, 0xd2, 0xac, |
|
| 17236 |
+ 0xb3, 0x82, 0xd1, 0x24, 0x4d, 0x33, 0xbc, 0xe2, 0x49, 0x46, 0xae, 0x78, 0x7a, 0x50, 0x7c, 0x4a, |
|
| 17237 |
+ 0xac, 0xfe, 0x81, 0x4f, 0x4c, 0xae, 0xe8, 0x1d, 0x48, 0x0f, 0x49, 0x68, 0xfc, 0x6a, 0xec, 0x02, |
|
| 17238 |
+ 0x23, 0xc4, 0xc5, 0x1c, 0xc5, 0xe2, 0xc8, 0x31, 0x97, 0x96, 0xb7, 0xf6, 0xb2, 0xa5, 0xfe, 0x7d, |
|
| 17239 |
+ 0x12, 0x16, 0x9b, 0x9e, 0x37, 0xd2, 0x1d, 0x23, 0xc8, 0xdc, 0x3e, 0x99, 0xce, 0xdc, 0x62, 0x9f, |
|
| 17240 |
+ 0x37, 0xa6, 0x45, 0xa6, 0x6f, 0xae, 0xe4, 0xe9, 0x99, 0x0c, 0x4f, 0x4f, 0xf5, 0xdf, 0x13, 0xc1, |
|
| 17241 |
+ 0xf5, 0xd4, 0xad, 0xc8, 0x76, 0x2f, 0xad, 0x9e, 0x9c, 0x6e, 0xac, 0x44, 0x35, 0x91, 0x5d, 0xe7, |
|
| 17242 |
+ 0xd0, 0xa1, 0xc7, 0x0e, 0x7a, 0x0d, 0x32, 0xb8, 0xd1, 0x6a, 0x3c, 0x55, 0x12, 0x62, 0x79, 0x4e, |
|
| 17243 |
+ 0x81, 0x30, 0x71, 0xc8, 0x31, 0xd3, 0xd4, 0x69, 0xb4, 0xea, 0x2c, 0xd3, 0x4a, 0xc6, 0x68, 0xea, |
|
| 17244 |
+ 0x10, 0xc7, 0xb4, 0x9c, 0x3e, 0x7a, 0x1d, 0xb2, 0xcd, 0x6e, 0x77, 0x97, 0x5f, 0x20, 0xbc, 0x72, |
|
| 17245 |
+ 0x72, 0xba, 0x71, 0x6d, 0x0a, 0xc5, 0xaf, 0x26, 0x4d, 0x06, 0x62, 0x65, 0x0e, 0xcb, 0xc1, 0x62, |
|
| 17246 |
+ 0x40, 0x2c, 0x7f, 0x16, 0x20, 0xdc, 0xee, 0x55, 0x7a, 0x0d, 0x25, 0x13, 0x03, 0xc2, 0x94, 0xfd, |
|
| 17247 |
+ 0x95, 0xdb, 0xed, 0x9f, 0x93, 0xa0, 0x54, 0x0c, 0x83, 0x0c, 0x7d, 0xc6, 0x97, 0x95, 0x65, 0x0f, |
|
| 17248 |
+ 0x72, 0x43, 0xf6, 0x65, 0x91, 0x20, 0x4b, 0x7a, 0x18, 0xfb, 0x40, 0x37, 0x23, 0x57, 0xc6, 0xd4, |
|
| 17249 |
+ 0x26, 0x15, 0x73, 0x60, 0x79, 0x9e, 0x45, 0x1d, 0x41, 0xc3, 0xa1, 0xa6, 0xd2, 0x7f, 0x26, 0xe0, |
|
| 17250 |
+ 0x5a, 0x0c, 0x02, 0xdd, 0x85, 0xb4, 0x4b, 0xed, 0x60, 0x0e, 0x6f, 0x5e, 0x74, 0xf3, 0xc8, 0x44, |
|
| 17251 |
+ 0x31, 0x47, 0xa2, 0x35, 0x00, 0x7d, 0xe4, 0x53, 0x9d, 0xf7, 0xcf, 0x67, 0x2f, 0x87, 0x23, 0x14, |
|
| 17252 |
+ 0xf4, 0x14, 0xb2, 0x1e, 0x31, 0x5c, 0x12, 0xe4, 0xd2, 0x9f, 0xfe, 0x5f, 0xad, 0x2f, 0x77, 0xb9, |
|
| 17253 |
+ 0x1a, 0x2c, 0xd5, 0x95, 0xca, 0x90, 0x15, 0x14, 0xb6, 0xec, 0x4d, 0xdd, 0xd7, 0xe5, 0xbd, 0x34, |
|
| 17254 |
+ 0xff, 0x66, 0xab, 0x49, 0xb7, 0xfb, 0xc1, 0x6a, 0xd2, 0xed, 0xbe, 0xfa, 0x37, 0x49, 0x80, 0xc6, |
|
| 17255 |
+ 0x33, 0x9f, 0xb8, 0x8e, 0x6e, 0xd7, 0x2a, 0xa8, 0x11, 0x89, 0xfe, 0x62, 0xb4, 0x6f, 0xc7, 0x5e, |
|
| 17256 |
+ 0xb6, 0x87, 0x12, 0xe5, 0x5a, 0x25, 0x26, 0xfe, 0xdf, 0x80, 0xd4, 0xc8, 0x95, 0x6f, 0xae, 0x22, |
|
| 17257 |
+ 0x0f, 0xde, 0xc5, 0xdb, 0x98, 0xd1, 0x50, 0x63, 0x12, 0xb6, 0x52, 0x17, 0xbf, 0xac, 0x46, 0x3a, |
|
| 17258 |
+ 0x88, 0x0d, 0x5d, 0x6c, 0xe7, 0x1b, 0xba, 0x66, 0x10, 0x79, 0x72, 0x14, 0xc5, 0xce, 0xaf, 0x55, |
|
| 17259 |
+ 0x6a, 0xc4, 0xf5, 0x71, 0xd6, 0xd0, 0xd9, 0xff, 0x6f, 0x15, 0xdf, 0xde, 0x01, 0x98, 0x0c, 0x0d, |
|
| 17260 |
+ 0xad, 0x41, 0xa6, 0xb6, 0xd9, 0xed, 0x6e, 0x2b, 0x73, 0x22, 0x80, 0x4f, 0x58, 0x9c, 0xac, 0xfe, |
|
| 17261 |
+ 0x65, 0x12, 0x72, 0xb5, 0x8a, 0x3c, 0x56, 0x6b, 0xa0, 0xf0, 0xa8, 0xc4, 0x6f, 0xf3, 0xc9, 0xb3, |
|
| 17262 |
+ 0xa1, 0xe5, 0x8e, 0x65, 0x60, 0xb9, 0xa4, 0xa8, 0x5d, 0x64, 0x22, 0xcc, 0xea, 0x06, 0x17, 0x40, |
|
| 17263 |
+ 0x18, 0x8a, 0x44, 0x3a, 0x41, 0x33, 0xf4, 0x20, 0xc6, 0xaf, 0x5d, 0xee, 0x2c, 0x51, 0x9e, 0x4c, |
|
| 17264 |
+ 0xda, 0x1e, 0x2e, 0x04, 0x4a, 0x6a, 0xba, 0x87, 0x3e, 0x80, 0x25, 0xcf, 0xea, 0x3b, 0x96, 0xd3, |
|
| 17265 |
+ 0xd7, 0x02, 0xe7, 0xf1, 0xa7, 0x85, 0xea, 0xf2, 0xf9, 0xd9, 0xfa, 0x42, 0x57, 0xb0, 0xa4, 0x0f, |
|
| 17266 |
+ 0x17, 0x24, 0xb2, 0xc6, 0x5d, 0x89, 0xde, 0x87, 0xc5, 0x88, 0x28, 0xf3, 0xa2, 0x70, 0xbb, 0x72, |
|
| 17267 |
+ 0x7e, 0xb6, 0x5e, 0x0c, 0x25, 0x1f, 0x93, 0x31, 0x2e, 0x86, 0x82, 0x8f, 0x09, 0xbf, 0x7f, 0xd9, |
|
| 17268 |
+ 0xa7, 0xae, 0x41, 0x34, 0x97, 0xef, 0x69, 0x7e, 0x82, 0xa7, 0x71, 0x81, 0xd3, 0xc4, 0x36, 0x57, |
|
| 17269 |
+ 0x9f, 0xc0, 0xb5, 0xb6, 0x6b, 0x1c, 0x10, 0xcf, 0x17, 0xae, 0x90, 0x5e, 0xfc, 0x14, 0x6e, 0xfa, |
|
| 17270 |
+ 0xba, 0x77, 0xa8, 0x1d, 0x58, 0x9e, 0x4f, 0xdd, 0xb1, 0xe6, 0x12, 0x9f, 0x38, 0x8c, 0xaf, 0xf1, |
|
| 17271 |
+ 0xf7, 0x48, 0x79, 0x41, 0x76, 0x83, 0x61, 0xb6, 0x04, 0x04, 0x07, 0x88, 0x6d, 0x06, 0x50, 0x9b, |
|
| 17272 |
+ 0x50, 0x64, 0x65, 0x4a, 0x9d, 0xec, 0xeb, 0x23, 0xdb, 0x67, 0xa3, 0x07, 0x9b, 0xf6, 0xb5, 0x97, |
|
| 17273 |
+ 0x3e, 0xa6, 0xf2, 0x36, 0xed, 0x8b, 0x4f, 0xf5, 0x87, 0xa0, 0xd4, 0x2d, 0x6f, 0xa8, 0xfb, 0xc6, |
|
| 17274 |
+ 0x41, 0x70, 0xf3, 0x87, 0xea, 0xa0, 0x1c, 0x10, 0xdd, 0xf5, 0xf7, 0x88, 0xee, 0x6b, 0x43, 0xe2, |
|
| 17275 |
+ 0x5a, 0xd4, 0xbc, 0x7a, 0x96, 0x97, 0x42, 0x91, 0x0e, 0x97, 0x50, 0xff, 0x2b, 0x01, 0x80, 0xf5, |
|
| 17276 |
+ 0xfd, 0x20, 0x23, 0xfb, 0x3e, 0x2c, 0x7b, 0x8e, 0x3e, 0xf4, 0x0e, 0xa8, 0xaf, 0x59, 0x8e, 0x4f, |
|
| 17277 |
+ 0xdc, 0x23, 0xdd, 0x96, 0x17, 0x38, 0x4a, 0xc0, 0x68, 0x4a, 0x3a, 0x7a, 0x07, 0xd0, 0x21, 0x21, |
|
| 17278 |
+ 0x43, 0x8d, 0xda, 0xa6, 0x16, 0x30, 0xc5, 0x6b, 0x69, 0x1a, 0x2b, 0x8c, 0xd3, 0xb6, 0xcd, 0x6e, |
|
| 17279 |
+ 0x40, 0x47, 0x55, 0x58, 0x63, 0xc3, 0x27, 0x8e, 0xef, 0x5a, 0xc4, 0xd3, 0xf6, 0xa9, 0xab, 0x79, |
|
| 17280 |
+ 0x36, 0x3d, 0xd6, 0xf6, 0xa9, 0x6d, 0xd3, 0x63, 0xe2, 0x06, 0x77, 0x63, 0x25, 0x9b, 0xf6, 0x1b, |
|
| 17281 |
+ 0x02, 0xb4, 0x49, 0xdd, 0xae, 0x4d, 0x8f, 0x37, 0x03, 0x04, 0x4b, 0xdb, 0x26, 0x63, 0xf6, 0x2d, |
|
| 17282 |
+ 0xe3, 0x30, 0x48, 0xdb, 0x42, 0x6a, 0xcf, 0x32, 0x0e, 0xd1, 0xeb, 0xb0, 0x40, 0x6c, 0xc2, 0xaf, |
|
| 17283 |
+ 0x48, 0x04, 0x2a, 0xc3, 0x51, 0xc5, 0x80, 0xc8, 0x40, 0xea, 0x67, 0xa0, 0x34, 0x1c, 0xc3, 0x1d, |
|
| 17284 |
+ 0x0f, 0x23, 0x73, 0xfe, 0x0e, 0x20, 0x16, 0x24, 0x35, 0x9b, 0x1a, 0x87, 0xda, 0x40, 0x77, 0xf4, |
|
| 17285 |
+ 0x3e, 0xb3, 0x4b, 0x3c, 0x62, 0x29, 0x8c, 0xb3, 0x4d, 0x8d, 0xc3, 0x1d, 0x49, 0x57, 0x3f, 0x00, |
|
| 17286 |
+ 0xe8, 0x0e, 0x5d, 0xa2, 0x9b, 0x6d, 0x96, 0x4d, 0x30, 0xd7, 0xf1, 0x96, 0x66, 0xca, 0x47, 0x40, |
|
| 17287 |
+ 0xea, 0xca, 0xad, 0xae, 0x08, 0x46, 0x3d, 0xa4, 0xab, 0xbf, 0x08, 0xd7, 0x3a, 0xb6, 0x6e, 0xf0, |
|
| 17288 |
+ 0x07, 0xf1, 0x4e, 0xf8, 0x2a, 0x83, 0x1e, 0x42, 0x56, 0x40, 0xe5, 0x4c, 0xc6, 0x6e, 0xb7, 0x49, |
|
| 17289 |
+ 0x9f, 0x5b, 0x73, 0x58, 0xe2, 0xab, 0x45, 0x80, 0x89, 0x1e, 0xf5, 0xcf, 0x13, 0x90, 0x0f, 0xf5, |
|
| 17290 |
+ 0xa3, 0x0d, 0x28, 0x18, 0xd4, 0x61, 0xcb, 0xdb, 0x72, 0x64, 0x55, 0x9f, 0xc7, 0x51, 0x12, 0x6a, |
|
| 17291 |
+ 0x42, 0x61, 0x18, 0x4a, 0x5f, 0x9a, 0xcf, 0xc5, 0x58, 0x8d, 0xa3, 0xb2, 0xe8, 0x43, 0xc8, 0x07, |
|
| 17292 |
+ 0xaf, 0xae, 0x41, 0x84, 0xbd, 0xfc, 0x91, 0x76, 0x02, 0x57, 0x3f, 0x01, 0xf8, 0x01, 0xb5, 0x9c, |
|
| 17293 |
+ 0x1e, 0x3d, 0x24, 0x0e, 0x7f, 0x45, 0x64, 0x35, 0x21, 0x09, 0xbc, 0x28, 0x5b, 0xbc, 0xd4, 0x17, |
|
| 17294 |
+ 0x53, 0x10, 0x3e, 0xa6, 0x89, 0xa6, 0xfa, 0xd7, 0x49, 0xc8, 0x62, 0x4a, 0xfd, 0x5a, 0x05, 0x6d, |
|
| 17295 |
+ 0x40, 0x56, 0xc6, 0x09, 0x7e, 0xfe, 0x54, 0xf3, 0xe7, 0x67, 0xeb, 0x19, 0x11, 0x20, 0x32, 0x06, |
|
| 17296 |
+ 0x8f, 0x0c, 0x91, 0x08, 0x9e, 0xbc, 0x28, 0x82, 0xa3, 0xbb, 0x50, 0x94, 0x20, 0xed, 0x40, 0xf7, |
|
| 17297 |
+ 0x0e, 0x44, 0x81, 0x56, 0x5d, 0x3c, 0x3f, 0x5b, 0x07, 0x81, 0xdc, 0xd2, 0xbd, 0x03, 0x0c, 0x02, |
|
| 17298 |
+ 0xcd, 0xbe, 0x51, 0x03, 0x0a, 0x5f, 0x50, 0xcb, 0xd1, 0x7c, 0x3e, 0x08, 0x79, 0x99, 0x18, 0x3b, |
|
| 17299 |
+ 0x8f, 0x93, 0xa1, 0xca, 0x27, 0x75, 0xf8, 0x62, 0x32, 0xf8, 0x06, 0x2c, 0xb8, 0x94, 0xfa, 0x22, |
|
| 17300 |
+ 0x6c, 0x59, 0xd4, 0x91, 0xf7, 0x14, 0x1b, 0xb1, 0xd7, 0xd7, 0x94, 0xfa, 0x58, 0xe2, 0x70, 0xd1, |
|
| 17301 |
+ 0x8d, 0xb4, 0xd0, 0x5d, 0x58, 0xb1, 0x75, 0xcf, 0xd7, 0x78, 0xbc, 0x33, 0x27, 0xda, 0xb2, 0x7c, |
|
| 17302 |
+ 0xab, 0x21, 0xc6, 0xdb, 0xe4, 0xac, 0x40, 0x42, 0xfd, 0xc7, 0x04, 0x14, 0xd8, 0x60, 0xac, 0x7d, |
|
| 17303 |
+ 0xcb, 0x60, 0x49, 0xde, 0x37, 0xcf, 0x3d, 0x6e, 0x40, 0xca, 0xf0, 0x5c, 0xe9, 0x54, 0x7e, 0xf8, |
|
| 17304 |
+ 0xd6, 0xba, 0x18, 0x33, 0x1a, 0xfa, 0x0c, 0xb2, 0xf2, 0xbe, 0x44, 0xa4, 0x1d, 0xea, 0xd5, 0xe9, |
|
| 17305 |
+ 0xa8, 0xf4, 0x8d, 0x94, 0xe3, 0x6b, 0x79, 0x62, 0x9d, 0x38, 0x04, 0x70, 0x94, 0x84, 0xae, 0x43, |
|
| 17306 |
+ 0xd2, 0x10, 0xee, 0x92, 0xbf, 0xd9, 0xa8, 0xb5, 0x70, 0xd2, 0x70, 0xd4, 0xbf, 0x4b, 0xc0, 0xc2, |
|
| 17307 |
+ 0x64, 0xc3, 0xb3, 0x15, 0x70, 0x13, 0xf2, 0xde, 0x68, 0xcf, 0x1b, 0x7b, 0x3e, 0x19, 0x04, 0x2f, |
|
| 17308 |
+ 0xa4, 0x21, 0x01, 0x35, 0x21, 0xaf, 0xdb, 0x7d, 0xea, 0x5a, 0xfe, 0xc1, 0x40, 0x56, 0xa2, 0xf1, |
|
| 17309 |
+ 0xa9, 0x42, 0x54, 0x67, 0xb9, 0x12, 0x88, 0xe0, 0x89, 0x74, 0x70, 0xee, 0x8b, 0x67, 0x74, 0x7e, |
|
| 17310 |
+ 0xee, 0xbf, 0x06, 0x45, 0x5b, 0x1f, 0xf0, 0x0b, 0x24, 0xdf, 0x1a, 0x88, 0x71, 0xa4, 0x71, 0x41, |
|
| 17311 |
+ 0xd2, 0x7a, 0xd6, 0x80, 0xa8, 0x2a, 0xe4, 0x43, 0x65, 0x68, 0x09, 0x0a, 0x95, 0x46, 0x57, 0xbb, |
|
| 17312 |
+ 0x77, 0xff, 0xa1, 0xf6, 0xa8, 0xb6, 0xa3, 0xcc, 0xc9, 0xdc, 0xf4, 0x2f, 0x12, 0xb0, 0x20, 0xc3, |
|
| 17313 |
+ 0x91, 0xcc, 0xf7, 0x5f, 0x87, 0x79, 0x57, 0xdf, 0xf7, 0x83, 0x8a, 0x24, 0x2d, 0x56, 0x35, 0x8b, |
|
| 17314 |
+ 0xf0, 0xac, 0x22, 0x61, 0xac, 0xf8, 0x8a, 0x24, 0xf2, 0x66, 0x9f, 0xba, 0xf4, 0xcd, 0x3e, 0xfd, |
|
| 17315 |
+ 0x73, 0x79, 0xb3, 0x57, 0x7f, 0x1d, 0x60, 0xd3, 0xb2, 0x49, 0x4f, 0xdc, 0x35, 0xc5, 0xd5, 0x97, |
|
| 17316 |
+ 0x2c, 0x87, 0x93, 0x77, 0x99, 0x41, 0x0e, 0xd7, 0xac, 0x63, 0x46, 0x63, 0xac, 0xbe, 0x65, 0xca, |
|
| 17317 |
+ 0xcd, 0xc8, 0x59, 0x8f, 0x18, 0xab, 0x6f, 0x99, 0xe1, 0x2b, 0x55, 0xfa, 0xaa, 0x57, 0xaa, 0xd3, |
|
| 17318 |
+ 0x04, 0x2c, 0xc9, 0xdc, 0x35, 0x0c, 0xbf, 0x6f, 0x43, 0x5e, 0xa4, 0xb1, 0x93, 0x82, 0x8e, 0xbf, |
|
| 17319 |
+ 0x53, 0x0b, 0x5c, 0xb3, 0x8e, 0x73, 0x82, 0xdd, 0x34, 0xd1, 0x3a, 0x14, 0x24, 0x34, 0xf2, 0xfb, |
|
| 17320 |
+ 0x1e, 0x10, 0xa4, 0x16, 0x33, 0xff, 0x5d, 0x48, 0xef, 0x5b, 0x36, 0x91, 0x0b, 0x3d, 0x36, 0x00, |
|
| 17321 |
+ 0x4c, 0x1c, 0xb0, 0x35, 0x87, 0x39, 0xba, 0x9a, 0x0b, 0x2e, 0xe3, 0xb8, 0x7d, 0xb2, 0xec, 0x8c, |
|
| 17322 |
+ 0xda, 0x27, 0x2a, 0xd0, 0x19, 0xfb, 0x04, 0x8e, 0xd9, 0x27, 0xd8, 0xc2, 0x3e, 0x09, 0x8d, 0xda, |
|
| 17323 |
+ 0x27, 0x48, 0x3f, 0x17, 0xfb, 0xb6, 0xe1, 0x7a, 0xd5, 0xd6, 0x8d, 0x43, 0xdb, 0xf2, 0x7c, 0x62, |
|
| 17324 |
+ 0x46, 0x23, 0xc6, 0x7d, 0xc8, 0x4e, 0x25, 0x9d, 0x97, 0xdd, 0x5a, 0x4a, 0xa4, 0xfa, 0x6f, 0x09, |
|
| 17325 |
+ 0x28, 0x6e, 0x11, 0xdd, 0xf6, 0x0f, 0x26, 0x57, 0x43, 0x3e, 0xf1, 0x7c, 0x79, 0x58, 0xf1, 0x6f, |
|
| 17326 |
+ 0xf4, 0x1e, 0xe4, 0xc2, 0x9c, 0xe4, 0xca, 0xf7, 0xb7, 0x10, 0x8a, 0x1e, 0xc0, 0x3c, 0xdb, 0x63, |
|
| 17327 |
+ 0x74, 0x14, 0x14, 0x3b, 0x97, 0x3d, 0xed, 0x48, 0x24, 0x3b, 0x64, 0x5c, 0xc2, 0x93, 0x10, 0xbe, |
|
| 17328 |
+ 0x94, 0x32, 0x38, 0x68, 0xa2, 0xff, 0x0f, 0x45, 0xfe, 0x32, 0x11, 0xe4, 0x5c, 0x99, 0xab, 0x74, |
|
| 17329 |
+ 0x16, 0xc4, 0xe3, 0xa2, 0xc8, 0xb7, 0xfe, 0x27, 0x01, 0x2b, 0x3b, 0xfa, 0x78, 0x8f, 0xc8, 0xb0, |
|
| 17330 |
+ 0x41, 0x4c, 0x4c, 0x0c, 0xea, 0x9a, 0xa8, 0x13, 0x0d, 0x37, 0x97, 0xbc, 0x55, 0xc6, 0x09, 0xc7, |
|
| 17331 |
+ 0x47, 0x9d, 0xa0, 0x00, 0x4b, 0x46, 0x0a, 0xb0, 0x15, 0xc8, 0x38, 0xd4, 0x31, 0x88, 0x8c, 0x45, |
|
| 17332 |
+ 0xa2, 0xa1, 0x5a, 0xd1, 0x50, 0x53, 0x0a, 0x9f, 0x11, 0xf9, 0x23, 0x60, 0x8b, 0xfa, 0x61, 0x6f, |
|
| 17333 |
+ 0xe8, 0x33, 0x28, 0x75, 0x1b, 0x35, 0xdc, 0xe8, 0x55, 0xdb, 0x3f, 0xd4, 0xba, 0x95, 0xed, 0x6e, |
|
| 17334 |
+ 0xe5, 0xfe, 0x5d, 0xad, 0xd3, 0xde, 0xfe, 0xfc, 0xde, 0x83, 0xbb, 0xef, 0x29, 0x89, 0xd2, 0xc6, |
|
| 17335 |
+ 0xc9, 0xe9, 0xc6, 0xcd, 0x56, 0xa5, 0xb6, 0x2d, 0x76, 0xcc, 0x1e, 0x7d, 0xd6, 0xd5, 0x6d, 0x4f, |
|
| 17336 |
+ 0xbf, 0x7f, 0xb7, 0x43, 0xed, 0x31, 0xc3, 0xb0, 0x65, 0x5d, 0x8c, 0x9e, 0x57, 0xd1, 0x63, 0x38, |
|
| 17337 |
+ 0x71, 0xe1, 0x31, 0x3c, 0x39, 0xcd, 0x93, 0x17, 0x9c, 0xe6, 0x9b, 0xb0, 0x62, 0xb8, 0xd4, 0xf3, |
|
| 17338 |
+ 0x34, 0x96, 0xfd, 0x13, 0x73, 0xa6, 0xbe, 0xf8, 0xce, 0xf9, 0xd9, 0xfa, 0x72, 0x8d, 0xf1, 0xbb, |
|
| 17339 |
+ 0x9c, 0x2d, 0xd5, 0x2f, 0x1b, 0x11, 0x12, 0xef, 0x49, 0xfd, 0x83, 0x14, 0x4b, 0xa4, 0xac, 0x23, |
|
| 17340 |
+ 0xcb, 0x26, 0x7d, 0xe2, 0xa1, 0x27, 0xb0, 0x64, 0xb8, 0xc4, 0x64, 0x69, 0xbd, 0x6e, 0x47, 0x7f, |
|
| 17341 |
+ 0x27, 0xfa, 0xff, 0x62, 0x73, 0x9a, 0x50, 0xb0, 0x5c, 0x0b, 0xa5, 0xba, 0x43, 0x62, 0xe0, 0x45, |
|
| 17342 |
+ 0x63, 0xaa, 0x8d, 0xbe, 0x80, 0x25, 0x8f, 0xd8, 0x96, 0x33, 0x7a, 0xa6, 0x19, 0xd4, 0xf1, 0xc9, |
|
| 17343 |
+ 0xb3, 0xe0, 0x45, 0xec, 0x2a, 0xbd, 0xdd, 0xc6, 0x36, 0x93, 0xaa, 0x09, 0xa1, 0x2a, 0x3a, 0x3f, |
|
| 17344 |
+ 0x5b, 0x5f, 0x9c, 0xa6, 0xe1, 0x45, 0xa9, 0x59, 0xb6, 0x4b, 0x2d, 0x58, 0x9c, 0xb6, 0x06, 0xad, |
|
| 17345 |
+ 0xc8, 0xbd, 0xcf, 0x43, 0x48, 0xb0, 0xb7, 0xd1, 0x4d, 0xc8, 0xb9, 0xa4, 0x6f, 0x79, 0xbe, 0x2b, |
|
| 17346 |
+ 0xdc, 0xcc, 0x38, 0x21, 0x85, 0xed, 0x7c, 0xf1, 0x23, 0x9f, 0xd2, 0xaf, 0xc2, 0x4c, 0x8f, 0x6c, |
|
| 17347 |
+ 0xb3, 0x98, 0x96, 0xa7, 0xef, 0x49, 0x95, 0x39, 0x1c, 0x34, 0xd9, 0x1a, 0x1c, 0x79, 0x61, 0xa2, |
|
| 17348 |
+ 0xc6, 0xbf, 0x19, 0x8d, 0x67, 0x14, 0xf2, 0x27, 0x4f, 0x3c, 0x67, 0x08, 0x7e, 0x3b, 0x99, 0x8e, |
|
| 17349 |
+ 0xfc, 0x76, 0x72, 0x05, 0x32, 0x36, 0x39, 0x22, 0xb6, 0x38, 0xcb, 0xb1, 0x68, 0xdc, 0xbe, 0x0b, |
|
| 17350 |
+ 0xc5, 0xe0, 0x47, 0x7a, 0xfc, 0x57, 0x06, 0x39, 0x48, 0xf7, 0x2a, 0xdd, 0xc7, 0xca, 0x1c, 0x02, |
|
| 17351 |
+ 0xc8, 0x8a, 0xc5, 0x29, 0x5e, 0xeb, 0x6a, 0xed, 0xd6, 0x66, 0xf3, 0x91, 0x92, 0xbc, 0xfd, 0xb3, |
|
| 17352 |
+ 0x14, 0xe4, 0xc3, 0xf7, 0x22, 0x76, 0x76, 0xb4, 0x1a, 0x4f, 0x83, 0xd5, 0x1d, 0xd2, 0x5b, 0xe4, |
|
| 17353 |
+ 0x18, 0xbd, 0x36, 0xb9, 0x85, 0xfa, 0x4c, 0x3c, 0x90, 0x87, 0xec, 0xe0, 0x06, 0xea, 0x0d, 0xc8, |
|
| 17354 |
+ 0x55, 0xba, 0xdd, 0xe6, 0xa3, 0x56, 0xa3, 0xae, 0x7c, 0x99, 0x28, 0x7d, 0xe7, 0xe4, 0x74, 0x63, |
|
| 17355 |
+ 0x39, 0x04, 0x55, 0x3c, 0xb1, 0xf8, 0x38, 0xaa, 0x56, 0x6b, 0x74, 0x7a, 0x8d, 0xba, 0xf2, 0x3c, |
|
| 17356 |
+ 0x39, 0x8b, 0xe2, 0xb7, 0x2a, 0xfc, 0x67, 0x2e, 0xf9, 0x0e, 0x6e, 0x74, 0x2a, 0x98, 0x75, 0xf8, |
|
| 17357 |
+ 0x65, 0x52, 0x5c, 0x8e, 0x4d, 0x7a, 0x74, 0xc9, 0x50, 0x77, 0x59, 0x9f, 0x6b, 0xc1, 0xcf, 0xbd, |
|
| 17358 |
+ 0x9e, 0xa7, 0xc4, 0x4f, 0x21, 0x26, 0x8f, 0x5f, 0x44, 0x37, 0xc7, 0xac, 0x37, 0xfe, 0xea, 0xc8, |
|
| 17359 |
+ 0xd5, 0xa4, 0x66, 0x7a, 0xeb, 0xb2, 0xd8, 0xc3, 0xb4, 0xa8, 0x30, 0x8f, 0x77, 0x5b, 0x2d, 0x06, |
|
| 17360 |
+ 0x7a, 0x9e, 0x9e, 0x19, 0x1d, 0x1e, 0x39, 0xac, 0x62, 0x46, 0xb7, 0x20, 0x17, 0x3c, 0x4a, 0x2a, |
|
| 17361 |
+ 0x5f, 0xa6, 0x67, 0x0c, 0xaa, 0x05, 0x2f, 0xaa, 0xbc, 0xc3, 0xad, 0xdd, 0x1e, 0xff, 0x35, 0xda, |
|
| 17362 |
+ 0xf3, 0xcc, 0x6c, 0x87, 0x07, 0x23, 0xdf, 0xa4, 0xc7, 0x0e, 0xdb, 0xb3, 0xf2, 0x1e, 0xee, 0xcb, |
|
| 17363 |
+ 0x8c, 0xb8, 0xb4, 0x08, 0x31, 0xf2, 0x12, 0xee, 0x0d, 0xc8, 0xe1, 0xc6, 0x0f, 0xc4, 0x0f, 0xd7, |
|
| 17364 |
+ 0x9e, 0x67, 0x67, 0xf4, 0x60, 0xf2, 0x05, 0x31, 0x64, 0x6f, 0x6d, 0xdc, 0xd9, 0xaa, 0x70, 0x97, |
|
| 17365 |
+ 0xcf, 0xa2, 0xda, 0xee, 0xf0, 0x40, 0x77, 0x88, 0x39, 0xf9, 0x3d, 0x48, 0xc8, 0xba, 0xfd, 0x4b, |
|
| 17366 |
+ 0x90, 0x0b, 0x32, 0x53, 0xb4, 0x06, 0xd9, 0xa7, 0x6d, 0xfc, 0xb8, 0x81, 0x95, 0x39, 0xe1, 0xc3, |
|
| 17367 |
+ 0x80, 0xf3, 0x54, 0xd4, 0x14, 0x1b, 0x30, 0xbf, 0x53, 0x69, 0x55, 0x1e, 0x35, 0x70, 0x70, 0x45, |
|
| 17368 |
+ 0x1e, 0x00, 0x64, 0x7a, 0x55, 0x52, 0x64, 0x07, 0xa1, 0xce, 0xea, 0xea, 0x57, 0x5f, 0xaf, 0xcd, |
|
| 17369 |
+ 0xfd, 0xf4, 0xeb, 0xb5, 0xb9, 0xe7, 0xe7, 0x6b, 0x89, 0xaf, 0xce, 0xd7, 0x12, 0x3f, 0x39, 0x5f, |
|
| 17370 |
+ 0x4b, 0xfc, 0xeb, 0xf9, 0x5a, 0x62, 0x2f, 0xcb, 0x0f, 0x81, 0x07, 0xff, 0x1b, 0x00, 0x00, 0xff, |
|
| 17371 |
+ 0xff, 0x3b, 0x34, 0xbd, 0xc6, 0xd3, 0x30, 0x00, 0x00, |
|
| 17367 | 17372 |
} |
| ... | ... |
@@ -57,6 +57,12 @@ message GenericResource {
|
| 57 | 57 |
} |
| 58 | 58 |
} |
| 59 | 59 |
|
| 60 |
+enum ResourceType {
|
|
| 61 |
+ TASK = 0; |
|
| 62 |
+ SECRET = 1; |
|
| 63 |
+ CONFIG = 2; |
|
| 64 |
+} |
|
| 65 |
+ |
|
| 60 | 66 |
message Resources {
|
| 61 | 67 |
// Amount of CPUs (e.g. 2000000000 = 2 CPU cores) |
| 62 | 68 |
int64 nano_cpus = 1 [(gogoproto.customname) = "NanoCPUs"]; |
| ... | ... |
@@ -508,6 +514,15 @@ message TaskStatus {
|
| 508 | 508 |
// HostPorts provides a list of ports allocated at the host |
| 509 | 509 |
// level. |
| 510 | 510 |
PortStatus port_status = 6; |
| 511 |
+ |
|
| 512 |
+ // AppliedBy gives the node ID of the manager that applied this task |
|
| 513 |
+ // status update to the Task object. |
|
| 514 |
+ string applied_by = 7; |
|
| 515 |
+ |
|
| 516 |
+ // AppliedAt gives a timestamp of when this status update was applied to |
|
| 517 |
+ // the Task object. |
|
| 518 |
+ // Note: can't use stdtime because this field is nullable. |
|
| 519 |
+ google.protobuf.Timestamp applied_at = 8; |
|
| 511 | 520 |
} |
| 512 | 521 |
|
| 513 | 522 |
// NetworkAttachmentConfig specifies how a service should be attached to a particular network. |
| ... | ... |
@@ -1,5 +1,5 @@ |
| 1 | 1 |
// Code generated by protoc-gen-gogo. |
| 2 |
-// source: watch.proto |
|
| 2 |
+// source: github.com/docker/swarmkit/api/watch.proto |
|
| 3 | 3 |
// DO NOT EDIT! |
| 4 | 4 |
|
| 5 | 5 |
package api |
| ... | ... |
@@ -1442,7 +1442,7 @@ var _Watch_serviceDesc = grpc.ServiceDesc{
|
| 1442 | 1442 |
ServerStreams: true, |
| 1443 | 1443 |
}, |
| 1444 | 1444 |
}, |
| 1445 |
- Metadata: "watch.proto", |
|
| 1445 |
+ Metadata: "github.com/docker/swarmkit/api/watch.proto", |
|
| 1446 | 1446 |
} |
| 1447 | 1447 |
|
| 1448 | 1448 |
func (m *Object) Marshal() (dAtA []byte, err error) {
|
| ... | ... |
@@ -4519,81 +4519,83 @@ var ( |
| 4519 | 4519 |
ErrIntOverflowWatch = fmt.Errorf("proto: integer overflow")
|
| 4520 | 4520 |
) |
| 4521 | 4521 |
|
| 4522 |
-func init() { proto.RegisterFile("watch.proto", fileDescriptorWatch) }
|
|
| 4522 |
+func init() { proto.RegisterFile("github.com/docker/swarmkit/api/watch.proto", fileDescriptorWatch) }
|
|
| 4523 | 4523 |
|
| 4524 | 4524 |
var fileDescriptorWatch = []byte{
|
| 4525 |
- // 1155 bytes of a gzipped FileDescriptorProto |
|
| 4526 |
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x96, 0xbb, 0x73, 0x1b, 0xd5, |
|
| 4527 |
- 0x17, 0xc7, 0xb5, 0x8a, 0xbc, 0x92, 0x8e, 0xac, 0xc4, 0x73, 0xed, 0x24, 0xfb, 0xd3, 0x2f, 0x48, |
|
| 4528 |
- 0x42, 0x0c, 0xe0, 0x21, 0x41, 0x01, 0x13, 0xc2, 0x00, 0x81, 0x19, 0x4b, 0x16, 0x23, 0x91, 0xb1, |
|
| 4529 |
- 0xec, 0xb9, 0xb6, 0xe3, 0x52, 0xb3, 0xde, 0x3d, 0x56, 0x16, 0xed, 0x43, 0xdc, 0x5d, 0xc9, 0x71, |
|
| 4530 |
- 0x47, 0x41, 0xc1, 0xa4, 0x67, 0x86, 0x26, 0x15, 0xd4, 0x34, 0x74, 0xf0, 0x0f, 0x64, 0xa8, 0x28, |
|
| 4531 |
- 0xa1, 0xd1, 0x10, 0x95, 0x14, 0xfc, 0x05, 0x14, 0xcc, 0x7d, 0xac, 0x1f, 0xca, 0xca, 0x21, 0x95, |
|
| 4532 |
- 0xee, 0xbd, 0xfb, 0xf9, 0x9e, 0x7b, 0xf6, 0xbc, 0x56, 0x50, 0x38, 0x32, 0x23, 0xeb, 0x61, 0x7d, |
|
| 4533 |
- 0xc8, 0x82, 0x28, 0x20, 0xc4, 0x0e, 0xac, 0x01, 0xb2, 0x7a, 0x78, 0x64, 0x32, 0x6f, 0xe0, 0x44, |
|
| 4534 |
- 0xf5, 0xf1, 0xbb, 0xa5, 0x42, 0x38, 0x44, 0x2b, 0x94, 0x40, 0xa9, 0x18, 0x1c, 0x7c, 0x81, 0x56, |
|
| 4535 |
- 0x14, 0x6f, 0x0b, 0xd1, 0xf1, 0x10, 0xe3, 0xcd, 0x4a, 0x3f, 0xe8, 0x07, 0x62, 0x79, 0x9b, 0xaf, |
|
| 4536 |
- 0xd4, 0xe9, 0xf2, 0xd0, 0x1d, 0xf5, 0x1d, 0xff, 0xb6, 0xfc, 0x91, 0x87, 0xb5, 0xaf, 0x33, 0xa0, |
|
| 4537 |
- 0x6f, 0x09, 0x4b, 0xa4, 0x0e, 0x19, 0x3f, 0xb0, 0xd1, 0xd0, 0xaa, 0xda, 0x6a, 0x61, 0xcd, 0xa8, |
|
| 4538 |
- 0x3f, 0xef, 0x41, 0xbd, 0x1b, 0xd8, 0xd8, 0x4e, 0x51, 0xc1, 0x91, 0x0f, 0x20, 0x1b, 0x22, 0x1b, |
|
| 4539 |
- 0x3b, 0x16, 0x1a, 0x69, 0x21, 0xf9, 0x7f, 0x92, 0x64, 0x47, 0x22, 0xed, 0x14, 0x8d, 0x69, 0x2e, |
|
| 4540 |
- 0xf4, 0x31, 0x3a, 0x0a, 0xd8, 0xc0, 0xb8, 0x34, 0x5f, 0xd8, 0x95, 0x08, 0x17, 0x2a, 0x9a, 0x7b, |
|
| 4541 |
- 0x18, 0x99, 0xe1, 0xc0, 0xc8, 0xcc, 0xf7, 0x70, 0xd7, 0x0c, 0xb9, 0x44, 0x70, 0xfc, 0x22, 0xcb, |
|
| 4542 |
- 0x1d, 0x85, 0x11, 0x32, 0x63, 0x61, 0xfe, 0x45, 0x4d, 0x89, 0xf0, 0x8b, 0x14, 0x4d, 0xee, 0x80, |
|
| 4543 |
- 0x1e, 0xa2, 0xc5, 0x30, 0x32, 0x74, 0xa1, 0x2b, 0x25, 0xbf, 0x19, 0x27, 0xda, 0x29, 0xaa, 0x58, |
|
| 4544 |
- 0xf2, 0x11, 0xe4, 0x18, 0x86, 0xc1, 0x88, 0x59, 0x68, 0x64, 0x85, 0xee, 0x46, 0x92, 0x8e, 0x2a, |
|
| 4545 |
- 0xa6, 0x9d, 0xa2, 0x27, 0x3c, 0xf9, 0x04, 0xf2, 0xf8, 0x28, 0x42, 0x3f, 0x74, 0x02, 0xdf, 0xc8, |
|
| 4546 |
- 0x09, 0xf1, 0x2b, 0x49, 0xe2, 0x56, 0x0c, 0xb5, 0x53, 0xf4, 0x54, 0xc1, 0x1d, 0xb6, 0x02, 0xff, |
|
| 4547 |
- 0xd0, 0xe9, 0x1b, 0xf9, 0xf9, 0x0e, 0x37, 0x05, 0xc1, 0x1d, 0x96, 0x6c, 0x23, 0x17, 0xe7, 0xbe, |
|
| 4548 |
- 0xb6, 0x0d, 0x8b, 0x3b, 0xe8, 0xa2, 0x15, 0x35, 0x8e, 0x77, 0xdc, 0x20, 0x22, 0xb7, 0x00, 0x54, |
|
| 4549 |
- 0xb6, 0x7a, 0x8e, 0x2d, 0x2a, 0x22, 0xdf, 0x28, 0x4e, 0x27, 0x95, 0xbc, 0x4a, 0x67, 0x67, 0x83, |
|
| 4550 |
- 0xe6, 0x15, 0xd0, 0xb1, 0x09, 0x81, 0x4c, 0xe8, 0x06, 0x91, 0x28, 0x83, 0x0c, 0x15, 0xeb, 0xda, |
|
| 4551 |
- 0x36, 0x5c, 0x8e, 0x2d, 0x36, 0x47, 0x61, 0x14, 0x78, 0x9c, 0x1a, 0x38, 0xbe, 0xb2, 0x46, 0xc5, |
|
| 4552 |
- 0x9a, 0xac, 0xc0, 0x82, 0xe3, 0xdb, 0xf8, 0x48, 0x48, 0xf3, 0x54, 0x6e, 0xf8, 0xe9, 0xd8, 0x74, |
|
| 4553 |
- 0x47, 0x28, 0xca, 0x23, 0x4f, 0xe5, 0xa6, 0xf6, 0x97, 0x0e, 0xb9, 0xd8, 0x24, 0x31, 0x20, 0x7d, |
|
| 4554 |
- 0xe2, 0x98, 0x3e, 0x9d, 0x54, 0xd2, 0x9d, 0x8d, 0x76, 0x8a, 0xa6, 0x1d, 0x9b, 0xdc, 0x84, 0xbc, |
|
| 4555 |
- 0x63, 0xf7, 0x86, 0x0c, 0x0f, 0x1d, 0x65, 0xb6, 0xb1, 0x38, 0x9d, 0x54, 0x72, 0x9d, 0x8d, 0x6d, |
|
| 4556 |
- 0x71, 0xc6, 0xc3, 0xee, 0xd8, 0x72, 0x4d, 0x56, 0x20, 0xe3, 0x9b, 0x9e, 0xba, 0x48, 0x54, 0xb6, |
|
| 4557 |
- 0xe9, 0x21, 0x79, 0x15, 0x0a, 0xfc, 0x37, 0x36, 0x92, 0x51, 0x0f, 0x81, 0x1f, 0x2a, 0xe1, 0x3d, |
|
| 4558 |
- 0xd0, 0x2d, 0xf1, 0x5a, 0xaa, 0xb2, 0x6a, 0xc9, 0x15, 0x72, 0x36, 0x00, 0x22, 0xf0, 0x32, 0x14, |
|
| 4559 |
- 0x1d, 0x28, 0xca, 0x55, 0x7c, 0x85, 0xfe, 0x12, 0x46, 0x16, 0xa5, 0x54, 0x39, 0x52, 0x3f, 0x97, |
|
| 4560 |
- 0xa9, 0x6c, 0x42, 0xa6, 0x78, 0xa5, 0x9c, 0xe6, 0xea, 0x75, 0xc8, 0xf2, 0xee, 0xe5, 0x70, 0x4e, |
|
| 4561 |
- 0xc0, 0x30, 0x9d, 0x54, 0x74, 0xde, 0xd8, 0x82, 0xd4, 0xf9, 0xc3, 0x8e, 0x4d, 0xee, 0xaa, 0x94, |
|
| 4562 |
- 0xca, 0x72, 0xaa, 0x5e, 0xe4, 0x18, 0x2f, 0x18, 0x1e, 0x3a, 0xce, 0x93, 0x0d, 0x28, 0xda, 0x18, |
|
| 4563 |
- 0x3a, 0x0c, 0xed, 0x5e, 0x18, 0x99, 0x11, 0x1a, 0x50, 0xd5, 0x56, 0x2f, 0x27, 0xd7, 0x32, 0xef, |
|
| 4564 |
- 0xd5, 0x1d, 0x0e, 0xf1, 0x97, 0x52, 0x2a, 0xb1, 0x27, 0x6b, 0x90, 0x61, 0x81, 0x8b, 0x46, 0x41, |
|
| 4565 |
- 0x88, 0x6f, 0xcc, 0x1b, 0x45, 0x34, 0x70, 0xc5, 0x38, 0xe2, 0x2c, 0xe9, 0x00, 0x78, 0xe8, 0x1d, |
|
| 4566 |
- 0x20, 0x0b, 0x1f, 0x3a, 0x43, 0x63, 0x51, 0x28, 0xdf, 0x9c, 0xa7, 0xdc, 0x19, 0xa2, 0x55, 0xdf, |
|
| 4567 |
- 0x3c, 0xc1, 0x79, 0x72, 0x4f, 0xc5, 0x64, 0x13, 0xae, 0x32, 0x3c, 0x44, 0x86, 0xbe, 0x85, 0x76, |
|
| 4568 |
- 0x4f, 0x4d, 0x1f, 0x1e, 0xb1, 0xa2, 0x88, 0xd8, 0xf5, 0xe9, 0xa4, 0xb2, 0x4c, 0x4f, 0x00, 0x35, |
|
| 4569 |
- 0xa8, 0x44, 0xf8, 0x96, 0xd9, 0x73, 0xc7, 0x36, 0xf9, 0x1c, 0x56, 0xce, 0x98, 0x93, 0xc3, 0x82, |
|
| 4570 |
- 0x5b, 0xbb, 0x2c, 0xac, 0x5d, 0x9b, 0x4e, 0x2a, 0xe4, 0xd4, 0x9a, 0x9c, 0x2a, 0xc2, 0x18, 0x61, |
|
| 4571 |
- 0xb3, 0xa7, 0xbc, 0x61, 0x64, 0x13, 0x5d, 0x89, 0x0b, 0x56, 0xb4, 0xd1, 0xf9, 0x1b, 0x64, 0x77, |
|
| 4572 |
- 0xf3, 0x1b, 0x96, 0x92, 0x6e, 0x90, 0x63, 0x60, 0xf6, 0x06, 0x75, 0x6a, 0x37, 0x32, 0x90, 0x6e, |
|
| 4573 |
- 0x1c, 0xd7, 0xfe, 0x48, 0xc3, 0xe2, 0x3e, 0xff, 0x1e, 0x51, 0xfc, 0x72, 0x84, 0x61, 0x44, 0x5a, |
|
| 4574 |
- 0x90, 0x45, 0x3f, 0x62, 0x0e, 0x86, 0x86, 0x56, 0xbd, 0xb4, 0x5a, 0x58, 0xbb, 0x99, 0x14, 0xdb, |
|
| 4575 |
- 0xb3, 0x12, 0xb9, 0x69, 0xf9, 0x11, 0x3b, 0xa6, 0xb1, 0x96, 0xdc, 0x83, 0x02, 0xc3, 0x70, 0xe4, |
|
| 4576 |
- 0x61, 0xef, 0x90, 0x05, 0xde, 0x45, 0x1f, 0x8e, 0x07, 0xc8, 0xf8, 0x68, 0xa3, 0x20, 0xf9, 0xcf, |
|
| 4577 |
- 0x58, 0xe0, 0x91, 0x5b, 0x40, 0x1c, 0xdf, 0x72, 0x47, 0x36, 0xf6, 0x02, 0xd7, 0xee, 0xc9, 0x4f, |
|
| 4578 |
- 0xa0, 0x68, 0xde, 0x1c, 0x5d, 0x52, 0x4f, 0xb6, 0x5c, 0x5b, 0x0e, 0xb5, 0xd2, 0xb7, 0x1a, 0xc0, |
|
| 4579 |
- 0xa9, 0x0f, 0x89, 0xf3, 0xe7, 0x63, 0xd0, 0x4d, 0x2b, 0xe2, 0x33, 0x37, 0x2d, 0x0a, 0xe6, 0xb5, |
|
| 4580 |
- 0xb9, 0x2f, 0xb5, 0x2e, 0xb0, 0xfb, 0x8e, 0x6f, 0x53, 0x25, 0x21, 0x77, 0x21, 0x7b, 0xe8, 0xb8, |
|
| 4581 |
- 0x11, 0xb2, 0xd0, 0xb8, 0x24, 0x42, 0x72, 0xe3, 0xa2, 0x36, 0xa1, 0x31, 0x5c, 0xfb, 0x25, 0x8e, |
|
| 4582 |
- 0xed, 0x26, 0x86, 0xa1, 0xd9, 0x47, 0xf2, 0x29, 0xe8, 0x38, 0x46, 0x3f, 0x8a, 0x43, 0xfb, 0xc6, |
|
| 4583 |
- 0x5c, 0x2f, 0x94, 0xa2, 0xde, 0xe2, 0x38, 0x55, 0x2a, 0xf2, 0x3e, 0x64, 0xc7, 0x32, 0x5a, 0xff, |
|
| 4584 |
- 0x25, 0xa0, 0x31, 0x5b, 0xfa, 0x49, 0x83, 0x05, 0x61, 0xe8, 0x4c, 0x18, 0xb4, 0x97, 0x0f, 0xc3, |
|
| 4585 |
- 0x1a, 0xe8, 0x2a, 0x11, 0xe9, 0xf9, 0xdf, 0x1e, 0x99, 0x12, 0xaa, 0x48, 0xf2, 0x21, 0xc0, 0x4c, |
|
| 4586 |
- 0x02, 0x2f, 0xd6, 0xe5, 0x83, 0x38, 0xab, 0x6f, 0xfd, 0xa3, 0xc1, 0x95, 0x19, 0x57, 0xc8, 0x1d, |
|
| 4587 |
- 0x58, 0xd9, 0x5f, 0xdf, 0x6d, 0xb6, 0x7b, 0xeb, 0xcd, 0xdd, 0xce, 0x56, 0xb7, 0xb7, 0xd7, 0xbd, |
|
| 4588 |
- 0xdf, 0xdd, 0xda, 0xef, 0x2e, 0xa5, 0x4a, 0xa5, 0xc7, 0x4f, 0xaa, 0xd7, 0x66, 0xf0, 0x3d, 0x7f, |
|
| 4589 |
- 0xe0, 0x07, 0x47, 0xdc, 0xf1, 0xe5, 0x73, 0xaa, 0x26, 0x6d, 0xad, 0xef, 0xb6, 0x96, 0xb4, 0xd2, |
|
| 4590 |
- 0xff, 0x1e, 0x3f, 0xa9, 0x5e, 0x9d, 0x11, 0x35, 0x19, 0xca, 0xc9, 0x74, 0x5e, 0xb3, 0xb7, 0xbd, |
|
| 4591 |
- 0xc1, 0x35, 0xe9, 0x44, 0xcd, 0xde, 0xd0, 0x4e, 0xd2, 0xd0, 0xd6, 0xe6, 0xd6, 0x83, 0xd6, 0x52, |
|
| 4592 |
- 0x26, 0x51, 0x43, 0xd1, 0x0b, 0xc6, 0x58, 0xba, 0xfe, 0xcd, 0xf7, 0xe5, 0xd4, 0xcf, 0x3f, 0x94, |
|
| 4593 |
- 0x67, 0x5f, 0x75, 0xcd, 0x83, 0x05, 0x71, 0x44, 0xec, 0x78, 0x51, 0x7d, 0x51, 0x23, 0x96, 0xaa, |
|
| 4594 |
- 0x2f, 0xaa, 0xa7, 0xda, 0xd5, 0x5f, 0x7f, 0xfc, 0xfb, 0xbb, 0xf4, 0x15, 0x28, 0x0a, 0xe2, 0x6d, |
|
| 4595 |
- 0xcf, 0xf4, 0xcd, 0x3e, 0xb2, 0x77, 0xb4, 0x86, 0xf1, 0xf4, 0x59, 0x39, 0xf5, 0xfb, 0xb3, 0x72, |
|
| 4596 |
- 0xea, 0xab, 0x69, 0x59, 0x7b, 0x3a, 0x2d, 0x6b, 0xbf, 0x4d, 0xcb, 0xda, 0x9f, 0xd3, 0xb2, 0x76, |
|
| 4597 |
- 0xa0, 0x8b, 0x3f, 0x90, 0xef, 0xfd, 0x1b, 0x00, 0x00, 0xff, 0xff, 0xf8, 0x53, 0xd9, 0x73, 0xb7, |
|
| 4598 |
- 0x0a, 0x00, 0x00, |
|
| 4525 |
+ // 1186 bytes of a gzipped FileDescriptorProto |
|
| 4526 |
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x96, 0xbd, 0x73, 0x1b, 0xc5, |
|
| 4527 |
+ 0x1b, 0xc7, 0x75, 0x8a, 0x7c, 0x92, 0x1e, 0xdb, 0x89, 0x67, 0xe3, 0x24, 0xf7, 0xd3, 0x2f, 0xc8, |
|
| 4528 |
+ 0x42, 0x0c, 0x90, 0x49, 0x82, 0x0c, 0x26, 0x24, 0x03, 0x04, 0x66, 0x2c, 0x59, 0x8c, 0x44, 0xc6, |
|
| 4529 |
+ 0x2f, 0xb3, 0xb6, 0x93, 0x52, 0x73, 0xbe, 0x7b, 0xac, 0x1c, 0xba, 0xbb, 0x15, 0x7b, 0x27, 0x39, |
|
| 4530 |
+ 0xee, 0x28, 0x28, 0x98, 0xf4, 0xcc, 0xd0, 0xa4, 0x82, 0x9a, 0x86, 0x0e, 0xfe, 0x81, 0x0c, 0x15, |
|
| 4531 |
+ 0x25, 0x34, 0x1a, 0xa2, 0x92, 0x82, 0xbf, 0x80, 0x82, 0xd9, 0x97, 0xf3, 0x8b, 0x72, 0xb2, 0x49, |
|
| 4532 |
+ 0xa5, 0xbd, 0xbd, 0xcf, 0xf7, 0xd9, 0x67, 0x9f, 0xb7, 0x13, 0xdc, 0xec, 0x7a, 0xf1, 0xe3, 0xc1, |
|
| 4533 |
+ 0x5e, 0xcd, 0x61, 0xc1, 0xb2, 0xcb, 0x9c, 0x1e, 0xf2, 0xe5, 0xe8, 0xc0, 0xe6, 0x41, 0xcf, 0x8b, |
|
| 4534 |
+ 0x97, 0xed, 0xbe, 0xb7, 0x7c, 0x60, 0xc7, 0xce, 0xe3, 0x5a, 0x9f, 0xb3, 0x98, 0x11, 0xa2, 0x80, |
|
| 4535 |
+ 0x5a, 0x02, 0xd4, 0x86, 0xef, 0x95, 0xce, 0xd3, 0x47, 0x7d, 0x74, 0x22, 0xa5, 0x2f, 0xdd, 0x3e, |
|
| 4536 |
+ 0x87, 0x65, 0x7b, 0x5f, 0xa0, 0x13, 0x27, 0xf4, 0x79, 0x96, 0xe3, 0xc3, 0x3e, 0x26, 0xec, 0x62, |
|
| 4537 |
+ 0x97, 0x75, 0x99, 0x5c, 0x2e, 0x8b, 0x95, 0xde, 0xbd, 0x77, 0x86, 0x05, 0x49, 0xec, 0x0d, 0xf6, |
|
| 4538 |
+ 0x97, 0xfb, 0xfe, 0xa0, 0xeb, 0x85, 0xfa, 0x47, 0x09, 0xab, 0x5f, 0xe7, 0xc0, 0xdc, 0x94, 0xce, |
|
| 4539 |
+ 0x90, 0x1a, 0xe4, 0x42, 0xe6, 0xa2, 0x65, 0x54, 0x8c, 0x1b, 0xb3, 0x2b, 0x56, 0xed, 0xe5, 0x10, |
|
| 4540 |
+ 0xd4, 0x36, 0x98, 0x8b, 0xad, 0x0c, 0x95, 0x1c, 0xb9, 0x07, 0xf9, 0x08, 0xf9, 0xd0, 0x73, 0xd0, |
|
| 4541 |
+ 0xca, 0x4a, 0xc9, 0xff, 0xd3, 0x24, 0xdb, 0x0a, 0x69, 0x65, 0x68, 0x42, 0x0b, 0x61, 0x88, 0xf1, |
|
| 4542 |
+ 0x01, 0xe3, 0x3d, 0xeb, 0xc2, 0x74, 0xe1, 0x86, 0x42, 0x84, 0x50, 0xd3, 0xc2, 0xc3, 0xd8, 0x8e, |
|
| 4543 |
+ 0x7a, 0x56, 0x6e, 0xba, 0x87, 0x3b, 0x76, 0x24, 0x24, 0x92, 0x13, 0x07, 0x39, 0xfe, 0x20, 0x8a, |
|
| 4544 |
+ 0x91, 0x5b, 0x33, 0xd3, 0x0f, 0x6a, 0x28, 0x44, 0x1c, 0xa4, 0x69, 0x72, 0x07, 0xcc, 0x08, 0x1d, |
|
| 4545 |
+ 0x8e, 0xb1, 0x65, 0x4a, 0x5d, 0x29, 0xfd, 0x66, 0x82, 0x68, 0x65, 0xa8, 0x66, 0xc9, 0x47, 0x50, |
|
| 4546 |
+ 0xe0, 0x18, 0xb1, 0x01, 0x77, 0xd0, 0xca, 0x4b, 0xdd, 0xf5, 0x34, 0x1d, 0xd5, 0x4c, 0x2b, 0x43, |
|
| 4547 |
+ 0x8f, 0x78, 0xf2, 0x09, 0x14, 0xf1, 0x49, 0x8c, 0x61, 0xe4, 0xb1, 0xd0, 0x2a, 0x48, 0xf1, 0x6b, |
|
| 4548 |
+ 0x69, 0xe2, 0x66, 0x02, 0xb5, 0x32, 0xf4, 0x58, 0x21, 0x1c, 0x76, 0x58, 0xb8, 0xef, 0x75, 0xad, |
|
| 4549 |
+ 0xe2, 0x74, 0x87, 0x1b, 0x92, 0x10, 0x0e, 0x2b, 0xb6, 0x5e, 0x48, 0x72, 0x5f, 0xdd, 0x82, 0xb9, |
|
| 4550 |
+ 0x6d, 0xf4, 0xd1, 0x89, 0xeb, 0x87, 0xdb, 0x3e, 0x8b, 0xc9, 0x6d, 0x00, 0x9d, 0xad, 0x8e, 0xe7, |
|
| 4551 |
+ 0xca, 0x8a, 0x28, 0xd6, 0xe7, 0xc7, 0xa3, 0xa5, 0xa2, 0x4e, 0x67, 0x7b, 0x8d, 0x16, 0x35, 0xd0, |
|
| 4552 |
+ 0x76, 0x09, 0x81, 0x5c, 0xe4, 0xb3, 0x58, 0x96, 0x41, 0x8e, 0xca, 0x75, 0x75, 0x0b, 0x2e, 0x26, |
|
| 4553 |
+ 0x16, 0x1b, 0x83, 0x28, 0x66, 0x81, 0xa0, 0x7a, 0x5e, 0xa8, 0xad, 0x51, 0xb9, 0x26, 0x8b, 0x30, |
|
| 4554 |
+ 0xe3, 0x85, 0x2e, 0x3e, 0x91, 0xd2, 0x22, 0x55, 0x0f, 0x62, 0x77, 0x68, 0xfb, 0x03, 0x94, 0xe5, |
|
| 4555 |
+ 0x51, 0xa4, 0xea, 0xa1, 0xfa, 0x97, 0x09, 0x85, 0xc4, 0x24, 0xb1, 0x20, 0x7b, 0xe4, 0x98, 0x39, |
|
| 4556 |
+ 0x1e, 0x2d, 0x65, 0xdb, 0x6b, 0xad, 0x0c, 0xcd, 0x7a, 0x2e, 0xb9, 0x05, 0x45, 0xcf, 0xed, 0xf4, |
|
| 4557 |
+ 0x39, 0xee, 0x7b, 0xda, 0x6c, 0x7d, 0x6e, 0x3c, 0x5a, 0x2a, 0xb4, 0xd7, 0xb6, 0xe4, 0x9e, 0x08, |
|
| 4558 |
+ 0xbb, 0xe7, 0xaa, 0x35, 0x59, 0x84, 0x5c, 0x68, 0x07, 0xfa, 0x20, 0x59, 0xd9, 0x76, 0x80, 0xe4, |
|
| 4559 |
+ 0x75, 0x98, 0x15, 0xbf, 0x89, 0x91, 0x9c, 0x7e, 0x09, 0x62, 0x53, 0x0b, 0xef, 0x83, 0xe9, 0xc8, |
|
| 4560 |
+ 0x6b, 0xe9, 0xca, 0xaa, 0xa6, 0x57, 0xc8, 0xc9, 0x00, 0xc8, 0xc0, 0xab, 0x50, 0xb4, 0x61, 0x5e, |
|
| 4561 |
+ 0xad, 0x92, 0x23, 0xcc, 0x57, 0x30, 0x32, 0xa7, 0xa4, 0xda, 0x91, 0xda, 0xa9, 0x4c, 0xe5, 0x53, |
|
| 4562 |
+ 0x32, 0x25, 0x2a, 0xe5, 0x38, 0x57, 0x6f, 0x42, 0x5e, 0x74, 0xaf, 0x80, 0x0b, 0x12, 0x86, 0xf1, |
|
| 4563 |
+ 0x68, 0xc9, 0x14, 0x8d, 0x2d, 0x49, 0x53, 0xbc, 0x6c, 0xbb, 0xe4, 0xae, 0x4e, 0xa9, 0x2a, 0xa7, |
|
| 4564 |
+ 0xca, 0x59, 0x8e, 0x89, 0x82, 0x11, 0xa1, 0x13, 0x3c, 0x59, 0x83, 0x79, 0x17, 0x23, 0x8f, 0xa3, |
|
| 4565 |
+ 0xdb, 0x89, 0x62, 0x3b, 0x46, 0x0b, 0x2a, 0xc6, 0x8d, 0x8b, 0xe9, 0xb5, 0x2c, 0x7a, 0x75, 0x5b, |
|
| 4566 |
+ 0x40, 0xe2, 0x52, 0x5a, 0x25, 0x9f, 0xc9, 0x0a, 0xe4, 0x38, 0xf3, 0xd1, 0x9a, 0x95, 0xe2, 0xeb, |
|
| 4567 |
+ 0xd3, 0x46, 0x11, 0x65, 0xbe, 0x1c, 0x47, 0x82, 0x25, 0x6d, 0x80, 0x00, 0x83, 0x3d, 0xe4, 0xd1, |
|
| 4568 |
+ 0x63, 0xaf, 0x6f, 0xcd, 0x49, 0xe5, 0xdb, 0xd3, 0x94, 0xdb, 0x7d, 0x74, 0x6a, 0xeb, 0x47, 0xb8, |
|
| 4569 |
+ 0x48, 0xee, 0xb1, 0x98, 0xac, 0xc3, 0x15, 0x8e, 0xfb, 0xc8, 0x31, 0x74, 0xd0, 0xed, 0xe8, 0xe9, |
|
| 4570 |
+ 0x23, 0x22, 0x36, 0x2f, 0x23, 0x76, 0x6d, 0x3c, 0x5a, 0xba, 0x4c, 0x8f, 0x00, 0x3d, 0xa8, 0x64, |
|
| 4571 |
+ 0xf8, 0x2e, 0xf3, 0x97, 0xb6, 0x5d, 0xf2, 0x39, 0x2c, 0x9e, 0x30, 0xa7, 0x86, 0x85, 0xb0, 0x76, |
|
| 4572 |
+ 0x51, 0x5a, 0xbb, 0x3a, 0x1e, 0x2d, 0x91, 0x63, 0x6b, 0x6a, 0xaa, 0x48, 0x63, 0x84, 0x4f, 0xee, |
|
| 4573 |
+ 0x8a, 0x86, 0x51, 0x4d, 0x74, 0x29, 0x29, 0x58, 0xd9, 0x46, 0xa7, 0x4f, 0x50, 0xdd, 0x2d, 0x4e, |
|
| 4574 |
+ 0x58, 0x48, 0x3b, 0x41, 0x8d, 0x81, 0xc9, 0x13, 0xf4, 0xae, 0x5b, 0xcf, 0x41, 0xb6, 0x7e, 0x58, |
|
| 4575 |
+ 0xfd, 0x23, 0x0b, 0x73, 0x8f, 0xc4, 0x07, 0x91, 0xe2, 0x97, 0x03, 0x8c, 0x62, 0xd2, 0x84, 0x3c, |
|
| 4576 |
+ 0x86, 0x31, 0xf7, 0x30, 0xb2, 0x8c, 0xca, 0x85, 0x1b, 0xb3, 0x2b, 0xb7, 0xd2, 0x62, 0x7b, 0x52, |
|
| 4577 |
+ 0xa2, 0x1e, 0x9a, 0x61, 0xcc, 0x0f, 0x69, 0xa2, 0x25, 0xf7, 0x61, 0x96, 0x63, 0x34, 0x08, 0xb0, |
|
| 4578 |
+ 0xb3, 0xcf, 0x59, 0x70, 0xd6, 0x87, 0xe3, 0x21, 0x72, 0x31, 0xda, 0x28, 0x28, 0xfe, 0x33, 0xce, |
|
| 4579 |
+ 0x02, 0x72, 0x1b, 0x88, 0x17, 0x3a, 0xfe, 0xc0, 0xc5, 0x0e, 0xf3, 0xdd, 0x8e, 0xfa, 0x8a, 0xca, |
|
| 4580 |
+ 0xe6, 0x2d, 0xd0, 0x05, 0xfd, 0x66, 0xd3, 0x77, 0xd5, 0x50, 0x2b, 0x7d, 0x6b, 0x00, 0x1c, 0xfb, |
|
| 4581 |
+ 0x90, 0x3a, 0x7f, 0x3e, 0x06, 0xd3, 0x76, 0x62, 0x31, 0x73, 0xb3, 0xb2, 0x60, 0xde, 0x98, 0x7a, |
|
| 4582 |
+ 0xa9, 0x55, 0x89, 0x3d, 0xf0, 0x42, 0x97, 0x6a, 0x09, 0xb9, 0x0b, 0xf9, 0x7d, 0xcf, 0x8f, 0x91, |
|
| 4583 |
+ 0x47, 0xd6, 0x05, 0x19, 0x92, 0xeb, 0x67, 0xb5, 0x09, 0x4d, 0xe0, 0xea, 0x2f, 0x49, 0x6c, 0xd7, |
|
| 4584 |
+ 0x31, 0x8a, 0xec, 0x2e, 0x92, 0x4f, 0xc1, 0xc4, 0x21, 0x86, 0x71, 0x12, 0xda, 0xb7, 0xa6, 0x7a, |
|
| 4585 |
+ 0xa1, 0x15, 0xb5, 0xa6, 0xc0, 0xa9, 0x56, 0x91, 0x0f, 0x20, 0x3f, 0x54, 0xd1, 0xfa, 0x2f, 0x01, |
|
| 4586 |
+ 0x4d, 0xd8, 0xd2, 0x4f, 0x06, 0xcc, 0x48, 0x43, 0x27, 0xc2, 0x60, 0xbc, 0x7a, 0x18, 0x56, 0xc0, |
|
| 4587 |
+ 0xd4, 0x89, 0xc8, 0x4e, 0xff, 0xf6, 0xa8, 0x94, 0x50, 0x4d, 0x92, 0x0f, 0x01, 0x26, 0x12, 0x78, |
|
| 4588 |
+ 0xb6, 0xae, 0xc8, 0x92, 0xac, 0xde, 0xfc, 0xc7, 0x80, 0x4b, 0x13, 0xae, 0x90, 0x3b, 0xb0, 0xf8, |
|
| 4589 |
+ 0x68, 0x75, 0xa7, 0xd1, 0xea, 0xac, 0x36, 0x76, 0xda, 0x9b, 0x1b, 0x9d, 0xdd, 0x8d, 0x07, 0x1b, |
|
| 4590 |
+ 0x9b, 0x8f, 0x36, 0x16, 0x32, 0xa5, 0xd2, 0xd3, 0x67, 0x95, 0xab, 0x13, 0xf8, 0x6e, 0xd8, 0x0b, |
|
| 4591 |
+ 0xd9, 0x81, 0x70, 0xfc, 0xf2, 0x29, 0x55, 0x83, 0x36, 0x57, 0x77, 0x9a, 0x0b, 0x46, 0xe9, 0x7f, |
|
| 4592 |
+ 0x4f, 0x9f, 0x55, 0xae, 0x4c, 0x88, 0x1a, 0x1c, 0xd5, 0x64, 0x3a, 0xad, 0xd9, 0xdd, 0x5a, 0x13, |
|
| 4593 |
+ 0x9a, 0x6c, 0xaa, 0x66, 0xb7, 0xef, 0xa6, 0x69, 0x68, 0x73, 0x7d, 0xf3, 0x61, 0x73, 0x21, 0x97, |
|
| 4594 |
+ 0xaa, 0xa1, 0x18, 0xb0, 0x21, 0x96, 0xae, 0x7d, 0xf3, 0x7d, 0x39, 0xf3, 0xf3, 0x0f, 0xe5, 0xc9, |
|
| 4595 |
+ 0xab, 0xae, 0x04, 0x30, 0x23, 0xb7, 0x88, 0x9b, 0x2c, 0x2a, 0xe7, 0x35, 0x62, 0xa9, 0x72, 0x5e, |
|
| 4596 |
+ 0x3d, 0x55, 0xaf, 0xfc, 0xfa, 0xe3, 0xdf, 0xdf, 0x65, 0x2f, 0xc1, 0xbc, 0x24, 0xde, 0x09, 0xec, |
|
| 4597 |
+ 0xd0, 0xee, 0x22, 0x7f, 0xd7, 0xa8, 0x5b, 0xcf, 0x5f, 0x94, 0x33, 0xbf, 0xbf, 0x28, 0x67, 0xbe, |
|
| 4598 |
+ 0x1a, 0x97, 0x8d, 0xe7, 0xe3, 0xb2, 0xf1, 0xdb, 0xb8, 0x6c, 0xfc, 0x39, 0x2e, 0x1b, 0x7b, 0xa6, |
|
| 4599 |
+ 0xfc, 0x03, 0xf9, 0xfe, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xe6, 0x76, 0x89, 0xef, 0x57, 0x0b, |
|
| 4600 |
+ 0x00, 0x00, |
|
| 4599 | 4601 |
} |
| ... | ... |
@@ -2,11 +2,11 @@ syntax = "proto3"; |
| 2 | 2 |
|
| 3 | 3 |
package docker.swarmkit.v1; |
| 4 | 4 |
|
| 5 |
-import "specs.proto"; |
|
| 6 |
-import "objects.proto"; |
|
| 7 |
-import "types.proto"; |
|
| 5 |
+import "github.com/docker/swarmkit/api/specs.proto"; |
|
| 6 |
+import "github.com/docker/swarmkit/api/objects.proto"; |
|
| 7 |
+import "github.com/docker/swarmkit/api/types.proto"; |
|
| 8 | 8 |
import "gogoproto/gogo.proto"; |
| 9 |
-import "plugin/plugin.proto"; |
|
| 9 |
+import "github.com/docker/swarmkit/protobuf/plugin/plugin.proto"; |
|
| 10 | 10 |
|
| 11 | 11 |
message Object {
|
| 12 | 12 |
oneof Object {
|
| ... | ... |
@@ -68,14 +68,11 @@ type SecurityConfig struct {
|
| 68 | 68 |
renewalMu sync.Mutex |
| 69 | 69 |
|
| 70 | 70 |
rootCA *RootCA |
| 71 |
- externalCA *ExternalCA |
|
| 72 | 71 |
keyReadWriter *KeyReadWriter |
| 73 | 72 |
|
| 74 | 73 |
certificate *tls.Certificate |
| 75 | 74 |
issuerInfo *IssuerInfo |
| 76 | 75 |
|
| 77 |
- externalCAClientRootPool *x509.CertPool |
|
| 78 |
- |
|
| 79 | 76 |
ServerTLSCreds *MutableTLSCreds |
| 80 | 77 |
ClientTLSCreds *MutableTLSCreds |
| 81 | 78 |
|
| ... | ... |
@@ -90,7 +87,7 @@ type CertificateUpdate struct {
|
| 90 | 90 |
Err error |
| 91 | 91 |
} |
| 92 | 92 |
|
| 93 |
-func validateRootCAAndTLSCert(rootCA *RootCA, externalCARootPool *x509.CertPool, tlsKeyPair *tls.Certificate) error {
|
|
| 93 |
+func validateRootCAAndTLSCert(rootCA *RootCA, tlsKeyPair *tls.Certificate) error {
|
|
| 94 | 94 |
var ( |
| 95 | 95 |
leafCert *x509.Certificate |
| 96 | 96 |
intermediatePool *x509.CertPool |
| ... | ... |
@@ -116,10 +113,6 @@ func validateRootCAAndTLSCert(rootCA *RootCA, externalCARootPool *x509.CertPool, |
| 116 | 116 |
if _, err := leafCert.Verify(opts); err != nil {
|
| 117 | 117 |
return errors.Wrap(err, "new root CA does not match existing TLS credentials") |
| 118 | 118 |
} |
| 119 |
- opts.Roots = externalCARootPool |
|
| 120 |
- if _, err := leafCert.Verify(opts); err != nil {
|
|
| 121 |
- return errors.Wrap(err, "new external root pool does not match existing TLS credentials") |
|
| 122 |
- } |
|
| 123 | 119 |
return nil |
| 124 | 120 |
} |
| 125 | 121 |
|
| ... | ... |
@@ -139,16 +132,7 @@ func NewSecurityConfig(rootCA *RootCA, krw *KeyReadWriter, tlsKeyPair *tls.Certi |
| 139 | 139 |
return nil, nil, err |
| 140 | 140 |
} |
| 141 | 141 |
|
| 142 |
- // Make a new TLS config for the external CA client without a |
|
| 143 |
- // ServerName value set. |
|
| 144 |
- externalCATLSConfig := &tls.Config{
|
|
| 145 |
- Certificates: []tls.Certificate{*tlsKeyPair},
|
|
| 146 |
- RootCAs: rootCA.Pool, |
|
| 147 |
- MinVersion: tls.VersionTLS12, |
|
| 148 |
- } |
|
| 149 |
- |
|
| 150 | 142 |
q := watch.NewQueue() |
| 151 |
- |
|
| 152 | 143 |
return &SecurityConfig{
|
| 153 | 144 |
rootCA: rootCA, |
| 154 | 145 |
keyReadWriter: krw, |
| ... | ... |
@@ -157,10 +141,8 @@ func NewSecurityConfig(rootCA *RootCA, krw *KeyReadWriter, tlsKeyPair *tls.Certi |
| 157 | 157 |
issuerInfo: issuerInfo, |
| 158 | 158 |
queue: q, |
| 159 | 159 |
|
| 160 |
- externalCA: NewExternalCA(rootCA, externalCATLSConfig), |
|
| 161 |
- ClientTLSCreds: clientTLSCreds, |
|
| 162 |
- ServerTLSCreds: serverTLSCreds, |
|
| 163 |
- externalCAClientRootPool: rootCA.Pool, |
|
| 160 |
+ ClientTLSCreds: clientTLSCreds, |
|
| 161 |
+ ServerTLSCreds: serverTLSCreds, |
|
| 164 | 162 |
}, q.Close, nil |
| 165 | 163 |
} |
| 166 | 164 |
|
| ... | ... |
@@ -172,11 +154,6 @@ func (s *SecurityConfig) RootCA() *RootCA {
|
| 172 | 172 |
return s.rootCA |
| 173 | 173 |
} |
| 174 | 174 |
|
| 175 |
-// ExternalCA returns the external CA. |
|
| 176 |
-func (s *SecurityConfig) ExternalCA() *ExternalCA {
|
|
| 177 |
- return s.externalCA |
|
| 178 |
-} |
|
| 179 |
- |
|
| 180 | 175 |
// KeyWriter returns the object that can write keys to disk |
| 181 | 176 |
func (s *SecurityConfig) KeyWriter() KeyWriter {
|
| 182 | 177 |
return s.keyReadWriter |
| ... | ... |
@@ -188,19 +165,16 @@ func (s *SecurityConfig) KeyReader() KeyReader {
|
| 188 | 188 |
} |
| 189 | 189 |
|
| 190 | 190 |
// UpdateRootCA replaces the root CA with a new root CA |
| 191 |
-func (s *SecurityConfig) UpdateRootCA(rootCA *RootCA, externalCARootPool *x509.CertPool) error {
|
|
| 191 |
+func (s *SecurityConfig) UpdateRootCA(rootCA *RootCA) error {
|
|
| 192 | 192 |
s.mu.Lock() |
| 193 | 193 |
defer s.mu.Unlock() |
| 194 | 194 |
|
| 195 | 195 |
// refuse to update the root CA if the current TLS credentials do not validate against it |
| 196 |
- if err := validateRootCAAndTLSCert(rootCA, externalCARootPool, s.certificate); err != nil {
|
|
| 196 |
+ if err := validateRootCAAndTLSCert(rootCA, s.certificate); err != nil {
|
|
| 197 | 197 |
return err |
| 198 | 198 |
} |
| 199 | 199 |
|
| 200 | 200 |
s.rootCA = rootCA |
| 201 |
- s.externalCAClientRootPool = externalCARootPool |
|
| 202 |
- s.externalCA.UpdateRootCA(rootCA) |
|
| 203 |
- |
|
| 204 | 201 |
return s.updateTLSCredentials(s.certificate, s.issuerInfo) |
| 205 | 202 |
} |
| 206 | 203 |
|
| ... | ... |
@@ -233,14 +207,6 @@ func (s *SecurityConfig) updateTLSCredentials(certificate *tls.Certificate, issu |
| 233 | 233 |
return errors.Wrap(err, "failed to update the client credentials") |
| 234 | 234 |
} |
| 235 | 235 |
|
| 236 |
- // Update the external CA to use the new client TLS |
|
| 237 |
- // config using a copy without a serverName specified. |
|
| 238 |
- s.externalCA.UpdateTLSConfig(&tls.Config{
|
|
| 239 |
- Certificates: certs, |
|
| 240 |
- RootCAs: s.externalCAClientRootPool, |
|
| 241 |
- MinVersion: tls.VersionTLS12, |
|
| 242 |
- }) |
|
| 243 |
- |
|
| 244 | 236 |
if err := s.ServerTLSCreds.loadNewTLSConfig(serverConfig); err != nil {
|
| 245 | 237 |
return errors.Wrap(err, "failed to update the server TLS credentials") |
| 246 | 238 |
} |
| ... | ... |
@@ -507,7 +473,7 @@ func updateRootThenUpdateCert(ctx context.Context, s *SecurityConfig, connBroker |
| 507 | 507 |
return nil, nil, err |
| 508 | 508 |
} |
| 509 | 509 |
// validate against the existing security config creds |
| 510 |
- if err := s.UpdateRootCA(&rootCA, rootCA.Pool); err != nil {
|
|
| 510 |
+ if err := s.UpdateRootCA(&rootCA); err != nil {
|
|
| 511 | 511 |
return nil, nil, err |
| 512 | 512 |
} |
| 513 | 513 |
if err := SaveRootCA(rootCA, rootPaths); err != nil {
|
| ... | ... |
@@ -47,18 +47,28 @@ var ErrNoExternalCAURLs = errors.New("no external CA URLs")
|
| 47 | 47 |
type ExternalCA struct {
|
| 48 | 48 |
ExternalRequestTimeout time.Duration |
| 49 | 49 |
|
| 50 |
- mu sync.Mutex |
|
| 51 |
- rootCA *RootCA |
|
| 52 |
- urls []string |
|
| 53 |
- client *http.Client |
|
| 50 |
+ mu sync.Mutex |
|
| 51 |
+ intermediates []byte |
|
| 52 |
+ urls []string |
|
| 53 |
+ client *http.Client |
|
| 54 |
+} |
|
| 55 |
+ |
|
| 56 |
+// NewExternalCATLSConfig takes a TLS certificate and root pool and returns a TLS config that can be updated |
|
| 57 |
+// without killing existing connections |
|
| 58 |
+func NewExternalCATLSConfig(certs []tls.Certificate, rootPool *x509.CertPool) *tls.Config {
|
|
| 59 |
+ return &tls.Config{
|
|
| 60 |
+ Certificates: certs, |
|
| 61 |
+ RootCAs: rootPool, |
|
| 62 |
+ MinVersion: tls.VersionTLS12, |
|
| 63 |
+ } |
|
| 54 | 64 |
} |
| 55 | 65 |
|
| 56 | 66 |
// NewExternalCA creates a new ExternalCA which uses the given tlsConfig to |
| 57 | 67 |
// authenticate to any of the given URLS of CFSSL API endpoints. |
| 58 |
-func NewExternalCA(rootCA *RootCA, tlsConfig *tls.Config, urls ...string) *ExternalCA {
|
|
| 68 |
+func NewExternalCA(intermediates []byte, tlsConfig *tls.Config, urls ...string) *ExternalCA {
|
|
| 59 | 69 |
return &ExternalCA{
|
| 60 | 70 |
ExternalRequestTimeout: 5 * time.Second, |
| 61 |
- rootCA: rootCA, |
|
| 71 |
+ intermediates: intermediates, |
|
| 62 | 72 |
urls: urls, |
| 63 | 73 |
client: &http.Client{
|
| 64 | 74 |
Transport: &http.Transport{
|
| ... | ... |
@@ -68,19 +78,6 @@ func NewExternalCA(rootCA *RootCA, tlsConfig *tls.Config, urls ...string) *Exter |
| 68 | 68 |
} |
| 69 | 69 |
} |
| 70 | 70 |
|
| 71 |
-// Copy returns a copy of the external CA that can be updated independently |
|
| 72 |
-func (eca *ExternalCA) Copy() *ExternalCA {
|
|
| 73 |
- eca.mu.Lock() |
|
| 74 |
- defer eca.mu.Unlock() |
|
| 75 |
- |
|
| 76 |
- return &ExternalCA{
|
|
| 77 |
- ExternalRequestTimeout: eca.ExternalRequestTimeout, |
|
| 78 |
- rootCA: eca.rootCA, |
|
| 79 |
- urls: eca.urls, |
|
| 80 |
- client: eca.client, |
|
| 81 |
- } |
|
| 82 |
-} |
|
| 83 |
- |
|
| 84 | 71 |
// UpdateTLSConfig updates the HTTP Client for this ExternalCA by creating |
| 85 | 72 |
// a new client which uses the given tlsConfig. |
| 86 | 73 |
func (eca *ExternalCA) UpdateTLSConfig(tlsConfig *tls.Config) {
|
| ... | ... |
@@ -102,13 +99,6 @@ func (eca *ExternalCA) UpdateURLs(urls ...string) {
|
| 102 | 102 |
eca.urls = urls |
| 103 | 103 |
} |
| 104 | 104 |
|
| 105 |
-// UpdateRootCA changes the root CA used to append intermediates |
|
| 106 |
-func (eca *ExternalCA) UpdateRootCA(rca *RootCA) {
|
|
| 107 |
- eca.mu.Lock() |
|
| 108 |
- eca.rootCA = rca |
|
| 109 |
- eca.mu.Unlock() |
|
| 110 |
-} |
|
| 111 |
- |
|
| 112 | 105 |
// Sign signs a new certificate by proxying the given certificate signing |
| 113 | 106 |
// request to an external CFSSL API server. |
| 114 | 107 |
func (eca *ExternalCA) Sign(ctx context.Context, req signer.SignRequest) (cert []byte, err error) {
|
| ... | ... |
@@ -117,7 +107,7 @@ func (eca *ExternalCA) Sign(ctx context.Context, req signer.SignRequest) (cert [ |
| 117 | 117 |
eca.mu.Lock() |
| 118 | 118 |
urls := eca.urls |
| 119 | 119 |
client := eca.client |
| 120 |
- intermediates := eca.rootCA.Intermediates |
|
| 120 |
+ intermediates := eca.intermediates |
|
| 121 | 121 |
eca.mu.Unlock() |
| 122 | 122 |
|
| 123 | 123 |
if len(urls) == 0 {
|
| ... | ... |
@@ -25,13 +25,6 @@ const ( |
| 25 | 25 |
defaultRootReconciliationInterval = 3 * time.Second |
| 26 | 26 |
) |
| 27 | 27 |
|
| 28 |
-// APISecurityConfigUpdater knows how to update a SecurityConfig from an api.Cluster object |
|
| 29 |
-type APISecurityConfigUpdater interface {
|
|
| 30 |
- UpdateRootCA(ctx context.Context, cluster *api.Cluster) error |
|
| 31 |
-} |
|
| 32 |
- |
|
| 33 |
-var _ APISecurityConfigUpdater = &Server{}
|
|
| 34 |
- |
|
| 35 | 28 |
// Server is the CA and NodeCA API gRPC server. |
| 36 | 29 |
// TODO(aaronl): At some point we may want to have separate implementations of |
| 37 | 30 |
// CA, NodeCA, and other hypothetical future CA services. At the moment, |
| ... | ... |
@@ -43,6 +36,10 @@ type Server struct {
|
| 43 | 43 |
cancel func() |
| 44 | 44 |
store *store.MemoryStore |
| 45 | 45 |
securityConfig *SecurityConfig |
| 46 |
+ clusterID string |
|
| 47 |
+ localRootCA *RootCA |
|
| 48 |
+ externalCA *ExternalCA |
|
| 49 |
+ externalCAPool *x509.CertPool |
|
| 46 | 50 |
joinTokens *api.JoinTokens |
| 47 | 51 |
reconciliationRetryInterval time.Duration |
| 48 | 52 |
|
| ... | ... |
@@ -60,10 +57,12 @@ type Server struct {
|
| 60 | 60 |
// the security config as a result |
| 61 | 61 |
lastSeenClusterRootCA *api.RootCA |
| 62 | 62 |
lastSeenExternalCAs []*api.ExternalCA |
| 63 |
- secConfigMu sync.Mutex |
|
| 64 | 63 |
|
| 65 |
- // before we update the security config with the new root CA, we need to be able to save the root certs |
|
| 66 |
- rootPaths CertPaths |
|
| 64 |
+ // This mutex protects the components of the CA server used to issue new certificates |
|
| 65 |
+ // (and any attributes used to update those components): `lastSeenClusterRootCA` and |
|
| 66 |
+ // `lastSeenExternalCA`, which are used to update `externalCA` and the `rootCA` object |
|
| 67 |
+ // of the SecurityConfig |
|
| 68 |
+ signingMu sync.Mutex |
|
| 67 | 69 |
|
| 68 | 70 |
// lets us monitor and finish root rotations |
| 69 | 71 |
rootReconciler *rootRotationReconciler |
| ... | ... |
@@ -78,18 +77,36 @@ func DefaultCAConfig() api.CAConfig {
|
| 78 | 78 |
} |
| 79 | 79 |
|
| 80 | 80 |
// NewServer creates a CA API server. |
| 81 |
-func NewServer(store *store.MemoryStore, securityConfig *SecurityConfig, rootCAPaths CertPaths) *Server {
|
|
| 81 |
+func NewServer(store *store.MemoryStore, securityConfig *SecurityConfig) *Server {
|
|
| 82 | 82 |
return &Server{
|
| 83 | 83 |
store: store, |
| 84 | 84 |
securityConfig: securityConfig, |
| 85 |
+ localRootCA: securityConfig.RootCA(), |
|
| 86 |
+ externalCA: NewExternalCA(nil, nil), |
|
| 85 | 87 |
pending: make(map[string]*api.Node), |
| 86 | 88 |
started: make(chan struct{}),
|
| 87 | 89 |
reconciliationRetryInterval: defaultReconciliationRetryInterval, |
| 88 | 90 |
rootReconciliationRetryInterval: defaultRootReconciliationInterval, |
| 89 |
- rootPaths: rootCAPaths, |
|
| 91 |
+ clusterID: securityConfig.ClientTLSCreds.Organization(), |
|
| 90 | 92 |
} |
| 91 | 93 |
} |
| 92 | 94 |
|
| 95 |
+// ExternalCA returns the current external CA - this is exposed to support unit testing only, and the external CA |
|
| 96 |
+// should really be a private field |
|
| 97 |
+func (s *Server) ExternalCA() *ExternalCA {
|
|
| 98 |
+ s.signingMu.Lock() |
|
| 99 |
+ defer s.signingMu.Unlock() |
|
| 100 |
+ return s.externalCA |
|
| 101 |
+} |
|
| 102 |
+ |
|
| 103 |
+// RootCA returns the current local root CA - this is exposed to support unit testing only, and the root CA |
|
| 104 |
+// should really be a private field |
|
| 105 |
+func (s *Server) RootCA() *RootCA {
|
|
| 106 |
+ s.signingMu.Lock() |
|
| 107 |
+ defer s.signingMu.Unlock() |
|
| 108 |
+ return s.localRootCA |
|
| 109 |
+} |
|
| 110 |
+ |
|
| 93 | 111 |
// SetReconciliationRetryInterval changes the time interval between |
| 94 | 112 |
// reconciliation attempts. This function must be called before Run. |
| 95 | 113 |
func (s *Server) SetReconciliationRetryInterval(reconciliationRetryInterval time.Duration) {
|
| ... | ... |
@@ -114,7 +131,7 @@ func (s *Server) GetUnlockKey(ctx context.Context, request *api.GetUnlockKeyRequ |
| 114 | 114 |
// a cached value. |
| 115 | 115 |
resp := api.GetUnlockKeyResponse{}
|
| 116 | 116 |
s.store.View(func(tx store.ReadTx) {
|
| 117 |
- cluster := store.GetCluster(tx, s.securityConfig.ClientTLSCreds.Organization()) |
|
| 117 |
+ cluster := store.GetCluster(tx, s.clusterID) |
|
| 118 | 118 |
resp.Version = cluster.Meta.Version |
| 119 | 119 |
if cluster.Spec.EncryptionConfig.AutoLockManagers {
|
| 120 | 120 |
for _, encryptionKey := range cluster.UnlockKeys {
|
| ... | ... |
@@ -222,7 +239,7 @@ func (s *Server) IssueNodeCertificate(ctx context.Context, request *api.IssueNod |
| 222 | 222 |
return nil, grpc.Errorf(codes.InvalidArgument, codes.InvalidArgument.String()) |
| 223 | 223 |
} |
| 224 | 224 |
|
| 225 |
- if _, err := s.isRunningLocked(); err != nil {
|
|
| 225 |
+ if err := s.isReadyLocked(); err != nil {
|
|
| 226 | 226 |
return nil, err |
| 227 | 227 |
} |
| 228 | 228 |
|
| ... | ... |
@@ -233,8 +250,7 @@ func (s *Server) IssueNodeCertificate(ctx context.Context, request *api.IssueNod |
| 233 | 233 |
) |
| 234 | 234 |
|
| 235 | 235 |
s.store.View(func(readTx store.ReadTx) {
|
| 236 |
- clusters, err = store.FindClusters(readTx, store.ByName("default"))
|
|
| 237 |
- |
|
| 236 |
+ clusters, err = store.FindClusters(readTx, store.ByName(store.DefaultClusterName)) |
|
| 238 | 237 |
}) |
| 239 | 238 |
|
| 240 | 239 |
// Not having a cluster object yet means we can't check |
| ... | ... |
@@ -254,14 +270,14 @@ func (s *Server) IssueNodeCertificate(ctx context.Context, request *api.IssueNod |
| 254 | 254 |
|
| 255 | 255 |
// If the remote node is a worker (either forwarded by a manager, or calling directly), |
| 256 | 256 |
// issue a renew worker certificate entry with the correct ID |
| 257 |
- nodeID, err := AuthorizeForwardedRoleAndOrg(ctx, []string{WorkerRole}, []string{ManagerRole}, s.securityConfig.ClientTLSCreds.Organization(), blacklistedCerts)
|
|
| 257 |
+ nodeID, err := AuthorizeForwardedRoleAndOrg(ctx, []string{WorkerRole}, []string{ManagerRole}, s.clusterID, blacklistedCerts)
|
|
| 258 | 258 |
if err == nil {
|
| 259 | 259 |
return s.issueRenewCertificate(ctx, nodeID, request.CSR) |
| 260 | 260 |
} |
| 261 | 261 |
|
| 262 | 262 |
// If the remote node is a manager (either forwarded by another manager, or calling directly), |
| 263 | 263 |
// issue a renew certificate entry with the correct ID |
| 264 |
- nodeID, err = AuthorizeForwardedRoleAndOrg(ctx, []string{ManagerRole}, []string{ManagerRole}, s.securityConfig.ClientTLSCreds.Organization(), blacklistedCerts)
|
|
| 264 |
+ nodeID, err = AuthorizeForwardedRoleAndOrg(ctx, []string{ManagerRole}, []string{ManagerRole}, s.clusterID, blacklistedCerts)
|
|
| 265 | 265 |
if err == nil {
|
| 266 | 266 |
return s.issueRenewCertificate(ctx, nodeID, request.CSR) |
| 267 | 267 |
} |
| ... | ... |
@@ -393,8 +409,11 @@ func (s *Server) GetRootCACertificate(ctx context.Context, request *api.GetRootC |
| 393 | 393 |
"method": "GetRootCACertificate", |
| 394 | 394 |
}) |
| 395 | 395 |
|
| 396 |
+ s.signingMu.Lock() |
|
| 397 |
+ defer s.signingMu.Unlock() |
|
| 398 |
+ |
|
| 396 | 399 |
return &api.GetRootCACertificateResponse{
|
| 397 |
- Certificate: s.securityConfig.RootCA().Certs, |
|
| 400 |
+ Certificate: s.localRootCA.Certs, |
|
| 398 | 401 |
}, nil |
| 399 | 402 |
} |
| 400 | 403 |
|
| ... | ... |
@@ -409,47 +428,51 @@ func (s *Server) Run(ctx context.Context) error {
|
| 409 | 409 |
s.wg.Add(1) |
| 410 | 410 |
s.ctx, s.cancel = context.WithCancel(log.WithModule(ctx, "ca")) |
| 411 | 411 |
ctx = s.ctx |
| 412 |
- // we need to set it on the server, because `Server.UpdateRootCA` can be called from outside the Run function |
|
| 413 |
- s.rootReconciler = &rootRotationReconciler{
|
|
| 414 |
- ctx: log.WithField(ctx, "method", "(*Server).rootRotationReconciler"), |
|
| 415 |
- clusterID: s.securityConfig.ClientTLSCreds.Organization(), |
|
| 416 |
- store: s.store, |
|
| 417 |
- batchUpdateInterval: s.rootReconciliationRetryInterval, |
|
| 418 |
- } |
|
| 419 |
- rootReconciler := s.rootReconciler |
|
| 420 | 412 |
s.mu.Unlock() |
| 421 | 413 |
defer s.wg.Done() |
| 422 | 414 |
defer func() {
|
| 423 | 415 |
s.mu.Lock() |
| 424 |
- s.rootReconciler = nil |
|
| 425 | 416 |
s.mu.Unlock() |
| 426 | 417 |
}() |
| 427 | 418 |
|
| 428 | 419 |
// Retrieve the channels to keep track of changes in the cluster |
| 429 | 420 |
// Retrieve all the currently registered nodes |
| 430 |
- var nodes []*api.Node |
|
| 431 |
- |
|
| 421 |
+ var ( |
|
| 422 |
+ nodes []*api.Node |
|
| 423 |
+ cluster *api.Cluster |
|
| 424 |
+ err error |
|
| 425 |
+ ) |
|
| 432 | 426 |
updates, cancel, err := store.ViewAndWatch( |
| 433 | 427 |
s.store, |
| 434 | 428 |
func(readTx store.ReadTx) error {
|
| 435 |
- clusters, err := store.FindClusters(readTx, store.ByName(store.DefaultClusterName)) |
|
| 436 |
- if err != nil {
|
|
| 437 |
- return err |
|
| 438 |
- } |
|
| 439 |
- if len(clusters) != 1 {
|
|
| 429 |
+ cluster = store.GetCluster(readTx, s.clusterID) |
|
| 430 |
+ if cluster == nil {
|
|
| 440 | 431 |
return errors.New("could not find cluster object")
|
| 441 | 432 |
} |
| 442 |
- s.UpdateRootCA(ctx, clusters[0]) // call once to ensure that the join tokens are always set |
|
| 443 | 433 |
nodes, err = store.FindNodes(readTx, store.All) |
| 444 | 434 |
return err |
| 445 | 435 |
}, |
| 446 | 436 |
api.EventCreateNode{},
|
| 447 | 437 |
api.EventUpdateNode{},
|
| 448 | 438 |
api.EventDeleteNode{},
|
| 439 |
+ api.EventUpdateCluster{
|
|
| 440 |
+ Cluster: &api.Cluster{ID: s.clusterID},
|
|
| 441 |
+ Checks: []api.ClusterCheckFunc{api.ClusterCheckID},
|
|
| 442 |
+ }, |
|
| 449 | 443 |
) |
| 450 | 444 |
|
| 451 |
- // Do this after updateCluster has been called, so isRunning never |
|
| 452 |
- // returns true without joinTokens being set correctly. |
|
| 445 |
+ // call once to ensure that the join tokens and local/external CA signer are always set |
|
| 446 |
+ rootReconciler := &rootRotationReconciler{
|
|
| 447 |
+ ctx: log.WithField(ctx, "method", "(*Server).rootRotationReconciler"), |
|
| 448 |
+ clusterID: s.clusterID, |
|
| 449 |
+ store: s.store, |
|
| 450 |
+ batchUpdateInterval: s.rootReconciliationRetryInterval, |
|
| 451 |
+ } |
|
| 452 |
+ |
|
| 453 |
+ s.UpdateRootCA(ctx, cluster, rootReconciler) |
|
| 454 |
+ |
|
| 455 |
+ // Do this after updateCluster has been called, so Ready() and isRunning never returns true without |
|
| 456 |
+ // the join tokens and external CA/security config's root CA being set correctly |
|
| 453 | 457 |
s.mu.Lock() |
| 454 | 458 |
close(s.started) |
| 455 | 459 |
s.mu.Unlock() |
| ... | ... |
@@ -475,6 +498,9 @@ func (s *Server) Run(ctx context.Context) error {
|
| 475 | 475 |
ticker := time.NewTicker(s.reconciliationRetryInterval) |
| 476 | 476 |
defer ticker.Stop() |
| 477 | 477 |
|
| 478 |
+ externalTLSCredsChange, externalTLSWatchCancel := s.securityConfig.Watch() |
|
| 479 |
+ defer externalTLSWatchCancel() |
|
| 480 |
+ |
|
| 478 | 481 |
// Watch for new nodes being created, new nodes being updated, and changes |
| 479 | 482 |
// to the cluster |
| 480 | 483 |
for {
|
| ... | ... |
@@ -499,8 +525,29 @@ func (s *Server) Run(ctx context.Context) error {
|
| 499 | 499 |
rootReconciler.UpdateNode(v.Node) |
| 500 | 500 |
case api.EventDeleteNode: |
| 501 | 501 |
rootReconciler.DeleteNode(v.Node) |
| 502 |
+ case api.EventUpdateCluster: |
|
| 503 |
+ if v.Cluster.ID == s.clusterID {
|
|
| 504 |
+ s.UpdateRootCA(ctx, v.Cluster, rootReconciler) |
|
| 505 |
+ } |
|
| 502 | 506 |
} |
| 503 |
- |
|
| 507 |
+ case <-externalTLSCredsChange: |
|
| 508 |
+ // The TLS certificates can rotate independently of the root CA (and hence which roots the |
|
| 509 |
+ // external CA trusts) and external CA URLs. It's possible that the root CA update is received |
|
| 510 |
+ // before the external TLS cred change notification. During that period, it is possible that |
|
| 511 |
+ // the TLS creds will expire or otherwise fail to authorize against external CAs. However, in |
|
| 512 |
+ // that case signing will just fail with a recoverable connectivity error - the state of the |
|
| 513 |
+ // certificate issuance is left as pending, and on the next tick, the server will try to sign |
|
| 514 |
+ // all nodes with pending certs again (by which time the TLS cred change will have been |
|
| 515 |
+ // received). |
|
| 516 |
+ |
|
| 517 |
+ // Note that if the external CA changes, the new external CA *MUST* trust the current server's |
|
| 518 |
+ // certificate issuer, and this server's certificates should not be extremely close to expiry, |
|
| 519 |
+ // otherwise this server would not be able to get new TLS certificates and will no longer be |
|
| 520 |
+ // able to function. |
|
| 521 |
+ s.signingMu.Lock() |
|
| 522 |
+ s.externalCA.UpdateTLSConfig(NewExternalCATLSConfig( |
|
| 523 |
+ s.securityConfig.ClientTLSCreds.Config().Certificates, s.externalCAPool)) |
|
| 524 |
+ s.signingMu.Unlock() |
|
| 504 | 525 |
case <-ticker.C: |
| 505 | 526 |
for _, node := range s.pending {
|
| 506 | 527 |
if err := s.evaluateAndSignNodeCert(ctx, node); err != nil {
|
| ... | ... |
@@ -527,6 +574,7 @@ func (s *Server) Stop() error {
|
| 527 | 527 |
} |
| 528 | 528 |
s.cancel() |
| 529 | 529 |
s.started = make(chan struct{})
|
| 530 |
+ s.joinTokens = nil |
|
| 530 | 531 |
s.mu.Unlock() |
| 531 | 532 |
|
| 532 | 533 |
// Wait for Run to complete |
| ... | ... |
@@ -553,6 +601,18 @@ func (s *Server) isRunningLocked() (context.Context, error) {
|
| 553 | 553 |
return ctx, nil |
| 554 | 554 |
} |
| 555 | 555 |
|
| 556 |
+func (s *Server) isReadyLocked() error {
|
|
| 557 |
+ s.mu.Lock() |
|
| 558 |
+ defer s.mu.Unlock() |
|
| 559 |
+ if !s.isRunning() {
|
|
| 560 |
+ return grpc.Errorf(codes.Aborted, "CA signer is stopped") |
|
| 561 |
+ } |
|
| 562 |
+ if s.joinTokens == nil {
|
|
| 563 |
+ return grpc.Errorf(codes.Aborted, "CA signer is still starting") |
|
| 564 |
+ } |
|
| 565 |
+ return nil |
|
| 566 |
+} |
|
| 567 |
+ |
|
| 556 | 568 |
func (s *Server) isRunning() bool {
|
| 557 | 569 |
if s.ctx == nil {
|
| 558 | 570 |
return false |
| ... | ... |
@@ -565,33 +625,59 @@ func (s *Server) isRunning() bool {
|
| 565 | 565 |
return true |
| 566 | 566 |
} |
| 567 | 567 |
|
| 568 |
+// filterExternalCAURLS returns a list of external CA urls filtered by the desired cert. |
|
| 569 |
+func filterExternalCAURLS(ctx context.Context, desiredCert, defaultCert []byte, apiExternalCAs []*api.ExternalCA) (urls []string) {
|
|
| 570 |
+ desiredCert = NormalizePEMs(desiredCert) |
|
| 571 |
+ |
|
| 572 |
+ // TODO(aaronl): In the future, this will be abstracted with an ExternalCA interface that has different |
|
| 573 |
+ // implementations for different CA types. At the moment, only CFSSL is supported. |
|
| 574 |
+ for i, extCA := range apiExternalCAs {
|
|
| 575 |
+ // We want to support old external CA specifications which did not have a CA cert. If there is no cert specified, |
|
| 576 |
+ // we assume it's the old cert |
|
| 577 |
+ certForExtCA := extCA.CACert |
|
| 578 |
+ if len(certForExtCA) == 0 {
|
|
| 579 |
+ certForExtCA = defaultCert |
|
| 580 |
+ } |
|
| 581 |
+ certForExtCA = NormalizePEMs(certForExtCA) |
|
| 582 |
+ if extCA.Protocol != api.ExternalCA_CAProtocolCFSSL {
|
|
| 583 |
+ log.G(ctx).Debugf("skipping external CA %d (url: %s) due to unknown protocol type", i, extCA.URL)
|
|
| 584 |
+ continue |
|
| 585 |
+ } |
|
| 586 |
+ if !bytes.Equal(certForExtCA, desiredCert) {
|
|
| 587 |
+ log.G(ctx).Debugf("skipping external CA %d (url: %s) because it has the wrong CA cert", i, extCA.URL)
|
|
| 588 |
+ continue |
|
| 589 |
+ } |
|
| 590 |
+ urls = append(urls, extCA.URL) |
|
| 591 |
+ } |
|
| 592 |
+ return |
|
| 593 |
+} |
|
| 594 |
+ |
|
| 568 | 595 |
// UpdateRootCA is called when there are cluster changes, and it ensures that the local RootCA is |
| 569 | 596 |
// always aware of changes in clusterExpiry and the Root CA key material - this can be called by |
| 570 | 597 |
// anything to update the root CA material |
| 571 |
-func (s *Server) UpdateRootCA(ctx context.Context, cluster *api.Cluster) error {
|
|
| 598 |
+func (s *Server) UpdateRootCA(ctx context.Context, cluster *api.Cluster, reconciler *rootRotationReconciler) error {
|
|
| 572 | 599 |
s.mu.Lock() |
| 573 | 600 |
s.joinTokens = cluster.RootCA.JoinTokens.Copy() |
| 574 |
- reconciler := s.rootReconciler |
|
| 575 | 601 |
s.mu.Unlock() |
| 576 | 602 |
rCA := cluster.RootCA.Copy() |
| 577 | 603 |
if reconciler != nil {
|
| 578 | 604 |
reconciler.UpdateRootCA(rCA) |
| 579 | 605 |
} |
| 580 | 606 |
|
| 581 |
- s.secConfigMu.Lock() |
|
| 582 |
- defer s.secConfigMu.Unlock() |
|
| 607 |
+ s.signingMu.Lock() |
|
| 608 |
+ defer s.signingMu.Unlock() |
|
| 583 | 609 |
firstSeenCluster := s.lastSeenClusterRootCA == nil && s.lastSeenExternalCAs == nil |
| 584 | 610 |
rootCAChanged := len(rCA.CACert) != 0 && !equality.RootCAEqualStable(s.lastSeenClusterRootCA, rCA) |
| 585 | 611 |
externalCAChanged := !equality.ExternalCAsEqualStable(s.lastSeenExternalCAs, cluster.Spec.CAConfig.ExternalCAs) |
| 586 |
- logger := log.G(ctx).WithFields(logrus.Fields{
|
|
| 612 |
+ ctx = log.WithLogger(ctx, log.G(ctx).WithFields(logrus.Fields{
|
|
| 587 | 613 |
"cluster.id": cluster.ID, |
| 588 | 614 |
"method": "(*Server).UpdateRootCA", |
| 589 |
- }) |
|
| 615 |
+ })) |
|
| 590 | 616 |
|
| 591 | 617 |
if rootCAChanged {
|
| 592 | 618 |
setOrUpdate := "set" |
| 593 | 619 |
if !firstSeenCluster {
|
| 594 |
- logger.Debug("Updating security config due to change in cluster Root CA")
|
|
| 620 |
+ log.G(ctx).Debug("Updating signing root CA and external CA due to change in cluster Root CA")
|
|
| 595 | 621 |
setOrUpdate = "updated" |
| 596 | 622 |
} |
| 597 | 623 |
expiry := DefaultNodeCertExpiration |
| ... | ... |
@@ -599,91 +685,55 @@ func (s *Server) UpdateRootCA(ctx context.Context, cluster *api.Cluster) error {
|
| 599 | 599 |
// NodeCertExpiry exists, let's try to parse the duration out of it |
| 600 | 600 |
clusterExpiry, err := gogotypes.DurationFromProto(cluster.Spec.CAConfig.NodeCertExpiry) |
| 601 | 601 |
if err != nil {
|
| 602 |
- logger.WithError(err).Warn("failed to parse certificate expiration, using default")
|
|
| 602 |
+ log.G(ctx).WithError(err).Warn("failed to parse certificate expiration, using default")
|
|
| 603 | 603 |
} else {
|
| 604 | 604 |
// We were able to successfully parse the expiration out of the cluster. |
| 605 | 605 |
expiry = clusterExpiry |
| 606 | 606 |
} |
| 607 | 607 |
} else {
|
| 608 | 608 |
// NodeCertExpiry seems to be nil |
| 609 |
- logger.Warn("no certificate expiration specified, using default")
|
|
| 609 |
+ log.G(ctx).Warn("no certificate expiration specified, using default")
|
|
| 610 | 610 |
} |
| 611 | 611 |
// Attempt to update our local RootCA with the new parameters |
| 612 |
- var intermediates []byte |
|
| 613 |
- signingCert := rCA.CACert |
|
| 614 |
- signingKey := rCA.CAKey |
|
| 615 |
- if rCA.RootRotation != nil {
|
|
| 616 |
- signingCert = rCA.RootRotation.CrossSignedCACert |
|
| 617 |
- signingKey = rCA.RootRotation.CAKey |
|
| 618 |
- intermediates = rCA.RootRotation.CrossSignedCACert |
|
| 619 |
- } |
|
| 620 |
- if signingKey == nil {
|
|
| 621 |
- signingCert = nil |
|
| 622 |
- } |
|
| 623 |
- updatedRootCA, err := NewRootCA(rCA.CACert, signingCert, signingKey, expiry, intermediates) |
|
| 612 |
+ updatedRootCA, err := RootCAFromAPI(ctx, rCA, expiry) |
|
| 624 | 613 |
if err != nil {
|
| 625 | 614 |
return errors.Wrap(err, "invalid Root CA object in cluster") |
| 626 | 615 |
} |
| 627 |
- externalCARootPool := updatedRootCA.Pool |
|
| 616 |
+ |
|
| 617 |
+ s.localRootCA = &updatedRootCA |
|
| 618 |
+ s.externalCAPool = updatedRootCA.Pool |
|
| 619 |
+ externalCACert := rCA.CACert |
|
| 628 | 620 |
if rCA.RootRotation != nil {
|
| 621 |
+ externalCACert = rCA.RootRotation.CACert |
|
| 629 | 622 |
// the external CA has to trust the new CA cert |
| 630 |
- externalCARootPool = x509.NewCertPool() |
|
| 631 |
- externalCARootPool.AppendCertsFromPEM(rCA.CACert) |
|
| 632 |
- externalCARootPool.AppendCertsFromPEM(rCA.RootRotation.CACert) |
|
| 623 |
+ s.externalCAPool = x509.NewCertPool() |
|
| 624 |
+ s.externalCAPool.AppendCertsFromPEM(rCA.CACert) |
|
| 625 |
+ s.externalCAPool.AppendCertsFromPEM(rCA.RootRotation.CACert) |
|
| 633 | 626 |
} |
| 627 |
+ s.lastSeenExternalCAs = cluster.Spec.CAConfig.Copy().ExternalCAs |
|
| 628 |
+ urls := filterExternalCAURLS(ctx, externalCACert, rCA.CACert, s.lastSeenExternalCAs) |
|
| 629 |
+ // Replace the external CA with the relevant intermediates, URLS, and TLS config |
|
| 630 |
+ s.externalCA = NewExternalCA(updatedRootCA.Intermediates, |
|
| 631 |
+ NewExternalCATLSConfig(s.securityConfig.ClientTLSCreds.Config().Certificates, s.externalCAPool), urls...) |
|
| 634 | 632 |
|
| 635 |
- // Attempt to update our local RootCA with the new parameters |
|
| 636 |
- if err := s.securityConfig.UpdateRootCA(&updatedRootCA, externalCARootPool); err != nil {
|
|
| 637 |
- return errors.Wrap(err, "updating Root CA failed") |
|
| 638 |
- } |
|
| 639 |
- if err := SaveRootCA(updatedRootCA, s.rootPaths); err != nil {
|
|
| 640 |
- return errors.Wrap(err, "unable to save new root CA certificates") |
|
| 641 |
- } |
|
| 642 | 633 |
// only update the server cache if we've successfully updated the root CA |
| 643 |
- logger.Debugf("Root CA %s successfully", setOrUpdate)
|
|
| 634 |
+ log.G(ctx).Debugf("Root CA %s successfully", setOrUpdate)
|
|
| 644 | 635 |
s.lastSeenClusterRootCA = rCA |
| 645 |
- } |
|
| 646 |
- |
|
| 647 |
- // we want to update if the external CA changed, or if the root CA changed because the root CA could affect what |
|
| 648 |
- // certificate for external CAs we want to filter by |
|
| 649 |
- if rootCAChanged || externalCAChanged {
|
|
| 636 |
+ } else if externalCAChanged {
|
|
| 637 |
+ // we want to update only if the external CA URLS have changed, since if the root CA has changed we already |
|
| 638 |
+ // run similar logic |
|
| 650 | 639 |
if !firstSeenCluster {
|
| 651 |
- logger.Debug("Updating security config external CA URLs due to change in cluster Root CA or cluster spec")
|
|
| 640 |
+ log.G(ctx).Debug("Updating security config external CA URLs due to change in cluster spec's list of external CAs")
|
|
| 652 | 641 |
} |
| 653 | 642 |
wantedExternalCACert := rCA.CACert // we want to only add external CA URLs that use this cert |
| 654 | 643 |
if rCA.RootRotation != nil {
|
| 655 | 644 |
// we're rotating to a new root, so we only want external CAs with the new root cert |
| 656 | 645 |
wantedExternalCACert = rCA.RootRotation.CACert |
| 657 | 646 |
} |
| 658 |
- wantedExternalCACert = NormalizePEMs(wantedExternalCACert) |
|
| 659 |
- // Update our security config with the list of External CA URLs |
|
| 660 |
- // from the new cluster state. |
|
| 661 |
- |
|
| 662 |
- // TODO(aaronl): In the future, this will be abstracted with an |
|
| 663 |
- // ExternalCA interface that has different implementations for |
|
| 664 |
- // different CA types. At the moment, only CFSSL is supported. |
|
| 665 |
- var cfsslURLs []string |
|
| 666 |
- for i, extCA := range cluster.Spec.CAConfig.ExternalCAs {
|
|
| 667 |
- // We want to support old external CA specifications which did not have a CA cert. If there is no cert specified, |
|
| 668 |
- // we assume it's the old cert |
|
| 669 |
- certForExtCA := extCA.CACert |
|
| 670 |
- if len(certForExtCA) == 0 {
|
|
| 671 |
- certForExtCA = rCA.CACert |
|
| 672 |
- } |
|
| 673 |
- certForExtCA = NormalizePEMs(certForExtCA) |
|
| 674 |
- if extCA.Protocol != api.ExternalCA_CAProtocolCFSSL {
|
|
| 675 |
- logger.Debugf("skipping external CA %d (url: %s) due to unknown protocol type", i, extCA.URL)
|
|
| 676 |
- continue |
|
| 677 |
- } |
|
| 678 |
- if !bytes.Equal(certForExtCA, wantedExternalCACert) {
|
|
| 679 |
- logger.Debugf("skipping external CA %d (url: %s) because it has the wrong CA cert", i, extCA.URL)
|
|
| 680 |
- continue |
|
| 681 |
- } |
|
| 682 |
- cfsslURLs = append(cfsslURLs, extCA.URL) |
|
| 683 |
- } |
|
| 684 |
- |
|
| 685 |
- s.securityConfig.externalCA.UpdateURLs(cfsslURLs...) |
|
| 647 |
+ // Update our external CA with the list of External CA URLs from the new cluster state |
|
| 686 | 648 |
s.lastSeenExternalCAs = cluster.Spec.CAConfig.Copy().ExternalCAs |
| 649 |
+ urls := filterExternalCAURLS(ctx, wantedExternalCACert, rCA.CACert, s.lastSeenExternalCAs) |
|
| 650 |
+ s.externalCA.UpdateURLs(urls...) |
|
| 687 | 651 |
} |
| 688 | 652 |
return nil |
| 689 | 653 |
} |
| ... | ... |
@@ -714,8 +764,10 @@ func (s *Server) evaluateAndSignNodeCert(ctx context.Context, node *api.Node) er |
| 714 | 714 |
|
| 715 | 715 |
// signNodeCert does the bulk of the work for signing a certificate |
| 716 | 716 |
func (s *Server) signNodeCert(ctx context.Context, node *api.Node) error {
|
| 717 |
- rootCA := s.securityConfig.RootCA() |
|
| 718 |
- externalCA := s.securityConfig.externalCA |
|
| 717 |
+ s.signingMu.Lock() |
|
| 718 |
+ rootCA := s.localRootCA |
|
| 719 |
+ externalCA := s.externalCA |
|
| 720 |
+ s.signingMu.Unlock() |
|
| 719 | 721 |
|
| 720 | 722 |
node = node.Copy() |
| 721 | 723 |
nodeID := node.ID |
| ... | ... |
@@ -736,7 +788,7 @@ func (s *Server) signNodeCert(ctx context.Context, node *api.Node) error {
|
| 736 | 736 |
rawCSR = node.Certificate.CSR |
| 737 | 737 |
cn = node.Certificate.CN |
| 738 | 738 |
ou = role |
| 739 |
- org = s.securityConfig.ClientTLSCreds.Organization() |
|
| 739 |
+ org = s.clusterID |
|
| 740 | 740 |
) |
| 741 | 741 |
|
| 742 | 742 |
// Try using the external CA first. |
| ... | ... |
@@ -847,3 +899,19 @@ func isFinalState(status api.IssuanceStatus) bool {
|
| 847 | 847 |
|
| 848 | 848 |
return false |
| 849 | 849 |
} |
| 850 |
+ |
|
| 851 |
+// RootCAFromAPI creates a RootCA object from an api.RootCA object |
|
| 852 |
+func RootCAFromAPI(ctx context.Context, apiRootCA *api.RootCA, expiry time.Duration) (RootCA, error) {
|
|
| 853 |
+ var intermediates []byte |
|
| 854 |
+ signingCert := apiRootCA.CACert |
|
| 855 |
+ signingKey := apiRootCA.CAKey |
|
| 856 |
+ if apiRootCA.RootRotation != nil {
|
|
| 857 |
+ signingCert = apiRootCA.RootRotation.CrossSignedCACert |
|
| 858 |
+ signingKey = apiRootCA.RootRotation.CAKey |
|
| 859 |
+ intermediates = apiRootCA.RootRotation.CrossSignedCACert |
|
| 860 |
+ } |
|
| 861 |
+ if signingKey == nil {
|
|
| 862 |
+ signingCert = nil |
|
| 863 |
+ } |
|
| 864 |
+ return NewRootCA(apiRootCA.CACert, signingCert, signingKey, expiry, intermediates) |
|
| 865 |
+} |
| ... | ... |
@@ -63,7 +63,6 @@ func newRootRotationObject(ctx context.Context, securityConfig *ca.SecurityConfi |
| 63 | 63 |
return nil, grpc.Errorf(codes.InvalidArgument, "rotating from one external CA to a different external CA is not supported") |
| 64 | 64 |
default: |
| 65 | 65 |
// We need the same credentials but to connect to the original URLs (in case we are in the middle of a root rotation already) |
| 66 |
- externalCA := securityConfig.ExternalCA().Copy() |
|
| 67 | 66 |
var urls []string |
| 68 | 67 |
for _, c := range extCAs {
|
| 69 | 68 |
if c.Protocol == api.ExternalCA_CAProtocolCFSSL {
|
| ... | ... |
@@ -74,7 +73,11 @@ func newRootRotationObject(ctx context.Context, securityConfig *ca.SecurityConfi |
| 74 | 74 |
return nil, grpc.Errorf(codes.InvalidArgument, |
| 75 | 75 |
"must provide an external CA for the current external root CA to generate a cross-signed certificate") |
| 76 | 76 |
} |
| 77 |
- externalCA.UpdateURLs(urls...) |
|
| 77 |
+ rootPool := x509.NewCertPool() |
|
| 78 |
+ rootPool.AppendCertsFromPEM(apiRootCA.CACert) |
|
| 79 |
+ |
|
| 80 |
+ externalCAConfig := ca.NewExternalCATLSConfig(securityConfig.ClientTLSCreds.Config().Certificates, rootPool) |
|
| 81 |
+ externalCA := ca.NewExternalCA(nil, externalCAConfig, urls...) |
|
| 78 | 82 |
crossSignedCert, err = externalCA.CrossSignRootCA(ctx, newCARootCA) |
| 79 | 83 |
} |
| 80 | 84 |
|
| ... | ... |
@@ -104,17 +104,14 @@ func (s *Server) UpdateCluster(ctx context.Context, request *api.UpdateClusterRe |
| 104 | 104 |
if cluster == nil {
|
| 105 | 105 |
return grpc.Errorf(codes.NotFound, "cluster %s not found", request.ClusterID) |
| 106 | 106 |
} |
| 107 |
- // This ensures that we always have the latest security config, so our ca.SecurityConfig.RootCA and |
|
| 108 |
- // ca.SecurityConfig.externalCA objects are up-to-date with the current api.Cluster.RootCA and |
|
| 109 |
- // api.Cluster.Spec.ExternalCA objects, respectively. Note that if, during this update, the cluster gets |
|
| 110 |
- // updated again with different CA info and the security config gets changed under us, that's still fine because |
|
| 111 |
- // this cluster update would fail anyway due to its version being too low on write. |
|
| 112 |
- if err := s.scu.UpdateRootCA(ctx, cluster); err != nil {
|
|
| 107 |
+ // This ensures that we have the current rootCA with which to generate tokens (expiration doesn't matter |
|
| 108 |
+ // for generating the tokens) |
|
| 109 |
+ rootCA, err := ca.RootCAFromAPI(ctx, &cluster.RootCA, ca.DefaultNodeCertExpiration) |
|
| 110 |
+ if err != nil {
|
|
| 113 | 111 |
log.G(ctx).WithField( |
| 114 |
- "method", "(*controlapi.Server).UpdateCluster").WithError(err).Error("could not update security config")
|
|
| 115 |
- return grpc.Errorf(codes.Internal, "could not update security config") |
|
| 112 |
+ "method", "(*controlapi.Server).UpdateCluster").WithError(err).Error("invalid cluster root CA")
|
|
| 113 |
+ return grpc.Errorf(codes.Internal, "error loading cluster rootCA for update") |
|
| 116 | 114 |
} |
| 117 |
- rootCA := s.securityConfig.RootCA() |
|
| 118 | 115 |
|
| 119 | 116 |
cluster.Meta.Version = *request.ClusterVersion |
| 120 | 117 |
cluster.Spec = *request.Spec.Copy() |
| ... | ... |
@@ -122,10 +119,10 @@ func (s *Server) UpdateCluster(ctx context.Context, request *api.UpdateClusterRe |
| 122 | 122 |
expireBlacklistedCerts(cluster) |
| 123 | 123 |
|
| 124 | 124 |
if request.Rotation.WorkerJoinToken {
|
| 125 |
- cluster.RootCA.JoinTokens.Worker = ca.GenerateJoinToken(rootCA) |
|
| 125 |
+ cluster.RootCA.JoinTokens.Worker = ca.GenerateJoinToken(&rootCA) |
|
| 126 | 126 |
} |
| 127 | 127 |
if request.Rotation.ManagerJoinToken {
|
| 128 |
- cluster.RootCA.JoinTokens.Manager = ca.GenerateJoinToken(rootCA) |
|
| 128 |
+ cluster.RootCA.JoinTokens.Manager = ca.GenerateJoinToken(&rootCA) |
|
| 129 | 129 |
} |
| 130 | 130 |
|
| 131 | 131 |
updatedRootCA, err := validateCAConfig(ctx, s.securityConfig, cluster) |
| ... | ... |
@@ -158,6 +158,12 @@ func (s *Server) CreateSecret(ctx context.Context, request *api.CreateSecretRequ |
| 158 | 158 |
return nil, err |
| 159 | 159 |
} |
| 160 | 160 |
|
| 161 |
+ if request.Spec.Driver != nil { // Check that the requested driver is valid
|
|
| 162 |
+ if _, err := s.dr.NewSecretDriver(request.Spec.Driver); err != nil {
|
|
| 163 |
+ return nil, err |
|
| 164 |
+ } |
|
| 165 |
+ } |
|
| 166 |
+ |
|
| 161 | 167 |
secret := secretFromSecretSpec(request.Spec) // the store will handle name conflicts |
| 162 | 168 |
err := s.store.Update(func(tx store.Tx) error {
|
| 163 | 169 |
return store.CreateSecret(tx, secret) |
| ... | ... |
@@ -5,6 +5,7 @@ import ( |
| 5 | 5 |
|
| 6 | 6 |
"github.com/docker/docker/pkg/plugingetter" |
| 7 | 7 |
"github.com/docker/swarmkit/ca" |
| 8 |
+ "github.com/docker/swarmkit/manager/drivers" |
|
| 8 | 9 |
"github.com/docker/swarmkit/manager/state/raft" |
| 9 | 10 |
"github.com/docker/swarmkit/manager/state/store" |
| 10 | 11 |
) |
| ... | ... |
@@ -18,18 +19,17 @@ type Server struct {
|
| 18 | 18 |
store *store.MemoryStore |
| 19 | 19 |
raft *raft.Node |
| 20 | 20 |
securityConfig *ca.SecurityConfig |
| 21 |
- scu ca.APISecurityConfigUpdater |
|
| 22 | 21 |
pg plugingetter.PluginGetter |
| 22 |
+ dr *drivers.DriverProvider |
|
| 23 | 23 |
} |
| 24 | 24 |
|
| 25 | 25 |
// NewServer creates a Cluster API server. |
| 26 |
-func NewServer(store *store.MemoryStore, raft *raft.Node, securityConfig *ca.SecurityConfig, |
|
| 27 |
- scu ca.APISecurityConfigUpdater, pg plugingetter.PluginGetter) *Server {
|
|
| 26 |
+func NewServer(store *store.MemoryStore, raft *raft.Node, securityConfig *ca.SecurityConfig, pg plugingetter.PluginGetter, dr *drivers.DriverProvider) *Server {
|
|
| 28 | 27 |
return &Server{
|
| 29 | 28 |
store: store, |
| 29 |
+ dr: dr, |
|
| 30 | 30 |
raft: raft, |
| 31 | 31 |
securityConfig: securityConfig, |
| 32 |
- scu: scu, |
|
| 33 | 32 |
pg: pg, |
| 34 | 33 |
} |
| 35 | 34 |
} |
| ... | ... |
@@ -11,20 +11,9 @@ import ( |
| 11 | 11 |
"github.com/sirupsen/logrus" |
| 12 | 12 |
) |
| 13 | 13 |
|
| 14 |
-// Used as a key in tasksUsingDependency and changes. Only using the |
|
| 15 |
-// ID could cause (rare) collisions between different types of |
|
| 16 |
-// objects, so we also include the type of object in the key. |
|
| 17 |
-type objectType int |
|
| 18 |
- |
|
| 19 |
-const ( |
|
| 20 |
- typeTask objectType = iota |
|
| 21 |
- typeSecret |
|
| 22 |
- typeConfig |
|
| 23 |
-) |
|
| 24 |
- |
|
| 25 | 14 |
type typeAndID struct {
|
| 26 | 15 |
id string |
| 27 |
- objType objectType |
|
| 16 |
+ objType api.ResourceType |
|
| 28 | 17 |
} |
| 29 | 18 |
|
| 30 | 19 |
type assignmentSet struct {
|
| ... | ... |
@@ -45,39 +34,78 @@ func newAssignmentSet(log *logrus.Entry, dp *drivers.DriverProvider) *assignment |
| 45 | 45 |
} |
| 46 | 46 |
} |
| 47 | 47 |
|
| 48 |
+func assignSecret(a *assignmentSet, readTx store.ReadTx, mapKey typeAndID, t *api.Task) {
|
|
| 49 |
+ a.tasksUsingDependency[mapKey] = make(map[string]struct{})
|
|
| 50 |
+ secret, err := a.secret(readTx, t, mapKey.id) |
|
| 51 |
+ if err != nil {
|
|
| 52 |
+ a.log.WithFields(logrus.Fields{
|
|
| 53 |
+ "resource.type": "secret", |
|
| 54 |
+ "secret.id": mapKey.id, |
|
| 55 |
+ "error": err, |
|
| 56 |
+ }).Debug("failed to fetch secret")
|
|
| 57 |
+ return |
|
| 58 |
+ } |
|
| 59 |
+ a.changes[mapKey] = &api.AssignmentChange{
|
|
| 60 |
+ Assignment: &api.Assignment{
|
|
| 61 |
+ Item: &api.Assignment_Secret{
|
|
| 62 |
+ Secret: secret, |
|
| 63 |
+ }, |
|
| 64 |
+ }, |
|
| 65 |
+ Action: api.AssignmentChange_AssignmentActionUpdate, |
|
| 66 |
+ } |
|
| 67 |
+} |
|
| 68 |
+ |
|
| 69 |
+func assignConfig(a *assignmentSet, readTx store.ReadTx, mapKey typeAndID) {
|
|
| 70 |
+ a.tasksUsingDependency[mapKey] = make(map[string]struct{})
|
|
| 71 |
+ config := store.GetConfig(readTx, mapKey.id) |
|
| 72 |
+ if config == nil {
|
|
| 73 |
+ a.log.WithFields(logrus.Fields{
|
|
| 74 |
+ "resource.type": "config", |
|
| 75 |
+ "config.id": mapKey.id, |
|
| 76 |
+ }).Debug("config not found")
|
|
| 77 |
+ return |
|
| 78 |
+ } |
|
| 79 |
+ a.changes[mapKey] = &api.AssignmentChange{
|
|
| 80 |
+ Assignment: &api.Assignment{
|
|
| 81 |
+ Item: &api.Assignment_Config{
|
|
| 82 |
+ Config: config, |
|
| 83 |
+ }, |
|
| 84 |
+ }, |
|
| 85 |
+ Action: api.AssignmentChange_AssignmentActionUpdate, |
|
| 86 |
+ } |
|
| 87 |
+} |
|
| 88 |
+ |
|
| 48 | 89 |
func (a *assignmentSet) addTaskDependencies(readTx store.ReadTx, t *api.Task) {
|
| 90 |
+ for _, resourceRef := range t.Spec.ResourceReferences {
|
|
| 91 |
+ mapKey := typeAndID{objType: resourceRef.ResourceType, id: resourceRef.ResourceID}
|
|
| 92 |
+ if len(a.tasksUsingDependency[mapKey]) == 0 {
|
|
| 93 |
+ switch resourceRef.ResourceType {
|
|
| 94 |
+ case api.ResourceType_SECRET: |
|
| 95 |
+ assignSecret(a, readTx, mapKey, t) |
|
| 96 |
+ case api.ResourceType_CONFIG: |
|
| 97 |
+ assignConfig(a, readTx, mapKey) |
|
| 98 |
+ default: |
|
| 99 |
+ a.log.WithField( |
|
| 100 |
+ "resource.type", resourceRef.ResourceType, |
|
| 101 |
+ ).Debug("invalid resource type for a task dependency, skipping")
|
|
| 102 |
+ continue |
|
| 103 |
+ } |
|
| 104 |
+ } |
|
| 105 |
+ a.tasksUsingDependency[mapKey][t.ID] = struct{}{}
|
|
| 106 |
+ } |
|
| 107 |
+ |
|
| 49 | 108 |
var secrets []*api.SecretReference |
| 50 | 109 |
container := t.Spec.GetContainer() |
| 51 | 110 |
if container != nil {
|
| 52 | 111 |
secrets = container.Secrets |
| 53 | 112 |
} |
| 113 |
+ |
|
| 54 | 114 |
for _, secretRef := range secrets {
|
| 55 | 115 |
secretID := secretRef.SecretID |
| 56 |
- mapKey := typeAndID{objType: typeSecret, id: secretID}
|
|
| 116 |
+ mapKey := typeAndID{objType: api.ResourceType_SECRET, id: secretID}
|
|
| 57 | 117 |
|
| 58 | 118 |
if len(a.tasksUsingDependency[mapKey]) == 0 {
|
| 59 |
- a.tasksUsingDependency[mapKey] = make(map[string]struct{})
|
|
| 60 |
- |
|
| 61 |
- secret, err := a.secret(readTx, secretID) |
|
| 62 |
- if err != nil {
|
|
| 63 |
- a.log.WithFields(logrus.Fields{
|
|
| 64 |
- "secret.id": secretID, |
|
| 65 |
- "secret.name": secretRef.SecretName, |
|
| 66 |
- "error": err, |
|
| 67 |
- }).Error("failed to fetch secret")
|
|
| 68 |
- continue |
|
| 69 |
- } |
|
| 70 |
- |
|
| 71 |
- // If the secret was found, add this secret to |
|
| 72 |
- // our set that we send down. |
|
| 73 |
- a.changes[mapKey] = &api.AssignmentChange{
|
|
| 74 |
- Assignment: &api.Assignment{
|
|
| 75 |
- Item: &api.Assignment_Secret{
|
|
| 76 |
- Secret: secret, |
|
| 77 |
- }, |
|
| 78 |
- }, |
|
| 79 |
- Action: api.AssignmentChange_AssignmentActionUpdate, |
|
| 80 |
- } |
|
| 119 |
+ assignSecret(a, readTx, mapKey, t) |
|
| 81 | 120 |
} |
| 82 | 121 |
a.tasksUsingDependency[mapKey][t.ID] = struct{}{}
|
| 83 | 122 |
} |
| ... | ... |
@@ -88,30 +116,10 @@ func (a *assignmentSet) addTaskDependencies(readTx store.ReadTx, t *api.Task) {
|
| 88 | 88 |
} |
| 89 | 89 |
for _, configRef := range configs {
|
| 90 | 90 |
configID := configRef.ConfigID |
| 91 |
- mapKey := typeAndID{objType: typeConfig, id: configID}
|
|
| 91 |
+ mapKey := typeAndID{objType: api.ResourceType_CONFIG, id: configID}
|
|
| 92 | 92 |
|
| 93 | 93 |
if len(a.tasksUsingDependency[mapKey]) == 0 {
|
| 94 |
- a.tasksUsingDependency[mapKey] = make(map[string]struct{})
|
|
| 95 |
- |
|
| 96 |
- config := store.GetConfig(readTx, configID) |
|
| 97 |
- if config == nil {
|
|
| 98 |
- a.log.WithFields(logrus.Fields{
|
|
| 99 |
- "config.id": configID, |
|
| 100 |
- "config.name": configRef.ConfigName, |
|
| 101 |
- }).Debug("config not found")
|
|
| 102 |
- continue |
|
| 103 |
- } |
|
| 104 |
- |
|
| 105 |
- // If the config was found, add this config to |
|
| 106 |
- // our set that we send down. |
|
| 107 |
- a.changes[mapKey] = &api.AssignmentChange{
|
|
| 108 |
- Assignment: &api.Assignment{
|
|
| 109 |
- Item: &api.Assignment_Config{
|
|
| 110 |
- Config: config, |
|
| 111 |
- }, |
|
| 112 |
- }, |
|
| 113 |
- Action: api.AssignmentChange_AssignmentActionUpdate, |
|
| 114 |
- } |
|
| 94 |
+ assignConfig(a, readTx, mapKey) |
|
| 115 | 95 |
} |
| 116 | 96 |
a.tasksUsingDependency[mapKey][t.ID] = struct{}{}
|
| 117 | 97 |
} |
| ... | ... |
@@ -133,6 +141,35 @@ func (a *assignmentSet) releaseDependency(mapKey typeAndID, assignment *api.Assi |
| 133 | 133 |
|
| 134 | 134 |
func (a *assignmentSet) releaseTaskDependencies(t *api.Task) bool {
|
| 135 | 135 |
var modified bool |
| 136 |
+ |
|
| 137 |
+ for _, resourceRef := range t.Spec.ResourceReferences {
|
|
| 138 |
+ var assignment *api.Assignment |
|
| 139 |
+ switch resourceRef.ResourceType {
|
|
| 140 |
+ case api.ResourceType_SECRET: |
|
| 141 |
+ assignment = &api.Assignment{
|
|
| 142 |
+ Item: &api.Assignment_Secret{
|
|
| 143 |
+ Secret: &api.Secret{ID: resourceRef.ResourceID},
|
|
| 144 |
+ }, |
|
| 145 |
+ } |
|
| 146 |
+ case api.ResourceType_CONFIG: |
|
| 147 |
+ assignment = &api.Assignment{
|
|
| 148 |
+ Item: &api.Assignment_Config{
|
|
| 149 |
+ Config: &api.Config{ID: resourceRef.ResourceID},
|
|
| 150 |
+ }, |
|
| 151 |
+ } |
|
| 152 |
+ default: |
|
| 153 |
+ a.log.WithField( |
|
| 154 |
+ "resource.type", resourceRef.ResourceType, |
|
| 155 |
+ ).Debug("invalid resource type for a task dependency, skipping")
|
|
| 156 |
+ continue |
|
| 157 |
+ } |
|
| 158 |
+ |
|
| 159 |
+ mapKey := typeAndID{objType: resourceRef.ResourceType, id: resourceRef.ResourceID}
|
|
| 160 |
+ if a.releaseDependency(mapKey, assignment, t.ID) {
|
|
| 161 |
+ modified = true |
|
| 162 |
+ } |
|
| 163 |
+ } |
|
| 164 |
+ |
|
| 136 | 165 |
container := t.Spec.GetContainer() |
| 137 | 166 |
|
| 138 | 167 |
var secrets []*api.SecretReference |
| ... | ... |
@@ -142,7 +179,7 @@ func (a *assignmentSet) releaseTaskDependencies(t *api.Task) bool {
|
| 142 | 142 |
|
| 143 | 143 |
for _, secretRef := range secrets {
|
| 144 | 144 |
secretID := secretRef.SecretID |
| 145 |
- mapKey := typeAndID{objType: typeSecret, id: secretID}
|
|
| 145 |
+ mapKey := typeAndID{objType: api.ResourceType_SECRET, id: secretID}
|
|
| 146 | 146 |
assignment := &api.Assignment{
|
| 147 | 147 |
Item: &api.Assignment_Secret{
|
| 148 | 148 |
Secret: &api.Secret{ID: secretID},
|
| ... | ... |
@@ -160,7 +197,7 @@ func (a *assignmentSet) releaseTaskDependencies(t *api.Task) bool {
|
| 160 | 160 |
|
| 161 | 161 |
for _, configRef := range configs {
|
| 162 | 162 |
configID := configRef.ConfigID |
| 163 |
- mapKey := typeAndID{objType: typeConfig, id: configID}
|
|
| 163 |
+ mapKey := typeAndID{objType: api.ResourceType_CONFIG, id: configID}
|
|
| 164 | 164 |
assignment := &api.Assignment{
|
| 165 | 165 |
Item: &api.Assignment_Config{
|
| 166 | 166 |
Config: &api.Config{ID: configID},
|
| ... | ... |
@@ -205,7 +242,7 @@ func (a *assignmentSet) addOrUpdateTask(readTx store.ReadTx, t *api.Task) bool {
|
| 205 | 205 |
a.addTaskDependencies(readTx, t) |
| 206 | 206 |
} |
| 207 | 207 |
a.tasksMap[t.ID] = t |
| 208 |
- a.changes[typeAndID{objType: typeTask, id: t.ID}] = &api.AssignmentChange{
|
|
| 208 |
+ a.changes[typeAndID{objType: api.ResourceType_TASK, id: t.ID}] = &api.AssignmentChange{
|
|
| 209 | 209 |
Assignment: &api.Assignment{
|
| 210 | 210 |
Item: &api.Assignment_Task{
|
| 211 | 211 |
Task: t, |
| ... | ... |
@@ -221,7 +258,7 @@ func (a *assignmentSet) removeTask(t *api.Task) bool {
|
| 221 | 221 |
return false |
| 222 | 222 |
} |
| 223 | 223 |
|
| 224 |
- a.changes[typeAndID{objType: typeTask, id: t.ID}] = &api.AssignmentChange{
|
|
| 224 |
+ a.changes[typeAndID{objType: api.ResourceType_TASK, id: t.ID}] = &api.AssignmentChange{
|
|
| 225 | 225 |
Assignment: &api.Assignment{
|
| 226 | 226 |
Item: &api.Assignment_Task{
|
| 227 | 227 |
Task: &api.Task{ID: t.ID},
|
| ... | ... |
@@ -254,7 +291,7 @@ func (a *assignmentSet) message() api.AssignmentsMessage {
|
| 254 | 254 |
|
| 255 | 255 |
// secret populates the secret value from raft store. For external secrets, the value is populated |
| 256 | 256 |
// from the secret driver. |
| 257 |
-func (a *assignmentSet) secret(readTx store.ReadTx, secretID string) (*api.Secret, error) {
|
|
| 257 |
+func (a *assignmentSet) secret(readTx store.ReadTx, task *api.Task, secretID string) (*api.Secret, error) {
|
|
| 258 | 258 |
secret := store.GetSecret(readTx, secretID) |
| 259 | 259 |
if secret == nil {
|
| 260 | 260 |
return nil, fmt.Errorf("secret not found")
|
| ... | ... |
@@ -266,7 +303,7 @@ func (a *assignmentSet) secret(readTx store.ReadTx, secretID string) (*api.Secre |
| 266 | 266 |
if err != nil {
|
| 267 | 267 |
return nil, err |
| 268 | 268 |
} |
| 269 |
- value, err := d.Get(&secret.Spec) |
|
| 269 |
+ value, err := d.Get(&secret.Spec, task) |
|
| 270 | 270 |
if err != nil {
|
| 271 | 271 |
return nil, err |
| 272 | 272 |
} |
| ... | ... |
@@ -18,6 +18,7 @@ import ( |
| 18 | 18 |
"github.com/docker/swarmkit/log" |
| 19 | 19 |
"github.com/docker/swarmkit/manager/drivers" |
| 20 | 20 |
"github.com/docker/swarmkit/manager/state/store" |
| 21 |
+ "github.com/docker/swarmkit/protobuf/ptypes" |
|
| 21 | 22 |
"github.com/docker/swarmkit/remotes" |
| 22 | 23 |
"github.com/docker/swarmkit/watch" |
| 23 | 24 |
gogotypes "github.com/gogo/protobuf/types" |
| ... | ... |
@@ -127,6 +128,7 @@ type Dispatcher struct {
|
| 127 | 127 |
cancel context.CancelFunc |
| 128 | 128 |
clusterUpdateQueue *watch.Queue |
| 129 | 129 |
dp *drivers.DriverProvider |
| 130 |
+ securityConfig *ca.SecurityConfig |
|
| 130 | 131 |
|
| 131 | 132 |
taskUpdates map[string]*api.TaskStatus // indexed by task ID |
| 132 | 133 |
taskUpdatesLock sync.Mutex |
| ... | ... |
@@ -144,7 +146,7 @@ type Dispatcher struct {
|
| 144 | 144 |
} |
| 145 | 145 |
|
| 146 | 146 |
// New returns Dispatcher with cluster interface(usually raft.Node). |
| 147 |
-func New(cluster Cluster, c *Config, dp *drivers.DriverProvider) *Dispatcher {
|
|
| 147 |
+func New(cluster Cluster, c *Config, dp *drivers.DriverProvider, securityConfig *ca.SecurityConfig) *Dispatcher {
|
|
| 148 | 148 |
d := &Dispatcher{
|
| 149 | 149 |
dp: dp, |
| 150 | 150 |
nodes: newNodeStore(c.HeartbeatPeriod, c.HeartbeatEpsilon, c.GracePeriodMultiplier, c.RateLimitPeriod), |
| ... | ... |
@@ -153,6 +155,7 @@ func New(cluster Cluster, c *Config, dp *drivers.DriverProvider) *Dispatcher {
|
| 153 | 153 |
cluster: cluster, |
| 154 | 154 |
processUpdatesTrigger: make(chan struct{}, 1),
|
| 155 | 155 |
config: c, |
| 156 |
+ securityConfig: securityConfig, |
|
| 156 | 157 |
} |
| 157 | 158 |
|
| 158 | 159 |
d.processUpdatesCond = sync.NewCond(&d.processUpdatesLock) |
| ... | ... |
@@ -630,6 +633,8 @@ func (d *Dispatcher) processUpdates(ctx context.Context) {
|
| 630 | 630 |
} |
| 631 | 631 |
|
| 632 | 632 |
task.Status = *status |
| 633 |
+ task.Status.AppliedBy = d.securityConfig.ClientTLSCreds.NodeID() |
|
| 634 |
+ task.Status.AppliedAt = ptypes.MustTimestampProto(time.Now()) |
|
| 633 | 635 |
if err := store.UpdateTask(tx, task); err != nil {
|
| 634 | 636 |
logger.WithError(err).Error("failed to update task status")
|
| 635 | 637 |
return nil |
| ... | ... |
@@ -26,12 +26,45 @@ func NewSecretDriver(plugin plugingetter.CompatPlugin) *SecretDriver {
|
| 26 | 26 |
} |
| 27 | 27 |
|
| 28 | 28 |
// Get gets a secret from the secret provider |
| 29 |
-func (d *SecretDriver) Get(spec *api.SecretSpec) ([]byte, error) {
|
|
| 29 |
+func (d *SecretDriver) Get(spec *api.SecretSpec, task *api.Task) ([]byte, error) {
|
|
| 30 | 30 |
if spec == nil {
|
| 31 |
- return nil, fmt.Errorf("spec is nil")
|
|
| 31 |
+ return nil, fmt.Errorf("secret spec is nil")
|
|
| 32 | 32 |
} |
| 33 |
+ if task == nil {
|
|
| 34 |
+ return nil, fmt.Errorf("task is nil")
|
|
| 35 |
+ } |
|
| 36 |
+ |
|
| 33 | 37 |
var secretResp SecretsProviderResponse |
| 34 |
- secretReq := &SecretsProviderRequest{Name: spec.Annotations.Name}
|
|
| 38 |
+ secretReq := &SecretsProviderRequest{
|
|
| 39 |
+ SecretName: spec.Annotations.Name, |
|
| 40 |
+ ServiceName: task.ServiceAnnotations.Name, |
|
| 41 |
+ ServiceLabels: task.ServiceAnnotations.Labels, |
|
| 42 |
+ } |
|
| 43 |
+ container := task.Spec.GetContainer() |
|
| 44 |
+ if container != nil {
|
|
| 45 |
+ secretReq.ServiceHostname = container.Hostname |
|
| 46 |
+ } |
|
| 47 |
+ |
|
| 48 |
+ if task.Endpoint != nil && task.Endpoint.Spec != nil {
|
|
| 49 |
+ secretReq.ServiceEndpointSpec = &EndpointSpec{
|
|
| 50 |
+ Mode: int32(task.Endpoint.Spec.Mode), |
|
| 51 |
+ } |
|
| 52 |
+ for _, p := range task.Endpoint.Spec.Ports {
|
|
| 53 |
+ if p == nil {
|
|
| 54 |
+ continue |
|
| 55 |
+ } |
|
| 56 |
+ secretReq.ServiceEndpointSpec.Ports = |
|
| 57 |
+ append(secretReq.ServiceEndpointSpec.Ports, |
|
| 58 |
+ PortConfig{
|
|
| 59 |
+ Name: p.Name, |
|
| 60 |
+ Protocol: int32(p.Protocol), |
|
| 61 |
+ PublishedPort: p.PublishedPort, |
|
| 62 |
+ TargetPort: p.TargetPort, |
|
| 63 |
+ PublishMode: int32(p.PublishMode), |
|
| 64 |
+ }) |
|
| 65 |
+ } |
|
| 66 |
+ } |
|
| 67 |
+ |
|
| 35 | 68 |
err := d.plugin.Client().Call(SecretsProviderAPI, secretReq, &secretResp) |
| 36 | 69 |
if err != nil {
|
| 37 | 70 |
return nil, err |
| ... | ... |
@@ -40,16 +73,38 @@ func (d *SecretDriver) Get(spec *api.SecretSpec) ([]byte, error) {
|
| 40 | 40 |
return nil, fmt.Errorf(secretResp.Err) |
| 41 | 41 |
} |
| 42 | 42 |
// Assign the secret value |
| 43 |
- return []byte(secretResp.Value), nil |
|
| 43 |
+ return secretResp.Value, nil |
|
| 44 | 44 |
} |
| 45 | 45 |
|
| 46 | 46 |
// SecretsProviderRequest is the secrets provider request. |
| 47 | 47 |
type SecretsProviderRequest struct {
|
| 48 |
- Name string `json:"name"` // Name is the name of the secret plugin |
|
| 48 |
+ SecretName string `json:",omitempty"` // SecretName is the name of the secret to request from the plugin |
|
| 49 |
+ ServiceHostname string `json:",omitempty"` // ServiceHostname is the hostname of the service, can be used for x509 certificate |
|
| 50 |
+ ServiceName string `json:",omitempty"` // ServiceName is the name of the service that requested the secret |
|
| 51 |
+ ServiceLabels map[string]string `json:",omitempty"` // ServiceLabels capture environment names and other metadata |
|
| 52 |
+ ServiceEndpointSpec *EndpointSpec `json:",omitempty"` // ServiceEndpointSpec holds the specification for endpoints |
|
| 49 | 53 |
} |
| 50 | 54 |
|
| 51 | 55 |
// SecretsProviderResponse is the secrets provider response. |
| 52 | 56 |
type SecretsProviderResponse struct {
|
| 53 |
- Value string `json:"value"` // Value is the value of the secret |
|
| 54 |
- Err string `json:"err"` // Err is the error response of the plugin |
|
| 57 |
+ Value []byte `json:",omitempty"` // Value is the value of the secret |
|
| 58 |
+ Err string `json:",omitempty"` // Err is the error response of the plugin |
|
| 59 |
+} |
|
| 60 |
+ |
|
| 61 |
+// EndpointSpec represents the spec of an endpoint. |
|
| 62 |
+type EndpointSpec struct {
|
|
| 63 |
+ Mode int32 `json:",omitempty"` |
|
| 64 |
+ Ports []PortConfig `json:",omitempty"` |
|
| 65 |
+} |
|
| 66 |
+ |
|
| 67 |
+// PortConfig represents the config of a port. |
|
| 68 |
+type PortConfig struct {
|
|
| 69 |
+ Name string `json:",omitempty"` |
|
| 70 |
+ Protocol int32 `json:",omitempty"` |
|
| 71 |
+ // TargetPort is the port inside the container |
|
| 72 |
+ TargetPort uint32 `json:",omitempty"` |
|
| 73 |
+ // PublishedPort is the port on the swarm hosts |
|
| 74 |
+ PublishedPort uint32 `json:",omitempty"` |
|
| 75 |
+ // PublishMode is the mode in which port is published |
|
| 76 |
+ PublishMode int32 `json:",omitempty"` |
|
| 55 | 77 |
} |
| ... | ... |
@@ -57,12 +57,12 @@ func New(store *store.MemoryStore) *LogBroker {
|
| 57 | 57 |
} |
| 58 | 58 |
} |
| 59 | 59 |
|
| 60 |
-// Run the log broker |
|
| 61 |
-func (lb *LogBroker) Run(ctx context.Context) error {
|
|
| 60 |
+// Start starts the log broker |
|
| 61 |
+func (lb *LogBroker) Start(ctx context.Context) error {
|
|
| 62 | 62 |
lb.mu.Lock() |
| 63 |
+ defer lb.mu.Unlock() |
|
| 63 | 64 |
|
| 64 | 65 |
if lb.cancelAll != nil {
|
| 65 |
- lb.mu.Unlock() |
|
| 66 | 66 |
return errAlreadyRunning |
| 67 | 67 |
} |
| 68 | 68 |
|
| ... | ... |
@@ -71,12 +71,7 @@ func (lb *LogBroker) Run(ctx context.Context) error {
|
| 71 | 71 |
lb.subscriptionQueue = watch.NewQueue() |
| 72 | 72 |
lb.registeredSubscriptions = make(map[string]*subscription) |
| 73 | 73 |
lb.subscriptionsByNode = make(map[string]map[*subscription]struct{})
|
| 74 |
- lb.mu.Unlock() |
|
| 75 |
- |
|
| 76 |
- select {
|
|
| 77 |
- case <-lb.pctx.Done(): |
|
| 78 |
- return lb.pctx.Err() |
|
| 79 |
- } |
|
| 74 |
+ return nil |
|
| 80 | 75 |
} |
| 81 | 76 |
|
| 82 | 77 |
// Stop stops the log broker |
| ... | ... |
@@ -234,8 +229,15 @@ func (lb *LogBroker) SubscribeLogs(request *api.SubscribeLogsRequest, stream api |
| 234 | 234 |
return err |
| 235 | 235 |
} |
| 236 | 236 |
|
| 237 |
+ lb.mu.Lock() |
|
| 238 |
+ pctx := lb.pctx |
|
| 239 |
+ lb.mu.Unlock() |
|
| 240 |
+ if pctx == nil {
|
|
| 241 |
+ return errNotRunning |
|
| 242 |
+ } |
|
| 243 |
+ |
|
| 237 | 244 |
subscription := lb.newSubscription(request.Selector, request.Options) |
| 238 |
- subscription.Run(lb.pctx) |
|
| 245 |
+ subscription.Run(pctx) |
|
| 239 | 246 |
defer subscription.Stop() |
| 240 | 247 |
|
| 241 | 248 |
log := log.G(ctx).WithFields( |
| ... | ... |
@@ -257,8 +259,8 @@ func (lb *LogBroker) SubscribeLogs(request *api.SubscribeLogsRequest, stream api |
| 257 | 257 |
select {
|
| 258 | 258 |
case <-ctx.Done(): |
| 259 | 259 |
return ctx.Err() |
| 260 |
- case <-lb.pctx.Done(): |
|
| 261 |
- return lb.pctx.Err() |
|
| 260 |
+ case <-pctx.Done(): |
|
| 261 |
+ return pctx.Err() |
|
| 262 | 262 |
case event := <-publishCh: |
| 263 | 263 |
publish := event.(*logMessage) |
| 264 | 264 |
if publish.completed {
|
| ... | ... |
@@ -308,6 +310,13 @@ func (lb *LogBroker) ListenSubscriptions(request *api.ListenSubscriptionsRequest |
| 308 | 308 |
return err |
| 309 | 309 |
} |
| 310 | 310 |
|
| 311 |
+ lb.mu.Lock() |
|
| 312 |
+ pctx := lb.pctx |
|
| 313 |
+ lb.mu.Unlock() |
|
| 314 |
+ if pctx == nil {
|
|
| 315 |
+ return errNotRunning |
|
| 316 |
+ } |
|
| 317 |
+ |
|
| 311 | 318 |
lb.nodeConnected(remote.NodeID) |
| 312 | 319 |
defer lb.nodeDisconnected(remote.NodeID) |
| 313 | 320 |
|
| ... | ... |
@@ -329,7 +338,7 @@ func (lb *LogBroker) ListenSubscriptions(request *api.ListenSubscriptionsRequest |
| 329 | 329 |
select {
|
| 330 | 330 |
case <-stream.Context().Done(): |
| 331 | 331 |
return stream.Context().Err() |
| 332 |
- case <-lb.pctx.Done(): |
|
| 332 |
+ case <-pctx.Done(): |
|
| 333 | 333 |
return nil |
| 334 | 334 |
default: |
| 335 | 335 |
} |
| ... | ... |
@@ -362,7 +371,7 @@ func (lb *LogBroker) ListenSubscriptions(request *api.ListenSubscriptionsRequest |
| 362 | 362 |
} |
| 363 | 363 |
case <-stream.Context().Done(): |
| 364 | 364 |
return stream.Context().Err() |
| 365 |
- case <-lb.pctx.Done(): |
|
| 365 |
+ case <-pctx.Done(): |
|
| 366 | 366 |
return nil |
| 367 | 367 |
} |
| 368 | 368 |
} |
| ... | ... |
@@ -16,6 +16,7 @@ import ( |
| 16 | 16 |
"github.com/cloudflare/cfssl/helpers" |
| 17 | 17 |
"github.com/docker/docker/pkg/plugingetter" |
| 18 | 18 |
"github.com/docker/go-events" |
| 19 |
+ gmetrics "github.com/docker/go-metrics" |
|
| 19 | 20 |
"github.com/docker/swarmkit/api" |
| 20 | 21 |
"github.com/docker/swarmkit/ca" |
| 21 | 22 |
"github.com/docker/swarmkit/connectionbroker" |
| ... | ... |
@@ -87,7 +88,11 @@ type Config struct {
|
| 87 | 87 |
// cluster to join. |
| 88 | 88 |
JoinRaft string |
| 89 | 89 |
|
| 90 |
- // Top-level state directory |
|
| 90 |
+ // ForceJoin causes us to invoke raft's Join RPC even if already part |
|
| 91 |
+ // of a cluster. |
|
| 92 |
+ ForceJoin bool |
|
| 93 |
+ |
|
| 94 |
+ // StateDir is the top-level state directory |
|
| 91 | 95 |
StateDir string |
| 92 | 96 |
|
| 93 | 97 |
// ForceNewCluster defines if we have to force a new cluster |
| ... | ... |
@@ -130,6 +135,7 @@ type Manager struct {
|
| 130 | 130 |
caserver *ca.Server |
| 131 | 131 |
dispatcher *dispatcher.Dispatcher |
| 132 | 132 |
logbroker *logbroker.LogBroker |
| 133 |
+ watchServer *watchapi.Server |
|
| 133 | 134 |
replicatedOrchestrator *replicated.Orchestrator |
| 134 | 135 |
globalOrchestrator *global.Orchestrator |
| 135 | 136 |
taskReaper *taskreaper.TaskReaper |
| ... | ... |
@@ -159,6 +165,16 @@ type Manager struct {
|
| 159 | 159 |
errServe chan error |
| 160 | 160 |
} |
| 161 | 161 |
|
| 162 |
+var ( |
|
| 163 |
+ leaderMetric gmetrics.Gauge |
|
| 164 |
+) |
|
| 165 |
+ |
|
| 166 |
+func init() {
|
|
| 167 |
+ ns := gmetrics.NewNamespace("swarm", "manager", nil)
|
|
| 168 |
+ leaderMetric = ns.NewGauge("leader", "Indicates if this manager node is a leader", "")
|
|
| 169 |
+ gmetrics.Register(ns) |
|
| 170 |
+} |
|
| 171 |
+ |
|
| 162 | 172 |
type closeOnceListener struct {
|
| 163 | 173 |
once sync.Once |
| 164 | 174 |
net.Listener |
| ... | ... |
@@ -202,6 +218,7 @@ func New(config *Config) (*Manager, error) {
|
| 202 | 202 |
newNodeOpts := raft.NodeOptions{
|
| 203 | 203 |
ID: config.SecurityConfig.ClientTLSCreds.NodeID(), |
| 204 | 204 |
JoinAddr: config.JoinRaft, |
| 205 |
+ ForceJoin: config.ForceJoin, |
|
| 205 | 206 |
Config: raftCfg, |
| 206 | 207 |
StateDir: raftStateDir, |
| 207 | 208 |
ForceNewCluster: config.ForceNewCluster, |
| ... | ... |
@@ -218,9 +235,10 @@ func New(config *Config) (*Manager, error) {
|
| 218 | 218 |
|
| 219 | 219 |
m := &Manager{
|
| 220 | 220 |
config: *config, |
| 221 |
- caserver: ca.NewServer(raftNode.MemoryStore(), config.SecurityConfig, config.RootCAPaths), |
|
| 222 |
- dispatcher: dispatcher.New(raftNode, dispatcher.DefaultConfig(), drivers.New(config.PluginGetter)), |
|
| 221 |
+ caserver: ca.NewServer(raftNode.MemoryStore(), config.SecurityConfig), |
|
| 222 |
+ dispatcher: dispatcher.New(raftNode, dispatcher.DefaultConfig(), drivers.New(config.PluginGetter), config.SecurityConfig), |
|
| 223 | 223 |
logbroker: logbroker.New(raftNode.MemoryStore()), |
| 224 |
+ watchServer: watchapi.NewServer(raftNode.MemoryStore()), |
|
| 224 | 225 |
server: grpc.NewServer(opts...), |
| 225 | 226 |
localserver: grpc.NewServer(opts...), |
| 226 | 227 |
raftNode: raftNode, |
| ... | ... |
@@ -397,14 +415,13 @@ func (m *Manager) Run(parent context.Context) error {
|
| 397 | 397 |
return err |
| 398 | 398 |
} |
| 399 | 399 |
|
| 400 |
- baseControlAPI := controlapi.NewServer(m.raftNode.MemoryStore(), m.raftNode, m.config.SecurityConfig, m.caserver, m.config.PluginGetter) |
|
| 401 |
- baseWatchAPI := watchapi.NewServer(m.raftNode.MemoryStore()) |
|
| 400 |
+ baseControlAPI := controlapi.NewServer(m.raftNode.MemoryStore(), m.raftNode, m.config.SecurityConfig, m.config.PluginGetter, drivers.New(m.config.PluginGetter)) |
|
| 402 | 401 |
baseResourceAPI := resourceapi.New(m.raftNode.MemoryStore()) |
| 403 | 402 |
healthServer := health.NewHealthServer() |
| 404 | 403 |
localHealthServer := health.NewHealthServer() |
| 405 | 404 |
|
| 406 | 405 |
authenticatedControlAPI := api.NewAuthenticatedWrapperControlServer(baseControlAPI, authorize) |
| 407 |
- authenticatedWatchAPI := api.NewAuthenticatedWrapperWatchServer(baseWatchAPI, authorize) |
|
| 406 |
+ authenticatedWatchAPI := api.NewAuthenticatedWrapperWatchServer(m.watchServer, authorize) |
|
| 408 | 407 |
authenticatedResourceAPI := api.NewAuthenticatedWrapperResourceAllocatorServer(baseResourceAPI, authorize) |
| 409 | 408 |
authenticatedLogsServerAPI := api.NewAuthenticatedWrapperLogsServer(m.logbroker, authorize) |
| 410 | 409 |
authenticatedLogBrokerAPI := api.NewAuthenticatedWrapperLogBrokerServer(m.logbroker, authorize) |
| ... | ... |
@@ -477,7 +494,7 @@ func (m *Manager) Run(parent context.Context) error {
|
| 477 | 477 |
grpc_prometheus.Register(m.server) |
| 478 | 478 |
|
| 479 | 479 |
api.RegisterControlServer(m.localserver, localProxyControlAPI) |
| 480 |
- api.RegisterWatchServer(m.localserver, baseWatchAPI) |
|
| 480 |
+ api.RegisterWatchServer(m.localserver, m.watchServer) |
|
| 481 | 481 |
api.RegisterLogsServer(m.localserver, localProxyLogsAPI) |
| 482 | 482 |
api.RegisterHealthServer(m.localserver, localHealthServer) |
| 483 | 483 |
api.RegisterDispatcherServer(m.localserver, localProxyDispatcherAPI) |
| ... | ... |
@@ -490,6 +507,10 @@ func (m *Manager) Run(parent context.Context) error {
|
| 490 | 490 |
healthServer.SetServingStatus("Raft", api.HealthCheckResponse_NOT_SERVING)
|
| 491 | 491 |
localHealthServer.SetServingStatus("ControlAPI", api.HealthCheckResponse_NOT_SERVING)
|
| 492 | 492 |
|
| 493 |
+ if err := m.watchServer.Start(ctx); err != nil {
|
|
| 494 |
+ log.G(ctx).WithError(err).Error("watch server failed to start")
|
|
| 495 |
+ } |
|
| 496 |
+ |
|
| 493 | 497 |
go m.serveListener(ctx, m.remoteListener) |
| 494 | 498 |
go m.serveListener(ctx, m.controlListener) |
| 495 | 499 |
|
| ... | ... |
@@ -565,8 +586,8 @@ func (m *Manager) Run(parent context.Context) error {
|
| 565 | 565 |
const stopTimeout = 8 * time.Second |
| 566 | 566 |
|
| 567 | 567 |
// Stop stops the manager. It immediately closes all open connections and |
| 568 |
-// active RPCs as well as stopping the scheduler. If clearData is set, the |
|
| 569 |
-// raft logs, snapshots, and keys will be erased. |
|
| 568 |
+// active RPCs as well as stopping the manager's subsystems. If clearData is |
|
| 569 |
+// set, the raft logs, snapshots, and keys will be erased. |
|
| 570 | 570 |
func (m *Manager) Stop(ctx context.Context, clearData bool) {
|
| 571 | 571 |
log.G(ctx).Info("Stopping manager")
|
| 572 | 572 |
// It's not safe to start shutting down while the manager is still |
| ... | ... |
@@ -600,6 +621,7 @@ func (m *Manager) Stop(ctx context.Context, clearData bool) {
|
| 600 | 600 |
|
| 601 | 601 |
m.dispatcher.Stop() |
| 602 | 602 |
m.logbroker.Stop() |
| 603 |
+ m.watchServer.Stop() |
|
| 603 | 604 |
m.caserver.Stop() |
| 604 | 605 |
|
| 605 | 606 |
if m.allocator != nil {
|
| ... | ... |
@@ -709,16 +731,14 @@ func (m *Manager) updateKEK(ctx context.Context, cluster *api.Cluster) error {
|
| 709 | 709 |
|
| 710 | 710 |
func (m *Manager) watchForClusterChanges(ctx context.Context) error {
|
| 711 | 711 |
clusterID := m.config.SecurityConfig.ClientTLSCreds.Organization() |
| 712 |
+ var cluster *api.Cluster |
|
| 712 | 713 |
clusterWatch, clusterWatchCancel, err := store.ViewAndWatch(m.raftNode.MemoryStore(), |
| 713 | 714 |
func(tx store.ReadTx) error {
|
| 714 |
- cluster := store.GetCluster(tx, clusterID) |
|
| 715 |
+ cluster = store.GetCluster(tx, clusterID) |
|
| 715 | 716 |
if cluster == nil {
|
| 716 | 717 |
return fmt.Errorf("unable to get current cluster")
|
| 717 | 718 |
} |
| 718 |
- if err := m.caserver.UpdateRootCA(ctx, cluster); err != nil {
|
|
| 719 |
- log.G(ctx).WithError(err).Error("could not update security config")
|
|
| 720 |
- } |
|
| 721 |
- return m.updateKEK(ctx, cluster) |
|
| 719 |
+ return nil |
|
| 722 | 720 |
}, |
| 723 | 721 |
api.EventUpdateCluster{
|
| 724 | 722 |
Cluster: &api.Cluster{ID: clusterID},
|
| ... | ... |
@@ -728,14 +748,15 @@ func (m *Manager) watchForClusterChanges(ctx context.Context) error {
|
| 728 | 728 |
if err != nil {
|
| 729 | 729 |
return err |
| 730 | 730 |
} |
| 731 |
+ if err := m.updateKEK(ctx, cluster); err != nil {
|
|
| 732 |
+ return err |
|
| 733 |
+ } |
|
| 734 |
+ |
|
| 731 | 735 |
go func() {
|
| 732 | 736 |
for {
|
| 733 | 737 |
select {
|
| 734 | 738 |
case event := <-clusterWatch: |
| 735 | 739 |
clusterEvent := event.(api.EventUpdateCluster) |
| 736 |
- if err := m.caserver.UpdateRootCA(ctx, clusterEvent.Cluster); err != nil {
|
|
| 737 |
- log.G(ctx).WithError(err).Error("could not update security config")
|
|
| 738 |
- } |
|
| 739 | 740 |
m.updateKEK(ctx, clusterEvent.Cluster) |
| 740 | 741 |
case <-ctx.Done(): |
| 741 | 742 |
clusterWatchCancel() |
| ... | ... |
@@ -863,8 +884,10 @@ func (m *Manager) handleLeadershipEvents(ctx context.Context, leadershipCh chan |
| 863 | 863 |
|
| 864 | 864 |
if newState == raft.IsLeader {
|
| 865 | 865 |
m.becomeLeader(ctx) |
| 866 |
+ leaderMetric.Set(1) |
|
| 866 | 867 |
} else if newState == raft.IsFollower {
|
| 867 | 868 |
m.becomeFollower() |
| 869 |
+ leaderMetric.Set(0) |
|
| 868 | 870 |
} |
| 869 | 871 |
m.mu.Unlock() |
| 870 | 872 |
case <-ctx.Done(): |
| ... | ... |
@@ -1001,11 +1024,9 @@ func (m *Manager) becomeLeader(ctx context.Context) {
|
| 1001 | 1001 |
} |
| 1002 | 1002 |
}(m.dispatcher) |
| 1003 | 1003 |
|
| 1004 |
- go func(lb *logbroker.LogBroker) {
|
|
| 1005 |
- if err := lb.Run(ctx); err != nil {
|
|
| 1006 |
- log.G(ctx).WithError(err).Error("LogBroker exited with an error")
|
|
| 1007 |
- } |
|
| 1008 |
- }(m.logbroker) |
|
| 1004 |
+ if err := m.logbroker.Start(ctx); err != nil {
|
|
| 1005 |
+ log.G(ctx).WithError(err).Error("LogBroker failed to start")
|
|
| 1006 |
+ } |
|
| 1009 | 1007 |
|
| 1010 | 1008 |
go func(server *ca.Server) {
|
| 1011 | 1009 |
if err := server.Run(ctx); err != nil {
|
| ... | ... |
@@ -156,25 +156,12 @@ func (g *Orchestrator) Run(ctx context.Context) error {
|
| 156 | 156 |
g.reconcileOneNode(ctx, v.Node) |
| 157 | 157 |
case api.EventUpdateNode: |
| 158 | 158 |
g.updateNode(v.Node) |
| 159 |
- switch v.Node.Status.State {
|
|
| 160 |
- // NodeStatus_DISCONNECTED is a transient state, no need to make any change |
|
| 161 |
- case api.NodeStatus_DOWN: |
|
| 162 |
- g.foreachTaskFromNode(ctx, v.Node, g.shutdownTask) |
|
| 163 |
- case api.NodeStatus_READY: |
|
| 164 |
- // node could come back to READY from DOWN or DISCONNECT |
|
| 165 |
- g.reconcileOneNode(ctx, v.Node) |
|
| 166 |
- } |
|
| 159 |
+ g.reconcileOneNode(ctx, v.Node) |
|
| 167 | 160 |
case api.EventDeleteNode: |
| 168 | 161 |
g.foreachTaskFromNode(ctx, v.Node, g.deleteTask) |
| 169 | 162 |
delete(g.nodes, v.Node.ID) |
| 170 | 163 |
case api.EventUpdateTask: |
| 171 | 164 |
g.handleTaskChange(ctx, v.Task) |
| 172 |
- case api.EventDeleteTask: |
|
| 173 |
- // CLI allows deleting task |
|
| 174 |
- if _, exists := g.globalServices[v.Task.ServiceID]; !exists {
|
|
| 175 |
- continue |
|
| 176 |
- } |
|
| 177 |
- g.reconcileServicesOneNode(ctx, []string{v.Task.ServiceID}, v.Task.NodeID)
|
|
| 178 | 165 |
} |
| 179 | 166 |
case <-g.stopChan: |
| 180 | 167 |
return nil |
| ... | ... |
@@ -216,7 +203,7 @@ func (g *Orchestrator) handleTaskChange(ctx context.Context, t *api.Task) {
|
| 216 | 216 |
if _, exists := g.globalServices[t.ServiceID]; !exists {
|
| 217 | 217 |
return |
| 218 | 218 |
} |
| 219 |
- // if a task's DesiredState has past running, which |
|
| 219 |
+ // if a task's DesiredState has passed running, it |
|
| 220 | 220 |
// means the task has been processed |
| 221 | 221 |
if t.DesiredState > api.TaskStateRunning {
|
| 222 | 222 |
return |
| ... | ... |
@@ -264,33 +251,41 @@ func (g *Orchestrator) foreachTaskFromNode(ctx context.Context, node *api.Node, |
| 264 | 264 |
} |
| 265 | 265 |
|
| 266 | 266 |
func (g *Orchestrator) reconcileServices(ctx context.Context, serviceIDs []string) {
|
| 267 |
- nodeCompleted := make(map[string]map[string]struct{})
|
|
| 268 | 267 |
nodeTasks := make(map[string]map[string][]*api.Task) |
| 269 | 268 |
|
| 270 | 269 |
g.store.View(func(tx store.ReadTx) {
|
| 271 | 270 |
for _, serviceID := range serviceIDs {
|
| 271 |
+ service := g.globalServices[serviceID].Service |
|
| 272 |
+ if service == nil {
|
|
| 273 |
+ continue |
|
| 274 |
+ } |
|
| 275 |
+ |
|
| 272 | 276 |
tasks, err := store.FindTasks(tx, store.ByServiceID(serviceID)) |
| 273 | 277 |
if err != nil {
|
| 274 | 278 |
log.G(ctx).WithError(err).Errorf("global orchestrator: reconcileServices failed finding tasks for service %s", serviceID)
|
| 275 | 279 |
continue |
| 276 | 280 |
} |
| 277 | 281 |
|
| 278 |
- // a node may have completed this service |
|
| 279 |
- nodeCompleted[serviceID] = make(map[string]struct{})
|
|
| 280 | 282 |
// nodeID -> task list |
| 281 | 283 |
nodeTasks[serviceID] = make(map[string][]*api.Task) |
| 282 | 284 |
|
| 283 | 285 |
for _, t := range tasks {
|
| 284 |
- if t.DesiredState <= api.TaskStateRunning {
|
|
| 285 |
- // Collect all running instances of this service |
|
| 286 |
- nodeTasks[serviceID][t.NodeID] = append(nodeTasks[serviceID][t.NodeID], t) |
|
| 286 |
+ nodeTasks[serviceID][t.NodeID] = append(nodeTasks[serviceID][t.NodeID], t) |
|
| 287 |
+ } |
|
| 288 |
+ |
|
| 289 |
+ // Keep all runnable instances of this service, |
|
| 290 |
+ // and instances that were not be restarted due |
|
| 291 |
+ // to restart policy but may be updated if the |
|
| 292 |
+ // service spec changed. |
|
| 293 |
+ for nodeID, slot := range nodeTasks[serviceID] {
|
|
| 294 |
+ updatable := g.restarts.UpdatableTasksInSlot(ctx, slot, g.globalServices[serviceID].Service) |
|
| 295 |
+ if len(updatable) != 0 {
|
|
| 296 |
+ nodeTasks[serviceID][nodeID] = updatable |
|
| 287 | 297 |
} else {
|
| 288 |
- // for finished tasks, check restartPolicy |
|
| 289 |
- if isTaskCompleted(t, orchestrator.RestartCondition(t)) {
|
|
| 290 |
- nodeCompleted[serviceID][t.NodeID] = struct{}{}
|
|
| 291 |
- } |
|
| 298 |
+ delete(nodeTasks[serviceID], nodeID) |
|
| 292 | 299 |
} |
| 293 | 300 |
} |
| 301 |
+ |
|
| 294 | 302 |
} |
| 295 | 303 |
}) |
| 296 | 304 |
|
| ... | ... |
@@ -311,9 +306,7 @@ func (g *Orchestrator) reconcileServices(ctx context.Context, serviceIDs []strin |
| 311 | 311 |
ntasks := nodeTasks[serviceID][nodeID] |
| 312 | 312 |
delete(nodeTasks[serviceID], nodeID) |
| 313 | 313 |
|
| 314 |
- // if restart policy considers this node has finished its task |
|
| 315 |
- // it should remove all running tasks |
|
| 316 |
- if _, exists := nodeCompleted[serviceID][nodeID]; exists || !meetsConstraints {
|
|
| 314 |
+ if !meetsConstraints {
|
|
| 317 | 315 |
g.shutdownTasks(ctx, batch, ntasks) |
| 318 | 316 |
continue |
| 319 | 317 |
} |
| ... | ... |
@@ -357,7 +350,7 @@ func (g *Orchestrator) reconcileServices(ctx context.Context, serviceIDs []strin |
| 357 | 357 |
|
| 358 | 358 |
// updateNode updates g.nodes based on the current node value |
| 359 | 359 |
func (g *Orchestrator) updateNode(node *api.Node) {
|
| 360 |
- if node.Spec.Availability == api.NodeAvailabilityDrain {
|
|
| 360 |
+ if node.Spec.Availability == api.NodeAvailabilityDrain || node.Status.State == api.NodeStatus_DOWN {
|
|
| 361 | 361 |
delete(g.nodes, node.ID) |
| 362 | 362 |
} else {
|
| 363 | 363 |
g.nodes[node.ID] = node |
| ... | ... |
@@ -381,27 +374,27 @@ func (g *Orchestrator) updateService(service *api.Service) {
|
| 381 | 381 |
// reconcileOneNode checks all global services on one node |
| 382 | 382 |
func (g *Orchestrator) reconcileOneNode(ctx context.Context, node *api.Node) {
|
| 383 | 383 |
if node.Spec.Availability == api.NodeAvailabilityDrain {
|
| 384 |
- log.G(ctx).Debugf("global orchestrator: node %s in drain state, removing tasks from it", node.ID)
|
|
| 384 |
+ log.G(ctx).Debugf("global orchestrator: node %s in drain state, shutting down its tasks", node.ID)
|
|
| 385 | 385 |
g.foreachTaskFromNode(ctx, node, g.shutdownTask) |
| 386 | 386 |
return |
| 387 | 387 |
} |
| 388 | 388 |
|
| 389 |
- var serviceIDs []string |
|
| 390 |
- for id := range g.globalServices {
|
|
| 391 |
- serviceIDs = append(serviceIDs, id) |
|
| 389 |
+ if node.Status.State == api.NodeStatus_DOWN {
|
|
| 390 |
+ log.G(ctx).Debugf("global orchestrator: node %s is down, shutting down its tasks", node.ID)
|
|
| 391 |
+ g.foreachTaskFromNode(ctx, node, g.shutdownTask) |
|
| 392 |
+ return |
|
| 392 | 393 |
} |
| 393 |
- g.reconcileServicesOneNode(ctx, serviceIDs, node.ID) |
|
| 394 |
-} |
|
| 395 | 394 |
|
| 396 |
-// reconcileServicesOneNode checks the specified services on one node |
|
| 397 |
-func (g *Orchestrator) reconcileServicesOneNode(ctx context.Context, serviceIDs []string, nodeID string) {
|
|
| 398 |
- node, exists := g.nodes[nodeID] |
|
| 395 |
+ if node.Spec.Availability == api.NodeAvailabilityPause {
|
|
| 396 |
+ // the node is paused, so we won't add or update tasks |
|
| 397 |
+ return |
|
| 398 |
+ } |
|
| 399 |
+ |
|
| 400 |
+ node, exists := g.nodes[node.ID] |
|
| 399 | 401 |
if !exists {
|
| 400 | 402 |
return |
| 401 | 403 |
} |
| 402 | 404 |
|
| 403 |
- // whether each service has completed on the node |
|
| 404 |
- completed := make(map[string]bool) |
|
| 405 | 405 |
// tasks by service |
| 406 | 406 |
tasks := make(map[string][]*api.Task) |
| 407 | 407 |
|
| ... | ... |
@@ -411,53 +404,44 @@ func (g *Orchestrator) reconcileServicesOneNode(ctx context.Context, serviceIDs |
| 411 | 411 |
) |
| 412 | 412 |
|
| 413 | 413 |
g.store.View(func(tx store.ReadTx) {
|
| 414 |
- tasksOnNode, err = store.FindTasks(tx, store.ByNodeID(nodeID)) |
|
| 414 |
+ tasksOnNode, err = store.FindTasks(tx, store.ByNodeID(node.ID)) |
|
| 415 | 415 |
}) |
| 416 | 416 |
if err != nil {
|
| 417 |
- log.G(ctx).WithError(err).Errorf("global orchestrator: reconcile failed finding tasks on node %s", nodeID)
|
|
| 417 |
+ log.G(ctx).WithError(err).Errorf("global orchestrator: reconcile failed finding tasks on node %s", node.ID)
|
|
| 418 | 418 |
return |
| 419 | 419 |
} |
| 420 | 420 |
|
| 421 |
- for _, serviceID := range serviceIDs {
|
|
| 421 |
+ for serviceID, service := range g.globalServices {
|
|
| 422 | 422 |
for _, t := range tasksOnNode {
|
| 423 | 423 |
if t.ServiceID != serviceID {
|
| 424 | 424 |
continue |
| 425 | 425 |
} |
| 426 |
- if t.DesiredState <= api.TaskStateRunning {
|
|
| 427 |
- tasks[serviceID] = append(tasks[serviceID], t) |
|
| 426 |
+ tasks[serviceID] = append(tasks[serviceID], t) |
|
| 427 |
+ } |
|
| 428 |
+ |
|
| 429 |
+ // Keep all runnable instances of this service, |
|
| 430 |
+ // and instances that were not be restarted due |
|
| 431 |
+ // to restart policy but may be updated if the |
|
| 432 |
+ // service spec changed. |
|
| 433 |
+ for serviceID, slot := range tasks {
|
|
| 434 |
+ updatable := g.restarts.UpdatableTasksInSlot(ctx, slot, service.Service) |
|
| 435 |
+ |
|
| 436 |
+ if len(updatable) != 0 {
|
|
| 437 |
+ tasks[serviceID] = updatable |
|
| 428 | 438 |
} else {
|
| 429 |
- if isTaskCompleted(t, orchestrator.RestartCondition(t)) {
|
|
| 430 |
- completed[serviceID] = true |
|
| 431 |
- } |
|
| 439 |
+ delete(tasks, serviceID) |
|
| 432 | 440 |
} |
| 433 | 441 |
} |
| 434 | 442 |
} |
| 435 | 443 |
|
| 436 | 444 |
err = g.store.Batch(func(batch *store.Batch) error {
|
| 437 |
- for _, serviceID := range serviceIDs {
|
|
| 438 |
- service, exists := g.globalServices[serviceID] |
|
| 439 |
- if !exists {
|
|
| 440 |
- continue |
|
| 441 |
- } |
|
| 442 |
- |
|
| 445 |
+ for serviceID, service := range g.globalServices {
|
|
| 443 | 446 |
if !constraint.NodeMatches(service.constraints, node) {
|
| 444 | 447 |
continue |
| 445 | 448 |
} |
| 446 | 449 |
|
| 447 |
- // if restart policy considers this node has finished its task |
|
| 448 |
- // it should remove all running tasks |
|
| 449 |
- if completed[serviceID] {
|
|
| 450 |
- g.shutdownTasks(ctx, batch, tasks[serviceID]) |
|
| 451 |
- continue |
|
| 452 |
- } |
|
| 453 |
- |
|
| 454 |
- if node.Spec.Availability == api.NodeAvailabilityPause {
|
|
| 455 |
- // the node is paused, so we won't add or update tasks |
|
| 456 |
- continue |
|
| 457 |
- } |
|
| 458 |
- |
|
| 459 | 450 |
if len(tasks) == 0 {
|
| 460 |
- g.addTask(ctx, batch, service.Service, nodeID) |
|
| 451 |
+ g.addTask(ctx, batch, service.Service, node.ID) |
|
| 461 | 452 |
} else {
|
| 462 | 453 |
// If task is out of date, update it. This can happen |
| 463 | 454 |
// on node reconciliation if, for example, we pause a |
| ... | ... |
@@ -487,7 +471,7 @@ func (g *Orchestrator) reconcileServicesOneNode(ctx context.Context, serviceIDs |
| 487 | 487 |
} |
| 488 | 488 |
|
| 489 | 489 |
if len(cleanTasks) == 0 {
|
| 490 |
- g.addTask(ctx, batch, service.Service, nodeID) |
|
| 490 |
+ g.addTask(ctx, batch, service.Service, node.ID) |
|
| 491 | 491 |
} else {
|
| 492 | 492 |
dirtyTasks = append(dirtyTasks, cleanTasks[1:]...) |
| 493 | 493 |
} |
| ... | ... |
@@ -523,7 +507,9 @@ func (g *Orchestrator) tickTasks(ctx context.Context) {
|
| 523 | 523 |
if !nodeExists || !serviceExists {
|
| 524 | 524 |
return nil |
| 525 | 525 |
} |
| 526 |
- if !constraint.NodeMatches(serviceEntry.constraints, node) {
|
|
| 526 |
+ |
|
| 527 |
+ if node.Spec.Availability == api.NodeAvailabilityPause || |
|
| 528 |
+ !constraint.NodeMatches(serviceEntry.constraints, node) {
|
|
| 527 | 529 |
t.DesiredState = api.TaskStateShutdown |
| 528 | 530 |
return store.UpdateTask(tx, t) |
| 529 | 531 |
} |
| ... | ... |
@@ -592,6 +578,14 @@ func (g *Orchestrator) IsRelatedService(service *api.Service) bool {
|
| 592 | 592 |
return orchestrator.IsGlobalService(service) |
| 593 | 593 |
} |
| 594 | 594 |
|
| 595 |
+// SlotTuple returns a slot tuple for the global service task. |
|
| 596 |
+func (g *Orchestrator) SlotTuple(t *api.Task) orchestrator.SlotTuple {
|
|
| 597 |
+ return orchestrator.SlotTuple{
|
|
| 598 |
+ ServiceID: t.ServiceID, |
|
| 599 |
+ NodeID: t.NodeID, |
|
| 600 |
+ } |
|
| 601 |
+} |
|
| 602 |
+ |
|
| 595 | 603 |
func isTaskCompleted(t *api.Task, restartPolicy api.RestartPolicy_RestartCondition) bool {
|
| 596 | 604 |
if t == nil || t.DesiredState <= api.TaskStateRunning {
|
| 597 | 605 |
return false |
| ... | ... |
@@ -87,7 +87,7 @@ func (r *Orchestrator) resolveService(ctx context.Context, task *api.Task) *api. |
| 87 | 87 |
} |
| 88 | 88 |
|
| 89 | 89 |
func (r *Orchestrator) reconcile(ctx context.Context, service *api.Service) {
|
| 90 |
- runningSlots, deadSlots, err := orchestrator.GetRunnableAndDeadSlots(r.store, service.ID) |
|
| 90 |
+ runningSlots, deadSlots, err := r.updatableAndDeadSlots(ctx, service) |
|
| 91 | 91 |
if err != nil {
|
| 92 | 92 |
log.G(ctx).WithError(err).Errorf("reconcile failed finding tasks")
|
| 93 | 93 |
return |
| ... | ... |
@@ -3,6 +3,8 @@ package replicated |
| 3 | 3 |
import ( |
| 4 | 4 |
"github.com/docker/swarmkit/api" |
| 5 | 5 |
"github.com/docker/swarmkit/manager/orchestrator" |
| 6 |
+ "github.com/docker/swarmkit/manager/state/store" |
|
| 7 |
+ "golang.org/x/net/context" |
|
| 6 | 8 |
) |
| 7 | 9 |
|
| 8 | 10 |
type slotsByRunningState []orchestrator.Slot |
| ... | ... |
@@ -53,3 +55,46 @@ func (is slotsByIndex) Less(i, j int) bool {
|
| 53 | 53 |
} |
| 54 | 54 |
return is[i].index < is[j].index |
| 55 | 55 |
} |
| 56 |
+ |
|
| 57 |
+// updatableAndDeadSlots returns two maps of slots. The first contains slots |
|
| 58 |
+// that have at least one task with a desired state above NEW and lesser or |
|
| 59 |
+// equal to RUNNING, or a task that shouldn't be restarted. The second contains |
|
| 60 |
+// all other slots with at least one task. |
|
| 61 |
+func (r *Orchestrator) updatableAndDeadSlots(ctx context.Context, service *api.Service) (map[uint64]orchestrator.Slot, map[uint64]orchestrator.Slot, error) {
|
|
| 62 |
+ var ( |
|
| 63 |
+ tasks []*api.Task |
|
| 64 |
+ err error |
|
| 65 |
+ ) |
|
| 66 |
+ r.store.View(func(tx store.ReadTx) {
|
|
| 67 |
+ tasks, err = store.FindTasks(tx, store.ByServiceID(service.ID)) |
|
| 68 |
+ }) |
|
| 69 |
+ if err != nil {
|
|
| 70 |
+ return nil, nil, err |
|
| 71 |
+ } |
|
| 72 |
+ |
|
| 73 |
+ updatableSlots := make(map[uint64]orchestrator.Slot) |
|
| 74 |
+ for _, t := range tasks {
|
|
| 75 |
+ updatableSlots[t.Slot] = append(updatableSlots[t.Slot], t) |
|
| 76 |
+ } |
|
| 77 |
+ |
|
| 78 |
+ deadSlots := make(map[uint64]orchestrator.Slot) |
|
| 79 |
+ for slotID, slot := range updatableSlots {
|
|
| 80 |
+ updatable := r.restarts.UpdatableTasksInSlot(ctx, slot, service) |
|
| 81 |
+ if len(updatable) != 0 {
|
|
| 82 |
+ updatableSlots[slotID] = updatable |
|
| 83 |
+ } else {
|
|
| 84 |
+ delete(updatableSlots, slotID) |
|
| 85 |
+ deadSlots[slotID] = slot |
|
| 86 |
+ } |
|
| 87 |
+ } |
|
| 88 |
+ |
|
| 89 |
+ return updatableSlots, deadSlots, nil |
|
| 90 |
+} |
|
| 91 |
+ |
|
| 92 |
+// SlotTuple returns a slot tuple for the replicated service task. |
|
| 93 |
+func (r *Orchestrator) SlotTuple(t *api.Task) orchestrator.SlotTuple {
|
|
| 94 |
+ return orchestrator.SlotTuple{
|
|
| 95 |
+ ServiceID: t.ServiceID, |
|
| 96 |
+ Slot: t.Slot, |
|
| 97 |
+ } |
|
| 98 |
+} |
| ... | ... |
@@ -30,6 +30,13 @@ type instanceRestartInfo struct {
|
| 30 | 30 |
// Restart.MaxAttempts and Restart.Window are both |
| 31 | 31 |
// nonzero. |
| 32 | 32 |
restartedInstances *list.List |
| 33 |
+ // Why is specVersion in this structure and not in the map key? While |
|
| 34 |
+ // putting it in the key would be a very simple solution, it wouldn't |
|
| 35 |
+ // be easy to clean up map entries corresponding to old specVersions. |
|
| 36 |
+ // Making the key version-agnostic and clearing the value whenever the |
|
| 37 |
+ // version changes avoids the issue of stale map entries for old |
|
| 38 |
+ // versions. |
|
| 39 |
+ specVersion api.Version |
|
| 33 | 40 |
} |
| 34 | 41 |
|
| 35 | 42 |
type delayedStart struct {
|
| ... | ... |
@@ -42,20 +49,13 @@ type delayedStart struct {
|
| 42 | 42 |
waiter bool |
| 43 | 43 |
} |
| 44 | 44 |
|
| 45 |
-type instanceTuple struct {
|
|
| 46 |
- instance uint64 // unset for global tasks |
|
| 47 |
- serviceID string |
|
| 48 |
- nodeID string // unset for replicated tasks |
|
| 49 |
-} |
|
| 50 |
- |
|
| 51 | 45 |
// Supervisor initiates and manages restarts. It's responsible for |
| 52 | 46 |
// delaying restarts when applicable. |
| 53 | 47 |
type Supervisor struct {
|
| 54 | 48 |
mu sync.Mutex |
| 55 | 49 |
store *store.MemoryStore |
| 56 | 50 |
delays map[string]*delayedStart |
| 57 |
- history map[instanceTuple]*instanceRestartInfo |
|
| 58 |
- historyByService map[string]map[instanceTuple]struct{}
|
|
| 51 |
+ historyByService map[string]map[orchestrator.SlotTuple]*instanceRestartInfo |
|
| 59 | 52 |
TaskTimeout time.Duration |
| 60 | 53 |
} |
| 61 | 54 |
|
| ... | ... |
@@ -64,8 +64,7 @@ func NewSupervisor(store *store.MemoryStore) *Supervisor {
|
| 64 | 64 |
return &Supervisor{
|
| 65 | 65 |
store: store, |
| 66 | 66 |
delays: make(map[string]*delayedStart), |
| 67 |
- history: make(map[instanceTuple]*instanceRestartInfo), |
|
| 68 |
- historyByService: make(map[string]map[instanceTuple]struct{}),
|
|
| 67 |
+ historyByService: make(map[string]map[orchestrator.SlotTuple]*instanceRestartInfo), |
|
| 69 | 68 |
TaskTimeout: defaultOldTaskTimeout, |
| 70 | 69 |
} |
| 71 | 70 |
} |
| ... | ... |
@@ -180,15 +179,21 @@ func (r *Supervisor) Restart(ctx context.Context, tx store.Tx, cluster *api.Clus |
| 180 | 180 |
return err |
| 181 | 181 |
} |
| 182 | 182 |
|
| 183 |
- r.recordRestartHistory(restartTask) |
|
| 183 |
+ tuple := orchestrator.SlotTuple{
|
|
| 184 |
+ Slot: restartTask.Slot, |
|
| 185 |
+ ServiceID: restartTask.ServiceID, |
|
| 186 |
+ NodeID: restartTask.NodeID, |
|
| 187 |
+ } |
|
| 188 |
+ r.RecordRestartHistory(tuple, restartTask) |
|
| 184 | 189 |
|
| 185 | 190 |
r.DelayStart(ctx, tx, &t, restartTask.ID, restartDelay, waitStop) |
| 186 | 191 |
return nil |
| 187 | 192 |
} |
| 188 | 193 |
|
| 194 |
+// shouldRestart returns true if a task should be restarted according to the |
|
| 195 |
+// restart policy. |
|
| 189 | 196 |
func (r *Supervisor) shouldRestart(ctx context.Context, t *api.Task, service *api.Service) bool {
|
| 190 | 197 |
// TODO(aluzzardi): This function should not depend on `service`. |
| 191 |
- |
|
| 192 | 198 |
condition := orchestrator.RestartCondition(t) |
| 193 | 199 |
|
| 194 | 200 |
if condition != api.RestartOnAny && |
| ... | ... |
@@ -200,22 +205,22 @@ func (r *Supervisor) shouldRestart(ctx context.Context, t *api.Task, service *ap |
| 200 | 200 |
return true |
| 201 | 201 |
} |
| 202 | 202 |
|
| 203 |
- instanceTuple := instanceTuple{
|
|
| 204 |
- instance: t.Slot, |
|
| 205 |
- serviceID: t.ServiceID, |
|
| 203 |
+ instanceTuple := orchestrator.SlotTuple{
|
|
| 204 |
+ Slot: t.Slot, |
|
| 205 |
+ ServiceID: t.ServiceID, |
|
| 206 | 206 |
} |
| 207 | 207 |
|
| 208 |
- // Instance is not meaningful for "global" tasks, so they need to be |
|
| 208 |
+ // Slot is not meaningful for "global" tasks, so they need to be |
|
| 209 | 209 |
// indexed by NodeID. |
| 210 | 210 |
if orchestrator.IsGlobalService(service) {
|
| 211 |
- instanceTuple.nodeID = t.NodeID |
|
| 211 |
+ instanceTuple.NodeID = t.NodeID |
|
| 212 | 212 |
} |
| 213 | 213 |
|
| 214 | 214 |
r.mu.Lock() |
| 215 | 215 |
defer r.mu.Unlock() |
| 216 | 216 |
|
| 217 |
- restartInfo := r.history[instanceTuple] |
|
| 218 |
- if restartInfo == nil {
|
|
| 217 |
+ restartInfo := r.historyByService[t.ServiceID][instanceTuple] |
|
| 218 |
+ if restartInfo == nil || (t.SpecVersion != nil && *t.SpecVersion != restartInfo.specVersion) {
|
|
| 219 | 219 |
return true |
| 220 | 220 |
} |
| 221 | 221 |
|
| ... | ... |
@@ -232,8 +237,32 @@ func (r *Supervisor) shouldRestart(ctx context.Context, t *api.Task, service *ap |
| 232 | 232 |
log.G(ctx).WithError(err).Error("invalid restart lookback window")
|
| 233 | 233 |
return restartInfo.totalRestarts < t.Spec.Restart.MaxAttempts |
| 234 | 234 |
} |
| 235 |
- lookback := time.Now().Add(-window) |
|
| 236 | 235 |
|
| 236 |
+ var timestamp time.Time |
|
| 237 |
+ // Prefer the manager's timestamp over the agent's, since manager |
|
| 238 |
+ // clocks are more trustworthy. |
|
| 239 |
+ if t.Status.AppliedAt != nil {
|
|
| 240 |
+ timestamp, err = gogotypes.TimestampFromProto(t.Status.AppliedAt) |
|
| 241 |
+ if err != nil {
|
|
| 242 |
+ log.G(ctx).WithError(err).Error("invalid task status AppliedAt timestamp")
|
|
| 243 |
+ return restartInfo.totalRestarts < t.Spec.Restart.MaxAttempts |
|
| 244 |
+ } |
|
| 245 |
+ } else {
|
|
| 246 |
+ // It's safe to call TimestampFromProto with a nil timestamp |
|
| 247 |
+ timestamp, err = gogotypes.TimestampFromProto(t.Status.Timestamp) |
|
| 248 |
+ if t.Status.Timestamp == nil || err != nil {
|
|
| 249 |
+ log.G(ctx).WithError(err).Error("invalid task completion timestamp")
|
|
| 250 |
+ return restartInfo.totalRestarts < t.Spec.Restart.MaxAttempts |
|
| 251 |
+ } |
|
| 252 |
+ } |
|
| 253 |
+ lookback := timestamp.Add(-window) |
|
| 254 |
+ |
|
| 255 |
+ numRestarts := uint64(restartInfo.restartedInstances.Len()) |
|
| 256 |
+ |
|
| 257 |
+ // Disregard any restarts that happened before the lookback window, |
|
| 258 |
+ // and remove them from the linked list since they will no longer |
|
| 259 |
+ // be relevant to figuring out if tasks should be restarted going |
|
| 260 |
+ // forward. |
|
| 237 | 261 |
var next *list.Element |
| 238 | 262 |
for e := restartInfo.restartedInstances.Front(); e != nil; e = next {
|
| 239 | 263 |
next = e.Next() |
| ... | ... |
@@ -242,51 +271,115 @@ func (r *Supervisor) shouldRestart(ctx context.Context, t *api.Task, service *ap |
| 242 | 242 |
break |
| 243 | 243 |
} |
| 244 | 244 |
restartInfo.restartedInstances.Remove(e) |
| 245 |
+ numRestarts-- |
|
| 245 | 246 |
} |
| 246 | 247 |
|
| 247 |
- numRestarts := uint64(restartInfo.restartedInstances.Len()) |
|
| 248 |
+ // Ignore restarts that didn't happen before the task we're looking at. |
|
| 249 |
+ for e2 := restartInfo.restartedInstances.Back(); e2 != nil; e2 = e2.Prev() {
|
|
| 250 |
+ if e2.Value.(restartedInstance).timestamp.Before(timestamp) {
|
|
| 251 |
+ break |
|
| 252 |
+ } |
|
| 253 |
+ numRestarts-- |
|
| 254 |
+ } |
|
| 248 | 255 |
|
| 249 |
- if numRestarts == 0 {
|
|
| 256 |
+ if restartInfo.restartedInstances.Len() == 0 {
|
|
| 250 | 257 |
restartInfo.restartedInstances = nil |
| 251 | 258 |
} |
| 252 | 259 |
|
| 253 | 260 |
return numRestarts < t.Spec.Restart.MaxAttempts |
| 254 | 261 |
} |
| 255 | 262 |
|
| 256 |
-func (r *Supervisor) recordRestartHistory(restartTask *api.Task) {
|
|
| 257 |
- if restartTask.Spec.Restart == nil || restartTask.Spec.Restart.MaxAttempts == 0 {
|
|
| 263 |
+// UpdatableTasksInSlot returns the set of tasks that should be passed to the |
|
| 264 |
+// updater from this slot, or an empty slice if none should be. An updatable |
|
| 265 |
+// slot has either at least one task that with desired state <= RUNNING, or its |
|
| 266 |
+// most recent task has stopped running and should not be restarted. The latter |
|
| 267 |
+// case is for making sure that tasks that shouldn't normally be restarted will |
|
| 268 |
+// still be handled by rolling updates when they become outdated. There is a |
|
| 269 |
+// special case for rollbacks to make sure that a rollback always takes the |
|
| 270 |
+// service to a converged state, instead of ignoring tasks with the original |
|
| 271 |
+// spec that stopped running and shouldn't be restarted according to the |
|
| 272 |
+// restart policy. |
|
| 273 |
+func (r *Supervisor) UpdatableTasksInSlot(ctx context.Context, slot orchestrator.Slot, service *api.Service) orchestrator.Slot {
|
|
| 274 |
+ if len(slot) < 1 {
|
|
| 275 |
+ return nil |
|
| 276 |
+ } |
|
| 277 |
+ |
|
| 278 |
+ var updatable orchestrator.Slot |
|
| 279 |
+ for _, t := range slot {
|
|
| 280 |
+ if t.DesiredState <= api.TaskStateRunning {
|
|
| 281 |
+ updatable = append(updatable, t) |
|
| 282 |
+ } |
|
| 283 |
+ } |
|
| 284 |
+ if len(updatable) > 0 {
|
|
| 285 |
+ return updatable |
|
| 286 |
+ } |
|
| 287 |
+ |
|
| 288 |
+ if service.UpdateStatus != nil && service.UpdateStatus.State == api.UpdateStatus_ROLLBACK_STARTED {
|
|
| 289 |
+ return nil |
|
| 290 |
+ } |
|
| 291 |
+ |
|
| 292 |
+ // Find most recent task |
|
| 293 |
+ byTimestamp := orchestrator.TasksByTimestamp(slot) |
|
| 294 |
+ newestIndex := 0 |
|
| 295 |
+ for i := 1; i != len(slot); i++ {
|
|
| 296 |
+ if byTimestamp.Less(newestIndex, i) {
|
|
| 297 |
+ newestIndex = i |
|
| 298 |
+ } |
|
| 299 |
+ } |
|
| 300 |
+ |
|
| 301 |
+ if !r.shouldRestart(ctx, slot[newestIndex], service) {
|
|
| 302 |
+ return orchestrator.Slot{slot[newestIndex]}
|
|
| 303 |
+ } |
|
| 304 |
+ return nil |
|
| 305 |
+} |
|
| 306 |
+ |
|
| 307 |
+// RecordRestartHistory updates the historyByService map to reflect the restart |
|
| 308 |
+// of restartedTask. |
|
| 309 |
+func (r *Supervisor) RecordRestartHistory(tuple orchestrator.SlotTuple, replacementTask *api.Task) {
|
|
| 310 |
+ if replacementTask.Spec.Restart == nil || replacementTask.Spec.Restart.MaxAttempts == 0 {
|
|
| 258 | 311 |
// No limit on the number of restarts, so no need to record |
| 259 | 312 |
// history. |
| 260 | 313 |
return |
| 261 | 314 |
} |
| 262 |
- tuple := instanceTuple{
|
|
| 263 |
- instance: restartTask.Slot, |
|
| 264 |
- serviceID: restartTask.ServiceID, |
|
| 265 |
- nodeID: restartTask.NodeID, |
|
| 266 |
- } |
|
| 267 | 315 |
|
| 268 | 316 |
r.mu.Lock() |
| 269 | 317 |
defer r.mu.Unlock() |
| 270 | 318 |
|
| 271 |
- if r.history[tuple] == nil {
|
|
| 272 |
- r.history[tuple] = &instanceRestartInfo{}
|
|
| 319 |
+ serviceID := replacementTask.ServiceID |
|
| 320 |
+ if r.historyByService[serviceID] == nil {
|
|
| 321 |
+ r.historyByService[serviceID] = make(map[orchestrator.SlotTuple]*instanceRestartInfo) |
|
| 322 |
+ } |
|
| 323 |
+ if r.historyByService[serviceID][tuple] == nil {
|
|
| 324 |
+ r.historyByService[serviceID][tuple] = &instanceRestartInfo{}
|
|
| 273 | 325 |
} |
| 274 | 326 |
|
| 275 |
- restartInfo := r.history[tuple] |
|
| 276 |
- restartInfo.totalRestarts++ |
|
| 327 |
+ restartInfo := r.historyByService[serviceID][tuple] |
|
| 277 | 328 |
|
| 278 |
- if r.historyByService[restartTask.ServiceID] == nil {
|
|
| 279 |
- r.historyByService[restartTask.ServiceID] = make(map[instanceTuple]struct{})
|
|
| 329 |
+ if replacementTask.SpecVersion != nil && *replacementTask.SpecVersion != restartInfo.specVersion {
|
|
| 330 |
+ // This task has a different SpecVersion from the one we're |
|
| 331 |
+ // tracking. Most likely, the service was updated. Past failures |
|
| 332 |
+ // shouldn't count against the new service definition, so clear |
|
| 333 |
+ // the history for this instance. |
|
| 334 |
+ *restartInfo = instanceRestartInfo{
|
|
| 335 |
+ specVersion: *replacementTask.SpecVersion, |
|
| 336 |
+ } |
|
| 280 | 337 |
} |
| 281 |
- r.historyByService[restartTask.ServiceID][tuple] = struct{}{}
|
|
| 282 | 338 |
|
| 283 |
- if restartTask.Spec.Restart.Window != nil && (restartTask.Spec.Restart.Window.Seconds != 0 || restartTask.Spec.Restart.Window.Nanos != 0) {
|
|
| 339 |
+ restartInfo.totalRestarts++ |
|
| 340 |
+ |
|
| 341 |
+ if replacementTask.Spec.Restart.Window != nil && (replacementTask.Spec.Restart.Window.Seconds != 0 || replacementTask.Spec.Restart.Window.Nanos != 0) {
|
|
| 284 | 342 |
if restartInfo.restartedInstances == nil {
|
| 285 | 343 |
restartInfo.restartedInstances = list.New() |
| 286 | 344 |
} |
| 287 | 345 |
|
| 346 |
+ // it's okay to call TimestampFromProto with a nil argument |
|
| 347 |
+ timestamp, err := gogotypes.TimestampFromProto(replacementTask.Meta.CreatedAt) |
|
| 348 |
+ if replacementTask.Meta.CreatedAt == nil || err != nil {
|
|
| 349 |
+ timestamp = time.Now() |
|
| 350 |
+ } |
|
| 351 |
+ |
|
| 288 | 352 |
restartedInstance := restartedInstance{
|
| 289 |
- timestamp: time.Now(), |
|
| 353 |
+ timestamp: timestamp, |
|
| 290 | 354 |
} |
| 291 | 355 |
|
| 292 | 356 |
restartInfo.restartedInstances.PushBack(restartedInstance) |
| ... | ... |
@@ -323,7 +416,9 @@ func (r *Supervisor) DelayStart(ctx context.Context, _ store.Tx, oldTask *api.Ta |
| 323 | 323 |
var watch chan events.Event |
| 324 | 324 |
cancelWatch := func() {}
|
| 325 | 325 |
|
| 326 |
- if waitStop && oldTask != nil {
|
|
| 326 |
+ waitForTask := waitStop && oldTask != nil && oldTask.Status.State <= api.TaskStateRunning |
|
| 327 |
+ |
|
| 328 |
+ if waitForTask {
|
|
| 327 | 329 |
// Wait for either the old task to complete, or the old task's |
| 328 | 330 |
// node to become unavailable. |
| 329 | 331 |
watch, cancelWatch = state.Watch( |
| ... | ... |
@@ -364,7 +459,7 @@ func (r *Supervisor) DelayStart(ctx context.Context, _ store.Tx, oldTask *api.Ta |
| 364 | 364 |
} |
| 365 | 365 |
} |
| 366 | 366 |
|
| 367 |
- if waitStop && oldTask != nil {
|
|
| 367 |
+ if waitForTask {
|
|
| 368 | 368 |
select {
|
| 369 | 369 |
case <-watch: |
| 370 | 370 |
case <-oldTaskTimer.C: |
| ... | ... |
@@ -432,16 +527,6 @@ func (r *Supervisor) CancelAll() {
|
| 432 | 432 |
// ClearServiceHistory forgets restart history related to a given service ID. |
| 433 | 433 |
func (r *Supervisor) ClearServiceHistory(serviceID string) {
|
| 434 | 434 |
r.mu.Lock() |
| 435 |
- defer r.mu.Unlock() |
|
| 436 |
- |
|
| 437 |
- tuples := r.historyByService[serviceID] |
|
| 438 |
- if tuples == nil {
|
|
| 439 |
- return |
|
| 440 |
- } |
|
| 441 |
- |
|
| 442 | 435 |
delete(r.historyByService, serviceID) |
| 443 |
- |
|
| 444 |
- for t := range tuples {
|
|
| 445 |
- delete(r.history, t) |
|
| 446 |
- } |
|
| 436 |
+ r.mu.Unlock() |
|
| 447 | 437 |
} |
| ... | ... |
@@ -2,7 +2,6 @@ package orchestrator |
| 2 | 2 |
|
| 3 | 3 |
import ( |
| 4 | 4 |
"github.com/docker/swarmkit/api" |
| 5 |
- "github.com/docker/swarmkit/manager/state/store" |
|
| 6 | 5 |
) |
| 7 | 6 |
|
| 8 | 7 |
// Slot is a list of the running tasks occupying a certain slot. Generally this |
| ... | ... |
@@ -12,35 +11,11 @@ import ( |
| 12 | 12 |
// is also considered a slot for global services. |
| 13 | 13 |
type Slot []*api.Task |
| 14 | 14 |
|
| 15 |
-// GetRunnableAndDeadSlots returns two maps of slots. The first contains slots |
|
| 16 |
-// that have at least one task with a desired state above NEW and lesser or |
|
| 17 |
-// equal to RUNNING. The second is for slots that only contain tasks with a |
|
| 18 |
-// desired state above RUNNING. |
|
| 19 |
-func GetRunnableAndDeadSlots(s *store.MemoryStore, serviceID string) (map[uint64]Slot, map[uint64]Slot, error) {
|
|
| 20 |
- var ( |
|
| 21 |
- tasks []*api.Task |
|
| 22 |
- err error |
|
| 23 |
- ) |
|
| 24 |
- s.View(func(tx store.ReadTx) {
|
|
| 25 |
- tasks, err = store.FindTasks(tx, store.ByServiceID(serviceID)) |
|
| 26 |
- }) |
|
| 27 |
- if err != nil {
|
|
| 28 |
- return nil, nil, err |
|
| 29 |
- } |
|
| 30 |
- |
|
| 31 |
- runningSlots := make(map[uint64]Slot) |
|
| 32 |
- for _, t := range tasks {
|
|
| 33 |
- if t.DesiredState <= api.TaskStateRunning {
|
|
| 34 |
- runningSlots[t.Slot] = append(runningSlots[t.Slot], t) |
|
| 35 |
- } |
|
| 36 |
- } |
|
| 37 |
- |
|
| 38 |
- deadSlots := make(map[uint64]Slot) |
|
| 39 |
- for _, t := range tasks {
|
|
| 40 |
- if _, exists := runningSlots[t.Slot]; !exists {
|
|
| 41 |
- deadSlots[t.Slot] = append(deadSlots[t.Slot], t) |
|
| 42 |
- } |
|
| 43 |
- } |
|
| 44 |
- |
|
| 45 |
- return runningSlots, deadSlots, nil |
|
| 15 |
+// SlotTuple identifies a unique slot, in the broad sense described above. It's |
|
| 16 |
+// a combination of either a service ID and a slot number (replicated services), |
|
| 17 |
+// or a service ID and a node ID (global services). |
|
| 18 |
+type SlotTuple struct {
|
|
| 19 |
+ Slot uint64 // unset for global service tasks |
|
| 20 |
+ ServiceID string |
|
| 21 |
+ NodeID string // unset for replicated service tasks |
|
| 46 | 22 |
} |
| ... | ... |
@@ -67,7 +67,29 @@ func IsTaskDirty(s *api.Service, t *api.Task) bool {
|
| 67 | 67 |
return false |
| 68 | 68 |
} |
| 69 | 69 |
|
| 70 |
- return !reflect.DeepEqual(s.Spec.Task, t.Spec) || |
|
| 70 |
+ // Make a deep copy of the service and task spec for the comparison. |
|
| 71 |
+ serviceTaskSpec := *s.Spec.Task.Copy() |
|
| 72 |
+ |
|
| 73 |
+ // For non-failed tasks with a container spec runtime that have already |
|
| 74 |
+ // pulled the required image (i.e., current state is between READY and |
|
| 75 |
+ // RUNNING inclusively), ignore the value of the `PullOptions` field by |
|
| 76 |
+ // setting the copied service to have the same PullOptions value as the |
|
| 77 |
+ // task. A difference in only the `PullOptions` field should not cause |
|
| 78 |
+ // a running (or ready to run) task to be considered 'dirty' when we |
|
| 79 |
+ // handle updates. |
|
| 80 |
+ // See https://github.com/docker/swarmkit/issues/971 |
|
| 81 |
+ currentState := t.Status.State |
|
| 82 |
+ // Ignore PullOpts if the task is desired to be in a "runnable" state |
|
| 83 |
+ // and its last known current state is between READY and RUNNING in |
|
| 84 |
+ // which case we know that the task either successfully pulled its |
|
| 85 |
+ // container image or didn't need to. |
|
| 86 |
+ ignorePullOpts := t.DesiredState <= api.TaskStateRunning && currentState >= api.TaskStateReady && currentState <= api.TaskStateRunning |
|
| 87 |
+ if ignorePullOpts && serviceTaskSpec.GetContainer() != nil && t.Spec.GetContainer() != nil {
|
|
| 88 |
+ // Modify the service's container spec. |
|
| 89 |
+ serviceTaskSpec.GetContainer().PullOptions = t.Spec.GetContainer().PullOptions |
|
| 90 |
+ } |
|
| 91 |
+ |
|
| 92 |
+ return !reflect.DeepEqual(serviceTaskSpec, t.Spec) || |
|
| 71 | 93 |
(t.Endpoint != nil && !reflect.DeepEqual(s.Spec.Endpoint, t.Endpoint.Spec)) |
| 72 | 94 |
} |
| 73 | 95 |
|
| ... | ... |
@@ -77,3 +99,44 @@ func InvalidNode(n *api.Node) bool {
|
| 77 | 77 |
n.Status.State == api.NodeStatus_DOWN || |
| 78 | 78 |
n.Spec.Availability == api.NodeAvailabilityDrain |
| 79 | 79 |
} |
| 80 |
+ |
|
| 81 |
+// TasksByTimestamp sorts tasks by applied timestamp if available, otherwise |
|
| 82 |
+// status timestamp. |
|
| 83 |
+type TasksByTimestamp []*api.Task |
|
| 84 |
+ |
|
| 85 |
+// Len implements the Len method for sorting. |
|
| 86 |
+func (t TasksByTimestamp) Len() int {
|
|
| 87 |
+ return len(t) |
|
| 88 |
+} |
|
| 89 |
+ |
|
| 90 |
+// Swap implements the Swap method for sorting. |
|
| 91 |
+func (t TasksByTimestamp) Swap(i, j int) {
|
|
| 92 |
+ t[i], t[j] = t[j], t[i] |
|
| 93 |
+} |
|
| 94 |
+ |
|
| 95 |
+// Less implements the Less method for sorting. |
|
| 96 |
+func (t TasksByTimestamp) Less(i, j int) bool {
|
|
| 97 |
+ iTimestamp := t[i].Status.Timestamp |
|
| 98 |
+ if t[i].Status.AppliedAt != nil {
|
|
| 99 |
+ iTimestamp = t[i].Status.AppliedAt |
|
| 100 |
+ } |
|
| 101 |
+ |
|
| 102 |
+ jTimestamp := t[j].Status.Timestamp |
|
| 103 |
+ if t[j].Status.AppliedAt != nil {
|
|
| 104 |
+ iTimestamp = t[j].Status.AppliedAt |
|
| 105 |
+ } |
|
| 106 |
+ |
|
| 107 |
+ if iTimestamp == nil {
|
|
| 108 |
+ return true |
|
| 109 |
+ } |
|
| 110 |
+ if jTimestamp == nil {
|
|
| 111 |
+ return false |
|
| 112 |
+ } |
|
| 113 |
+ if iTimestamp.Seconds < jTimestamp.Seconds {
|
|
| 114 |
+ return true |
|
| 115 |
+ } |
|
| 116 |
+ if iTimestamp.Seconds > jTimestamp.Seconds {
|
|
| 117 |
+ return false |
|
| 118 |
+ } |
|
| 119 |
+ return iTimestamp.Nanos < jTimestamp.Nanos |
|
| 120 |
+} |
| ... | ... |
@@ -1,11 +1,13 @@ |
| 1 | 1 |
package taskinit |
| 2 | 2 |
|
| 3 | 3 |
import ( |
| 4 |
+ "sort" |
|
| 4 | 5 |
"time" |
| 5 | 6 |
|
| 6 | 7 |
"github.com/docker/swarmkit/api" |
| 7 | 8 |
"github.com/docker/swarmkit/api/defaults" |
| 8 | 9 |
"github.com/docker/swarmkit/log" |
| 10 |
+ "github.com/docker/swarmkit/manager/orchestrator" |
|
| 9 | 11 |
"github.com/docker/swarmkit/manager/orchestrator/restart" |
| 10 | 12 |
"github.com/docker/swarmkit/manager/state/store" |
| 11 | 13 |
gogotypes "github.com/gogo/protobuf/types" |
| ... | ... |
@@ -16,11 +18,13 @@ import ( |
| 16 | 16 |
type InitHandler interface {
|
| 17 | 17 |
IsRelatedService(service *api.Service) bool |
| 18 | 18 |
FixTask(ctx context.Context, batch *store.Batch, t *api.Task) |
| 19 |
+ SlotTuple(t *api.Task) orchestrator.SlotTuple |
|
| 19 | 20 |
} |
| 20 | 21 |
|
| 21 | 22 |
// CheckTasks fixes tasks in the store before orchestrator runs. The previous leader might |
| 22 | 23 |
// not have finished processing their updates and left them in an inconsistent state. |
| 23 | 24 |
func CheckTasks(ctx context.Context, s *store.MemoryStore, readTx store.ReadTx, initHandler InitHandler, startSupervisor *restart.Supervisor) error {
|
| 25 |
+ instances := make(map[orchestrator.SlotTuple][]*api.Task) |
|
| 24 | 26 |
err := s.Batch(func(batch *store.Batch) error {
|
| 25 | 27 |
tasks, err := store.FindTasks(readTx, store.All) |
| 26 | 28 |
if err != nil {
|
| ... | ... |
@@ -47,6 +51,9 @@ func CheckTasks(ctx context.Context, s *store.MemoryStore, readTx store.ReadTx, |
| 47 | 47 |
continue |
| 48 | 48 |
} |
| 49 | 49 |
|
| 50 |
+ tuple := initHandler.SlotTuple(t) |
|
| 51 |
+ instances[tuple] = append(instances[tuple], t) |
|
| 52 |
+ |
|
| 50 | 53 |
// handle task updates from agent which should have been triggered by task update events |
| 51 | 54 |
initHandler.FixTask(ctx, batch, t) |
| 52 | 55 |
|
| ... | ... |
@@ -65,7 +72,12 @@ func CheckTasks(ctx context.Context, s *store.MemoryStore, readTx store.ReadTx, |
| 65 | 65 |
} |
| 66 | 66 |
} |
| 67 | 67 |
if restartDelay != 0 {
|
| 68 |
- timestamp, err := gogotypes.TimestampFromProto(t.Status.Timestamp) |
|
| 68 |
+ var timestamp time.Time |
|
| 69 |
+ if t.Status.AppliedAt != nil {
|
|
| 70 |
+ timestamp, err = gogotypes.TimestampFromProto(t.Status.AppliedAt) |
|
| 71 |
+ } else {
|
|
| 72 |
+ timestamp, err = gogotypes.TimestampFromProto(t.Status.Timestamp) |
|
| 73 |
+ } |
|
| 69 | 74 |
if err == nil {
|
| 70 | 75 |
restartTime := timestamp.Add(restartDelay) |
| 71 | 76 |
calculatedRestartDelay := restartTime.Sub(time.Now()) |
| ... | ... |
@@ -99,5 +111,64 @@ func CheckTasks(ctx context.Context, s *store.MemoryStore, readTx store.ReadTx, |
| 99 | 99 |
} |
| 100 | 100 |
return nil |
| 101 | 101 |
}) |
| 102 |
- return err |
|
| 102 |
+ if err != nil {
|
|
| 103 |
+ return err |
|
| 104 |
+ } |
|
| 105 |
+ |
|
| 106 |
+ for tuple, instance := range instances {
|
|
| 107 |
+ // Find the most current spec version. That's the only one |
|
| 108 |
+ // we care about for the purpose of reconstructing restart |
|
| 109 |
+ // history. |
|
| 110 |
+ maxVersion := uint64(0) |
|
| 111 |
+ for _, t := range instance {
|
|
| 112 |
+ if t.SpecVersion != nil && t.SpecVersion.Index > maxVersion {
|
|
| 113 |
+ maxVersion = t.SpecVersion.Index |
|
| 114 |
+ } |
|
| 115 |
+ } |
|
| 116 |
+ |
|
| 117 |
+ // Create a new slice with just the current spec version tasks. |
|
| 118 |
+ var upToDate []*api.Task |
|
| 119 |
+ for _, t := range instance {
|
|
| 120 |
+ if t.SpecVersion != nil && t.SpecVersion.Index == maxVersion {
|
|
| 121 |
+ upToDate = append(upToDate, t) |
|
| 122 |
+ } |
|
| 123 |
+ } |
|
| 124 |
+ |
|
| 125 |
+ // Sort by creation timestamp |
|
| 126 |
+ sort.Sort(tasksByCreationTimestamp(upToDate)) |
|
| 127 |
+ |
|
| 128 |
+ // All up-to-date tasks in this instance except the first one |
|
| 129 |
+ // should be considered restarted. |
|
| 130 |
+ if len(upToDate) < 2 {
|
|
| 131 |
+ continue |
|
| 132 |
+ } |
|
| 133 |
+ for _, t := range upToDate[1:] {
|
|
| 134 |
+ startSupervisor.RecordRestartHistory(tuple, t) |
|
| 135 |
+ } |
|
| 136 |
+ } |
|
| 137 |
+ return nil |
|
| 138 |
+} |
|
| 139 |
+ |
|
| 140 |
+type tasksByCreationTimestamp []*api.Task |
|
| 141 |
+ |
|
| 142 |
+func (t tasksByCreationTimestamp) Len() int {
|
|
| 143 |
+ return len(t) |
|
| 144 |
+} |
|
| 145 |
+func (t tasksByCreationTimestamp) Swap(i, j int) {
|
|
| 146 |
+ t[i], t[j] = t[j], t[i] |
|
| 147 |
+} |
|
| 148 |
+func (t tasksByCreationTimestamp) Less(i, j int) bool {
|
|
| 149 |
+ if t[i].Meta.CreatedAt == nil {
|
|
| 150 |
+ return true |
|
| 151 |
+ } |
|
| 152 |
+ if t[j].Meta.CreatedAt == nil {
|
|
| 153 |
+ return false |
|
| 154 |
+ } |
|
| 155 |
+ if t[i].Meta.CreatedAt.Seconds < t[j].Meta.CreatedAt.Seconds {
|
|
| 156 |
+ return true |
|
| 157 |
+ } |
|
| 158 |
+ if t[i].Meta.CreatedAt.Seconds > t[j].Meta.CreatedAt.Seconds {
|
|
| 159 |
+ return false |
|
| 160 |
+ } |
|
| 161 |
+ return t[i].Meta.CreatedAt.Nanos < t[j].Meta.CreatedAt.Nanos |
|
| 103 | 162 |
} |
| ... | ... |
@@ -6,6 +6,7 @@ import ( |
| 6 | 6 |
|
| 7 | 7 |
"github.com/docker/swarmkit/api" |
| 8 | 8 |
"github.com/docker/swarmkit/log" |
| 9 |
+ "github.com/docker/swarmkit/manager/orchestrator" |
|
| 9 | 10 |
"github.com/docker/swarmkit/manager/state" |
| 10 | 11 |
"github.com/docker/swarmkit/manager/state/store" |
| 11 | 12 |
"golang.org/x/net/context" |
| ... | ... |
@@ -18,19 +19,13 @@ const ( |
| 18 | 18 |
reaperBatchingInterval = 250 * time.Millisecond |
| 19 | 19 |
) |
| 20 | 20 |
|
| 21 |
-type instanceTuple struct {
|
|
| 22 |
- instance uint64 // unset for global tasks |
|
| 23 |
- serviceID string |
|
| 24 |
- nodeID string // unset for replicated tasks |
|
| 25 |
-} |
|
| 26 |
- |
|
| 27 | 21 |
// A TaskReaper deletes old tasks when more than TaskHistoryRetentionLimit tasks |
| 28 | 22 |
// exist for the same service/instance or service/nodeid combination. |
| 29 | 23 |
type TaskReaper struct {
|
| 30 | 24 |
store *store.MemoryStore |
| 31 | 25 |
// taskHistory is the number of tasks to keep |
| 32 | 26 |
taskHistory int64 |
| 33 |
- dirty map[instanceTuple]struct{}
|
|
| 27 |
+ dirty map[orchestrator.SlotTuple]struct{}
|
|
| 34 | 28 |
orphaned []string |
| 35 | 29 |
stopChan chan struct{}
|
| 36 | 30 |
doneChan chan struct{}
|
| ... | ... |
@@ -40,7 +35,7 @@ type TaskReaper struct {
|
| 40 | 40 |
func New(store *store.MemoryStore) *TaskReaper {
|
| 41 | 41 |
return &TaskReaper{
|
| 42 | 42 |
store: store, |
| 43 |
- dirty: make(map[instanceTuple]struct{}),
|
|
| 43 |
+ dirty: make(map[orchestrator.SlotTuple]struct{}),
|
|
| 44 | 44 |
stopChan: make(chan struct{}),
|
| 45 | 45 |
doneChan: make(chan struct{}),
|
| 46 | 46 |
} |
| ... | ... |
@@ -93,10 +88,10 @@ func (tr *TaskReaper) Run(ctx context.Context) {
|
| 93 | 93 |
switch v := event.(type) {
|
| 94 | 94 |
case api.EventCreateTask: |
| 95 | 95 |
t := v.Task |
| 96 |
- tr.dirty[instanceTuple{
|
|
| 97 |
- instance: t.Slot, |
|
| 98 |
- serviceID: t.ServiceID, |
|
| 99 |
- nodeID: t.NodeID, |
|
| 96 |
+ tr.dirty[orchestrator.SlotTuple{
|
|
| 97 |
+ Slot: t.Slot, |
|
| 98 |
+ ServiceID: t.ServiceID, |
|
| 99 |
+ NodeID: t.NodeID, |
|
| 100 | 100 |
}] = struct{}{}
|
| 101 | 101 |
case api.EventUpdateTask: |
| 102 | 102 |
t := v.Task |
| ... | ... |
@@ -138,13 +133,29 @@ func (tr *TaskReaper) tick() {
|
| 138 | 138 |
} |
| 139 | 139 |
tr.store.View(func(tx store.ReadTx) {
|
| 140 | 140 |
for dirty := range tr.dirty {
|
| 141 |
- service := store.GetService(tx, dirty.serviceID) |
|
| 141 |
+ service := store.GetService(tx, dirty.ServiceID) |
|
| 142 | 142 |
if service == nil {
|
| 143 | 143 |
continue |
| 144 | 144 |
} |
| 145 | 145 |
|
| 146 | 146 |
taskHistory := tr.taskHistory |
| 147 | 147 |
|
| 148 |
+ // If MaxAttempts is set, keep at least one more than |
|
| 149 |
+ // that number of tasks. This is necessary reconstruct |
|
| 150 |
+ // restart history when the orchestrator starts up. |
|
| 151 |
+ // TODO(aaronl): Consider hiding tasks beyond the normal |
|
| 152 |
+ // retention limit in the UI. |
|
| 153 |
+ // TODO(aaronl): There are some ways to cut down the |
|
| 154 |
+ // number of retained tasks at the cost of more |
|
| 155 |
+ // complexity: |
|
| 156 |
+ // - Don't force retention of tasks with an older spec |
|
| 157 |
+ // version. |
|
| 158 |
+ // - Don't force retention of tasks outside of the |
|
| 159 |
+ // time window configured for restart lookback. |
|
| 160 |
+ if service.Spec.Task.Restart != nil && service.Spec.Task.Restart.MaxAttempts > 0 {
|
|
| 161 |
+ taskHistory = int64(service.Spec.Task.Restart.MaxAttempts) + 1 |
|
| 162 |
+ } |
|
| 163 |
+ |
|
| 148 | 164 |
if taskHistory < 0 {
|
| 149 | 165 |
continue |
| 150 | 166 |
} |
| ... | ... |
@@ -154,19 +165,19 @@ func (tr *TaskReaper) tick() {
|
| 154 | 154 |
switch service.Spec.GetMode().(type) {
|
| 155 | 155 |
case *api.ServiceSpec_Replicated: |
| 156 | 156 |
var err error |
| 157 |
- historicTasks, err = store.FindTasks(tx, store.BySlot(dirty.serviceID, dirty.instance)) |
|
| 157 |
+ historicTasks, err = store.FindTasks(tx, store.BySlot(dirty.ServiceID, dirty.Slot)) |
|
| 158 | 158 |
if err != nil {
|
| 159 | 159 |
continue |
| 160 | 160 |
} |
| 161 | 161 |
|
| 162 | 162 |
case *api.ServiceSpec_Global: |
| 163 |
- tasksByNode, err := store.FindTasks(tx, store.ByNodeID(dirty.nodeID)) |
|
| 163 |
+ tasksByNode, err := store.FindTasks(tx, store.ByNodeID(dirty.NodeID)) |
|
| 164 | 164 |
if err != nil {
|
| 165 | 165 |
continue |
| 166 | 166 |
} |
| 167 | 167 |
|
| 168 | 168 |
for _, t := range tasksByNode {
|
| 169 |
- if t.ServiceID == dirty.serviceID {
|
|
| 169 |
+ if t.ServiceID == dirty.ServiceID {
|
|
| 170 | 170 |
historicTasks = append(historicTasks, t) |
| 171 | 171 |
} |
| 172 | 172 |
} |
| ... | ... |
@@ -178,7 +189,9 @@ func (tr *TaskReaper) tick() {
|
| 178 | 178 |
|
| 179 | 179 |
// TODO(aaronl): This could filter for non-running tasks and use quickselect |
| 180 | 180 |
// instead of sorting the whole slice. |
| 181 |
- sort.Sort(tasksByTimestamp(historicTasks)) |
|
| 181 |
+ // TODO(aaronl): This sort should really use lamport time instead of wall |
|
| 182 |
+ // clock time. We should store a Version in the Status field. |
|
| 183 |
+ sort.Sort(orchestrator.TasksByTimestamp(historicTasks)) |
|
| 182 | 184 |
|
| 183 | 185 |
runningTasks := 0 |
| 184 | 186 |
for _, t := range historicTasks {
|
| ... | ... |
@@ -219,27 +232,3 @@ func (tr *TaskReaper) Stop() {
|
| 219 | 219 |
close(tr.stopChan) |
| 220 | 220 |
<-tr.doneChan |
| 221 | 221 |
} |
| 222 |
- |
|
| 223 |
-type tasksByTimestamp []*api.Task |
|
| 224 |
- |
|
| 225 |
-func (t tasksByTimestamp) Len() int {
|
|
| 226 |
- return len(t) |
|
| 227 |
-} |
|
| 228 |
-func (t tasksByTimestamp) Swap(i, j int) {
|
|
| 229 |
- t[i], t[j] = t[j], t[i] |
|
| 230 |
-} |
|
| 231 |
-func (t tasksByTimestamp) Less(i, j int) bool {
|
|
| 232 |
- if t[i].Status.Timestamp == nil {
|
|
| 233 |
- return true |
|
| 234 |
- } |
|
| 235 |
- if t[j].Status.Timestamp == nil {
|
|
| 236 |
- return false |
|
| 237 |
- } |
|
| 238 |
- if t[i].Status.Timestamp.Seconds < t[j].Status.Timestamp.Seconds {
|
|
| 239 |
- return true |
|
| 240 |
- } |
|
| 241 |
- if t[i].Status.Timestamp.Seconds > t[j].Status.Timestamp.Seconds {
|
|
| 242 |
- return false |
|
| 243 |
- } |
|
| 244 |
- return t[i].Status.Timestamp.Nanos < t[j].Status.Timestamp.Nanos |
|
| 245 |
-} |
| ... | ... |
@@ -430,7 +430,7 @@ func (u *Updater) updateTask(ctx context.Context, slot orchestrator.Slot, update |
| 430 | 430 |
u.updatedTasks[updated.ID] = time.Now() |
| 431 | 431 |
u.updatedTasksMu.Unlock() |
| 432 | 432 |
|
| 433 |
- if startThenStop {
|
|
| 433 |
+ if startThenStop && updated.Status.State == api.TaskStateRunning {
|
|
| 434 | 434 |
err := u.store.Batch(func(batch *store.Batch) error {
|
| 435 | 435 |
_, err := u.removeOldTasks(ctx, batch, slot) |
| 436 | 436 |
if err != nil {
|
| ... | ... |
@@ -496,6 +496,9 @@ func (u *Updater) removeOldTasks(ctx context.Context, batch *store.Batch, remove |
| 496 | 496 |
removedTask *api.Task |
| 497 | 497 |
) |
| 498 | 498 |
for _, original := range removeTasks {
|
| 499 |
+ if original.DesiredState > api.TaskStateRunning {
|
|
| 500 |
+ continue |
|
| 501 |
+ } |
|
| 499 | 502 |
err := batch.Update(func(tx store.Tx) error {
|
| 500 | 503 |
t := store.GetTask(tx, original.ID) |
| 501 | 504 |
if t == nil {
|
| ... | ... |
@@ -583,9 +586,8 @@ func (u *Updater) pauseUpdate(ctx context.Context, serviceID, message string) {
|
| 583 | 583 |
func (u *Updater) rollbackUpdate(ctx context.Context, serviceID, message string) {
|
| 584 | 584 |
log.G(ctx).Debugf("starting rollback of service %s", serviceID)
|
| 585 | 585 |
|
| 586 |
- var service *api.Service |
|
| 587 | 586 |
err := u.store.Update(func(tx store.Tx) error {
|
| 588 |
- service = store.GetService(tx, serviceID) |
|
| 587 |
+ service := store.GetService(tx, serviceID) |
|
| 589 | 588 |
if service == nil {
|
| 590 | 589 |
return nil |
| 591 | 590 |
} |
| ... | ... |
@@ -601,7 +603,9 @@ func (u *Updater) rollbackUpdate(ctx context.Context, serviceID, message string) |
| 601 | 601 |
return errors.New("cannot roll back service because no previous spec is available")
|
| 602 | 602 |
} |
| 603 | 603 |
service.Spec = *service.PreviousSpec |
| 604 |
+ service.SpecVersion = service.PreviousSpecVersion.Copy() |
|
| 604 | 605 |
service.PreviousSpec = nil |
| 606 |
+ service.PreviousSpecVersion = nil |
|
| 605 | 607 |
|
| 606 | 608 |
return store.UpdateService(tx, service) |
| 607 | 609 |
}) |
| ... | ... |
@@ -166,6 +166,8 @@ type NodeOptions struct {
|
| 166 | 166 |
// JoinAddr is the cluster to join. May be an empty string to create |
| 167 | 167 |
// a standalone cluster. |
| 168 | 168 |
JoinAddr string |
| 169 |
+ // ForceJoin tells us to join even if already part of a cluster. |
|
| 170 |
+ ForceJoin bool |
|
| 169 | 171 |
// Config is the raft config. |
| 170 | 172 |
Config *raft.Config |
| 171 | 173 |
// StateDir is the directory to store durable state. |
| ... | ... |
@@ -393,8 +395,10 @@ func (n *Node) JoinAndStart(ctx context.Context) (err error) {
|
| 393 | 393 |
|
| 394 | 394 |
// restore from snapshot |
| 395 | 395 |
if loadAndStartErr == nil {
|
| 396 |
- if n.opts.JoinAddr != "" {
|
|
| 397 |
- log.G(ctx).Warning("ignoring request to join cluster, because raft state already exists")
|
|
| 396 |
+ if n.opts.JoinAddr != "" && n.opts.ForceJoin {
|
|
| 397 |
+ if err := n.joinCluster(ctx); err != nil {
|
|
| 398 |
+ return errors.Wrap(err, "failed to rejoin cluster") |
|
| 399 |
+ } |
|
| 398 | 400 |
} |
| 399 | 401 |
n.campaignWhenAble = true |
| 400 | 402 |
n.initTransport() |
| ... | ... |
@@ -402,7 +406,6 @@ func (n *Node) JoinAndStart(ctx context.Context) (err error) {
|
| 402 | 402 |
return nil |
| 403 | 403 |
} |
| 404 | 404 |
|
| 405 |
- // first member of cluster |
|
| 406 | 405 |
if n.opts.JoinAddr == "" {
|
| 407 | 406 |
// First member in the cluster, self-assign ID |
| 408 | 407 |
n.Config.ID = uint64(rand.Int63()) + 1 |
| ... | ... |
@@ -417,6 +420,22 @@ func (n *Node) JoinAndStart(ctx context.Context) (err error) {
|
| 417 | 417 |
} |
| 418 | 418 |
|
| 419 | 419 |
// join to existing cluster |
| 420 |
+ |
|
| 421 |
+ if err := n.joinCluster(ctx); err != nil {
|
|
| 422 |
+ return err |
|
| 423 |
+ } |
|
| 424 |
+ |
|
| 425 |
+ if _, err := n.newRaftLogs(n.opts.ID); err != nil {
|
|
| 426 |
+ return err |
|
| 427 |
+ } |
|
| 428 |
+ |
|
| 429 |
+ n.initTransport() |
|
| 430 |
+ n.raftNode = raft.StartNode(n.Config, nil) |
|
| 431 |
+ |
|
| 432 |
+ return nil |
|
| 433 |
+} |
|
| 434 |
+ |
|
| 435 |
+func (n *Node) joinCluster(ctx context.Context) error {
|
|
| 420 | 436 |
if n.opts.Addr == "" {
|
| 421 | 437 |
return errors.New("attempted to join raft cluster without knowing own address")
|
| 422 | 438 |
} |
| ... | ... |
@@ -438,15 +457,7 @@ func (n *Node) JoinAndStart(ctx context.Context) (err error) {
|
| 438 | 438 |
} |
| 439 | 439 |
|
| 440 | 440 |
n.Config.ID = resp.RaftID |
| 441 |
- |
|
| 442 |
- if _, err := n.newRaftLogs(n.opts.ID); err != nil {
|
|
| 443 |
- return err |
|
| 444 |
- } |
|
| 445 | 441 |
n.bootstrapMembers = resp.Members |
| 446 |
- |
|
| 447 |
- n.initTransport() |
|
| 448 |
- n.raftNode = raft.StartNode(n.Config, nil) |
|
| 449 |
- |
|
| 450 | 442 |
return nil |
| 451 | 443 |
} |
| 452 | 444 |
|
| ... | ... |
@@ -909,24 +920,6 @@ func (n *Node) Join(ctx context.Context, req *api.JoinRequest) (*api.JoinRespons |
| 909 | 909 |
return nil, grpc.Errorf(codes.FailedPrecondition, "%s", ErrLostLeadership.Error()) |
| 910 | 910 |
} |
| 911 | 911 |
|
| 912 |
- // A single manager must not be able to join the raft cluster twice. If |
|
| 913 |
- // it did, that would cause the quorum to be computed incorrectly. This |
|
| 914 |
- // could happen if the WAL was deleted from an active manager. |
|
| 915 |
- for _, m := range n.cluster.Members() {
|
|
| 916 |
- if m.NodeID == nodeInfo.NodeID {
|
|
| 917 |
- return nil, grpc.Errorf(codes.AlreadyExists, "%s", "a raft member with this node ID already exists") |
|
| 918 |
- } |
|
| 919 |
- } |
|
| 920 |
- |
|
| 921 |
- // Find a unique ID for the joining member. |
|
| 922 |
- var raftID uint64 |
|
| 923 |
- for {
|
|
| 924 |
- raftID = uint64(rand.Int63()) + 1 |
|
| 925 |
- if n.cluster.GetMember(raftID) == nil && !n.cluster.IsIDRemoved(raftID) {
|
|
| 926 |
- break |
|
| 927 |
- } |
|
| 928 |
- } |
|
| 929 |
- |
|
| 930 | 912 |
remoteAddr := req.Addr |
| 931 | 913 |
|
| 932 | 914 |
// If the joining node sent an address like 0.0.0.0:4242, automatically |
| ... | ... |
@@ -953,12 +946,54 @@ func (n *Node) Join(ctx context.Context, req *api.JoinRequest) (*api.JoinRespons |
| 953 | 953 |
return nil, err |
| 954 | 954 |
} |
| 955 | 955 |
|
| 956 |
+ // If the peer is already a member of the cluster, we will only update |
|
| 957 |
+ // its information, not add it as a new member. Adding it again would |
|
| 958 |
+ // cause the quorum to be computed incorrectly. |
|
| 959 |
+ for _, m := range n.cluster.Members() {
|
|
| 960 |
+ if m.NodeID == nodeInfo.NodeID {
|
|
| 961 |
+ if remoteAddr == m.Addr {
|
|
| 962 |
+ return n.joinResponse(m.RaftID), nil |
|
| 963 |
+ } |
|
| 964 |
+ updatedRaftMember := &api.RaftMember{
|
|
| 965 |
+ RaftID: m.RaftID, |
|
| 966 |
+ NodeID: m.NodeID, |
|
| 967 |
+ Addr: remoteAddr, |
|
| 968 |
+ } |
|
| 969 |
+ if err := n.cluster.UpdateMember(m.RaftID, updatedRaftMember); err != nil {
|
|
| 970 |
+ return nil, err |
|
| 971 |
+ } |
|
| 972 |
+ |
|
| 973 |
+ if err := n.updateNodeBlocking(ctx, m.RaftID, remoteAddr); err != nil {
|
|
| 974 |
+ log.WithError(err).Error("failed to update node address")
|
|
| 975 |
+ return nil, err |
|
| 976 |
+ } |
|
| 977 |
+ |
|
| 978 |
+ log.Info("updated node address")
|
|
| 979 |
+ return n.joinResponse(m.RaftID), nil |
|
| 980 |
+ } |
|
| 981 |
+ } |
|
| 982 |
+ |
|
| 983 |
+ // Find a unique ID for the joining member. |
|
| 984 |
+ var raftID uint64 |
|
| 985 |
+ for {
|
|
| 986 |
+ raftID = uint64(rand.Int63()) + 1 |
|
| 987 |
+ if n.cluster.GetMember(raftID) == nil && !n.cluster.IsIDRemoved(raftID) {
|
|
| 988 |
+ break |
|
| 989 |
+ } |
|
| 990 |
+ } |
|
| 991 |
+ |
|
| 956 | 992 |
err = n.addMember(ctx, remoteAddr, raftID, nodeInfo.NodeID) |
| 957 | 993 |
if err != nil {
|
| 958 | 994 |
log.WithError(err).Errorf("failed to add member %x", raftID)
|
| 959 | 995 |
return nil, err |
| 960 | 996 |
} |
| 961 | 997 |
|
| 998 |
+ log.Debug("node joined")
|
|
| 999 |
+ |
|
| 1000 |
+ return n.joinResponse(raftID), nil |
|
| 1001 |
+} |
|
| 1002 |
+ |
|
| 1003 |
+func (n *Node) joinResponse(raftID uint64) *api.JoinResponse {
|
|
| 962 | 1004 |
var nodes []*api.RaftMember |
| 963 | 1005 |
for _, node := range n.cluster.Members() {
|
| 964 | 1006 |
nodes = append(nodes, &api.RaftMember{
|
| ... | ... |
@@ -967,9 +1002,8 @@ func (n *Node) Join(ctx context.Context, req *api.JoinRequest) (*api.JoinRespons |
| 967 | 967 |
Addr: node.Addr, |
| 968 | 968 |
}) |
| 969 | 969 |
} |
| 970 |
- log.Debugf("node joined")
|
|
| 971 | 970 |
|
| 972 |
- return &api.JoinResponse{Members: nodes, RaftID: raftID}, nil
|
|
| 971 |
+ return &api.JoinResponse{Members: nodes, RaftID: raftID}
|
|
| 973 | 972 |
} |
| 974 | 973 |
|
| 975 | 974 |
// checkHealth tries to contact an aspiring member through its advertised address |
| ... | ... |
@@ -1,12 +1,24 @@ |
| 1 | 1 |
package watchapi |
| 2 | 2 |
|
| 3 | 3 |
import ( |
| 4 |
+ "errors" |
|
| 5 |
+ "sync" |
|
| 6 |
+ |
|
| 4 | 7 |
"github.com/docker/swarmkit/manager/state/store" |
| 8 |
+ "golang.org/x/net/context" |
|
| 9 |
+) |
|
| 10 |
+ |
|
| 11 |
+var ( |
|
| 12 |
+ errAlreadyRunning = errors.New("broker is already running")
|
|
| 13 |
+ errNotRunning = errors.New("broker is not running")
|
|
| 5 | 14 |
) |
| 6 | 15 |
|
| 7 | 16 |
// Server is the store API gRPC server. |
| 8 | 17 |
type Server struct {
|
| 9 |
- store *store.MemoryStore |
|
| 18 |
+ store *store.MemoryStore |
|
| 19 |
+ mu sync.Mutex |
|
| 20 |
+ pctx context.Context |
|
| 21 |
+ cancelAll func() |
|
| 10 | 22 |
} |
| 11 | 23 |
|
| 12 | 24 |
// NewServer creates a store API server. |
| ... | ... |
@@ -15,3 +27,30 @@ func NewServer(store *store.MemoryStore) *Server {
|
| 15 | 15 |
store: store, |
| 16 | 16 |
} |
| 17 | 17 |
} |
| 18 |
+ |
|
| 19 |
+// Start starts the watch server. |
|
| 20 |
+func (s *Server) Start(ctx context.Context) error {
|
|
| 21 |
+ s.mu.Lock() |
|
| 22 |
+ defer s.mu.Unlock() |
|
| 23 |
+ |
|
| 24 |
+ if s.cancelAll != nil {
|
|
| 25 |
+ return errAlreadyRunning |
|
| 26 |
+ } |
|
| 27 |
+ |
|
| 28 |
+ s.pctx, s.cancelAll = context.WithCancel(ctx) |
|
| 29 |
+ return nil |
|
| 30 |
+} |
|
| 31 |
+ |
|
| 32 |
+// Stop stops the watch server. |
|
| 33 |
+func (s *Server) Stop() error {
|
|
| 34 |
+ s.mu.Lock() |
|
| 35 |
+ defer s.mu.Unlock() |
|
| 36 |
+ |
|
| 37 |
+ if s.cancelAll == nil {
|
|
| 38 |
+ return errNotRunning |
|
| 39 |
+ } |
|
| 40 |
+ s.cancelAll() |
|
| 41 |
+ s.cancelAll = nil |
|
| 42 |
+ |
|
| 43 |
+ return nil |
|
| 44 |
+} |
| ... | ... |
@@ -17,6 +17,13 @@ import ( |
| 17 | 17 |
func (s *Server) Watch(request *api.WatchRequest, stream api.Watch_WatchServer) error {
|
| 18 | 18 |
ctx := stream.Context() |
| 19 | 19 |
|
| 20 |
+ s.mu.Lock() |
|
| 21 |
+ pctx := s.pctx |
|
| 22 |
+ s.mu.Unlock() |
|
| 23 |
+ if pctx == nil {
|
|
| 24 |
+ return errNotRunning |
|
| 25 |
+ } |
|
| 26 |
+ |
|
| 20 | 27 |
watchArgs, err := api.ConvertWatchArgs(request.Entries) |
| 21 | 28 |
if err != nil {
|
| 22 | 29 |
return grpc.Errorf(codes.InvalidArgument, "%s", err.Error()) |
| ... | ... |
@@ -39,6 +46,8 @@ func (s *Server) Watch(request *api.WatchRequest, stream api.Watch_WatchServer) |
| 39 | 39 |
select {
|
| 40 | 40 |
case <-ctx.Done(): |
| 41 | 41 |
return ctx.Err() |
| 42 |
+ case <-pctx.Done(): |
|
| 43 |
+ return pctx.Err() |
|
| 42 | 44 |
case event := <-watch: |
| 43 | 45 |
if commitEvent, ok := event.(state.EventCommit); ok && len(events) > 0 {
|
| 44 | 46 |
if err := stream.Send(&api.WatchMessage{Events: events, Version: commitEvent.Version}); err != nil {
|
| ... | ... |
@@ -308,8 +308,6 @@ func (n *Node) run(ctx context.Context) (err error) {
|
| 308 | 308 |
case <-agentDone: |
| 309 | 309 |
return |
| 310 | 310 |
case nodeChanges := <-n.notifyNodeChange: |
| 311 |
- currentRole := n.currentRole() |
|
| 312 |
- |
|
| 313 | 311 |
if nodeChanges.Node != nil {
|
| 314 | 312 |
// This is a bit complex to be backward compatible with older CAs that |
| 315 | 313 |
// don't support the Node.Role field. They only use what's presently |
| ... | ... |
@@ -335,10 +333,7 @@ func (n *Node) run(ctx context.Context) (err error) {
|
| 335 | 335 |
} |
| 336 | 336 |
|
| 337 | 337 |
if nodeChanges.RootCert != nil {
|
| 338 |
- // We only want to update the root CA if this is a worker node. Manager nodes directly watch the raft |
|
| 339 |
- // store and update the root CA, with the necessary signer, from the raft store (since the managers |
|
| 340 |
- // need the CA key as well to potentially issue new TLS certificates). |
|
| 341 |
- if currentRole == api.NodeRoleManager || bytes.Equal(nodeChanges.RootCert, securityConfig.RootCA().Certs) {
|
|
| 338 |
+ if bytes.Equal(nodeChanges.RootCert, securityConfig.RootCA().Certs) {
|
|
| 342 | 339 |
continue |
| 343 | 340 |
} |
| 344 | 341 |
newRootCA, err := ca.NewRootCA(nodeChanges.RootCert, nil, nil, ca.DefaultNodeCertExpiration, nil) |
| ... | ... |
@@ -346,7 +341,7 @@ func (n *Node) run(ctx context.Context) (err error) {
|
| 346 | 346 |
log.G(ctx).WithError(err).Error("invalid new root certificate from the dispatcher")
|
| 347 | 347 |
continue |
| 348 | 348 |
} |
| 349 |
- if err := securityConfig.UpdateRootCA(&newRootCA, newRootCA.Pool); err != nil {
|
|
| 349 |
+ if err := securityConfig.UpdateRootCA(&newRootCA); err != nil {
|
|
| 350 | 350 |
log.G(ctx).WithError(err).Error("could not use new root CA from dispatcher")
|
| 351 | 351 |
continue |
| 352 | 352 |
} |
| ... | ... |
@@ -828,14 +823,22 @@ func (n *Node) runManager(ctx context.Context, securityConfig *ca.SecurityConfig |
| 828 | 828 |
} |
| 829 | 829 |
} |
| 830 | 830 |
|
| 831 |
- remoteAddr, _ := n.remotes.Select(n.NodeID()) |
|
| 831 |
+ joinAddr := n.config.JoinAddr |
|
| 832 |
+ if joinAddr == "" {
|
|
| 833 |
+ remoteAddr, err := n.remotes.Select(n.NodeID()) |
|
| 834 |
+ if err == nil {
|
|
| 835 |
+ joinAddr = remoteAddr.Addr |
|
| 836 |
+ } |
|
| 837 |
+ } |
|
| 838 |
+ |
|
| 832 | 839 |
m, err := manager.New(&manager.Config{
|
| 833 | 840 |
ForceNewCluster: n.config.ForceNewCluster, |
| 834 | 841 |
RemoteAPI: remoteAPI, |
| 835 | 842 |
ControlAPI: n.config.ListenControlAPI, |
| 836 | 843 |
SecurityConfig: securityConfig, |
| 837 | 844 |
ExternalCAs: n.config.ExternalCAs, |
| 838 |
- JoinRaft: remoteAddr.Addr, |
|
| 845 |
+ JoinRaft: joinAddr, |
|
| 846 |
+ ForceJoin: n.config.JoinAddr != "", |
|
| 839 | 847 |
StateDir: n.config.StateDir, |
| 840 | 848 |
HeartbeatTick: n.config.HeartbeatTick, |
| 841 | 849 |
ElectionTick: n.config.ElectionTick, |
| ... | ... |
@@ -1,12 +1,12 @@ |
| 1 | 1 |
// Code generated by protoc-gen-gogo. |
| 2 |
-// source: plugin.proto |
|
| 2 |
+// source: github.com/docker/swarmkit/protobuf/plugin/plugin.proto |
|
| 3 | 3 |
// DO NOT EDIT! |
| 4 | 4 |
|
| 5 | 5 |
/* |
| 6 | 6 |
Package plugin is a generated protocol buffer package. |
| 7 | 7 |
|
| 8 | 8 |
It is generated from these files: |
| 9 |
- plugin.proto |
|
| 9 |
+ github.com/docker/swarmkit/protobuf/plugin/plugin.proto |
|
| 10 | 10 |
|
| 11 | 11 |
It has these top-level messages: |
| 12 | 12 |
WatchSelectors |
| ... | ... |
@@ -20,6 +20,8 @@ import fmt "fmt" |
| 20 | 20 |
import math "math" |
| 21 | 21 |
import google_protobuf "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" |
| 22 | 22 |
|
| 23 |
+import github_com_docker_swarmkit_api_deepcopy "github.com/docker/swarmkit/api/deepcopy" |
|
| 24 |
+ |
|
| 23 | 25 |
import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto" |
| 24 | 26 |
|
| 25 | 27 |
import strings "strings" |
| ... | ... |
@@ -92,7 +94,7 @@ var E_Deepcopy = &proto.ExtensionDesc{
|
| 92 | 92 |
Field: 70000, |
| 93 | 93 |
Name: "docker.protobuf.plugin.deepcopy", |
| 94 | 94 |
Tag: "varint,70000,opt,name=deepcopy,def=1", |
| 95 |
- Filename: "plugin.proto", |
|
| 95 |
+ Filename: "github.com/docker/swarmkit/protobuf/plugin/plugin.proto", |
|
| 96 | 96 |
} |
| 97 | 97 |
|
| 98 | 98 |
var E_StoreObject = &proto.ExtensionDesc{
|
| ... | ... |
@@ -101,7 +103,7 @@ var E_StoreObject = &proto.ExtensionDesc{
|
| 101 | 101 |
Field: 70001, |
| 102 | 102 |
Name: "docker.protobuf.plugin.store_object", |
| 103 | 103 |
Tag: "bytes,70001,opt,name=store_object,json=storeObject", |
| 104 |
- Filename: "plugin.proto", |
|
| 104 |
+ Filename: "github.com/docker/swarmkit/protobuf/plugin/plugin.proto", |
|
| 105 | 105 |
} |
| 106 | 106 |
|
| 107 | 107 |
var E_TlsAuthorization = &proto.ExtensionDesc{
|
| ... | ... |
@@ -110,7 +112,7 @@ var E_TlsAuthorization = &proto.ExtensionDesc{
|
| 110 | 110 |
Field: 73626345, |
| 111 | 111 |
Name: "docker.protobuf.plugin.tls_authorization", |
| 112 | 112 |
Tag: "bytes,73626345,opt,name=tls_authorization,json=tlsAuthorization", |
| 113 |
- Filename: "plugin.proto", |
|
| 113 |
+ Filename: "github.com/docker/swarmkit/protobuf/plugin/plugin.proto", |
|
| 114 | 114 |
} |
| 115 | 115 |
|
| 116 | 116 |
func init() {
|
| ... | ... |
@@ -121,6 +123,61 @@ func init() {
|
| 121 | 121 |
proto.RegisterExtension(E_StoreObject) |
| 122 | 122 |
proto.RegisterExtension(E_TlsAuthorization) |
| 123 | 123 |
} |
| 124 |
+ |
|
| 125 |
+func (m *WatchSelectors) Copy() *WatchSelectors {
|
|
| 126 |
+ if m == nil {
|
|
| 127 |
+ return nil |
|
| 128 |
+ } |
|
| 129 |
+ o := &WatchSelectors{}
|
|
| 130 |
+ o.CopyFrom(m) |
|
| 131 |
+ return o |
|
| 132 |
+} |
|
| 133 |
+ |
|
| 134 |
+func (m *WatchSelectors) CopyFrom(src interface{}) {
|
|
| 135 |
+ |
|
| 136 |
+ o := src.(*WatchSelectors) |
|
| 137 |
+ *m = *o |
|
| 138 |
+} |
|
| 139 |
+ |
|
| 140 |
+func (m *StoreObject) Copy() *StoreObject {
|
|
| 141 |
+ if m == nil {
|
|
| 142 |
+ return nil |
|
| 143 |
+ } |
|
| 144 |
+ o := &StoreObject{}
|
|
| 145 |
+ o.CopyFrom(m) |
|
| 146 |
+ return o |
|
| 147 |
+} |
|
| 148 |
+ |
|
| 149 |
+func (m *StoreObject) CopyFrom(src interface{}) {
|
|
| 150 |
+ |
|
| 151 |
+ o := src.(*StoreObject) |
|
| 152 |
+ *m = *o |
|
| 153 |
+ if o.WatchSelectors != nil {
|
|
| 154 |
+ m.WatchSelectors = &WatchSelectors{}
|
|
| 155 |
+ github_com_docker_swarmkit_api_deepcopy.Copy(m.WatchSelectors, o.WatchSelectors) |
|
| 156 |
+ } |
|
| 157 |
+} |
|
| 158 |
+ |
|
| 159 |
+func (m *TLSAuthorization) Copy() *TLSAuthorization {
|
|
| 160 |
+ if m == nil {
|
|
| 161 |
+ return nil |
|
| 162 |
+ } |
|
| 163 |
+ o := &TLSAuthorization{}
|
|
| 164 |
+ o.CopyFrom(m) |
|
| 165 |
+ return o |
|
| 166 |
+} |
|
| 167 |
+ |
|
| 168 |
+func (m *TLSAuthorization) CopyFrom(src interface{}) {
|
|
| 169 |
+ |
|
| 170 |
+ o := src.(*TLSAuthorization) |
|
| 171 |
+ *m = *o |
|
| 172 |
+ if o.Roles != nil {
|
|
| 173 |
+ m.Roles = make([]string, len(o.Roles)) |
|
| 174 |
+ copy(m.Roles, o.Roles) |
|
| 175 |
+ } |
|
| 176 |
+ |
|
| 177 |
+} |
|
| 178 |
+ |
|
| 124 | 179 |
func (m *WatchSelectors) Marshal() (dAtA []byte, err error) {
|
| 125 | 180 |
size := m.Size() |
| 126 | 181 |
dAtA = make([]byte, size) |
| ... | ... |
@@ -378,6 +435,7 @@ func encodeVarintPlugin(dAtA []byte, offset int, v uint64) int {
|
| 378 | 378 |
dAtA[offset] = uint8(v) |
| 379 | 379 |
return offset + 1 |
| 380 | 380 |
} |
| 381 |
+ |
|
| 381 | 382 |
func (m *WatchSelectors) Size() (n int) {
|
| 382 | 383 |
var l int |
| 383 | 384 |
_ = l |
| ... | ... |
@@ -1143,43 +1201,46 @@ var ( |
| 1143 | 1143 |
ErrIntOverflowPlugin = fmt.Errorf("proto: integer overflow")
|
| 1144 | 1144 |
) |
| 1145 | 1145 |
|
| 1146 |
-func init() { proto.RegisterFile("plugin.proto", fileDescriptorPlugin) }
|
|
| 1146 |
+func init() {
|
|
| 1147 |
+ proto.RegisterFile("github.com/docker/swarmkit/protobuf/plugin/plugin.proto", fileDescriptorPlugin)
|
|
| 1148 |
+} |
|
| 1147 | 1149 |
|
| 1148 | 1150 |
var fileDescriptorPlugin = []byte{
|
| 1149 |
- // 551 bytes of a gzipped FileDescriptorProto |
|
| 1150 |
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x52, 0xc1, 0x6e, 0xd3, 0x40, |
|
| 1151 |
- 0x10, 0xad, 0xd3, 0x36, 0x4d, 0xc6, 0x69, 0x29, 0x2b, 0x54, 0xad, 0x7a, 0xb0, 0xab, 0x46, 0x42, |
|
| 1152 |
- 0x41, 0x42, 0xa9, 0xd4, 0x63, 0x6e, 0x94, 0x5c, 0x22, 0x01, 0x45, 0x0e, 0x12, 0x37, 0x2c, 0xd7, |
|
| 1153 |
- 0x3b, 0x4d, 0x96, 0x3a, 0x5e, 0x6b, 0x77, 0x4d, 0x0b, 0x27, 0x7e, 0x80, 0x0f, 0xe0, 0xca, 0xd7, |
|
| 1154 |
- 0xf4, 0xc8, 0x91, 0x53, 0x44, 0x2d, 0x71, 0xe0, 0x06, 0x7f, 0x80, 0x76, 0xd7, 0x69, 0x09, 0x6a, |
|
| 1155 |
- 0xc5, 0xc9, 0x33, 0x6f, 0xe6, 0xcd, 0xcc, 0xdb, 0x67, 0xe8, 0x14, 0x59, 0x39, 0xe1, 0x79, 0xbf, |
|
| 1156 |
- 0x90, 0x42, 0x0b, 0xb2, 0xc3, 0x44, 0x7a, 0x86, 0xd2, 0x65, 0x27, 0xe5, 0x69, 0xdf, 0x55, 0x77, |
|
| 1157 |
- 0xf7, 0x26, 0x42, 0x4c, 0x32, 0x3c, 0x58, 0xe0, 0x07, 0x0c, 0x55, 0x2a, 0x79, 0xa1, 0x45, 0xdd, |
|
| 1158 |
- 0xbb, 0xff, 0x79, 0x15, 0xb6, 0x5e, 0x27, 0x3a, 0x9d, 0x8e, 0x31, 0xc3, 0x54, 0x0b, 0xa9, 0xc8, |
|
| 1159 |
- 0x0e, 0x34, 0x38, 0xa3, 0xde, 0x9e, 0xd7, 0x6b, 0x1d, 0x35, 0xab, 0x79, 0xd8, 0x18, 0x0d, 0xa3, |
|
| 1160 |
- 0x06, 0x67, 0xe4, 0x11, 0xb4, 0x39, 0x8b, 0x0b, 0x89, 0xa7, 0xfc, 0x82, 0x36, 0x6c, 0xb9, 0x53, |
|
| 1161 |
- 0xcd, 0xc3, 0xd6, 0x68, 0xf8, 0xd2, 0x62, 0x51, 0x8b, 0x33, 0x17, 0x11, 0x02, 0x6b, 0x79, 0x32, |
|
| 1162 |
- 0x43, 0xba, 0x6a, 0xba, 0x22, 0x1b, 0x93, 0x10, 0x7c, 0xf3, 0x5d, 0x0c, 0x58, 0xb3, 0x25, 0x30, |
|
| 1163 |
- 0x50, 0x4d, 0xda, 0x81, 0x66, 0x5a, 0x2a, 0x2d, 0x66, 0x74, 0xdd, 0xd6, 0xea, 0x8c, 0x74, 0x61, |
|
| 1164 |
- 0xd3, 0x45, 0x0b, 0x6a, 0xd3, 0x96, 0x3b, 0x0e, 0xac, 0xc9, 0x8f, 0x01, 0x14, 0xca, 0x77, 0x3c, |
|
| 1165 |
- 0xc5, 0x98, 0x33, 0xba, 0x61, 0xaf, 0xdb, 0xac, 0xe6, 0x61, 0x7b, 0xec, 0xd0, 0xd1, 0x30, 0x6a, |
|
| 1166 |
- 0xd7, 0x0d, 0x23, 0x46, 0xba, 0xb0, 0x91, 0x0b, 0x66, 0x5b, 0x5b, 0xb6, 0x15, 0xaa, 0x79, 0xd8, |
|
| 1167 |
- 0x7c, 0x21, 0x98, 0xe9, 0x6b, 0x9a, 0xd2, 0x88, 0x19, 0x11, 0x2a, 0x13, 0x9a, 0xb6, 0x9d, 0x08, |
|
| 1168 |
- 0x13, 0x9b, 0x5b, 0x18, 0x2a, 0x2e, 0x91, 0xc5, 0x4a, 0x27, 0x1a, 0x29, 0xb8, 0x5b, 0x6a, 0x70, |
|
| 1169 |
- 0x6c, 0x30, 0x43, 0x94, 0x22, 0x43, 0xea, 0x3b, 0xa2, 0x89, 0x49, 0x00, 0x30, 0xc3, 0xd9, 0x09, |
|
| 1170 |
- 0x4a, 0x35, 0xe5, 0x05, 0xed, 0x38, 0xf1, 0x37, 0x88, 0xe1, 0x9c, 0xf1, 0x9c, 0xd1, 0x4d, 0xc7, |
|
| 1171 |
- 0x31, 0xf1, 0xfe, 0x1b, 0xf0, 0xc7, 0x5a, 0x48, 0x3c, 0x3e, 0x79, 0x8b, 0xa9, 0x26, 0xc7, 0x70, |
|
| 1172 |
- 0xef, 0xdc, 0x38, 0x15, 0xab, 0x85, 0x55, 0xd4, 0xdb, 0x6b, 0xf4, 0xfc, 0xc3, 0x87, 0xfd, 0xdb, |
|
| 1173 |
- 0xed, 0xef, 0x2f, 0x1b, 0x1b, 0x6d, 0x9d, 0x2f, 0xe5, 0xfb, 0x43, 0xd8, 0x7e, 0xf5, 0x6c, 0xfc, |
|
| 1174 |
- 0xa4, 0xd4, 0x53, 0x21, 0xf9, 0x87, 0x44, 0x73, 0x91, 0x93, 0x07, 0xb0, 0x6e, 0xee, 0x35, 0xa3, |
|
| 1175 |
- 0x57, 0x7b, 0xed, 0xc8, 0x25, 0x64, 0x17, 0x5a, 0x3c, 0x57, 0x98, 0x96, 0x12, 0x9d, 0xf3, 0xd1, |
|
| 1176 |
- 0x75, 0x3e, 0x78, 0x0a, 0x2d, 0x86, 0x58, 0xa4, 0xa2, 0x78, 0x4f, 0xc2, 0xbe, 0xfb, 0xe1, 0x6e, |
|
| 1177 |
- 0x2e, 0x79, 0x8e, 0x4a, 0x25, 0x13, 0x3c, 0x2e, 0xcc, 0x74, 0x45, 0x7f, 0x7d, 0xb1, 0xbe, 0x0f, |
|
| 1178 |
- 0xd6, 0xb4, 0x2c, 0x31, 0xba, 0x26, 0x0e, 0x38, 0x74, 0x94, 0x91, 0x1a, 0x0b, 0xa7, 0xf5, 0xbf, |
|
| 1179 |
- 0x83, 0x7e, 0xdb, 0x41, 0xfe, 0x61, 0xf7, 0x2e, 0xed, 0x7f, 0xbd, 0x5c, 0xe4, 0xab, 0x9b, 0x64, |
|
| 1180 |
- 0x70, 0x01, 0xf7, 0x75, 0xa6, 0xe2, 0x64, 0x49, 0x76, 0x70, 0xcb, 0x3e, 0x3d, 0x15, 0x6c, 0xb1, |
|
| 1181 |
- 0xee, 0xe7, 0x8f, 0x4f, 0x5d, 0xbb, 0xaf, 0x77, 0xd7, 0xbe, 0x7f, 0x5f, 0x32, 0xda, 0xd6, 0x99, |
|
| 1182 |
- 0x5a, 0x42, 0x8e, 0xe8, 0xe5, 0x55, 0xb0, 0xf2, 0xed, 0x2a, 0x58, 0xf9, 0x58, 0x05, 0xde, 0x65, |
|
| 1183 |
- 0x15, 0x78, 0x5f, 0xab, 0xc0, 0xfb, 0x5e, 0x05, 0xde, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x94, |
|
| 1184 |
- 0xd6, 0x21, 0x73, 0xce, 0x03, 0x00, 0x00, |
|
| 1151 |
+ // 575 bytes of a gzipped FileDescriptorProto |
|
| 1152 |
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x52, 0xc1, 0x6e, 0xd3, 0x4c, |
|
| 1153 |
+ 0x10, 0xae, 0xd3, 0x36, 0x4d, 0x26, 0x69, 0xff, 0xfe, 0x2b, 0x54, 0xad, 0x7a, 0x70, 0xaa, 0x46, |
|
| 1154 |
+ 0x42, 0x41, 0x42, 0x8e, 0xd4, 0x0b, 0x52, 0x6e, 0x94, 0x5c, 0x22, 0x01, 0x45, 0x0e, 0x12, 0x37, |
|
| 1155 |
+ 0x22, 0xc7, 0x3b, 0x4d, 0x96, 0x3a, 0x5e, 0x6b, 0x77, 0x4d, 0x0a, 0x27, 0x5e, 0x80, 0x07, 0xe0, |
|
| 1156 |
+ 0xca, 0xd3, 0xf4, 0xc8, 0x91, 0x53, 0x44, 0x2d, 0x71, 0xe0, 0x06, 0x6f, 0x80, 0x76, 0xd7, 0x69, |
|
| 1157 |
+ 0x08, 0x6a, 0xc5, 0xc9, 0x33, 0xdf, 0x7c, 0xdf, 0xcc, 0x7c, 0x3b, 0x86, 0x47, 0x13, 0xae, 0xa7, |
|
| 1158 |
+ 0xf9, 0x38, 0x88, 0xc5, 0xac, 0xcb, 0x44, 0x7c, 0x81, 0xb2, 0xab, 0xe6, 0x91, 0x9c, 0x5d, 0x70, |
|
| 1159 |
+ 0xdd, 0xcd, 0xa4, 0xd0, 0x62, 0x9c, 0x9f, 0x77, 0xb3, 0x24, 0x9f, 0xf0, 0xb4, 0xfc, 0x04, 0x16, |
|
| 1160 |
+ 0x26, 0x07, 0x8e, 0x1d, 0x2c, 0x49, 0x81, 0xab, 0x1e, 0x1e, 0x4d, 0x84, 0x98, 0x24, 0xb8, 0x12, |
|
| 1161 |
+ 0x33, 0x54, 0xb1, 0xe4, 0x99, 0x16, 0x25, 0xf7, 0xf8, 0xd3, 0x26, 0xec, 0xbd, 0x8a, 0x74, 0x3c, |
|
| 1162 |
+ 0x1d, 0x62, 0x82, 0xb1, 0x16, 0x52, 0x91, 0x03, 0xa8, 0x70, 0x46, 0xbd, 0x23, 0xaf, 0x53, 0x3b, |
|
| 1163 |
+ 0xad, 0x16, 0x8b, 0x56, 0x65, 0xd0, 0x0f, 0x2b, 0x9c, 0x91, 0x07, 0x50, 0xe7, 0x6c, 0x94, 0x49, |
|
| 1164 |
+ 0x3c, 0xe7, 0x97, 0xb4, 0x62, 0xcb, 0xcd, 0x62, 0xd1, 0xaa, 0x0d, 0xfa, 0x2f, 0x2c, 0x16, 0xd6, |
|
| 1165 |
+ 0x38, 0x73, 0x11, 0x21, 0xb0, 0x95, 0x46, 0x33, 0xa4, 0x9b, 0x86, 0x15, 0xda, 0x98, 0xb4, 0xa0, |
|
| 1166 |
+ 0x61, 0xbe, 0xcb, 0x06, 0x5b, 0xb6, 0x04, 0x06, 0x2a, 0x45, 0x07, 0x50, 0x8d, 0x73, 0xa5, 0xc5, |
|
| 1167 |
+ 0x8c, 0x6e, 0xdb, 0x5a, 0x99, 0x91, 0x36, 0xec, 0xba, 0x68, 0x29, 0xad, 0xda, 0x72, 0xd3, 0x81, |
|
| 1168 |
+ 0xa5, 0xf8, 0x21, 0x80, 0x42, 0xf9, 0x96, 0xc7, 0x38, 0xe2, 0x8c, 0xee, 0xd8, 0xed, 0x76, 0x8b, |
|
| 1169 |
+ 0x45, 0xab, 0x3e, 0x74, 0xe8, 0xa0, 0x1f, 0xd6, 0x4b, 0xc2, 0x80, 0x91, 0x36, 0xec, 0xa4, 0x82, |
|
| 1170 |
+ 0x59, 0x6a, 0xcd, 0x52, 0xa1, 0x58, 0xb4, 0xaa, 0xcf, 0x05, 0x33, 0xbc, 0xaa, 0x29, 0x0d, 0x98, |
|
| 1171 |
+ 0x31, 0xa1, 0x12, 0xa1, 0x69, 0xdd, 0x99, 0x30, 0xb1, 0xd9, 0x85, 0xa1, 0xe2, 0x12, 0xd9, 0x48, |
|
| 1172 |
+ 0xe9, 0x48, 0x23, 0x05, 0xb7, 0x4b, 0x09, 0x0e, 0x0d, 0x66, 0x84, 0x52, 0x24, 0x48, 0x1b, 0x4e, |
|
| 1173 |
+ 0x68, 0x62, 0xe2, 0x03, 0xcc, 0x70, 0x36, 0x46, 0xa9, 0xa6, 0x3c, 0xa3, 0x4d, 0x67, 0x7e, 0x85, |
|
| 1174 |
+ 0x18, 0xcd, 0x05, 0x4f, 0x19, 0xdd, 0x75, 0x1a, 0x13, 0x1f, 0xbf, 0x86, 0xc6, 0x50, 0x0b, 0x89, |
|
| 1175 |
+ 0x67, 0xe3, 0x37, 0x18, 0x6b, 0x72, 0x06, 0xff, 0xcd, 0xcd, 0xa5, 0x46, 0x6a, 0x79, 0x2a, 0xea, |
|
| 1176 |
+ 0x1d, 0x55, 0x3a, 0x8d, 0x93, 0xfb, 0xc1, 0xed, 0xe7, 0x0f, 0xd6, 0x0f, 0x1b, 0xee, 0xcd, 0xd7, |
|
| 1177 |
+ 0xf2, 0xe3, 0x3e, 0xec, 0xbf, 0x7c, 0x3a, 0x7c, 0x9c, 0xeb, 0xa9, 0x90, 0xfc, 0x7d, 0xa4, 0xb9, |
|
| 1178 |
+ 0x48, 0xc9, 0x3d, 0xd8, 0x36, 0xfb, 0x9a, 0xd6, 0x9b, 0x9d, 0x7a, 0xe8, 0x12, 0x72, 0x08, 0x35, |
|
| 1179 |
+ 0x9e, 0x2a, 0x8c, 0x73, 0x89, 0xee, 0xf2, 0xe1, 0x4d, 0xde, 0x7b, 0x02, 0x35, 0x86, 0x98, 0xc5, |
|
| 1180 |
+ 0x22, 0x7b, 0x47, 0x5a, 0x81, 0xfb, 0xe1, 0x56, 0x9b, 0x3c, 0x43, 0xa5, 0xa2, 0x09, 0x9e, 0x65, |
|
| 1181 |
+ 0xa6, 0xbb, 0xa2, 0x3f, 0x3f, 0xdb, 0xbb, 0xf7, 0xb6, 0xb4, 0xcc, 0x31, 0xbc, 0x11, 0xf6, 0x38, |
|
| 1182 |
+ 0x34, 0x95, 0xb1, 0x3a, 0x12, 0xce, 0xeb, 0x3f, 0x1b, 0xfd, 0xb2, 0x8d, 0x1a, 0x27, 0xed, 0xbb, |
|
| 1183 |
+ 0xbc, 0xff, 0xf1, 0x72, 0x61, 0x43, 0xad, 0x92, 0xde, 0x25, 0xfc, 0xaf, 0x13, 0x35, 0x8a, 0xd6, |
|
| 1184 |
+ 0x6c, 0xfb, 0xb7, 0xcc, 0xd3, 0x53, 0xc1, 0x96, 0xe3, 0x7e, 0x7c, 0xff, 0xd8, 0xb6, 0xf3, 0x3a, |
|
| 1185 |
+ 0x77, 0xcd, 0xfb, 0xfb, 0x25, 0xc3, 0x7d, 0x9d, 0xa8, 0x35, 0xe4, 0x94, 0x5e, 0x5d, 0xfb, 0x1b, |
|
| 1186 |
+ 0x5f, 0xaf, 0xfd, 0x8d, 0x0f, 0x85, 0xef, 0x5d, 0x15, 0xbe, 0xf7, 0xa5, 0xf0, 0xbd, 0x6f, 0x85, |
|
| 1187 |
+ 0xef, 0xfd, 0x0e, 0x00, 0x00, 0xff, 0xff, 0xb3, 0x99, 0x7d, 0xfb, 0xf9, 0x03, 0x00, 0x00, |
|
| 1185 | 1188 |
} |
| ... | ... |
@@ -107,9 +107,10 @@ type PayloadContext struct {
|
| 107 | 107 |
t *api.Task |
| 108 | 108 |
restrictedSecrets exec.SecretGetter |
| 109 | 109 |
restrictedConfigs exec.ConfigGetter |
| 110 |
+ sensitive bool |
|
| 110 | 111 |
} |
| 111 | 112 |
|
| 112 |
-func (ctx PayloadContext) secretGetter(target string) (string, error) {
|
|
| 113 |
+func (ctx *PayloadContext) secretGetter(target string) (string, error) {
|
|
| 113 | 114 |
if ctx.restrictedSecrets == nil {
|
| 114 | 115 |
return "", errors.New("secrets unavailable")
|
| 115 | 116 |
} |
| ... | ... |
@@ -126,6 +127,7 @@ func (ctx PayloadContext) secretGetter(target string) (string, error) {
|
| 126 | 126 |
if err != nil {
|
| 127 | 127 |
return "", err |
| 128 | 128 |
} |
| 129 |
+ ctx.sensitive = true |
|
| 129 | 130 |
return string(secret.Spec.Data), nil |
| 130 | 131 |
} |
| 131 | 132 |
} |
| ... | ... |
@@ -133,7 +135,7 @@ func (ctx PayloadContext) secretGetter(target string) (string, error) {
|
| 133 | 133 |
return "", errors.Errorf("secret target %s not found", target)
|
| 134 | 134 |
} |
| 135 | 135 |
|
| 136 |
-func (ctx PayloadContext) configGetter(target string) (string, error) {
|
|
| 136 |
+func (ctx *PayloadContext) configGetter(target string) (string, error) {
|
|
| 137 | 137 |
if ctx.restrictedConfigs == nil {
|
| 138 | 138 |
return "", errors.New("configs unavailable")
|
| 139 | 139 |
} |
| ... | ... |
@@ -157,7 +159,7 @@ func (ctx PayloadContext) configGetter(target string) (string, error) {
|
| 157 | 157 |
return "", errors.Errorf("config target %s not found", target)
|
| 158 | 158 |
} |
| 159 | 159 |
|
| 160 |
-func (ctx PayloadContext) envGetter(variable string) (string, error) {
|
|
| 160 |
+func (ctx *PayloadContext) envGetter(variable string) (string, error) {
|
|
| 161 | 161 |
container := ctx.t.Spec.GetContainer() |
| 162 | 162 |
if container == nil {
|
| 163 | 163 |
return "", errors.New("task is not a container")
|
| ... | ... |
@@ -119,7 +119,7 @@ func expandEnv(ctx Context, values []string) ([]string, error) {
|
| 119 | 119 |
return result, nil |
| 120 | 120 |
} |
| 121 | 121 |
|
| 122 |
-func expandPayload(ctx PayloadContext, payload []byte) ([]byte, error) {
|
|
| 122 |
+func expandPayload(ctx *PayloadContext, payload []byte) ([]byte, error) {
|
|
| 123 | 123 |
result, err := ctx.Expand(string(payload)) |
| 124 | 124 |
if err != nil {
|
| 125 | 125 |
return payload, err |
| ... | ... |
@@ -138,7 +138,7 @@ func ExpandSecretSpec(s *api.Secret, node *api.NodeDescription, t *api.Task, dep |
| 138 | 138 |
secretSpec := s.Spec.Copy() |
| 139 | 139 |
|
| 140 | 140 |
var err error |
| 141 |
- secretSpec.Data, err = expandPayload(ctx, secretSpec.Data) |
|
| 141 |
+ secretSpec.Data, err = expandPayload(&ctx, secretSpec.Data) |
|
| 142 | 142 |
return secretSpec, err |
| 143 | 143 |
} |
| 144 | 144 |
return &s.Spec, errors.New("unrecognized template type")
|
| ... | ... |
@@ -146,17 +146,17 @@ func ExpandSecretSpec(s *api.Secret, node *api.NodeDescription, t *api.Task, dep |
| 146 | 146 |
|
| 147 | 147 |
// ExpandConfigSpec expands the template inside the config payload, if any. |
| 148 | 148 |
// Templating is evaluated on the agent-side. |
| 149 |
-func ExpandConfigSpec(c *api.Config, node *api.NodeDescription, t *api.Task, dependencies exec.DependencyGetter) (*api.ConfigSpec, error) {
|
|
| 149 |
+func ExpandConfigSpec(c *api.Config, node *api.NodeDescription, t *api.Task, dependencies exec.DependencyGetter) (*api.ConfigSpec, bool, error) {
|
|
| 150 | 150 |
if c.Spec.Templating == nil {
|
| 151 |
- return &c.Spec, nil |
|
| 151 |
+ return &c.Spec, false, nil |
|
| 152 | 152 |
} |
| 153 | 153 |
if c.Spec.Templating.Name == "golang" {
|
| 154 | 154 |
ctx := NewPayloadContextFromTask(node, t, dependencies) |
| 155 | 155 |
configSpec := c.Spec.Copy() |
| 156 | 156 |
|
| 157 | 157 |
var err error |
| 158 |
- configSpec.Data, err = expandPayload(ctx, configSpec.Data) |
|
| 159 |
- return configSpec, err |
|
| 158 |
+ configSpec.Data, err = expandPayload(&ctx, configSpec.Data) |
|
| 159 |
+ return configSpec, ctx.sensitive, err |
|
| 160 | 160 |
} |
| 161 |
- return &c.Spec, errors.New("unrecognized template type")
|
|
| 161 |
+ return &c.Spec, false, errors.New("unrecognized template type")
|
|
| 162 | 162 |
} |
| ... | ... |
@@ -42,6 +42,18 @@ func (t templatedSecretGetter) Get(secretID string) (*api.Secret, error) {
|
| 42 | 42 |
return &secretCopy, nil |
| 43 | 43 |
} |
| 44 | 44 |
|
| 45 |
+// TemplatedConfigGetter is a ConfigGetter with an additional method to expose |
|
| 46 |
+// whether a config contains sensitive data. |
|
| 47 |
+type TemplatedConfigGetter interface {
|
|
| 48 |
+ exec.ConfigGetter |
|
| 49 |
+ |
|
| 50 |
+ // GetAndFlagSecretData returns the interpolated config, and also |
|
| 51 |
+ // returns true if the config has been interpolated with data from a |
|
| 52 |
+ // secret. In this case, the config should be handled specially and |
|
| 53 |
+ // should not be written to disk. |
|
| 54 |
+ GetAndFlagSecretData(configID string) (*api.Config, bool, error) |
|
| 55 |
+} |
|
| 56 |
+ |
|
| 45 | 57 |
type templatedConfigGetter struct {
|
| 46 | 58 |
dependencies exec.DependencyGetter |
| 47 | 59 |
t *api.Task |
| ... | ... |
@@ -49,38 +61,43 @@ type templatedConfigGetter struct {
|
| 49 | 49 |
} |
| 50 | 50 |
|
| 51 | 51 |
// NewTemplatedConfigGetter returns a ConfigGetter that evaluates templates. |
| 52 |
-func NewTemplatedConfigGetter(dependencies exec.DependencyGetter, t *api.Task, node *api.NodeDescription) exec.ConfigGetter {
|
|
| 52 |
+func NewTemplatedConfigGetter(dependencies exec.DependencyGetter, t *api.Task, node *api.NodeDescription) TemplatedConfigGetter {
|
|
| 53 | 53 |
return templatedConfigGetter{dependencies: dependencies, t: t, node: node}
|
| 54 | 54 |
} |
| 55 | 55 |
|
| 56 | 56 |
func (t templatedConfigGetter) Get(configID string) (*api.Config, error) {
|
| 57 |
+ config, _, err := t.GetAndFlagSecretData(configID) |
|
| 58 |
+ return config, err |
|
| 59 |
+} |
|
| 60 |
+ |
|
| 61 |
+func (t templatedConfigGetter) GetAndFlagSecretData(configID string) (*api.Config, bool, error) {
|
|
| 57 | 62 |
if t.dependencies == nil {
|
| 58 |
- return nil, errors.New("no config provider available")
|
|
| 63 |
+ return nil, false, errors.New("no config provider available")
|
|
| 59 | 64 |
} |
| 60 | 65 |
|
| 61 | 66 |
configs := t.dependencies.Configs() |
| 62 | 67 |
if configs == nil {
|
| 63 |
- return nil, errors.New("no config provider available")
|
|
| 68 |
+ return nil, false, errors.New("no config provider available")
|
|
| 64 | 69 |
} |
| 65 | 70 |
|
| 66 | 71 |
config, err := configs.Get(configID) |
| 67 | 72 |
if err != nil {
|
| 68 |
- return config, err |
|
| 73 |
+ return config, false, err |
|
| 69 | 74 |
} |
| 70 | 75 |
|
| 71 |
- newSpec, err := ExpandConfigSpec(config, t.node, t.t, t.dependencies) |
|
| 76 |
+ newSpec, sensitive, err := ExpandConfigSpec(config, t.node, t.t, t.dependencies) |
|
| 72 | 77 |
if err != nil {
|
| 73 |
- return config, errors.Wrapf(err, "failed to expand templated config %s", configID) |
|
| 78 |
+ return config, false, errors.Wrapf(err, "failed to expand templated config %s", configID) |
|
| 74 | 79 |
} |
| 75 | 80 |
|
| 76 | 81 |
configCopy := *config |
| 77 | 82 |
configCopy.Spec = *newSpec |
| 78 |
- return &configCopy, nil |
|
| 83 |
+ return &configCopy, sensitive, nil |
|
| 79 | 84 |
} |
| 80 | 85 |
|
| 81 | 86 |
type templatedDependencyGetter struct {
|
| 82 | 87 |
secrets exec.SecretGetter |
| 83 |
- configs exec.ConfigGetter |
|
| 88 |
+ configs TemplatedConfigGetter |
|
| 84 | 89 |
} |
| 85 | 90 |
|
| 86 | 91 |
// NewTemplatedDependencyGetter returns a DependencyGetter that evaluates templates. |
| ... | ... |
@@ -19,26 +19,27 @@ github.com/prometheus/common ebdfc6da46522d58825777cf1f90490a5b1ef1d8 |
| 19 | 19 |
github.com/prometheus/procfs abf152e5f3e97f2fafac028d2cc06c1feb87ffa5 |
| 20 | 20 |
|
| 21 | 21 |
github.com/docker/distribution b38e5838b7b2f2ad48e06ec4b500011976080621 |
| 22 |
-github.com/docker/docker 77c9728847358a3ed3581d828fb0753017e1afd3 |
|
| 23 |
-github.com/docker/go-connections 34b5052da6b11e27f5f2e357b38b571ddddd3928 |
|
| 24 |
-github.com/docker/go-events 37d35add5005832485c0225ec870121b78fcff1c |
|
| 22 |
+github.com/docker/docker 8af4db6f002ac907b6ef8610b237879dfcaa5b7a |
|
| 23 |
+github.com/docker/go-connections 3ede32e2033de7505e6500d6c868c2b9ed9f169d |
|
| 24 |
+github.com/docker/go-events 9461782956ad83b30282bf90e31fa6a70c255ba9 |
|
| 25 | 25 |
github.com/docker/go-units 954fed01cc617c55d838fa2230073f2cb17386c8 |
| 26 | 26 |
github.com/docker/libkv 9fd56606e928ff1f309808f5d5a0b7a2ef73f9a8 |
| 27 |
-github.com/docker/libnetwork 37e20af882e13dd01ade3658b7aabdae3412118b |
|
| 27 |
+github.com/docker/libnetwork 19ac3ea7f52bb46e0eb10669756cdae0c441a5b1 |
|
| 28 | 28 |
github.com/docker/libtrust 9cbd2a1374f46905c68a4eb3694a130610adc62a |
| 29 |
-github.com/opencontainers/runc b6b70e53451794e8333e9b602cc096b47a20bd0f |
|
| 30 |
-github.com/opencontainers/go-digest a6d0ee40d4207ea02364bd3b9e8e77b9159ba1eb |
|
| 31 |
-github.com/opencontainers/image-spec 372ad780f63454fbbbbcc7cf80e5b90245c13e13 |
|
| 29 |
+github.com/opencontainers/runc d40db12e72a40109dfcf28539f5ee0930d2f0277 |
|
| 30 |
+github.com/opencontainers/go-digest 21dfd564fd89c944783d00d069f33e3e7123c448 |
|
| 31 |
+github.com/opencontainers/image-spec v1.0.0 |
|
| 32 | 32 |
|
| 33 | 33 |
# containerd executor |
| 34 |
-github.com/containerd/containerd 76697ac8cbf357a19beb58e4805a81fe48cf7974 |
|
| 34 |
+github.com/containerd/containerd 29a4dd7f46e0780d0bff2a237dc600a5b90a4dd5 |
|
| 35 | 35 |
github.com/containerd/fifo 69b99525e472735860a5269b75af1970142b3062 |
| 36 |
-github.com/opencontainers/runtime-spec v1.0.0-rc5 |
|
| 36 |
+github.com/opencontainers/runtime-spec v1.0.0 |
|
| 37 | 37 |
golang.org/x/sync 450f422ab23cf9881c94e2db30cac0eb1b7cf80c |
| 38 |
+github.com/containerd/continuity cf279e6ac893682272b4479d4c67fd3abf878b4e |
|
| 38 | 39 |
|
| 39 | 40 |
github.com/davecgh/go-spew 5215b55f46b2b919f50a1df0eaa5886afe4e3b3d |
| 40 | 41 |
github.com/Microsoft/go-winio v0.4.2 |
| 41 |
-github.com/Sirupsen/logrus v0.11.0 |
|
| 42 |
+github.com/sirupsen/logrus v1.0.1 |
|
| 42 | 43 |
github.com/beorn7/perks 4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9 |
| 43 | 44 |
github.com/boltdb/bolt e72f08ddb5a52992c0a44c7dda9316c7333938b2 |
| 44 | 45 |
github.com/cloudflare/cfssl 7fb22c8cba7ecaf98e4082d22d65800cf45e042a |
| ... | ... |
@@ -58,6 +59,6 @@ github.com/spf13/pflag 7f60f83a2c81bc3c3c0d5297f61ddfa68da9d3b7 |
| 58 | 58 |
github.com/stretchr/testify v1.1.4 |
| 59 | 59 |
golang.org/x/crypto 3fbbcd23f1cb824e69491a5930cfeff09b12f4d2 |
| 60 | 60 |
golang.org/x/net 7dcfb8076726a3fdd9353b6b8a1f1b6be6811bd6 |
| 61 |
-golang.org/x/sys 5eaf0df67e70d6997a9fe0ed24383fa1b01638d3 |
|
| 61 |
+golang.org/x/sys 739734461d1c916b6c72a63d7efda2b27edb369f |
|
| 62 | 62 |
golang.org/x/text f72d8390a633d5dfb0cc84043294db9f6c935756 |
| 63 | 63 |
golang.org/x/time a4bde12657593d5e90d0533a3e4fd95e635124cb |