1# Copyright 2020 Google LLC
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15apiVersion: apiextensions.k8s.io/v1
16kind: CustomResourceDefinition
17metadata:
18 annotations:
19 cnrm.cloud.google.com/version: 1.106.0
20 creationTimestamp: null
21 labels:
22 cnrm.cloud.google.com/dcl2crd: "true"
23 cnrm.cloud.google.com/managed-by-kcc: "true"
24 cnrm.cloud.google.com/stability-level: alpha
25 cnrm.cloud.google.com/system: "true"
26 name: runservices.run.cnrm.cloud.google.com
27spec:
28 group: run.cnrm.cloud.google.com
29 names:
30 categories:
31 - gcp
32 kind: RunService
33 plural: runservices
34 shortNames:
35 - gcprunservice
36 - gcprunservices
37 singular: runservice
38 scope: Namespaced
39 versions:
40 - additionalPrinterColumns:
41 - jsonPath: .metadata.creationTimestamp
42 name: Age
43 type: date
44 - description: When 'True', the most recent reconcile of the resource succeeded
45 jsonPath: .status.conditions[?(@.type=='Ready')].status
46 name: Ready
47 type: string
48 - description: The reason for the value in 'Ready'
49 jsonPath: .status.conditions[?(@.type=='Ready')].reason
50 name: Status
51 type: string
52 - description: The last transition time for the value in 'Status'
53 jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime
54 name: Status Age
55 type: date
56 name: v1beta1
57 schema:
58 openAPIV3Schema:
59 properties:
60 apiVersion:
61 description: 'apiVersion defines the versioned schema of this representation
62 of an object. Servers should convert recognized schemas to the latest
63 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
64 type: string
65 kind:
66 description: 'kind is a string value representing the REST resource this
67 object represents. Servers may infer this from the endpoint the client
68 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
69 type: string
70 metadata:
71 type: object
72 spec:
73 properties:
74 annotations:
75 additionalProperties:
76 type: string
77 description: 'Unstructured key value map that may be set by external
78 tools to store and arbitrary metadata. They are not queryable and
79 should be preserved when modifying objects. Cloud Run will populate
80 some annotations using ''run.googleapis.com'' or ''serving.knative.dev''
81 namespaces. This field follows Kubernetes annotations'' namespacing,
82 limits, and rules. More info: http://kubernetes.io/docs/user-guide/annotations'
83 type: object
84 binaryAuthorization:
85 description: Settings for the Binary Authorization feature.
86 properties:
87 breakglassJustification:
88 description: If present, indicates to use Breakglass using this
89 justification. For more information on breakglass, see https://cloud.google.com/binary-authorization/docs/using-breakglass
90 type: string
91 useDefault:
92 description: If True, indicates to use the default project's binary
93 authorization policy. If False, binary authorization will be
94 disabled
95 type: boolean
96 type: object
97 client:
98 description: Arbitrary identifier for the API client.
99 type: string
100 clientVersion:
101 description: Arbitrary version identifier for the API client.
102 type: string
103 description:
104 description: User-provided description of the Service.
105 type: string
106 ingress:
107 description: Provides the ingress settings for this Service. On output,
108 returns the currently observed ingress settings, or INGRESS_TRAFFIC_UNSPECIFIED
109 if no revision is active.
110 type: string
111 launchStage:
112 description: 'The launch stage as defined by [Google Cloud Platform
113 Launch Stages](http://cloud.google.com/terms/launch-stages). Cloud
114 Run supports `ALPHA`, `BETA`, and `GA`. If no value is specified,
115 GA is assumed. Possible values: LAUNCH_STAGE_UNSPECIFIED, UNIMPLEMENTED,
116 PRELAUNCH, EARLY_ACCESS, ALPHA, BETA, GA, DEPRECATED'
117 type: string
118 location:
119 description: Immutable. The location for the resource
120 type: string
121 projectRef:
122 description: Immutable. The Project that this resource belongs to.
123 oneOf:
124 - not:
125 required:
126 - external
127 required:
128 - name
129 - not:
130 anyOf:
131 - required:
132 - name
133 - required:
134 - namespace
135 required:
136 - external
137 properties:
138 external:
139 description: |-
140 The project for the resource
141
142 Allowed value: The Google Cloud resource name of a `Project` resource (format: `projects/{{name}}`).
143 type: string
144 name:
145 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
146 type: string
147 namespace:
148 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
149 type: string
150 type: object
151 resourceID:
152 description: Immutable. Optional. The name of the resource. Used for
153 creation and acquisition. When unset, the value of `metadata.name`
154 is used as the default.
155 type: string
156 template:
157 description: Required. The template used to create revisions for this
158 Service.
159 properties:
160 annotations:
161 additionalProperties:
162 type: string
163 description: KRM-style annotations for the resource.
164 type: object
165 containerConcurrency:
166 description: Sets the maximum number of requests that each serving
167 instance can receive.
168 format: int64
169 type: integer
170 containers:
171 description: Holds the single container that defines the unit
172 of execution for this Revision.
173 items:
174 properties:
175 args:
176 description: 'Arguments to the entrypoint. The docker image''s
177 CMD is used if this is not provided. Variable references
178 $(VAR_NAME) are expanded using the container''s environment.
179 If a variable cannot be resolved, the reference in the
180 input string will be unchanged. The $(VAR_NAME) syntax
181 can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
182 references will never be expanded, regardless of whether
183 the variable exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
184 items:
185 type: string
186 type: array
187 command:
188 description: 'Entrypoint array. Not executed within a shell.
189 The docker image''s ENTRYPOINT is used if this is not
190 provided. Variable references $(VAR_NAME) are expanded
191 using the container''s environment. If a variable cannot
192 be resolved, the reference in the input string will be
193 unchanged. The $(VAR_NAME) syntax can be escaped with
194 a double $$, ie: $$(VAR_NAME). Escaped references will
195 never be expanded, regardless of whether the variable
196 exists or not. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell'
197 items:
198 type: string
199 type: array
200 env:
201 description: List of environment variables to set in the
202 container.
203 items:
204 properties:
205 name:
206 description: Required. Name of the environment variable.
207 Must be a C_IDENTIFIER, and mnay not exceed 32768
208 characters.
209 type: string
210 value:
211 description: 'Variable references $(VAR_NAME) are
212 expanded using the previous defined environment
213 variables in the container and any route environment
214 variables. If a variable cannot be resolved, the
215 reference in the input string will be unchanged.
216 The $(VAR_NAME) syntax can be escaped with a double
217 $$, ie: $$(VAR_NAME). Escaped references will never
218 be expanded, regardless of whether the variable
219 exists or not. Defaults to "", and the maximum length
220 is 32768 bytes.'
221 type: string
222 valueSource:
223 description: Source for the environment variable's
224 value.
225 properties:
226 secretKeyRef:
227 description: Selects a secret and a specific version
228 from Cloud Secret Manager.
229 properties:
230 secretRef:
231 oneOf:
232 - not:
233 required:
234 - external
235 required:
236 - name
237 - not:
238 anyOf:
239 - required:
240 - name
241 - required:
242 - namespace
243 required:
244 - external
245 properties:
246 external:
247 description: |-
248 Required. The name of the secret in Cloud Secret Manager. Format: {secret_name} if the secret is in the same project. projects/{project}/secrets/{secret_name} if the secret is in a different project.
249
250 Allowed value: The Google Cloud resource name of a `SecretManagerSecret` resource (format: `projects/{{project}}/secrets/{{name}}`).
251 type: string
252 name:
253 description: 'Name of the referent. More
254 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
255 type: string
256 namespace:
257 description: 'Namespace of the referent.
258 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
259 type: string
260 type: object
261 versionRef:
262 oneOf:
263 - not:
264 required:
265 - external
266 required:
267 - name
268 - not:
269 anyOf:
270 - required:
271 - name
272 - required:
273 - namespace
274 required:
275 - external
276 properties:
277 external:
278 description: |-
279 The Cloud Secret Manager secret version. Can be 'latest' for the latest value or an integer for a specific version.
280
281 Allowed value: The Google Cloud resource name of a `SecretManagerSecretVersion` resource (format: `{{name}}`).
282 type: string
283 name:
284 description: 'Name of the referent. More
285 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
286 type: string
287 namespace:
288 description: 'Namespace of the referent.
289 More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
290 type: string
291 type: object
292 required:
293 - secretRef
294 type: object
295 type: object
296 required:
297 - name
298 type: object
299 type: array
300 image:
301 description: 'Required. URL of the Container image in Google
302 Container Registry or Docker More info: https://kubernetes.io/docs/concepts/containers/images'
303 type: string
304 name:
305 description: Name of the container specified as a DNS_LABEL.
306 type: string
307 ports:
308 description: List of ports to expose from the container.
309 Only a single port can be specified. The specified ports
310 must be listening on all interfaces (0.0.0.0) within the
311 container to be accessible. If omitted, a port number
312 will be chosen and passed to the container through the
313 PORT environment variable for the container to listen
314 on.
315 items:
316 properties:
317 containerPort:
318 description: Port number the container listens on.
319 This must be a valid TCP port number, 0 < container_port
320 < 65536.
321 format: int64
322 type: integer
323 name:
324 description: If specified, used to specify which protocol
325 to use. Allowed values are "http1" and "h2c".
326 type: string
327 type: object
328 type: array
329 resources:
330 description: 'Compute Resource requirements by this container.
331 More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
332 properties:
333 cpuIdle:
334 description: Determines whether CPU should be throttled
335 or not outside of requests.
336 type: boolean
337 limits:
338 additionalProperties:
339 type: string
340 description: 'Only memory and CPU are supported. Note:
341 The only supported values for CPU are ''1'', ''2'',
342 and ''4''. Setting 4 CPU requires at least 2Gi of
343 memory. The values of the map is string form of the
344 ''quantity'' k8s type: https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go'
345 type: object
346 type: object
347 volumeMounts:
348 description: Volume to mount into the container's filesystem.
349 items:
350 properties:
351 mountPath:
352 description: Required. Path within the container at
353 which the volume should be mounted. Must not contain
354 ':'. For Cloud SQL volumes, it can be left empty,
355 or must otherwise be `/cloudsql`. All instances
356 defined in the Volume will be available as `/cloudsql/[instance]`.
357 For more information on Cloud SQL volumes, visit
358 https://cloud.google.com/sql/docs/mysql/connect-run
359 type: string
360 name:
361 description: Required. This must match the Name of
362 a Volume.
363 type: string
364 required:
365 - mountPath
366 - name
367 type: object
368 type: array
369 required:
370 - image
371 type: object
372 type: array
373 executionEnvironment:
374 description: 'The sandbox environment to host this Revision. Possible
375 values: EXECUTION_ENVIRONMENT_UNSPECIFIED, EXECUTION_ENVIRONMENT_GEN1,
376 EXECUTION_ENVIRONMENT_GEN2'
377 type: string
378 labels:
379 additionalProperties:
380 type: string
381 description: KRM-style labels for the resource.
382 type: object
383 revision:
384 description: The unique name for the revision. If this field is
385 omitted, it will be automatically generated based on the Service
386 name.
387 type: string
388 scaling:
389 description: Scaling settings for this Revision.
390 properties:
391 maxInstanceCount:
392 description: Maximum number of serving instances that this
393 resource should have.
394 format: int64
395 type: integer
396 minInstanceCount:
397 description: Minimum number of serving instances that this
398 resource should have.
399 format: int64
400 type: integer
401 type: object
402 serviceAccountRef:
403 oneOf:
404 - not:
405 required:
406 - external
407 required:
408 - name
409 - not:
410 anyOf:
411 - required:
412 - name
413 - required:
414 - namespace
415 required:
416 - external
417 properties:
418 external:
419 description: |-
420 Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project's default service account.
421
422 Allowed value: The `email` field of an `IAMServiceAccount` resource.
423 type: string
424 name:
425 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
426 type: string
427 namespace:
428 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
429 type: string
430 type: object
431 timeout:
432 description: Max allowed time for an instance to respond to a
433 request.
434 type: string
435 volumes:
436 description: A list of Volumes to make available to containers.
437 items:
438 properties:
439 cloudSqlInstance:
440 description: For Cloud SQL volumes, contains the specific
441 instances that should be mounted. Visit https://cloud.google.com/sql/docs/mysql/connect-run
442 for more information on how to connect Cloud SQL and Cloud
443 Run.
444 properties:
445 instances:
446 items:
447 oneOf:
448 - not:
449 required:
450 - external
451 required:
452 - name
453 - not:
454 anyOf:
455 - required:
456 - name
457 - required:
458 - namespace
459 required:
460 - external
461 properties:
462 external:
463 description: 'Allowed value: The `instanceName`
464 field of a `SQLInstance` resource.'
465 type: string
466 name:
467 description: 'Name of the referent. More info:
468 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
469 type: string
470 namespace:
471 description: 'Namespace of the referent. More
472 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
473 type: string
474 type: object
475 type: array
476 type: object
477 name:
478 description: Required. Volume's name.
479 type: string
480 secret:
481 description: 'Secret represents a secret that should populate
482 this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
483 properties:
484 defaultMode:
485 description: 'Integer representation of mode bits to
486 use on created files by default. Must be a value between
487 0000 and 0777 (octal), defaulting to 0644. Directories
488 within the path are not affected by this setting.
489 Notes * Internally, a umask of 0222 will be applied
490 to any non-zero value. * This is an integer representation
491 of the mode bits. So, the octal integer value should
492 look exactly as the chmod numeric notation with a
493 leading zero. Some examples: for chmod 777 (a=rwx),
494 set to 0777 (octal) or 511 (base-10). For chmod 640
495 (u=rw,g=r), set to 0640 (octal) or 416 (base-10).
496 For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal)
497 or 493 (base-10). * This might be in conflict with
498 other options that affect the file mode, like fsGroup,
499 and the result can be other mode bits set. This might
500 be in conflict with other options that affect the
501 file mode, like fsGroup, and as a result, other mode
502 bits could be set.'
503 format: int64
504 type: integer
505 items:
506 description: If unspecified, the volume will expose
507 a file whose name is the secret, relative to VolumeMount.mount_path.
508 If specified, the key will be used as the version
509 to fetch from Cloud Secret Manager and the path will
510 be the name of the file exposed in the volume. When
511 items are defined, they must specify a path and a
512 version.
513 items:
514 properties:
515 mode:
516 description: 'Integer octal mode bits to use on
517 this file, must be a value between 01 and 0777
518 (octal). If 0 or not set, the Volume''s default
519 mode will be used. Notes * Internally, a umask
520 of 0222 will be applied to any non-zero value.
521 * This is an integer representation of the mode
522 bits. So, the octal integer value should look
523 exactly as the chmod numeric notation with a
524 leading zero. Some examples: for chmod 777 (a=rwx),
525 set to 0777 (octal) or 511 (base-10). For chmod
526 640 (u=rw,g=r), set to 0640 (octal) or 416 (base-10).
527 For chmod 755 (u=rwx,g=rx,o=rx), set to 0755
528 (octal) or 493 (base-10). * This might be in
529 conflict with other options that affect the
530 file mode, like fsGroup, and the result can
531 be other mode bits set.'
532 format: int64
533 type: integer
534 path:
535 description: Required. The relative path of the
536 secret in the container.
537 type: string
538 versionRef:
539 oneOf:
540 - not:
541 required:
542 - external
543 required:
544 - name
545 - not:
546 anyOf:
547 - required:
548 - name
549 - required:
550 - namespace
551 required:
552 - external
553 properties:
554 external:
555 description: |-
556 The Cloud Secret Manager secret version. Can be 'latest' for the latest value or an integer for a specific version.
557
558 Allowed value: The Google Cloud resource name of a `SecretManagerSecretVersion` resource (format: `{{name}}`).
559 type: string
560 name:
561 description: 'Name of the referent. More info:
562 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
563 type: string
564 namespace:
565 description: 'Namespace of the referent. More
566 info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
567 type: string
568 type: object
569 required:
570 - path
571 type: object
572 type: array
573 secretRef:
574 oneOf:
575 - not:
576 required:
577 - external
578 required:
579 - name
580 - not:
581 anyOf:
582 - required:
583 - name
584 - required:
585 - namespace
586 required:
587 - external
588 properties:
589 external:
590 description: |-
591 Required. The name of the secret in Cloud Secret Manager. Format: {secret} if the secret is in the same project. projects/{project}/secrets/{secret} if the secret is in a different project.
592
593 Allowed value: The Google Cloud resource name of a `SecretManagerSecret` resource (format: `projects/{{project}}/secrets/{{name}}`).
594 type: string
595 name:
596 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
597 type: string
598 namespace:
599 description: 'Namespace of the referent. More info:
600 https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
601 type: string
602 type: object
603 required:
604 - secretRef
605 type: object
606 required:
607 - name
608 type: object
609 type: array
610 vpcAccess:
611 description: VPC Access configuration to use for this Revision.
612 For more information, visit https://cloud.google.com/run/docs/configuring/connecting-vpc.
613 properties:
614 connectorRef:
615 oneOf:
616 - not:
617 required:
618 - external
619 required:
620 - name
621 - not:
622 anyOf:
623 - required:
624 - name
625 - required:
626 - namespace
627 required:
628 - external
629 properties:
630 external:
631 description: |-
632 VPC Access connector name. Format: projects/{project}/locations/{location}/connectors/{connector}
633
634 Allowed value: The Google Cloud resource name of a `VPCAccessConnector` resource (format: `projects/{{project}}/locations/{{location}}/connectors/{{name}}`).
635 type: string
636 name:
637 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
638 type: string
639 namespace:
640 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
641 type: string
642 type: object
643 egress:
644 description: 'Traffic VPC egress settings. Possible values:
645 VPC_EGRESS_UNSPECIFIED, ALL_TRAFFIC, PRIVATE_RANGES_ONLY'
646 type: string
647 type: object
648 type: object
649 traffic:
650 description: Specifies how to distribute traffic over a collection
651 of Revisions belonging to the Service. If traffic is empty or not
652 provided, defaults to 100% traffic to the latest `Ready` Revision.
653 items:
654 properties:
655 percent:
656 description: Specifies percent of the traffic to this Revision.
657 This defaults to zero if unspecified. Cloud Run currently
658 requires 100 percent for a single TrafficTarget entry.
659 format: int64
660 type: integer
661 revision:
662 description: Revision to which to send this portion of traffic,
663 if traffic allocation is by revision.
664 type: string
665 tag:
666 description: Indicates a string to be part of the URI to exclusively
667 reference this target.
668 type: string
669 type:
670 description: 'The allocation type for this traffic target. Possible
671 values: TRAFFIC_TARGET_ALLOCATION_TYPE_UNSPECIFIED, TRAFFIC_TARGET_ALLOCATION_TYPE_LATEST,
672 TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION'
673 type: string
674 type: object
675 type: array
676 required:
677 - location
678 - projectRef
679 - template
680 type: object
681 status:
682 properties:
683 conditions:
684 description: Conditions represent the latest available observation
685 of the resource's current state.
686 items:
687 properties:
688 lastTransitionTime:
689 description: Last time the condition transitioned from one status
690 to another.
691 type: string
692 message:
693 description: Human-readable message indicating details about
694 last transition.
695 type: string
696 reason:
697 description: Unique, one-word, CamelCase reason for the condition's
698 last transition.
699 type: string
700 status:
701 description: Status is the status of the condition. Can be True,
702 False, Unknown.
703 type: string
704 type:
705 description: Type is the type of the condition.
706 type: string
707 type: object
708 type: array
709 createTime:
710 description: Output only. The creation time.
711 format: date-time
712 type: string
713 creator:
714 description: Output only. Email address of the authenticated creator.
715 type: string
716 deleteTime:
717 description: Output only. The deletion time.
718 format: date-time
719 type: string
720 etag:
721 description: Output only. A system-generated fingerprint for this
722 version of the resource. May be used to detect modification conflict
723 during updates.
724 type: string
725 expireTime:
726 description: Output only. For a deleted resource, the time after which
727 it will be permamently deleted.
728 format: date-time
729 type: string
730 labels:
731 additionalProperties:
732 type: string
733 description: Map of string keys and values that can be used to organize
734 and categorize objects. User-provided labels are shared with Google's
735 billing system, so they can be used to filter, or break down billing
736 charges by team, component, environment, state, etc. For more information,
737 visit https://cloud.google.com/resource-manager/docs/creating-managing-labels
738 or https://cloud.google.com/run/docs/configuring/labels Cloud Run
739 will populate some labels with 'run.googleapis.com' or 'serving.knative.dev'
740 namespaces. Those labels are read-only, and user changes will not
741 be preserved.
742 type: object
743 lastModifier:
744 description: Output only. Email address of the last authenticated
745 modifier.
746 type: string
747 latestCreatedRevision:
748 description: Output only. Name of the last created revision. See comments
749 in `reconciling` for additional information on reconciliation process
750 in Cloud Run.
751 type: string
752 latestReadyRevision:
753 description: Output only. Name of the latest revision that is serving
754 traffic. See comments in `reconciling` for additional information
755 on reconciliation process in Cloud Run.
756 type: string
757 observedGeneration:
758 description: ObservedGeneration is the generation of the resource
759 that was most recently observed by the Config Connector controller.
760 If this is equal to metadata.generation, then that means that the
761 current reported status reflects the most recent desired state of
762 the resource.
763 type: integer
764 reconciling:
765 description: 'Output only. Returns true if the Service is currently
766 being acted upon by the system to bring it into the desired state.
767 When a new Service is created, or an existing one is updated, Cloud
768 Run will asynchronously perform all necessary steps to bring the
769 Service to the desired serving state. This process is called reconciliation.
770 While reconciliation is in process, `observed_generation`, `latest_ready_revison`,
771 `traffic_statuses`, and `uri` will have transient values that might
772 mismatch the intended state: Once reconciliation is over (and this
773 field is false), there are two possible outcomes: reconciliation
774 succeeded and the serving state matches the Service, or there was
775 an error, and reconciliation failed. This state can be found in
776 `terminal_condition.state`. If reconciliation succeeded, the following
777 fields will match: `traffic` and `traffic_statuses`, `observed_generation`
778 and `generation`, `latest_ready_revision` and `latest_created_revision`.
779 If reconciliation failed, `traffic_statuses`, `observed_generation`,
780 and `latest_ready_revision` will have the state of the last serving
781 revision, or empty for newly created Services. Additional information
782 on the failure can be found in `terminal_condition` and `conditions`.'
783 type: boolean
784 resourceGeneration:
785 description: Output only. A number that monotonically increases every
786 time the user modifies the desired state.
787 format: int64
788 type: integer
789 terminalCondition:
790 description: Output only. The Condition of this Service, containing
791 its readiness status, and detailed error information in case it
792 did not reach a serving state. See comments in `reconciling` for
793 additional information on reconciliation process in Cloud Run.
794 properties:
795 jobReason:
796 description: 'A reason for the job condition. Possible values:
797 JOB_REASON_UNDEFINED, JOB_STATUS_SERVICE_POLLING_ERROR'
798 type: string
799 lastTransitionTime:
800 description: Last time the condition transitioned from one status
801 to another.
802 format: date-time
803 type: string
804 message:
805 description: Human readable message indicating details about the
806 current status.
807 type: string
808 reason:
809 description: 'A common (service-level) reason for this condition.
810 Possible values: COMMON_REASON_UNDEFINED, UNKNOWN, REVISION_FAILED,
811 PROGRESS_DEADLINE_EXCEEDED, CONTAINER_MISSING, CONTAINER_PERMISSION_DENIED,
812 CONTAINER_IMAGE_UNAUTHORIZED, CONTAINER_IMAGE_AUTHORIZATION_CHECK_FAILED,
813 ENCRYPTION_KEY_PERMISSION_DENIED, ENCRYPTION_KEY_CHECK_FAILED,
814 SECRETS_ACCESS_CHECK_FAILED, WAITING_FOR_OPERATION, IMMEDIATE_RETRY,
815 POSTPONED_RETRY, INTERNAL'
816 type: string
817 revisionReason:
818 description: 'A reason for the revision condition. Possible values:
819 REVISION_REASON_UNDEFINED, PENDING, RESERVE, RETIRED, RETIRING,
820 RECREATING, HEALTH_CHECK_CONTAINER_ERROR, CUSTOMIZED_PATH_RESPONSE_PENDING,
821 MIN_INSTANCES_NOT_PROVISIONED, ACTIVE_REVISION_LIMIT_REACHED,
822 NO_DEPLOYMENT'
823 type: string
824 severity:
825 description: 'How to interpret failures of this condition, one
826 of Error, Warning, Info Possible values: SEVERITY_UNSPECIFIED,
827 ERROR, WARNING, INFO'
828 type: string
829 state:
830 description: 'State of the condition. Possible values: STATE_UNSPECIFIED,
831 CONDITION_PENDING, CONDITION_RECONCILING, CONDITION_FAILED,
832 CONDITION_SUCCEEDED'
833 type: string
834 type:
835 description: 'type is used to communicate the status of the reconciliation
836 process. See also: https://github.com/knative/serving/blob/main/docs/spec/errors.md#error-conditions-and-reporting
837 Types common to all resources include: * "Ready": True when
838 the Resource is ready.'
839 type: string
840 type: object
841 trafficStatuses:
842 description: Output only. Detailed status information for corresponding
843 traffic targets. See comments in `reconciling` for additional information
844 on reconciliation process in Cloud Run.
845 items:
846 properties:
847 percent:
848 description: Specifies percent of the traffic to this Revision.
849 format: int64
850 type: integer
851 revision:
852 description: Revision to which this traffic is sent.
853 type: string
854 tag:
855 description: Indicates the string used in the URI to exclusively
856 reference this target.
857 type: string
858 type:
859 description: 'The allocation type for this traffic target. Possible
860 values: TRAFFIC_TARGET_ALLOCATION_TYPE_UNSPECIFIED, TRAFFIC_TARGET_ALLOCATION_TYPE_LATEST,
861 TRAFFIC_TARGET_ALLOCATION_TYPE_REVISION'
862 type: string
863 uri:
864 description: Displays the target URI.
865 type: string
866 type: object
867 type: array
868 uid:
869 description: Output only. Server assigned unique identifier for the
870 trigger. The value is a UUID4 string and guaranteed to remain unchanged
871 until the resource is deleted.
872 type: string
873 updateTime:
874 description: Output only. The last-modified time.
875 format: date-time
876 type: string
877 uri:
878 description: Output only. The main URI in which this Service is serving
879 traffic.
880 type: string
881 type: object
882 required:
883 - spec
884 type: object
885 served: true
886 storage: true
887 subresources:
888 status: {}
889status:
890 acceptedNames:
891 kind: ""
892 plural: ""
893 conditions: []
894 storedVersions: []
View as plain text