1apiVersion: apiextensions.k8s.io/v1
2kind: CustomResourceDefinition
3metadata:
4 annotations:
5 controller-gen.kubebuilder.io/version: v0.5.0
6 creationTimestamp: null
7 name: kustomizations.kustomize.toolkit.fluxcd.io
8spec:
9 group: kustomize.toolkit.fluxcd.io
10 names:
11 kind: Kustomization
12 listKind: KustomizationList
13 plural: kustomizations
14 shortNames:
15 - ks
16 singular: kustomization
17 scope: Namespaced
18 versions:
19 - additionalPrinterColumns:
20 - jsonPath: .status.conditions[?(@.type=="Ready")].status
21 name: Ready
22 type: string
23 - jsonPath: .status.conditions[?(@.type=="Ready")].message
24 name: Status
25 type: string
26 - jsonPath: .metadata.creationTimestamp
27 name: Age
28 type: date
29 name: v1beta1
30 schema:
31 openAPIV3Schema:
32 description: Kustomization is the Schema for the kustomizations API.
33 properties:
34 apiVersion:
35 description: 'APIVersion defines the versioned schema of this representation
36 of an object. Servers should convert recognized schemas to the latest
37 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
38 type: string
39 kind:
40 description: 'Kind is a string value representing the REST resource this
41 object represents. Servers may infer this from the endpoint the client
42 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
43 type: string
44 metadata:
45 type: object
46 spec:
47 description: KustomizationSpec defines the desired state of a kustomization.
48 properties:
49 decryption:
50 description: Decrypt Kubernetes secrets before applying them on the
51 cluster.
52 properties:
53 provider:
54 description: Provider is the name of the decryption engine.
55 enum:
56 - sops
57 type: string
58 secretRef:
59 description: The secret name containing the private OpenPGP keys
60 used for decryption.
61 properties:
62 name:
63 description: Name of the referent
64 type: string
65 required:
66 - name
67 type: object
68 required:
69 - provider
70 type: object
71 dependsOn:
72 description: DependsOn may contain a dependency.CrossNamespaceDependencyReference
73 slice with references to Kustomization resources that must be ready
74 before this Kustomization can be reconciled.
75 items:
76 description: CrossNamespaceDependencyReference holds the reference
77 to a dependency.
78 properties:
79 name:
80 description: Name holds the name reference of a dependency.
81 type: string
82 namespace:
83 description: Namespace holds the namespace reference of a dependency.
84 type: string
85 required:
86 - name
87 type: object
88 type: array
89 force:
90 default: false
91 description: Force instructs the controller to recreate resources
92 when patching fails due to an immutable field change.
93 type: boolean
94 healthChecks:
95 description: A list of resources to be included in the health assessment.
96 items:
97 description: NamespacedObjectKindReference contains enough information
98 to let you locate the typed referenced object in any namespace
99 properties:
100 apiVersion:
101 description: API version of the referent, if not specified the
102 Kubernetes preferred version will be used
103 type: string
104 kind:
105 description: Kind of the referent
106 type: string
107 name:
108 description: Name of the referent
109 type: string
110 namespace:
111 description: Namespace of the referent, when not specified it
112 acts as LocalObjectReference
113 type: string
114 required:
115 - kind
116 - name
117 type: object
118 type: array
119 images:
120 description: Images is a list of (image name, new name, new tag or
121 digest) for changing image names, tags or digests. This can also
122 be achieved with a patch, but this operator is simpler to specify.
123 items:
124 description: Image contains an image name, a new name, a new tag
125 or digest, which will replace the original name and tag.
126 properties:
127 digest:
128 description: Digest is the value used to replace the original
129 image tag. If digest is present NewTag value is ignored.
130 type: string
131 name:
132 description: Name is a tag-less image name.
133 type: string
134 newName:
135 description: NewName is the value used to replace the original
136 name.
137 type: string
138 newTag:
139 description: NewTag is the value used to replace the original
140 tag.
141 type: string
142 required:
143 - name
144 type: object
145 type: array
146 interval:
147 description: The interval at which to reconcile the Kustomization.
148 type: string
149 kubeConfig:
150 description: The KubeConfig for reconciling the Kustomization on a
151 remote cluster. When specified, KubeConfig takes precedence over
152 ServiceAccountName.
153 properties:
154 secretRef:
155 description: SecretRef holds the name to a secret that contains
156 a 'value' key with the kubeconfig file as the value. It must
157 be in the same namespace as the Kustomization. It is recommended
158 that the kubeconfig is self-contained, and the secret is regularly
159 updated if credentials such as a cloud-access-token expire.
160 Cloud specific `cmd-path` auth helpers will not function without
161 adding binaries and credentials to the Pod that is responsible
162 for reconciling the Kustomization.
163 properties:
164 name:
165 description: Name of the referent
166 type: string
167 required:
168 - name
169 type: object
170 type: object
171 patches:
172 description: Strategic merge and JSON patches, defined as inline YAML
173 objects, capable of targeting objects based on kind, label and annotation
174 selectors.
175 items:
176 description: Patch contains either a StrategicMerge or a JSON6902
177 patch, either a file or inline, and the target the patch should
178 be applied to.
179 properties:
180 patch:
181 description: Patch contains the JSON6902 patch document with
182 an array of operation objects.
183 type: string
184 target:
185 description: Target points to the resources that the patch document
186 should be applied to.
187 properties:
188 annotationSelector:
189 description: AnnotationSelector is a string that follows
190 the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
191 It matches with the resource annotations.
192 type: string
193 group:
194 description: Group is the API group to select resources
195 from. Together with Version and Kind it is capable of
196 unambiguously identifying and/or selecting resources.
197 https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
198 type: string
199 kind:
200 description: Kind of the API Group to select resources from.
201 Together with Group and Version it is capable of unambiguously
202 identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
203 type: string
204 labelSelector:
205 description: LabelSelector is a string that follows the
206 label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
207 It matches with the resource labels.
208 type: string
209 name:
210 description: Name to match resources with.
211 type: string
212 namespace:
213 description: Namespace to select resources from.
214 type: string
215 version:
216 description: Version of the API Group to select resources
217 from. Together with Group and Kind it is capable of unambiguously
218 identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
219 type: string
220 type: object
221 type: object
222 type: array
223 patchesJson6902:
224 description: JSON 6902 patches, defined as inline YAML objects.
225 items:
226 description: JSON6902Patch contains a JSON6902 patch and the target
227 the patch should be applied to.
228 properties:
229 patch:
230 description: Patch contains the JSON6902 patch document with
231 an array of operation objects.
232 items:
233 description: JSON6902 is a JSON6902 operation object. https://tools.ietf.org/html/rfc6902#section-4
234 properties:
235 from:
236 type: string
237 op:
238 enum:
239 - test
240 - remove
241 - add
242 - replace
243 - move
244 - copy
245 type: string
246 path:
247 type: string
248 value:
249 x-kubernetes-preserve-unknown-fields: true
250 required:
251 - op
252 - path
253 type: object
254 type: array
255 target:
256 description: Target points to the resources that the patch document
257 should be applied to.
258 properties:
259 annotationSelector:
260 description: AnnotationSelector is a string that follows
261 the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
262 It matches with the resource annotations.
263 type: string
264 group:
265 description: Group is the API group to select resources
266 from. Together with Version and Kind it is capable of
267 unambiguously identifying and/or selecting resources.
268 https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
269 type: string
270 kind:
271 description: Kind of the API Group to select resources from.
272 Together with Group and Version it is capable of unambiguously
273 identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
274 type: string
275 labelSelector:
276 description: LabelSelector is a string that follows the
277 label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
278 It matches with the resource labels.
279 type: string
280 name:
281 description: Name to match resources with.
282 type: string
283 namespace:
284 description: Namespace to select resources from.
285 type: string
286 version:
287 description: Version of the API Group to select resources
288 from. Together with Group and Kind it is capable of unambiguously
289 identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
290 type: string
291 type: object
292 required:
293 - patch
294 - target
295 type: object
296 type: array
297 patchesStrategicMerge:
298 description: Strategic merge patches, defined as inline YAML objects.
299 items:
300 x-kubernetes-preserve-unknown-fields: true
301 type: array
302 path:
303 description: Path to the directory containing the kustomization.yaml
304 file, or the set of plain YAMLs a kustomization.yaml should be generated
305 for. Defaults to 'None', which translates to the root path of the
306 SourceRef.
307 type: string
308 postBuild:
309 description: PostBuild describes which actions to perform on the YAML
310 manifest generated by building the kustomize overlay.
311 properties:
312 substitute:
313 additionalProperties:
314 type: string
315 description: Substitute holds a map of key/value pairs. The variables
316 defined in your YAML manifests that match any of the keys defined
317 in the map will be substituted with the set value. Includes
318 support for bash string replacement functions e.g. ${var:=default},
319 ${var:position} and ${var/substring/replacement}.
320 type: object
321 substituteFrom:
322 description: SubstituteFrom holds references to ConfigMaps and
323 Secrets containing the variables and their values to be substituted
324 in the YAML manifests. The ConfigMap and the Secret data keys
325 represent the var names and they must match the vars declared
326 in the manifests for the substitution to happen.
327 items:
328 description: SubstituteReference contains a reference to a resource
329 containing the variables name and value.
330 properties:
331 kind:
332 description: Kind of the values referent, valid values are
333 ('Secret', 'ConfigMap').
334 enum:
335 - Secret
336 - ConfigMap
337 type: string
338 name:
339 description: Name of the values referent. Should reside
340 in the same namespace as the referring resource.
341 maxLength: 253
342 minLength: 1
343 type: string
344 required:
345 - kind
346 - name
347 type: object
348 type: array
349 type: object
350 prune:
351 description: Prune enables garbage collection.
352 type: boolean
353 retryInterval:
354 description: The interval at which to retry a previously failed reconciliation.
355 When not specified, the controller uses the KustomizationSpec.Interval
356 value to retry failures.
357 type: string
358 serviceAccountName:
359 description: The name of the Kubernetes service account to impersonate
360 when reconciling this Kustomization.
361 type: string
362 sourceRef:
363 description: Reference of the source where the kustomization file
364 is.
365 properties:
366 apiVersion:
367 description: API version of the referent
368 type: string
369 kind:
370 description: Kind of the referent
371 enum:
372 - GitRepository
373 - Bucket
374 type: string
375 name:
376 description: Name of the referent
377 type: string
378 namespace:
379 description: Namespace of the referent, defaults to the Kustomization
380 namespace
381 type: string
382 required:
383 - kind
384 - name
385 type: object
386 suspend:
387 description: This flag tells the controller to suspend subsequent
388 kustomize executions, it does not apply to already started executions.
389 Defaults to false.
390 type: boolean
391 targetNamespace:
392 description: TargetNamespace sets or overrides the namespace in the
393 kustomization.yaml file.
394 maxLength: 63
395 minLength: 1
396 type: string
397 timeout:
398 description: Timeout for validation, apply and health checking operations.
399 Defaults to 'Interval' duration.
400 type: string
401 validation:
402 description: Validate the Kubernetes objects before applying them
403 on the cluster. The validation strategy can be 'client' (local dry-run),
404 'server' (APIServer dry-run) or 'none'. When 'Force' is 'true',
405 validation will fallback to 'client' if set to 'server' because
406 server-side validation is not supported in this scenario.
407 enum:
408 - none
409 - client
410 - server
411 type: string
412 required:
413 - interval
414 - prune
415 - sourceRef
416 type: object
417 status:
418 default:
419 observedGeneration: -1
420 description: KustomizationStatus defines the observed state of a kustomization.
421 properties:
422 conditions:
423 items:
424 description: "Condition contains details for one aspect of the current
425 state of this API Resource. --- This struct is intended for direct
426 use as an array at the field path .status.conditions. For example,
427 type FooStatus struct{ // Represents the observations of a
428 foo's current state. // Known .status.conditions.type are:
429 \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type
430 \ // +patchStrategy=merge // +listType=map // +listMapKey=type
431 \ Conditions []metav1.Condition `json:\"conditions,omitempty\"
432 patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
433 \n // other fields }"
434 properties:
435 lastTransitionTime:
436 description: lastTransitionTime is the last time the condition
437 transitioned from one status to another. This should be when
438 the underlying condition changed. If that is not known, then
439 using the time when the API field changed is acceptable.
440 format: date-time
441 type: string
442 message:
443 description: message is a human readable message indicating
444 details about the transition. This may be an empty string.
445 maxLength: 32768
446 type: string
447 observedGeneration:
448 description: observedGeneration represents the .metadata.generation
449 that the condition was set based upon. For instance, if .metadata.generation
450 is currently 12, but the .status.conditions[x].observedGeneration
451 is 9, the condition is out of date with respect to the current
452 state of the instance.
453 format: int64
454 minimum: 0
455 type: integer
456 reason:
457 description: reason contains a programmatic identifier indicating
458 the reason for the condition's last transition. Producers
459 of specific condition types may define expected values and
460 meanings for this field, and whether the values are considered
461 a guaranteed API. The value should be a CamelCase string.
462 This field may not be empty.
463 maxLength: 1024
464 minLength: 1
465 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
466 type: string
467 status:
468 description: status of the condition, one of True, False, Unknown.
469 enum:
470 - "True"
471 - "False"
472 - Unknown
473 type: string
474 type:
475 description: type of condition in CamelCase or in foo.example.com/CamelCase.
476 --- Many .condition.type values are consistent across resources
477 like Available, but because arbitrary conditions can be useful
478 (see .node.status.conditions), the ability to deconflict is
479 important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
480 maxLength: 316
481 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])$
482 type: string
483 required:
484 - lastTransitionTime
485 - message
486 - reason
487 - status
488 - type
489 type: object
490 type: array
491 lastAppliedRevision:
492 description: The last successfully applied revision. The revision
493 format for Git sources is <branch|tag>/<commit-sha>.
494 type: string
495 lastAttemptedRevision:
496 description: LastAttemptedRevision is the revision of the last reconciliation
497 attempt.
498 type: string
499 lastHandledReconcileAt:
500 description: LastHandledReconcileAt holds the value of the most recent
501 reconcile request value, so a change can be detected.
502 type: string
503 observedGeneration:
504 description: ObservedGeneration is the last reconciled generation.
505 format: int64
506 type: integer
507 snapshot:
508 description: The last successfully applied revision metadata.
509 properties:
510 checksum:
511 description: The manifests sha1 checksum.
512 type: string
513 entries:
514 description: A list of Kubernetes kinds grouped by namespace.
515 items:
516 description: Snapshot holds the metadata of namespaced Kubernetes
517 objects
518 properties:
519 kinds:
520 additionalProperties:
521 type: string
522 description: The list of Kubernetes kinds.
523 type: object
524 namespace:
525 description: The namespace of this entry.
526 type: string
527 required:
528 - kinds
529 type: object
530 type: array
531 required:
532 - checksum
533 - entries
534 type: object
535 type: object
536 type: object
537 served: true
538 storage: false
539 subresources:
540 status: {}
541 - additionalPrinterColumns:
542 - jsonPath: .status.conditions[?(@.type=="Ready")].status
543 name: Ready
544 type: string
545 - jsonPath: .status.conditions[?(@.type=="Ready")].message
546 name: Status
547 type: string
548 - jsonPath: .metadata.creationTimestamp
549 name: Age
550 type: date
551 name: v1beta2
552 schema:
553 openAPIV3Schema:
554 description: Kustomization is the Schema for the kustomizations API.
555 properties:
556 apiVersion:
557 description: 'APIVersion defines the versioned schema of this representation
558 of an object. Servers should convert recognized schemas to the latest
559 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
560 type: string
561 kind:
562 description: 'Kind is a string value representing the REST resource this
563 object represents. Servers may infer this from the endpoint the client
564 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
565 type: string
566 metadata:
567 type: object
568 spec:
569 description: KustomizationSpec defines the configuration to calculate
570 the desired state from a Source using Kustomize.
571 properties:
572 decryption:
573 description: Decrypt Kubernetes secrets before applying them on the
574 cluster.
575 properties:
576 provider:
577 description: Provider is the name of the decryption engine.
578 enum:
579 - sops
580 type: string
581 secretRef:
582 description: The secret name containing the private OpenPGP keys
583 used for decryption.
584 properties:
585 name:
586 description: Name of the referent
587 type: string
588 required:
589 - name
590 type: object
591 required:
592 - provider
593 type: object
594 dependsOn:
595 description: DependsOn may contain a dependency.CrossNamespaceDependencyReference
596 slice with references to Kustomization resources that must be ready
597 before this Kustomization can be reconciled.
598 items:
599 description: CrossNamespaceDependencyReference holds the reference
600 to a dependency.
601 properties:
602 name:
603 description: Name holds the name reference of a dependency.
604 type: string
605 namespace:
606 description: Namespace holds the namespace reference of a dependency.
607 type: string
608 required:
609 - name
610 type: object
611 type: array
612 force:
613 default: false
614 description: Force instructs the controller to recreate resources
615 when patching fails due to an immutable field change.
616 type: boolean
617 healthChecks:
618 description: A list of resources to be included in the health assessment.
619 items:
620 description: NamespacedObjectKindReference contains enough information
621 to let you locate the typed referenced object in any namespace
622 properties:
623 apiVersion:
624 description: API version of the referent, if not specified the
625 Kubernetes preferred version will be used
626 type: string
627 kind:
628 description: Kind of the referent
629 type: string
630 name:
631 description: Name of the referent
632 type: string
633 namespace:
634 description: Namespace of the referent, when not specified it
635 acts as LocalObjectReference
636 type: string
637 required:
638 - kind
639 - name
640 type: object
641 type: array
642 images:
643 description: Images is a list of (image name, new name, new tag or
644 digest) for changing image names, tags or digests. This can also
645 be achieved with a patch, but this operator is simpler to specify.
646 items:
647 description: Image contains an image name, a new name, a new tag
648 or digest, which will replace the original name and tag.
649 properties:
650 digest:
651 description: Digest is the value used to replace the original
652 image tag. If digest is present NewTag value is ignored.
653 type: string
654 name:
655 description: Name is a tag-less image name.
656 type: string
657 newName:
658 description: NewName is the value used to replace the original
659 name.
660 type: string
661 newTag:
662 description: NewTag is the value used to replace the original
663 tag.
664 type: string
665 required:
666 - name
667 type: object
668 type: array
669 interval:
670 description: The interval at which to reconcile the Kustomization.
671 type: string
672 kubeConfig:
673 description: The KubeConfig for reconciling the Kustomization on a
674 remote cluster. When specified, KubeConfig takes precedence over
675 ServiceAccountName.
676 properties:
677 secretRef:
678 description: SecretRef holds the name to a secret that contains
679 a 'value' key with the kubeconfig file as the value. It must
680 be in the same namespace as the Kustomization. It is recommended
681 that the kubeconfig is self-contained, and the secret is regularly
682 updated if credentials such as a cloud-access-token expire.
683 Cloud specific `cmd-path` auth helpers will not function without
684 adding binaries and credentials to the Pod that is responsible
685 for reconciling the Kustomization.
686 properties:
687 name:
688 description: Name of the referent
689 type: string
690 required:
691 - name
692 type: object
693 type: object
694 patches:
695 description: Strategic merge and JSON patches, defined as inline YAML
696 objects, capable of targeting objects based on kind, label and annotation
697 selectors.
698 items:
699 description: Patch contains either a StrategicMerge or a JSON6902
700 patch, either a file or inline, and the target the patch should
701 be applied to.
702 properties:
703 patch:
704 description: Patch contains the JSON6902 patch document with
705 an array of operation objects.
706 type: string
707 target:
708 description: Target points to the resources that the patch document
709 should be applied to.
710 properties:
711 annotationSelector:
712 description: AnnotationSelector is a string that follows
713 the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
714 It matches with the resource annotations.
715 type: string
716 group:
717 description: Group is the API group to select resources
718 from. Together with Version and Kind it is capable of
719 unambiguously identifying and/or selecting resources.
720 https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
721 type: string
722 kind:
723 description: Kind of the API Group to select resources from.
724 Together with Group and Version it is capable of unambiguously
725 identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
726 type: string
727 labelSelector:
728 description: LabelSelector is a string that follows the
729 label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
730 It matches with the resource labels.
731 type: string
732 name:
733 description: Name to match resources with.
734 type: string
735 namespace:
736 description: Namespace to select resources from.
737 type: string
738 version:
739 description: Version of the API Group to select resources
740 from. Together with Group and Kind it is capable of unambiguously
741 identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
742 type: string
743 type: object
744 type: object
745 type: array
746 patchesJson6902:
747 description: 'JSON 6902 patches, defined as inline YAML objects. Deprecated:
748 Use Patches instead.'
749 items:
750 description: JSON6902Patch contains a JSON6902 patch and the target
751 the patch should be applied to.
752 properties:
753 patch:
754 description: Patch contains the JSON6902 patch document with
755 an array of operation objects.
756 items:
757 description: JSON6902 is a JSON6902 operation object. https://tools.ietf.org/html/rfc6902#section-4
758 properties:
759 from:
760 type: string
761 op:
762 enum:
763 - test
764 - remove
765 - add
766 - replace
767 - move
768 - copy
769 type: string
770 path:
771 type: string
772 value:
773 x-kubernetes-preserve-unknown-fields: true
774 required:
775 - op
776 - path
777 type: object
778 type: array
779 target:
780 description: Target points to the resources that the patch document
781 should be applied to.
782 properties:
783 annotationSelector:
784 description: AnnotationSelector is a string that follows
785 the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
786 It matches with the resource annotations.
787 type: string
788 group:
789 description: Group is the API group to select resources
790 from. Together with Version and Kind it is capable of
791 unambiguously identifying and/or selecting resources.
792 https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
793 type: string
794 kind:
795 description: Kind of the API Group to select resources from.
796 Together with Group and Version it is capable of unambiguously
797 identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
798 type: string
799 labelSelector:
800 description: LabelSelector is a string that follows the
801 label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
802 It matches with the resource labels.
803 type: string
804 name:
805 description: Name to match resources with.
806 type: string
807 namespace:
808 description: Namespace to select resources from.
809 type: string
810 version:
811 description: Version of the API Group to select resources
812 from. Together with Group and Kind it is capable of unambiguously
813 identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
814 type: string
815 type: object
816 required:
817 - patch
818 - target
819 type: object
820 type: array
821 patchesStrategicMerge:
822 description: 'Strategic merge patches, defined as inline YAML objects.
823 Deprecated: Use Patches instead.'
824 items:
825 x-kubernetes-preserve-unknown-fields: true
826 type: array
827 path:
828 description: Path to the directory containing the kustomization.yaml
829 file, or the set of plain YAMLs a kustomization.yaml should be generated
830 for. Defaults to 'None', which translates to the root path of the
831 SourceRef.
832 type: string
833 postBuild:
834 description: PostBuild describes which actions to perform on the YAML
835 manifest generated by building the kustomize overlay.
836 properties:
837 substitute:
838 additionalProperties:
839 type: string
840 description: Substitute holds a map of key/value pairs. The variables
841 defined in your YAML manifests that match any of the keys defined
842 in the map will be substituted with the set value. Includes
843 support for bash string replacement functions e.g. ${var:=default},
844 ${var:position} and ${var/substring/replacement}.
845 type: object
846 substituteFrom:
847 description: SubstituteFrom holds references to ConfigMaps and
848 Secrets containing the variables and their values to be substituted
849 in the YAML manifests. The ConfigMap and the Secret data keys
850 represent the var names and they must match the vars declared
851 in the manifests for the substitution to happen.
852 items:
853 description: SubstituteReference contains a reference to a resource
854 containing the variables name and value.
855 properties:
856 kind:
857 description: Kind of the values referent, valid values are
858 ('Secret', 'ConfigMap').
859 enum:
860 - Secret
861 - ConfigMap
862 type: string
863 name:
864 description: Name of the values referent. Should reside
865 in the same namespace as the referring resource.
866 maxLength: 253
867 minLength: 1
868 type: string
869 required:
870 - kind
871 - name
872 type: object
873 type: array
874 type: object
875 prune:
876 description: Prune enables garbage collection.
877 type: boolean
878 retryInterval:
879 description: The interval at which to retry a previously failed reconciliation.
880 When not specified, the controller uses the KustomizationSpec.Interval
881 value to retry failures.
882 type: string
883 serviceAccountName:
884 description: The name of the Kubernetes service account to impersonate
885 when reconciling this Kustomization.
886 type: string
887 sourceRef:
888 description: Reference of the source where the kustomization file
889 is.
890 properties:
891 apiVersion:
892 description: API version of the referent.
893 type: string
894 kind:
895 description: Kind of the referent.
896 enum:
897 - GitRepository
898 - Bucket
899 type: string
900 name:
901 description: Name of the referent.
902 type: string
903 namespace:
904 description: Namespace of the referent, defaults to the namespace
905 of the Kubernetes resource object that contains the reference.
906 type: string
907 required:
908 - kind
909 - name
910 type: object
911 suspend:
912 description: This flag tells the controller to suspend subsequent
913 kustomize executions, it does not apply to already started executions.
914 Defaults to false.
915 type: boolean
916 targetNamespace:
917 description: TargetNamespace sets or overrides the namespace in the
918 kustomization.yaml file.
919 maxLength: 63
920 minLength: 1
921 type: string
922 timeout:
923 description: Timeout for validation, apply and health checking operations.
924 Defaults to 'Interval' duration.
925 type: string
926 validation:
927 description: 'Deprecated: Not used in v1beta2.'
928 enum:
929 - none
930 - client
931 - server
932 type: string
933 wait:
934 description: Wait instructs the controller to check the health of
935 all the reconciled resources. When enabled, the HealthChecks are
936 ignored. Defaults to false.
937 type: boolean
938 required:
939 - interval
940 - prune
941 - sourceRef
942 type: object
943 status:
944 default:
945 observedGeneration: -1
946 description: KustomizationStatus defines the observed state of a kustomization.
947 properties:
948 conditions:
949 items:
950 description: "Condition contains details for one aspect of the current
951 state of this API Resource. --- This struct is intended for direct
952 use as an array at the field path .status.conditions. For example,
953 type FooStatus struct{ // Represents the observations of a
954 foo's current state. // Known .status.conditions.type are:
955 \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type
956 \ // +patchStrategy=merge // +listType=map // +listMapKey=type
957 \ Conditions []metav1.Condition `json:\"conditions,omitempty\"
958 patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
959 \n // other fields }"
960 properties:
961 lastTransitionTime:
962 description: lastTransitionTime is the last time the condition
963 transitioned from one status to another. This should be when
964 the underlying condition changed. If that is not known, then
965 using the time when the API field changed is acceptable.
966 format: date-time
967 type: string
968 message:
969 description: message is a human readable message indicating
970 details about the transition. This may be an empty string.
971 maxLength: 32768
972 type: string
973 observedGeneration:
974 description: observedGeneration represents the .metadata.generation
975 that the condition was set based upon. For instance, if .metadata.generation
976 is currently 12, but the .status.conditions[x].observedGeneration
977 is 9, the condition is out of date with respect to the current
978 state of the instance.
979 format: int64
980 minimum: 0
981 type: integer
982 reason:
983 description: reason contains a programmatic identifier indicating
984 the reason for the condition's last transition. Producers
985 of specific condition types may define expected values and
986 meanings for this field, and whether the values are considered
987 a guaranteed API. The value should be a CamelCase string.
988 This field may not be empty.
989 maxLength: 1024
990 minLength: 1
991 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
992 type: string
993 status:
994 description: status of the condition, one of True, False, Unknown.
995 enum:
996 - "True"
997 - "False"
998 - Unknown
999 type: string
1000 type:
1001 description: type of condition in CamelCase or in foo.example.com/CamelCase.
1002 --- Many .condition.type values are consistent across resources
1003 like Available, but because arbitrary conditions can be useful
1004 (see .node.status.conditions), the ability to deconflict is
1005 important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
1006 maxLength: 316
1007 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])$
1008 type: string
1009 required:
1010 - lastTransitionTime
1011 - message
1012 - reason
1013 - status
1014 - type
1015 type: object
1016 type: array
1017 inventory:
1018 description: Inventory contains the list of Kubernetes resource object
1019 references that have been successfully applied.
1020 properties:
1021 entries:
1022 description: Entries of Kubernetes resource object references.
1023 items:
1024 description: ResourceRef contains the information necessary
1025 to locate a resource within a cluster.
1026 properties:
1027 id:
1028 description: ID is the string representation of the Kubernetes
1029 resource object's metadata, in the format '<namespace>_<name>_<group>_<kind>'.
1030 type: string
1031 v:
1032 description: Version is the API version of the Kubernetes
1033 resource object's kind.
1034 type: string
1035 required:
1036 - id
1037 - v
1038 type: object
1039 type: array
1040 required:
1041 - entries
1042 type: object
1043 lastAppliedRevision:
1044 description: The last successfully applied revision. The revision
1045 format for Git sources is <branch|tag>/<commit-sha>.
1046 type: string
1047 lastAttemptedRevision:
1048 description: LastAttemptedRevision is the revision of the last reconciliation
1049 attempt.
1050 type: string
1051 lastHandledReconcileAt:
1052 description: LastHandledReconcileAt holds the value of the most recent
1053 reconcile request value, so a change can be detected.
1054 type: string
1055 observedGeneration:
1056 description: ObservedGeneration is the last reconciled generation.
1057 format: int64
1058 type: integer
1059 type: object
1060 type: object
1061 served: true
1062 storage: true
1063 subresources:
1064 status: {}
1065status:
1066 acceptedNames:
1067 kind: ""
1068 plural: ""
1069 conditions: []
1070 storedVersions: []
1071---
1072apiVersion: v1
1073kind: ServiceAccount
1074metadata:
1075 name: kustomize-controller
1076---
1077apiVersion: apps/v1
1078kind: Deployment
1079metadata:
1080 labels:
1081 control-plane: controller
1082 name: kustomize-controller
1083spec:
1084 replicas: 1
1085 selector:
1086 matchLabels:
1087 app: kustomize-controller
1088 template:
1089 metadata:
1090 annotations:
1091 prometheus.io/port: "8080"
1092 prometheus.io/scrape: "true"
1093 labels:
1094 app: kustomize-controller
1095 spec:
1096 containers:
1097 - args:
1098 - --events-addr=http://notification-controller/
1099 - --watch-all-namespaces
1100 - --log-level=info
1101 - --log-encoding=json
1102 - --enable-leader-election
1103 env:
1104 - name: RUNTIME_NAMESPACE
1105 valueFrom:
1106 fieldRef:
1107 fieldPath: metadata.namespace
1108 image: fluxcd/kustomize-controller:v0.17.0
1109 imagePullPolicy: IfNotPresent
1110 livenessProbe:
1111 httpGet:
1112 path: /healthz
1113 port: healthz
1114 name: manager
1115 ports:
1116 - containerPort: 8080
1117 name: http-prom
1118 - containerPort: 9440
1119 name: healthz
1120 protocol: TCP
1121 readinessProbe:
1122 httpGet:
1123 path: /readyz
1124 port: healthz
1125 resources:
1126 limits:
1127 cpu: 1000m
1128 memory: 1Gi
1129 requests:
1130 cpu: 100m
1131 memory: 64Mi
1132 securityContext:
1133 allowPrivilegeEscalation: false
1134 readOnlyRootFilesystem: true
1135 volumeMounts:
1136 - mountPath: /tmp
1137 name: temp
1138 securityContext:
1139 fsGroup: 1337
1140 serviceAccountName: kustomize-controller
1141 terminationGracePeriodSeconds: 60
1142 volumes:
1143 - emptyDir: {}
1144 name: temp
View as plain text