1---
2apiVersion: apiextensions.k8s.io/v1
3kind: CustomResourceDefinition
4metadata:
5 annotations:
6 controller-gen.kubebuilder.io/version: (unknown)
7 name: shipments.warehouse.edge.ncr.com
8spec:
9 group: warehouse.edge.ncr.com
10 names:
11 kind: Shipment
12 listKind: ShipmentList
13 plural: shipments
14 singular: shipment
15 scope: Cluster
16 versions:
17 - additionalPrinterColumns:
18 - jsonPath: .metadata.creationTimestamp
19 name: Age
20 type: date
21 - jsonPath: .status.conditions[?(@.type=="Ready")].status
22 name: Ready
23 type: string
24 - jsonPath: .status.conditions[?(@.type=="Ready")].message
25 name: Status
26 type: string
27 deprecated: true
28 name: v1alpha1
29 schema:
30 openAPIV3Schema:
31 description: |-
32 Shipment is one or more Pallets that will be unpacked and scheduled to the
33 cluster.
34 properties:
35 apiVersion:
36 description: |-
37 APIVersion defines the versioned schema of this representation of an object.
38 Servers should convert recognized schemas to the latest internal value, and
39 may reject unrecognized values.
40 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
41 type: string
42 kind:
43 description: |-
44 Kind is a string value representing the REST resource this object represents.
45 Servers may infer this from the endpoint the client submits requests to.
46 Cannot be updated.
47 In CamelCase.
48 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
49 type: string
50 metadata:
51 type: object
52 spec:
53 properties:
54 creds:
55 description: |-
56 Credentials is an optional secret reference pointing to a secret containing
57 registry credentials. The secret must be of type kubernetes.io/dockerconfigjson
58 properties:
59 name:
60 description: name is unique within a namespace to reference a
61 secret resource.
62 type: string
63 namespace:
64 description: namespace defines the space within which the secret
65 name must be unique.
66 type: string
67 type: object
68 x-kubernetes-map-type: atomic
69 force:
70 default: false
71 description: |-
72 Force indicates whether or not objects should be forced by deleting and
73 re-creating when there is a conflict due to immutable fields changing.
74 type: boolean
75 interval:
76 default: 60s
77 description: |-
78 Interval is how often the object will be reconciled, in order to prevent
79 drift.
80 type: string
81 packagePullOptions:
82 description: |-
83 PackagePullOptions are options used to configure pulling packages
84 from remote registry, memory cache or disk layout.
85 properties:
86 pullPolicy:
87 default: Always
88 description: |-
89 PackagePullPolicy is the strategy used to decide when a package should be pulled
90 from remote registry, memory cache or disk layout
91
92
93 TODO(aw185176): Support "Never" pull policy.
94 enum:
95 - Always
96 - IfNotPresent
97 type: string
98 type: object
99 pallets:
100 description: |-
101 Pallets is the set of Pallet packages that will be pulled and reconciled,
102 without the base repository string. Each Pallet reference is completed from the
103 Repository field.
104
105
106 All Pallets are resolved into a single, deduped graph to ensure that there
107 is no more than one version of a package. How conflicts are resolved is
108 configurable via Resolution
109 items:
110 description: |-
111 BaseArtifact describes a reference to a Warehouse package without a repository
112 that can be embedded in a K8s resource spec.
113 properties:
114 digest:
115 description: |-
116 Digest is the sha256 digest of the OCI artifact to apply to the cluster.
117 Takes precedence over tag if set.
118 type: string
119 name:
120 description: |-
121 Name is the unique Warehouse package name. It is typically equal to the last segment
122 of an image repository string, depending on registry implementation e.g., gcr.io/foo/bar,
123 where bar is the name of the package and gcr.io/foo/bar is the provided Repository string.
124 Or, us-east1-docker.pkg.dev/ret-edge-pltf-infra/warehouse/nested/name where nested/name is
125 the Name and the us-east1-docker.pkg.dev/ret-edge-pltf-infra/warehouse/nested/name is
126 the Repository. An Artifact can not be resolved by Name alone.
127 type: string
128 tag:
129 description: |-
130 Tag is a mutable reference to the OCI artifact to apply. Defaults to "latest"
131 if neither Tag or Digest are set.
132 type: string
133 required:
134 - name
135 type: object
136 minItems: 1
137 type: array
138 prune:
139 description: |-
140 Prune indicates whether or not objects should be pruned between reconciles
141 or when the object is deleted. You may want to use this for deployments
142 that you really don't want deleted.
143 type: boolean
144 rendering:
145 description: |-
146 Rendering is the configuration controlling how the unpacked K8s manifests
147 are rendered before applying.
148 items:
149 properties:
150 configMapRef:
151 description: |-
152 ConfigMapRef references a K8s ConfigMap to pull parameters from. Mutually
153 exclusive with Variables.
154 properties:
155 name:
156 description: Name of the referent.
157 maxLength: 253
158 minLength: 1
159 type: string
160 namespace:
161 description: Namespace of the referent, when not specified
162 it acts as LocalObjectReference.
163 maxLength: 253
164 minLength: 1
165 type: string
166 required:
167 - name
168 type: object
169 mapping:
170 additionalProperties:
171 type: string
172 description: |-
173 Mapping of rendering parameters to specific keys in the referenced ConfigMap,
174 e.g.: {gcp_project_id: gcp.projectId} where 'gcp.projectId' is a key in the
175 ConfigMap.
176 type: object
177 parameters:
178 additionalProperties:
179 type: string
180 description: Parameters are inlined parameters. Mutually exclusive
181 with ConfigMapRef.
182 type: object
183 type: object
184 type: array
185 repo:
186 description: |-
187 Repository is the base path of the image repositories that Pallets will be pulled from.
188 It MUST be the entire repository string up to the Pallet package name,
189 e.g. gcr.io/foo if packages are gcr.io/foo/bar, gcr.io/foo/bax, ...
190 All packages must come from the same repository because resolving the graph
191 of packages may discover the same digest in multiple repositories. This
192 controller won't make value judgements as to which repository should be used
193 in conflict.
194 type: string
195 resolution:
196 description: |-
197 Resolution is the rules for resolving conflicts in the resolved graph for
198 the pallets included in this shipment. By default, a Shipment will be marked
199 Stalled if it references a list of pallets which don't produce a consistent
200 (e.g., no conflicting digests) resolved graph.
201 properties:
202 acceptFirst:
203 description: |-
204 AcceptFirst will accept the first digest it encounters for each package
205 during graph resolution. If the package exists in the graph with a differing
206 digest, it is dropped. This is the simplest way to force a set of conflicting
207 packages to produce a consistent graph, but doesn't provide any additional
208 control
209 type: boolean
210 pins:
211 description: |-
212 Pins are a mapping of package names to digests that are forced during
213 graph resolution, analogous to pinning transitive dependency versions using
214 `replace` directives in a `go.mod` file.
215 items:
216 description: |-
217 Pin is a specific digest associated with a package name, used to "pin" the
218 package to that digest when resolving package graphs or reflect the result
219 of a resolved set of packages.
220 properties:
221 digest:
222 description: Digest is the digest for the package reference
223 (e.g., `shoot:latest`, Pallet.Digest())
224 type: string
225 name:
226 type: string
227 resolvedDigest:
228 description: |-
229 ResolvedDigest is the digest of the provider-specific variant pulled from
230 the package based on where it is being scheduled.
231 type: string
232 required:
233 - digest
234 - name
235 - resolvedDigest
236 type: object
237 type: array
238 type: object
239 retryInterval:
240 default: 10s
241 description: |-
242 RetryInterval is how often to retry previously failed reconciliations. Defaults
243 to Interval if not provided.
244 type: string
245 suspend:
246 description: |-
247 This flag tells the controller to suspend subsequent reconciliations,
248 it does not apply to already started reconciliations. Defaults to false.
249 type: boolean
250 timeout:
251 default: 120s
252 description: |-
253 Timeout is how long the controller will wait for the applied objects to
254 reconcile.
255 type: string
256 unpack:
257 description: UnpackOptions
258 properties:
259 capabilities:
260 description: |-
261 Capabilities are additional runtime layers to apply.
262 If Runtime is set to false, this field must be empty.
263 items:
264 type: string
265 type: array
266 infra:
267 default: false
268 description: Infra is whether or not to schedule infrastructure
269 objects.
270 type: boolean
271 infraNamespace:
272 description: |-
273 InfraNamespace is the K8s namespace the infra objects should be scheduled to.
274 If provided, the metadata.namespace of unpacked infra objects is updated
275 using Kustomize filters on unpack.
276 type: string
277 provider:
278 description: |-
279 Provider is the K8s cluster provider that should be unpacked. By default,
280 it is the same cluster provider that Lumper was scheduled onto. If
281 Runtime is true, this option cannot be set to a value that conflicts with
282 Lumper's startup configuration (e.g., you cannot schedule non-GKE runtime
283 resources to a GKE cluster)
284 type: string
285 runtime:
286 default: false
287 description: |-
288 Runtime determines if runtime resources should be applied. By default,
289 only the base runtime layer is applied.
290 type: boolean
291 type: object
292 required:
293 - force
294 - pallets
295 - prune
296 - repo
297 type: object
298 status:
299 default:
300 observedGeneration: -1
301 description: |-
302 ShipmentStatus contains the readiness of the reconciled resources and
303 an inventory of currently applied resources.
304 properties:
305 conditions:
306 items:
307 description: "Condition contains details for one aspect of the current
308 state of this API Resource.\n---\nThis struct is intended for
309 direct use as an array at the field path .status.conditions. For
310 example,\n\n\n\ttype FooStatus struct{\n\t // Represents the
311 observations of a foo's current state.\n\t // Known .status.conditions.type
312 are: \"Available\", \"Progressing\", and \"Degraded\"\n\t //
313 +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t
314 \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\"
315 patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t
316 \ // other fields\n\t}"
317 properties:
318 lastTransitionTime:
319 description: |-
320 lastTransitionTime is the last time the condition transitioned from one status to another.
321 This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
322 format: date-time
323 type: string
324 message:
325 description: |-
326 message is a human readable message indicating details about the transition.
327 This may be an empty string.
328 maxLength: 32768
329 type: string
330 observedGeneration:
331 description: |-
332 observedGeneration represents the .metadata.generation that the condition was set based upon.
333 For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
334 with respect to the current state of the instance.
335 format: int64
336 minimum: 0
337 type: integer
338 reason:
339 description: |-
340 reason contains a programmatic identifier indicating the reason for the condition's last transition.
341 Producers of specific condition types may define expected values and meanings for this field,
342 and whether the values are considered a guaranteed API.
343 The value should be a CamelCase string.
344 This field may not be empty.
345 maxLength: 1024
346 minLength: 1
347 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
348 type: string
349 status:
350 description: status of the condition, one of True, False, Unknown.
351 enum:
352 - "True"
353 - "False"
354 - Unknown
355 type: string
356 type:
357 description: |-
358 type of condition in CamelCase or in foo.example.com/CamelCase.
359 ---
360 Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
361 useful (see .node.status.conditions), the ability to deconflict is important.
362 The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
363 maxLength: 316
364 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
365 type: string
366 required:
367 - lastTransitionTime
368 - message
369 - reason
370 - status
371 - type
372 type: object
373 type: array
374 inventory:
375 description: Inventory is the K8s resources that this object manages.
376 properties:
377 entries:
378 description: Entries of Kubernetes resource object references.
379 items:
380 description: ResourceRef contains the information necessary
381 to locate a resource within a cluster.
382 properties:
383 id:
384 description: |-
385 ID is the string representation of the Kubernetes resource object's metadata,
386 in the format '<namespace>_<name>_<group>_<kind>'.
387 type: string
388 v:
389 description: Version is the API version of the Kubernetes
390 resource object's kind.
391 type: string
392 required:
393 - id
394 - v
395 type: object
396 type: array
397 type: object
398 lastApplied:
399 description: LastApplied is the last set of resolved artifacts that
400 were applied.
401 items:
402 description: |-
403 Pin is a specific digest associated with a package name, used to "pin" the
404 package to that digest when resolving package graphs or reflect the result
405 of a resolved set of packages.
406 properties:
407 digest:
408 description: Digest is the digest for the package reference
409 (e.g., `shoot:latest`, Pallet.Digest())
410 type: string
411 name:
412 type: string
413 resolvedDigest:
414 description: |-
415 ResolvedDigest is the digest of the provider-specific variant pulled from
416 the package based on where it is being scheduled.
417 type: string
418 required:
419 - digest
420 - name
421 - resolvedDigest
422 type: object
423 type: array
424 lastAttempted:
425 description: |-
426 LastAttempted is the last set of resolved artifacts that the controller
427 attempted to apply.
428 items:
429 description: |-
430 Pin is a specific digest associated with a package name, used to "pin" the
431 package to that digest when resolving package graphs or reflect the result
432 of a resolved set of packages.
433 properties:
434 digest:
435 description: Digest is the digest for the package reference
436 (e.g., `shoot:latest`, Pallet.Digest())
437 type: string
438 name:
439 type: string
440 resolvedDigest:
441 description: |-
442 ResolvedDigest is the digest of the provider-specific variant pulled from
443 the package based on where it is being scheduled.
444 type: string
445 required:
446 - digest
447 - name
448 - resolvedDigest
449 type: object
450 type: array
451 lastHandledReconcileAt:
452 description: |-
453 LastHandledReconcileAt holds the value of the most recent
454 reconcile request value, so a change of the annotation value
455 can be detected.
456 type: string
457 observedGeneration:
458 format: int64
459 type: integer
460 type: object
461 type: object
462 served: true
463 storage: false
464 subresources:
465 status: {}
466 - additionalPrinterColumns:
467 - jsonPath: .metadata.creationTimestamp
468 name: Age
469 type: date
470 - jsonPath: .status.conditions[?(@.type=="Ready")].status
471 name: Ready
472 type: string
473 - jsonPath: .status.conditions[?(@.type=="Ready")].message
474 name: Status
475 type: string
476 name: v1alpha2
477 schema:
478 openAPIV3Schema:
479 description: |-
480 Shipment is one or more Pallets that will be unpacked and scheduled to the
481 cluster.
482 properties:
483 apiVersion:
484 description: |-
485 APIVersion defines the versioned schema of this representation of an object.
486 Servers should convert recognized schemas to the latest internal value, and
487 may reject unrecognized values.
488 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
489 type: string
490 kind:
491 description: |-
492 Kind is a string value representing the REST resource this object represents.
493 Servers may infer this from the endpoint the client submits requests to.
494 Cannot be updated.
495 In CamelCase.
496 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
497 type: string
498 metadata:
499 type: object
500 spec:
501 properties:
502 creds:
503 description: |-
504 Credentials is an optional secret reference pointing to a secret containing
505 registry credentials. The secret must be of type kubernetes.io/dockerconfigjson
506 properties:
507 name:
508 description: name is unique within a namespace to reference a
509 secret resource.
510 type: string
511 namespace:
512 description: namespace defines the space within which the secret
513 name must be unique.
514 type: string
515 type: object
516 x-kubernetes-map-type: atomic
517 force:
518 default: false
519 description: |-
520 Force indicates whether or not objects should be forced by deleting and
521 re-creating when there is a conflict due to immutable fields changing.
522 type: boolean
523 interval:
524 default: 60s
525 description: |-
526 Interval is how often the object will be reconciled, in order to prevent
527 drift.
528 type: string
529 packagePullOptions:
530 description: |-
531 PackagePullOptions are options used to configure pulling packages
532 from remote registry, memory cache or disk layout.
533 properties:
534 pullPolicy:
535 default: Always
536 description: |-
537 PackagePullPolicy is the strategy used to decide when a package should be pulled
538 from remote registry, memory cache or disk layout
539
540
541 TODO(aw185176): Support "Never" pull policy.
542 enum:
543 - Always
544 - IfNotPresent
545 type: string
546 type: object
547 pallets:
548 description: |-
549 Pallets is the set of Pallet packages that will be pulled and reconciled,
550 without the base repository string. Each Pallet reference is completed from the
551 Repository field.
552
553
554 All Pallets are resolved into a single, deduped graph to ensure that there
555 is no more than one version of a package. How conflicts are resolved is
556 configurable via Resolution
557 items:
558 description: |-
559 BaseArtifact describes a reference to a Warehouse package without a repository
560 that can be embedded in a K8s resource spec.
561 properties:
562 digest:
563 description: |-
564 Digest is the sha256 digest of the OCI artifact to apply to the cluster.
565 Takes precedence over tag if set.
566 type: string
567 name:
568 description: |-
569 Name is the unique Warehouse package name. It is typically equal to the last segment
570 of an image repository string, depending on registry implementation e.g., gcr.io/foo/bar,
571 where bar is the name of the package and gcr.io/foo/bar is the provided Repository string.
572 Or, us-east1-docker.pkg.dev/ret-edge-pltf-infra/warehouse/nested/name where nested/name is
573 the Name and the us-east1-docker.pkg.dev/ret-edge-pltf-infra/warehouse/nested/name is
574 the Repository. An Artifact can not be resolved by Name alone.
575 type: string
576 tag:
577 description: |-
578 Tag is a mutable reference to the OCI artifact to apply. Defaults to "latest"
579 if neither Tag or Digest are set.
580 type: string
581 required:
582 - name
583 type: object
584 minItems: 1
585 type: array
586 prune:
587 description: |-
588 Prune indicates whether or not objects should be pruned between reconciles
589 or when the object is deleted. You may want to use this for deployments
590 that you really don't want deleted.
591 type: boolean
592 rendering:
593 description: |-
594 Rendering is the configuration controlling how the unpacked K8s manifests
595 are rendered before applying.
596 items:
597 properties:
598 configMapRef:
599 description: |-
600 ConfigMapRef references a K8s ConfigMap to pull parameters from. Mutually
601 exclusive with Variables.
602 properties:
603 name:
604 description: Name of the referent.
605 maxLength: 253
606 minLength: 1
607 type: string
608 namespace:
609 description: Namespace of the referent, when not specified
610 it acts as LocalObjectReference.
611 maxLength: 253
612 minLength: 1
613 type: string
614 required:
615 - name
616 type: object
617 mapping:
618 additionalProperties:
619 type: string
620 description: |-
621 Mapping of rendering parameters to specific keys in the referenced ConfigMap,
622 e.g.: {gcp_project_id: gcp.projectId} where 'gcp.projectId' is a key in the
623 ConfigMap.
624 type: object
625 parameters:
626 additionalProperties:
627 type: string
628 description: Parameters are inlined parameters. Mutually exclusive
629 with ConfigMapRef.
630 type: object
631 type: object
632 type: array
633 repo:
634 description: |-
635 Repository is the base path of the image repositories that Pallets will be pulled from.
636 It MUST be the entire repository string up to the Pallet package name,
637 e.g. gcr.io/foo if packages are gcr.io/foo/bar, gcr.io/foo/bax, ...
638 All packages must come from the same repository because resolving the graph
639 of packages may discover the same digest in multiple repositories. This
640 controller won't make value judgements as to which repository should be used
641 in conflict.
642 type: string
643 resolution:
644 description: |-
645 Resolution is the rules for resolving conflicts in the resolved graph for
646 the pallets included in this shipment. By default, a Shipment will be marked
647 Stalled if it references a list of pallets which don't produce a consistent
648 (e.g., no conflicting digests) resolved graph.
649 properties:
650 acceptFirst:
651 description: |-
652 AcceptFirst will accept the first digest it encounters for each package
653 during graph resolution. If the package exists in the graph with a differing
654 digest, it is dropped. This is the simplest way to force a set of conflicting
655 packages to produce a consistent graph, but doesn't provide any additional
656 control
657 type: boolean
658 pins:
659 description: |-
660 Pins are a mapping of package names to digests that are forced during
661 graph resolution, analogous to pinning transitive dependency versions using
662 `replace` directives in a `go.mod` file.
663 items:
664 description: |-
665 Pin is a specific digest associated with a package name, used to "pin" the
666 package to that digest when resolving package graphs
667 properties:
668 digest:
669 description: Digest is the digest for the package reference
670 (e.g., `shoot:latest`, Pallet.Digest())
671 type: string
672 name:
673 type: string
674 resolvedDigest:
675 description: |-
676 ResolvedDigest is the digest of the provider-specific variant pulled from
677 the package based on where it is being scheduled.
678 type: string
679 required:
680 - digest
681 - name
682 - resolvedDigest
683 type: object
684 type: array
685 type: object
686 retryInterval:
687 default: 10s
688 description: |-
689 RetryInterval is how often to retry previously failed reconciliations. Defaults
690 to Interval if not provided.
691 type: string
692 suspend:
693 description: |-
694 This flag tells the controller to suspend subsequent reconciliations,
695 it does not apply to already started reconciliations. Defaults to false.
696 type: boolean
697 timeout:
698 default: 120s
699 description: |-
700 Timeout is how long the controller will wait for the applied objects to
701 reconcile.
702 type: string
703 unpack:
704 description: UnpackOptions
705 properties:
706 capabilities:
707 description: |-
708 Capabilities are additional runtime layers to apply.
709 If Runtime is set to false, this field must be empty.
710 items:
711 type: string
712 type: array
713 infra:
714 default: false
715 description: Infra is whether or not to schedule infrastructure
716 objects.
717 type: boolean
718 infraNamespace:
719 description: |-
720 InfraNamespace is the K8s namespace the infra objects should be scheduled to.
721 If provided, the metadata.namespace of unpacked infra objects is updated
722 using Kustomize filters on unpack.
723 type: string
724 provider:
725 description: |-
726 Provider is the K8s cluster provider that should be unpacked. By default,
727 it is the same cluster provider that Lumper was scheduled onto. If
728 Runtime is true, this option cannot be set to a value that conflicts with
729 Lumper's startup configuration (e.g., you cannot schedule non-GKE runtime
730 resources to a GKE cluster)
731 type: string
732 runtime:
733 default: false
734 description: |-
735 Runtime determines if runtime resources should be applied. By default,
736 only the base runtime layer is applied.
737 type: boolean
738 type: object
739 required:
740 - force
741 - pallets
742 - prune
743 - repo
744 type: object
745 status:
746 default:
747 observedGeneration: -1
748 description: |-
749 ShipmentStatus contains the readiness of the reconciled resources and
750 an inventory of currently applied resources.
751 properties:
752 conditions:
753 items:
754 description: "Condition contains details for one aspect of the current
755 state of this API Resource.\n---\nThis struct is intended for
756 direct use as an array at the field path .status.conditions. For
757 example,\n\n\n\ttype FooStatus struct{\n\t // Represents the
758 observations of a foo's current state.\n\t // Known .status.conditions.type
759 are: \"Available\", \"Progressing\", and \"Degraded\"\n\t //
760 +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t
761 \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\"
762 patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t
763 \ // other fields\n\t}"
764 properties:
765 lastTransitionTime:
766 description: |-
767 lastTransitionTime is the last time the condition transitioned from one status to another.
768 This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
769 format: date-time
770 type: string
771 message:
772 description: |-
773 message is a human readable message indicating details about the transition.
774 This may be an empty string.
775 maxLength: 32768
776 type: string
777 observedGeneration:
778 description: |-
779 observedGeneration represents the .metadata.generation that the condition was set based upon.
780 For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
781 with respect to the current state of the instance.
782 format: int64
783 minimum: 0
784 type: integer
785 reason:
786 description: |-
787 reason contains a programmatic identifier indicating the reason for the condition's last transition.
788 Producers of specific condition types may define expected values and meanings for this field,
789 and whether the values are considered a guaranteed API.
790 The value should be a CamelCase string.
791 This field may not be empty.
792 maxLength: 1024
793 minLength: 1
794 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
795 type: string
796 status:
797 description: status of the condition, one of True, False, Unknown.
798 enum:
799 - "True"
800 - "False"
801 - Unknown
802 type: string
803 type:
804 description: |-
805 type of condition in CamelCase or in foo.example.com/CamelCase.
806 ---
807 Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
808 useful (see .node.status.conditions), the ability to deconflict is important.
809 The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
810 maxLength: 316
811 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
812 type: string
813 required:
814 - lastTransitionTime
815 - message
816 - reason
817 - status
818 - type
819 type: object
820 type: array
821 inventory:
822 description: Inventory is the K8s resources that this object manages.
823 properties:
824 entries:
825 description: Entries of Kubernetes resource object references.
826 items:
827 description: ResourceRef contains the information necessary
828 to locate a resource within a cluster.
829 properties:
830 id:
831 description: |-
832 ID is the string representation of the Kubernetes resource object's metadata,
833 in the format '<namespace>_<name>_<group>_<kind>'.
834 type: string
835 v:
836 description: Version is the API version of the Kubernetes
837 resource object's kind.
838 type: string
839 required:
840 - id
841 - v
842 type: object
843 type: array
844 type: object
845 lastApplied:
846 description: LastApplied is the last set of resolved artifacts that
847 were applied.
848 items:
849 description: |-
850 ResolvedArtifact is a specific digest associated with a package name, used reflect
851 the result of a resolved set of packages.
852 properties:
853 digest:
854 description: Digest is the digest for the package reference
855 (e.g., `shoot:latest`, Pallet.Digest())
856 type: string
857 name:
858 type: string
859 resolvedDigest:
860 description: |-
861 ResolvedDigest is the digest of the provider-specific variant pulled from
862 the package based on where it is being scheduled.
863 type: string
864 version:
865 description: |-
866 Version is the full semver of the package, e.g. `0.18.0-rc.1711660462+commit.eba956b`.
867 It is based on the "org.opencontainers.image.version" annotation on the OCI image
868 type: string
869 required:
870 - digest
871 - name
872 - resolvedDigest
873 type: object
874 type: array
875 lastAttempted:
876 description: |-
877 LastAttempted is the last set of resolved artifacts that the controller
878 attempted to apply.
879 items:
880 description: |-
881 ResolvedArtifact is a specific digest associated with a package name, used reflect
882 the result of a resolved set of packages.
883 properties:
884 digest:
885 description: Digest is the digest for the package reference
886 (e.g., `shoot:latest`, Pallet.Digest())
887 type: string
888 name:
889 type: string
890 resolvedDigest:
891 description: |-
892 ResolvedDigest is the digest of the provider-specific variant pulled from
893 the package based on where it is being scheduled.
894 type: string
895 version:
896 description: |-
897 Version is the full semver of the package, e.g. `0.18.0-rc.1711660462+commit.eba956b`.
898 It is based on the "org.opencontainers.image.version" annotation on the OCI image
899 type: string
900 required:
901 - digest
902 - name
903 - resolvedDigest
904 type: object
905 type: array
906 lastHandledReconcileAt:
907 description: |-
908 LastHandledReconcileAt holds the value of the most recent
909 reconcile request value, so a change of the annotation value
910 can be detected.
911 type: string
912 observedGeneration:
913 format: int64
914 type: integer
915 type: object
916 type: object
917 served: true
918 storage: true
919 subresources:
920 status: {}
View as plain text