| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 syntax = "proto3"; | 5 syntax = "proto3"; |
| 6 | 6 |
| 7 package deploy; | 7 package deploy; |
| 8 | 8 |
| 9 import "google/protobuf/duration.proto"; | 9 import "google/protobuf/duration.proto"; |
| 10 | 10 |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 92 /** The Build `dir_key` to use as a root instead of the source root. */ | 92 /** The Build `dir_key` to use as a root instead of the source root. */ |
| 93 string dir_key = 1; | 93 string dir_key = 1; |
| 94 /** | 94 /** |
| 95 * The relative path. If `dir_key` is empty, this is relative to the source | 95 * The relative path. If `dir_key` is empty, this is relative to the source |
| 96 * root. Otherwise, this is relative to `dir_key`'s directory root. | 96 * root. Otherwise, this is relative to `dir_key`'s directory root. |
| 97 */ | 97 */ |
| 98 string path = 2; | 98 string path = 2; |
| 99 } | 99 } |
| 100 | 100 |
| 101 /** | 101 /** |
| 102 * A Duration expression. |
| 103 * |
| 104 * This is preferred to google.protobuf.Duration since it is more easily |
| 105 * expressed by a human. |
| 106 */ |
| 107 message Duration { |
| 108 /** The duration value, taken in units of "unit". */ |
| 109 uint32 value = 1; |
| 110 |
| 111 enum Unit { |
| 112 MILLISECONDS = 0; |
| 113 SECONDS = 1; |
| 114 MINUTES = 2; |
| 115 HOURS = 3; |
| 116 DAYS = 4; |
| 117 } |
| 118 /** The unit for this duration value. */ |
| 119 Unit unit = 2; |
| 120 |
| 121 /** Additional duration units to append. */ |
| 122 repeated Duration plus = 3; |
| 123 } |
| 124 |
| 125 /** |
| 102 * Describes an AppEngine module. | 126 * Describes an AppEngine module. |
| 103 */ | 127 */ |
| 104 message AppEngineModule { | 128 message AppEngineModule { |
| 105 /** The name of the module. Leave blank for default module. */ | 129 /** The name of the module. Leave blank for default module. */ |
| 106 string module_name = 1; | 130 string module_name = 1; |
| 107 | 131 |
| 108 /** | 132 /** |
| 109 * A Go AppEngine module. | 133 * A Go AppEngine module. |
| 110 * | 134 * |
| 111 * The entry point must be declared here. | 135 * The entry point must be declared here. |
| 112 */ | 136 */ |
| 113 message GoModule { | 137 message GoModule { |
| 114 /** The Go package path of the module's entry package. */ | 138 /** The Go package path of the module's entry package. */ |
| 115 string entry_package = 1; | 139 string entry_package = 1; |
| 116 } | 140 } |
| 117 | 141 |
| 118 /** | 142 /** |
| 119 * A module that is really hosting static content via handlers and uploads. | 143 * A module that is really hosting static content via handlers and uploads. |
| 120 */ | 144 */ |
| 121 message StaticModule {} | 145 message StaticModule {} |
| 122 | 146 |
| 123 /** The module's runtime. */ | 147 /** The module's runtime. */ |
| 124 oneof runtime { | 148 oneof runtime { |
| 125 GoModule go_module = 2; | 149 GoModule go_module = 2; |
| 126 StaticModule static_module = 3; | 150 StaticModule static_module = 3; |
| 127 } | 151 } |
| 128 | 152 |
| 153 /** Parameters for a classic AppEngine instance. */ |
| 154 message ClassicParams { |
| 155 /** Generic instance class types. */ |
| 156 enum InstanceClass { |
| 157 /** Default for this scaling type. */ |
| 158 IC_DEFAULT = 0; |
| 159 |
| 160 /* 1-core */ |
| 161 IC_1 = 1; |
| 162 /* 2-core */ |
| 163 IC_2 = 2; |
| 164 /* 4-core */ |
| 165 IC_4 = 3; |
| 166 /* 4-core, 1G memory */ |
| 167 IC_4_1G = 4; |
| 168 /* 8-core instance class. Only available with basic/manual scaling. */ |
| 169 IC_8 = 5; |
| 170 } |
| 171 InstanceClass instance_class = 1; |
| 172 |
| 173 /** Describes automatic scaling parameters. */ |
| 174 message AutomaticScaling { |
| 175 /** Minimum number of idle instances. */ |
| 176 uint32 min_idle_instances = 1; |
| 177 /** Maximum number of idle instances. 0 is automatic (default). */ |
| 178 uint32 max_idle_instances = 2; |
| 179 |
| 180 /** Minimum pending latency. */ |
| 181 Duration min_pending_latency = 3; |
| 182 /** Maximum pending latency. 0 is automatic (default). */ |
| 183 Duration max_pending_latency = 4; |
| 184 |
| 185 /** Number of concurrent requests before respawning a new instance. */ |
| 186 uint32 max_concurrent_requests = 5; |
| 187 } |
| 188 |
| 189 /** Describes basic scaling parameters. */ |
| 190 message BasicScaling { |
| 191 /* Time after last request when instance will be shut down. */ |
| 192 Duration idle_timeout = 1; |
| 193 /** |
| 194 * The maximum number of instances to creaet for this version (required). |
| 195 */ |
| 196 uint32 max_instances = 2; |
| 197 } |
| 198 |
| 199 /** Describes manual scaling parameters. */ |
| 200 message ManualScaling { |
| 201 /** The number of instances to assign. */ |
| 202 uint32 instances = 1; |
| 203 } |
| 204 |
| 205 /** Instance scaling type. */ |
| 206 oneof scaling { |
| 207 /** Automatic scaling */ |
| 208 AutomaticScaling automatic_scaling = 10; |
| 209 /** Basic scaling */ |
| 210 BasicScaling basic_scaling = 11; |
| 211 /** Manual scaling */ |
| 212 ManualScaling manual_scaling = 12; |
| 213 } |
| 214 } |
| 215 |
| 129 /** Parameters for Managed VM */ | 216 /** Parameters for Managed VM */ |
| 130 message ManagedVmParams { | 217 message ManagedVmParams { |
| 131 /** Scopes are additional service account scopes to include. */ | 218 /** Scopes are additional service account scopes to include. */ |
| 132 repeated string scopes = 1; | 219 repeated string scopes = 1; |
| 133 } | 220 } |
| 134 /** | 221 |
| 135 * If set, this is a Managed VM AppEngine module, and these are additional | 222 oneof params { |
| 136 * parameters. | 223 /** |
| 137 */ | 224 * If set, this is a Classic AppEngine module, and these are additional |
| 138 ManagedVmParams managed_vm = 10; | 225 * parameters. |
| 226 */ |
| 227 ClassicParams classic = 10; |
| 228 |
| 229 /** |
| 230 * If set, this is a Managed VM AppEngine module, and these are additional |
| 231 * parameters. |
| 232 */ |
| 233 ManagedVmParams managed_vm = 11; |
| 234 } |
| 139 | 235 |
| 140 /** Handler is the set of handlers. */ | 236 /** Handler is the set of handlers. */ |
| 141 message Handler { | 237 message Handler { |
| 142 /** The handler URL / regexp. */ | 238 /** The handler URL / regexp. */ |
| 143 string url = 1; | 239 string url = 1; |
| 144 | 240 |
| 145 /** Option for "login" handler field. */ | 241 /** Option for "login" handler field. */ |
| 146 enum LoginOption { | 242 enum LoginOption { |
| 147 LOGIN_OPTIONAL = 0; | 243 LOGIN_OPTIONAL = 0; |
| 148 LOGIN_REQUIRED = 1; | 244 LOGIN_REQUIRED = 1; |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 284 * | 380 * |
| 285 * This queue will push requests to the module in which it is declared. | 381 * This queue will push requests to the module in which it is declared. |
| 286 */ | 382 */ |
| 287 message Push { | 383 message Push { |
| 288 string rate = 1; | 384 string rate = 1; |
| 289 int32 bucket_size = 2; | 385 int32 bucket_size = 2; |
| 290 string retry_task_age_limit = 3; | 386 string retry_task_age_limit = 3; |
| 291 int32 retry_min_backoff_seconds = 4; | 387 int32 retry_min_backoff_seconds = 4; |
| 292 int32 retry_max_backoff_seconds = 5; | 388 int32 retry_max_backoff_seconds = 5; |
| 293 int32 retry_max_doublings = 6; | 389 int32 retry_max_doublings = 6; |
| 390 int32 max_concurrent_requests = 7; |
| 294 } | 391 } |
| 295 | 392 |
| 296 oneof type { | 393 oneof type { |
| 297 Push push = 2; | 394 Push push = 2; |
| 298 } | 395 } |
| 299 } | 396 } |
| 300 /** Task queues. */ | 397 /** Task queues. */ |
| 301 repeated TaskQueue task_queue = 3; | 398 repeated TaskQueue task_queue = 3; |
| 302 | 399 |
| 303 /** | 400 /** |
| (...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 566 | 663 |
| 567 /** Labels to apply to this pod. */ | 664 /** Labels to apply to this pod. */ |
| 568 map<string, string> labels = 11; | 665 map<string, string> labels = 11; |
| 569 | 666 |
| 570 /** | 667 /** |
| 571 * Deployment configuration value for amount of non-crashing time before this | 668 * Deployment configuration value for amount of non-crashing time before this |
| 572 * pod is available. | 669 * pod is available. |
| 573 */ | 670 */ |
| 574 google.protobuf.Duration min_ready = 12; | 671 google.protobuf.Duration min_ready = 12; |
| 575 } | 672 } |
| OLD | NEW |