...
1apiVersion: apiextensions.k8s.io/v1
2kind: CustomResourceDefinition
3metadata:
4 name: unpackedpallets.warehouse.edge.ncr.com
5 annotations:
6 controller-gen.kubebuilder.io/version: (unknown)
7spec:
8 group: warehouse.edge.ncr.com
9 names:
10 kind: UnpackedPallet
11 listKind: UnpackedPalletList
12 plural: unpackedpallets
13 singular: unpackedpallet
14 scope: Cluster
15 versions:
16 - name: v1alpha1
17 additionalPrinterColumns:
18 - name: Digest
19 type: string
20 jsonPath: .status.shortDigest
21 - name: Ready
22 type: string
23 jsonPath: .status.conditions[?(@.type=="Ready")].status
24 - name: Status
25 type: string
26 jsonPath: .status.conditions[?(@.type=="Ready")].message
27 - name: Status Age
28 type: date
29 jsonPath: .status.conditions[?(@.type=="Ready")].lastTransitionTime
30 - name: Prune
31 type: string
32 priority: 1
33 jsonPath: .spec.prune
34 - name: Suspend
35 type: string
36 priority: 1
37 jsonPath: .spec.suspend
38 - name: Shipment
39 type: string
40 priority: 1
41 jsonPath: .status.shipment
42 - name: Force
43 type: string
44 priority: 1
45 jsonPath: .spec.force
46 - name: Dependencies
47 type: string
48 priority: 1
49 jsonPath: .status.dependencies
50 - name: Age
51 type: date
52 jsonPath: .metadata.creationTimestamp
53 schema:
54 openAPIV3Schema:
55 type: object
56 description: "UnpackedPallet is an individual package that will be unpacked and scheduled to the cluster. \n Generally, this object shouldn't be created directly, it should be created via Shipment objects, similarly to how a Deployment schedules a ReplicaSet."
57 properties:
58 apiVersion:
59 type: string
60 description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
61 kind:
62 type: string
63 description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
64 metadata:
65 type: object
66 spec:
67 type: object
68 properties:
69 name:
70 type: string
71 description: Name is the unique package name for the Warehouse package. It is appended to the provided Repository to produce the full repository string, e.g., gcr.io/foo/bar, where bar is the name of the package and gcr.io/foo is the provided Repository string
72 creds:
73 type: object
74 description: Credentials is an optional secret reference pointing to a secret containing registry credentials. The secret must be of type kubernetes.io/dockerconfigjson
75 properties:
76 name:
77 type: string
78 description: name is unique within a namespace to reference a secret resource.
79 namespace:
80 type: string
81 description: namespace defines the space within which the secret name must be unique.
82 dependsOn:
83 type: array
84 description: DependsOn is the list of UnpackedPallets that need to be successfully reconciled first.
85 items:
86 type: object
87 description: LocalObjectReference contains enough information to locate the referenced Kubernetes resource object.
88 properties:
89 name:
90 type: string
91 description: Name of the referent.
92 maxLength: 253
93 minLength: 1
94 required:
95 - name
96 digest:
97 type: string
98 description: Digest is the sha256 digest of the OCI artifact to apply to the cluster. Takes precedence over tag if set.
99 force:
100 type: boolean
101 default: false
102 description: Force indicates whether or not objects should be forced by deleting and re-creating when there is a conflict due to immutable fields changing.
103 interval:
104 type: string
105 default: 60s
106 description: Interval is how often the object will be reconciled, in order to prevent drift.
107 parameters:
108 type: object
109 additionalProperties:
110 type: string
111 description: Parameters are the key/value pairs that will be used while rendering manifests from unpacked pallets.
112 prune:
113 type: boolean
114 description: Prune indicates whether or not objects should be pruned between reconciles or when the object is deleted. You may want to use this for deployments that you really don't want deleted.
115 repo:
116 type: string
117 description: Repository is the image repository that the tag or digest should be pulled from, e.g., gcr.io/foo
118 retryInterval:
119 type: string
120 default: 10s
121 description: RetryInterval is how often to retry previously failed reconciliations. Defaults to Interval if not provided.
122 suspend:
123 type: boolean
124 description: This flag tells the controller to suspend subsequent reconciliations, it does not apply to already started reconciliations. Defaults to false.
125 tag:
126 type: string
127 description: Tag is a mutable reference to the OCI artifact to apply. Defaults to "latest" if neither Tag or Digest are set.
128 timeout:
129 type: string
130 default: 120s
131 description: Timeout is how long the controller will wait for the applied objects to reconcile.
132 unpack:
133 type: object
134 description: UnpackOptions
135 properties:
136 capabilities:
137 type: array
138 description: Capabilities are additional runtime layers to apply. If Runtime is set to false, this field must be empty.
139 items:
140 type: string
141 infra:
142 type: boolean
143 default: false
144 description: Infra is whether or not to schedule infrastructure objects.
145 infraNamespace:
146 type: string
147 description: InfraNamespace is the K8s namespace the infra objects should be scheduled to. If provided, the metadata.namespace of unpacked infra objects is updated using Kustomize filters on unpack.
148 provider:
149 type: string
150 description: Provider is the K8s cluster provider that should be unpacked. By default, it is the same cluster provider that Lumper was scheduled onto. If Runtime is true, this option cannot be set to a value that conflicts with Lumper's startup configuration (e.g., you cannot schedule non-GKE runtime resources to a GKE cluster)
151 runtime:
152 type: boolean
153 default: false
154 description: Runtime determines if runtime resources should be applied. By default, only the base runtime layer is applied.
155 required:
156 - force
157 - name
158 - prune
159 - repo
160 status:
161 type: object
162 default:
163 observedGeneration: -1
164 description: UnpackedPalletStatus contains the readiness of the reconciled resources and an inventory of currently applied resources.
165 properties:
166 conditions:
167 type: array
168 items:
169 type: object
170 description: "Condition contains details for one aspect of the current state of this API Resource. --- This struct is intended for direct use as an array at the field path .status.conditions. For example, \n type FooStatus struct{ // Represents the observations of a foo's current state. // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
171 properties:
172 type:
173 type: string
174 description: type of condition in CamelCase or in foo.example.com/CamelCase. --- Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
175 maxLength: 316
176 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])$
177 status:
178 type: string
179 description: status of the condition, one of True, False, Unknown.
180 enum:
181 - "True"
182 - "False"
183 - Unknown
184 lastTransitionTime:
185 type: string
186 description: lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
187 format: date-time
188 message:
189 type: string
190 description: message is a human readable message indicating details about the transition. This may be an empty string.
191 maxLength: 32768
192 observedGeneration:
193 type: integer
194 description: observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.
195 format: int64
196 minimum: 0
197 reason:
198 type: string
199 description: reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.
200 maxLength: 1024
201 minLength: 1
202 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
203 required:
204 - lastTransitionTime
205 - message
206 - reason
207 - status
208 - type
209 dependencies:
210 type: string
211 description: Dependencies is a stringified comman delimited list of
212 inventory:
213 type: object
214 description: ResourceInventory contains a list of Kubernetes resource object references that have been applied.
215 properties:
216 entries:
217 type: array
218 description: Entries of Kubernetes resource object references.
219 items:
220 type: object
221 description: ResourceRef contains the information necessary to locate a resource within a cluster.
222 properties:
223 id:
224 type: string
225 description: ID is the string representation of the Kubernetes resource object's metadata, in the format '<namespace>_<name>_<group>_<kind>'.
226 v:
227 type: string
228 description: Version is the API version of the Kubernetes resource object's kind.
229 required:
230 - id
231 - v
232 lastApplied:
233 type: string
234 description: LastApplied is the digest of the last artifact the controller successfully applied.
235 lastAttempted:
236 type: string
237 description: LastAttempted is the digest of the last artifact the controller attempted to applied.
238 lastHandledReconcileAt:
239 type: string
240 description: LastHandledReconcileAt holds the value of the most recent reconcile request value, so a change of the annotation value can be detected.
241 observedGeneration:
242 type: integer
243 description: ObservedGeneration is the object.generation the last time that the controller reconciled the object.
244 format: int64
245 shipment:
246 type: string
247 description: Shipment is the parent shipment that created the child unpackedpallet
248 shortDigest:
249 type: string
250 description: ShortDigest is a truncated form of the sha256 Digest.
251 statusAge:
252 type: string
253 description: StatusAge contains the time the status of an object was set.
254 format: date-time
255 served: true
256 storage: true
257 subresources:
258 status: {}
View as plain text