Capture creation of cluster into Helm chart
[icn.git] / deploy / clusters / templates / flux-addon.yaml
1 {{- range $clusterName, $cluster := .Values.clusters }}
2 {{- if $cluster.flux }}
3 ---
4 apiVersion: v1
5 data:
6   flux-system.yaml: |
7     ---
8     # Flux version: v0.20.0
9     # Components: source-controller,kustomize-controller,helm-controller,notification-controller
10     apiVersion: v1
11     kind: Namespace
12     metadata:
13       labels:
14         app.kubernetes.io/instance: flux-system
15         app.kubernetes.io/part-of: flux
16         app.kubernetes.io/version: v0.20.0
17       name: flux-system
18     ---
19     apiVersion: apiextensions.k8s.io/v1
20     kind: CustomResourceDefinition
21     metadata:
22       annotations:
23         controller-gen.kubebuilder.io/version: v0.5.0
24       creationTimestamp: null
25       labels:
26         app.kubernetes.io/instance: flux-system
27         app.kubernetes.io/part-of: flux
28         app.kubernetes.io/version: v0.20.0
29       name: alerts.notification.toolkit.fluxcd.io
30     spec:
31       group: notification.toolkit.fluxcd.io
32       names:
33         kind: Alert
34         listKind: AlertList
35         plural: alerts
36         singular: alert
37       scope: Namespaced
38       versions:
39       - additionalPrinterColumns:
40         - jsonPath: .status.conditions[?(@.type=="Ready")].status
41           name: Ready
42           type: string
43         - jsonPath: .status.conditions[?(@.type=="Ready")].message
44           name: Status
45           type: string
46         - jsonPath: .metadata.creationTimestamp
47           name: Age
48           type: date
49         name: v1beta1
50         schema:
51           openAPIV3Schema:
52             description: Alert is the Schema for the alerts API
53             properties:
54               apiVersion:
55                 description: 'APIVersion defines the versioned schema of this representation
56                   of an object. Servers should convert recognized schemas to the latest
57                   internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
58                 type: string
59               kind:
60                 description: 'Kind is a string value representing the REST resource this
61                   object represents. Servers may infer this from the endpoint the client
62                   submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
63                 type: string
64               metadata:
65                 type: object
66               spec:
67                 description: AlertSpec defines an alerting rule for events involving a
68                   list of objects
69                 properties:
70                   eventSeverity:
71                     default: info
72                     description: Filter events based on severity, defaults to ('info').
73                       If set to 'info' no events will be filtered.
74                     enum:
75                     - info
76                     - error
77                     type: string
78                   eventSources:
79                     description: Filter events based on the involved objects.
80                     items:
81                       description: CrossNamespaceObjectReference contains enough information
82                         to let you locate the typed referenced object at cluster level
83                       properties:
84                         apiVersion:
85                           description: API version of the referent
86                           type: string
87                         kind:
88                           description: Kind of the referent
89                           enum:
90                           - Bucket
91                           - GitRepository
92                           - Kustomization
93                           - HelmRelease
94                           - HelmChart
95                           - HelmRepository
96                           - ImageRepository
97                           - ImagePolicy
98                           - ImageUpdateAutomation
99                           type: string
100                         name:
101                           description: Name of the referent
102                           maxLength: 53
103                           minLength: 1
104                           type: string
105                         namespace:
106                           description: Namespace of the referent
107                           maxLength: 53
108                           minLength: 1
109                           type: string
110                       required:
111                       - name
112                       type: object
113                     type: array
114                   exclusionList:
115                     description: A list of Golang regular expressions to be used for excluding
116                       messages.
117                     items:
118                       type: string
119                     type: array
120                   providerRef:
121                     description: Send events using this provider.
122                     properties:
123                       name:
124                         description: Name of the referent
125                         type: string
126                     required:
127                     - name
128                     type: object
129                   summary:
130                     description: Short description of the impact and affected cluster.
131                     type: string
132                   suspend:
133                     description: This flag tells the controller to suspend subsequent
134                       events dispatching. Defaults to false.
135                     type: boolean
136                 required:
137                 - eventSources
138                 - providerRef
139                 type: object
140               status:
141                 default:
142                   observedGeneration: -1
143                 description: AlertStatus defines the observed state of Alert
144                 properties:
145                   conditions:
146                     items:
147                       description: "Condition contains details for one aspect of the current
148                         state of this API Resource. --- This struct is intended for direct
149                         use as an array at the field path .status.conditions.  For example,
150                         type FooStatus struct{     // Represents the observations of a
151                         foo's current state.     // Known .status.conditions.type are:
152                         \"Available\", \"Progressing\", and \"Degraded\"     // +patchMergeKey=type
153                         \    // +patchStrategy=merge     // +listType=map     // +listMapKey=type
154                         \    Conditions []metav1.Condition `json:\"conditions,omitempty\"
155                         patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
156                         \n     // other fields }"
157                       properties:
158                         lastTransitionTime:
159                           description: lastTransitionTime is the last time the condition
160                             transitioned from one status to another. This should be when
161                             the underlying condition changed.  If that is not known, then
162                             using the time when the API field changed is acceptable.
163                           format: date-time
164                           type: string
165                         message:
166                           description: message is a human readable message indicating
167                             details about the transition. This may be an empty string.
168                           maxLength: 32768
169                           type: string
170                         observedGeneration:
171                           description: observedGeneration represents the .metadata.generation
172                             that the condition was set based upon. For instance, if .metadata.generation
173                             is currently 12, but the .status.conditions[x].observedGeneration
174                             is 9, the condition is out of date with respect to the current
175                             state of the instance.
176                           format: int64
177                           minimum: 0
178                           type: integer
179                         reason:
180                           description: reason contains a programmatic identifier indicating
181                             the reason for the condition's last transition. Producers
182                             of specific condition types may define expected values and
183                             meanings for this field, and whether the values are considered
184                             a guaranteed API. The value should be a CamelCase string.
185                             This field may not be empty.
186                           maxLength: 1024
187                           minLength: 1
188                           pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
189                           type: string
190                         status:
191                           description: status of the condition, one of True, False, Unknown.
192                           enum:
193                           - "True"
194                           - "False"
195                           - Unknown
196                           type: string
197                         type:
198                           description: type of condition in CamelCase or in foo.example.com/CamelCase.
199                             --- Many .condition.type values are consistent across resources
200                             like Available, but because arbitrary conditions can be useful
201                             (see .node.status.conditions), the ability to deconflict is
202                             important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
203                           maxLength: 316
204                           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])$
205                           type: string
206                       required:
207                       - lastTransitionTime
208                       - message
209                       - reason
210                       - status
211                       - type
212                       type: object
213                     type: array
214                   observedGeneration:
215                     description: ObservedGeneration is the last observed generation.
216                     format: int64
217                     type: integer
218                 type: object
219             type: object
220         served: true
221         storage: true
222         subresources:
223           status: {}
224     status:
225       acceptedNames:
226         kind: ""
227         plural: ""
228       conditions: []
229       storedVersions: []
230     ---
231     apiVersion: apiextensions.k8s.io/v1
232     kind: CustomResourceDefinition
233     metadata:
234       annotations:
235         controller-gen.kubebuilder.io/version: v0.5.0
236       creationTimestamp: null
237       labels:
238         app.kubernetes.io/instance: flux-system
239         app.kubernetes.io/part-of: flux
240         app.kubernetes.io/version: v0.20.0
241       name: buckets.source.toolkit.fluxcd.io
242     spec:
243       group: source.toolkit.fluxcd.io
244       names:
245         kind: Bucket
246         listKind: BucketList
247         plural: buckets
248         singular: bucket
249       scope: Namespaced
250       versions:
251       - additionalPrinterColumns:
252         - jsonPath: .spec.url
253           name: URL
254           type: string
255         - jsonPath: .status.conditions[?(@.type=="Ready")].status
256           name: Ready
257           type: string
258         - jsonPath: .status.conditions[?(@.type=="Ready")].message
259           name: Status
260           type: string
261         - jsonPath: .metadata.creationTimestamp
262           name: Age
263           type: date
264         name: v1beta1
265         schema:
266           openAPIV3Schema:
267             description: Bucket is the Schema for the buckets API
268             properties:
269               apiVersion:
270                 description: 'APIVersion defines the versioned schema of this representation
271                   of an object. Servers should convert recognized schemas to the latest
272                   internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
273                 type: string
274               kind:
275                 description: 'Kind is a string value representing the REST resource this
276                   object represents. Servers may infer this from the endpoint the client
277                   submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
278                 type: string
279               metadata:
280                 type: object
281               spec:
282                 description: BucketSpec defines the desired state of an S3 compatible
283                   bucket
284                 properties:
285                   bucketName:
286                     description: The bucket name.
287                     type: string
288                   endpoint:
289                     description: The bucket endpoint address.
290                     type: string
291                   ignore:
292                     description: Ignore overrides the set of excluded patterns in the
293                       .sourceignore format (which is the same as .gitignore). If not provided,
294                       a default will be used, consult the documentation for your version
295                       to find out what those are.
296                     type: string
297                   insecure:
298                     description: Insecure allows connecting to a non-TLS S3 HTTP endpoint.
299                     type: boolean
300                   interval:
301                     description: The interval at which to check for bucket updates.
302                     type: string
303                   provider:
304                     default: generic
305                     description: The S3 compatible storage provider name, default ('generic').
306                     enum:
307                     - generic
308                     - aws
309                     - gcp
310                     type: string
311                   region:
312                     description: The bucket region.
313                     type: string
314                   secretRef:
315                     description: The name of the secret containing authentication credentials
316                       for the Bucket.
317                     properties:
318                       name:
319                         description: Name of the referent
320                         type: string
321                     required:
322                     - name
323                     type: object
324                   suspend:
325                     description: This flag tells the controller to suspend the reconciliation
326                       of this source.
327                     type: boolean
328                   timeout:
329                     default: 20s
330                     description: The timeout for download operations, defaults to 20s.
331                     type: string
332                 required:
333                 - bucketName
334                 - endpoint
335                 - interval
336                 type: object
337               status:
338                 description: BucketStatus defines the observed state of a bucket
339                 properties:
340                   artifact:
341                     description: Artifact represents the output of the last successful
342                       Bucket sync.
343                     properties:
344                       checksum:
345                         description: Checksum is the SHA1 checksum of the artifact.
346                         type: string
347                       lastUpdateTime:
348                         description: LastUpdateTime is the timestamp corresponding to
349                           the last update of this artifact.
350                         format: date-time
351                         type: string
352                       path:
353                         description: Path is the relative file path of this artifact.
354                         type: string
355                       revision:
356                         description: Revision is a human readable identifier traceable
357                           in the origin source system. It can be a Git commit SHA, Git
358                           tag, a Helm index timestamp, a Helm chart version, etc.
359                         type: string
360                       url:
361                         description: URL is the HTTP address of this artifact.
362                         type: string
363                     required:
364                     - path
365                     - url
366                     type: object
367                   conditions:
368                     description: Conditions holds the conditions for the Bucket.
369                     items:
370                       description: "Condition contains details for one aspect of the current
371                         state of this API Resource. --- This struct is intended for direct
372                         use as an array at the field path .status.conditions.  For example,
373                         type FooStatus struct{     // Represents the observations of a
374                         foo's current state.     // Known .status.conditions.type are:
375                         \"Available\", \"Progressing\", and \"Degraded\"     // +patchMergeKey=type
376                         \    // +patchStrategy=merge     // +listType=map     // +listMapKey=type
377                         \    Conditions []metav1.Condition `json:\"conditions,omitempty\"
378                         patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
379                         \n     // other fields }"
380                       properties:
381                         lastTransitionTime:
382                           description: lastTransitionTime is the last time the condition
383                             transitioned from one status to another. This should be when
384                             the underlying condition changed.  If that is not known, then
385                             using the time when the API field changed is acceptable.
386                           format: date-time
387                           type: string
388                         message:
389                           description: message is a human readable message indicating
390                             details about the transition. This may be an empty string.
391                           maxLength: 32768
392                           type: string
393                         observedGeneration:
394                           description: observedGeneration represents the .metadata.generation
395                             that the condition was set based upon. For instance, if .metadata.generation
396                             is currently 12, but the .status.conditions[x].observedGeneration
397                             is 9, the condition is out of date with respect to the current
398                             state of the instance.
399                           format: int64
400                           minimum: 0
401                           type: integer
402                         reason:
403                           description: reason contains a programmatic identifier indicating
404                             the reason for the condition's last transition. Producers
405                             of specific condition types may define expected values and
406                             meanings for this field, and whether the values are considered
407                             a guaranteed API. The value should be a CamelCase string.
408                             This field may not be empty.
409                           maxLength: 1024
410                           minLength: 1
411                           pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
412                           type: string
413                         status:
414                           description: status of the condition, one of True, False, Unknown.
415                           enum:
416                           - "True"
417                           - "False"
418                           - Unknown
419                           type: string
420                         type:
421                           description: type of condition in CamelCase or in foo.example.com/CamelCase.
422                             --- Many .condition.type values are consistent across resources
423                             like Available, but because arbitrary conditions can be useful
424                             (see .node.status.conditions), the ability to deconflict is
425                             important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
426                           maxLength: 316
427                           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])$
428                           type: string
429                       required:
430                       - lastTransitionTime
431                       - message
432                       - reason
433                       - status
434                       - type
435                       type: object
436                     type: array
437                   lastHandledReconcileAt:
438                     description: LastHandledReconcileAt holds the value of the most recent
439                       reconcile request value, so a change can be detected.
440                     type: string
441                   observedGeneration:
442                     description: ObservedGeneration is the last observed generation.
443                     format: int64
444                     type: integer
445                   url:
446                     description: URL is the download link for the artifact output of the
447                       last Bucket sync.
448                     type: string
449                 type: object
450             type: object
451         served: true
452         storage: true
453         subresources:
454           status: {}
455     status:
456       acceptedNames:
457         kind: ""
458         plural: ""
459       conditions: []
460       storedVersions: []
461     ---
462     apiVersion: apiextensions.k8s.io/v1
463     kind: CustomResourceDefinition
464     metadata:
465       annotations:
466         controller-gen.kubebuilder.io/version: v0.5.0
467       creationTimestamp: null
468       labels:
469         app.kubernetes.io/instance: flux-system
470         app.kubernetes.io/part-of: flux
471         app.kubernetes.io/version: v0.20.0
472       name: gitrepositories.source.toolkit.fluxcd.io
473     spec:
474       group: source.toolkit.fluxcd.io
475       names:
476         kind: GitRepository
477         listKind: GitRepositoryList
478         plural: gitrepositories
479         shortNames:
480         - gitrepo
481         singular: gitrepository
482       scope: Namespaced
483       versions:
484       - additionalPrinterColumns:
485         - jsonPath: .spec.url
486           name: URL
487           type: string
488         - jsonPath: .status.conditions[?(@.type=="Ready")].status
489           name: Ready
490           type: string
491         - jsonPath: .status.conditions[?(@.type=="Ready")].message
492           name: Status
493           type: string
494         - jsonPath: .metadata.creationTimestamp
495           name: Age
496           type: date
497         name: v1beta1
498         schema:
499           openAPIV3Schema:
500             description: GitRepository is the Schema for the gitrepositories API
501             properties:
502               apiVersion:
503                 description: 'APIVersion defines the versioned schema of this representation
504                   of an object. Servers should convert recognized schemas to the latest
505                   internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
506                 type: string
507               kind:
508                 description: 'Kind is a string value representing the REST resource this
509                   object represents. Servers may infer this from the endpoint the client
510                   submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
511                 type: string
512               metadata:
513                 type: object
514               spec:
515                 description: GitRepositorySpec defines the desired state of a Git repository.
516                 properties:
517                   gitImplementation:
518                     default: go-git
519                     description: Determines which git client library to use. Defaults
520                       to go-git, valid values are ('go-git', 'libgit2').
521                     enum:
522                     - go-git
523                     - libgit2
524                     type: string
525                   ignore:
526                     description: Ignore overrides the set of excluded patterns in the
527                       .sourceignore format (which is the same as .gitignore). If not provided,
528                       a default will be used, consult the documentation for your version
529                       to find out what those are.
530                     type: string
531                   include:
532                     description: Extra git repositories to map into the repository
533                     items:
534                       description: GitRepositoryInclude defines a source with a from and
535                         to path.
536                       properties:
537                         fromPath:
538                           description: The path to copy contents from, defaults to the
539                             root directory.
540                           type: string
541                         repository:
542                           description: Reference to a GitRepository to include.
543                           properties:
544                             name:
545                               description: Name of the referent
546                               type: string
547                           required:
548                           - name
549                           type: object
550                         toPath:
551                           description: The path to copy contents to, defaults to the name
552                             of the source ref.
553                           type: string
554                       required:
555                       - repository
556                       type: object
557                     type: array
558                   interval:
559                     description: The interval at which to check for repository updates.
560                     type: string
561                   recurseSubmodules:
562                     description: When enabled, after the clone is created, initializes
563                       all submodules within, using their default settings. This option
564                       is available only when using the 'go-git' GitImplementation.
565                     type: boolean
566                   ref:
567                     description: The Git reference to checkout and monitor for changes,
568                       defaults to master branch.
569                     properties:
570                       branch:
571                         description: The Git branch to checkout, defaults to master.
572                         type: string
573                       commit:
574                         description: The Git commit SHA to checkout, if specified Tag
575                           filters will be ignored.
576                         type: string
577                       semver:
578                         description: The Git tag semver expression, takes precedence over
579                           Tag.
580                         type: string
581                       tag:
582                         description: The Git tag to checkout, takes precedence over Branch.
583                         type: string
584                     type: object
585                   secretRef:
586                     description: The secret name containing the Git credentials. For HTTPS
587                       repositories the secret must contain username and password fields.
588                       For SSH repositories the secret must contain identity, identity.pub
589                       and known_hosts fields.
590                     properties:
591                       name:
592                         description: Name of the referent
593                         type: string
594                     required:
595                     - name
596                     type: object
597                   suspend:
598                     description: This flag tells the controller to suspend the reconciliation
599                       of this source.
600                     type: boolean
601                   timeout:
602                     default: 20s
603                     description: The timeout for remote Git operations like cloning, defaults
604                       to 20s.
605                     type: string
606                   url:
607                     description: The repository URL, can be a HTTP/S or SSH address.
608                     pattern: ^(http|https|ssh)://
609                     type: string
610                   verify:
611                     description: Verify OpenPGP signature for the Git commit HEAD points
612                       to.
613                     properties:
614                       mode:
615                         description: Mode describes what git object should be verified,
616                           currently ('head').
617                         enum:
618                         - head
619                         type: string
620                       secretRef:
621                         description: The secret name containing the public keys of all
622                           trusted Git authors.
623                         properties:
624                           name:
625                             description: Name of the referent
626                             type: string
627                         required:
628                         - name
629                         type: object
630                     required:
631                     - mode
632                     type: object
633                 required:
634                 - interval
635                 - url
636                 type: object
637               status:
638                 description: GitRepositoryStatus defines the observed state of a Git repository.
639                 properties:
640                   artifact:
641                     description: Artifact represents the output of the last successful
642                       repository sync.
643                     properties:
644                       checksum:
645                         description: Checksum is the SHA1 checksum of the artifact.
646                         type: string
647                       lastUpdateTime:
648                         description: LastUpdateTime is the timestamp corresponding to
649                           the last update of this artifact.
650                         format: date-time
651                         type: string
652                       path:
653                         description: Path is the relative file path of this artifact.
654                         type: string
655                       revision:
656                         description: Revision is a human readable identifier traceable
657                           in the origin source system. It can be a Git commit SHA, Git
658                           tag, a Helm index timestamp, a Helm chart version, etc.
659                         type: string
660                       url:
661                         description: URL is the HTTP address of this artifact.
662                         type: string
663                     required:
664                     - path
665                     - url
666                     type: object
667                   conditions:
668                     description: Conditions holds the conditions for the GitRepository.
669                     items:
670                       description: "Condition contains details for one aspect of the current
671                         state of this API Resource. --- This struct is intended for direct
672                         use as an array at the field path .status.conditions.  For example,
673                         type FooStatus struct{     // Represents the observations of a
674                         foo's current state.     // Known .status.conditions.type are:
675                         \"Available\", \"Progressing\", and \"Degraded\"     // +patchMergeKey=type
676                         \    // +patchStrategy=merge     // +listType=map     // +listMapKey=type
677                         \    Conditions []metav1.Condition `json:\"conditions,omitempty\"
678                         patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
679                         \n     // other fields }"
680                       properties:
681                         lastTransitionTime:
682                           description: lastTransitionTime is the last time the condition
683                             transitioned from one status to another. This should be when
684                             the underlying condition changed.  If that is not known, then
685                             using the time when the API field changed is acceptable.
686                           format: date-time
687                           type: string
688                         message:
689                           description: message is a human readable message indicating
690                             details about the transition. This may be an empty string.
691                           maxLength: 32768
692                           type: string
693                         observedGeneration:
694                           description: observedGeneration represents the .metadata.generation
695                             that the condition was set based upon. For instance, if .metadata.generation
696                             is currently 12, but the .status.conditions[x].observedGeneration
697                             is 9, the condition is out of date with respect to the current
698                             state of the instance.
699                           format: int64
700                           minimum: 0
701                           type: integer
702                         reason:
703                           description: reason contains a programmatic identifier indicating
704                             the reason for the condition's last transition. Producers
705                             of specific condition types may define expected values and
706                             meanings for this field, and whether the values are considered
707                             a guaranteed API. The value should be a CamelCase string.
708                             This field may not be empty.
709                           maxLength: 1024
710                           minLength: 1
711                           pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
712                           type: string
713                         status:
714                           description: status of the condition, one of True, False, Unknown.
715                           enum:
716                           - "True"
717                           - "False"
718                           - Unknown
719                           type: string
720                         type:
721                           description: type of condition in CamelCase or in foo.example.com/CamelCase.
722                             --- Many .condition.type values are consistent across resources
723                             like Available, but because arbitrary conditions can be useful
724                             (see .node.status.conditions), the ability to deconflict is
725                             important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
726                           maxLength: 316
727                           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])$
728                           type: string
729                       required:
730                       - lastTransitionTime
731                       - message
732                       - reason
733                       - status
734                       - type
735                       type: object
736                     type: array
737                   includedArtifacts:
738                     description: IncludedArtifacts represents the included artifacts from
739                       the last successful repository sync.
740                     items:
741                       description: Artifact represents the output of a source synchronisation.
742                       properties:
743                         checksum:
744                           description: Checksum is the SHA1 checksum of the artifact.
745                           type: string
746                         lastUpdateTime:
747                           description: LastUpdateTime is the timestamp corresponding to
748                             the last update of this artifact.
749                           format: date-time
750                           type: string
751                         path:
752                           description: Path is the relative file path of this artifact.
753                           type: string
754                         revision:
755                           description: Revision is a human readable identifier traceable
756                             in the origin source system. It can be a Git commit SHA, Git
757                             tag, a Helm index timestamp, a Helm chart version, etc.
758                           type: string
759                         url:
760                           description: URL is the HTTP address of this artifact.
761                           type: string
762                       required:
763                       - path
764                       - url
765                       type: object
766                     type: array
767                   lastHandledReconcileAt:
768                     description: LastHandledReconcileAt holds the value of the most recent
769                       reconcile request value, so a change can be detected.
770                     type: string
771                   observedGeneration:
772                     description: ObservedGeneration is the last observed generation.
773                     format: int64
774                     type: integer
775                   url:
776                     description: URL is the download link for the artifact output of the
777                       last repository sync.
778                     type: string
779                 type: object
780             type: object
781         served: true
782         storage: true
783         subresources:
784           status: {}
785     status:
786       acceptedNames:
787         kind: ""
788         plural: ""
789       conditions: []
790       storedVersions: []
791     ---
792     apiVersion: apiextensions.k8s.io/v1
793     kind: CustomResourceDefinition
794     metadata:
795       annotations:
796         controller-gen.kubebuilder.io/version: v0.5.0
797       creationTimestamp: null
798       labels:
799         app.kubernetes.io/instance: flux-system
800         app.kubernetes.io/part-of: flux
801         app.kubernetes.io/version: v0.20.0
802       name: helmcharts.source.toolkit.fluxcd.io
803     spec:
804       group: source.toolkit.fluxcd.io
805       names:
806         kind: HelmChart
807         listKind: HelmChartList
808         plural: helmcharts
809         shortNames:
810         - hc
811         singular: helmchart
812       scope: Namespaced
813       versions:
814       - additionalPrinterColumns:
815         - jsonPath: .spec.chart
816           name: Chart
817           type: string
818         - jsonPath: .spec.version
819           name: Version
820           type: string
821         - jsonPath: .spec.sourceRef.kind
822           name: Source Kind
823           type: string
824         - jsonPath: .spec.sourceRef.name
825           name: Source Name
826           type: string
827         - jsonPath: .status.conditions[?(@.type=="Ready")].status
828           name: Ready
829           type: string
830         - jsonPath: .status.conditions[?(@.type=="Ready")].message
831           name: Status
832           type: string
833         - jsonPath: .metadata.creationTimestamp
834           name: Age
835           type: date
836         name: v1beta1
837         schema:
838           openAPIV3Schema:
839             description: HelmChart is the Schema for the helmcharts API
840             properties:
841               apiVersion:
842                 description: 'APIVersion defines the versioned schema of this representation
843                   of an object. Servers should convert recognized schemas to the latest
844                   internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
845                 type: string
846               kind:
847                 description: 'Kind is a string value representing the REST resource this
848                   object represents. Servers may infer this from the endpoint the client
849                   submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
850                 type: string
851               metadata:
852                 type: object
853               spec:
854                 description: HelmChartSpec defines the desired state of a Helm chart.
855                 properties:
856                   chart:
857                     description: The name or path the Helm chart is available at in the
858                       SourceRef.
859                     type: string
860                   interval:
861                     description: The interval at which to check the Source for updates.
862                     type: string
863                   reconcileStrategy:
864                     default: ChartVersion
865                     description: Determines what enables the creation of a new artifact.
866                       Valid values are ('ChartVersion', 'Revision'). See the documentation
867                       of the values for an explanation on their behavior. Defaults to
868                       ChartVersion when omitted.
869                     enum:
870                     - ChartVersion
871                     - Revision
872                     type: string
873                   sourceRef:
874                     description: The reference to the Source the chart is available at.
875                     properties:
876                       apiVersion:
877                         description: APIVersion of the referent.
878                         type: string
879                       kind:
880                         description: Kind of the referent, valid values are ('HelmRepository',
881                           'GitRepository', 'Bucket').
882                         enum:
883                         - HelmRepository
884                         - GitRepository
885                         - Bucket
886                         type: string
887                       name:
888                         description: Name of the referent.
889                         type: string
890                     required:
891                     - kind
892                     - name
893                     type: object
894                   suspend:
895                     description: This flag tells the controller to suspend the reconciliation
896                       of this source.
897                     type: boolean
898                   valuesFile:
899                     description: Alternative values file to use as the default chart values,
900                       expected to be a relative path in the SourceRef. Deprecated in favor
901                       of ValuesFiles, for backwards compatibility the file defined here
902                       is merged before the ValuesFiles items. Ignored when omitted.
903                     type: string
904                   valuesFiles:
905                     description: Alternative list of values files to use as the chart
906                       values (values.yaml is not included by default), expected to be
907                       a relative path in the SourceRef. Values files are merged in the
908                       order of this list with the last file overriding the first. Ignored
909                       when omitted.
910                     items:
911                       type: string
912                     type: array
913                   version:
914                     default: '*'
915                     description: The chart version semver expression, ignored for charts
916                       from GitRepository and Bucket sources. Defaults to latest when omitted.
917                     type: string
918                 required:
919                 - chart
920                 - interval
921                 - sourceRef
922                 type: object
923               status:
924                 description: HelmChartStatus defines the observed state of the HelmChart.
925                 properties:
926                   artifact:
927                     description: Artifact represents the output of the last successful
928                       chart sync.
929                     properties:
930                       checksum:
931                         description: Checksum is the SHA1 checksum of the artifact.
932                         type: string
933                       lastUpdateTime:
934                         description: LastUpdateTime is the timestamp corresponding to
935                           the last update of this artifact.
936                         format: date-time
937                         type: string
938                       path:
939                         description: Path is the relative file path of this artifact.
940                         type: string
941                       revision:
942                         description: Revision is a human readable identifier traceable
943                           in the origin source system. It can be a Git commit SHA, Git
944                           tag, a Helm index timestamp, a Helm chart version, etc.
945                         type: string
946                       url:
947                         description: URL is the HTTP address of this artifact.
948                         type: string
949                     required:
950                     - path
951                     - url
952                     type: object
953                   conditions:
954                     description: Conditions holds the conditions for the HelmChart.
955                     items:
956                       description: "Condition contains details for one aspect of the current
957                         state of this API Resource. --- This struct is intended for direct
958                         use as an array at the field path .status.conditions.  For example,
959                         type FooStatus struct{     // Represents the observations of a
960                         foo's current state.     // Known .status.conditions.type are:
961                         \"Available\", \"Progressing\", and \"Degraded\"     // +patchMergeKey=type
962                         \    // +patchStrategy=merge     // +listType=map     // +listMapKey=type
963                         \    Conditions []metav1.Condition `json:\"conditions,omitempty\"
964                         patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
965                         \n     // other fields }"
966                       properties:
967                         lastTransitionTime:
968                           description: lastTransitionTime is the last time the condition
969                             transitioned from one status to another. This should be when
970                             the underlying condition changed.  If that is not known, then
971                             using the time when the API field changed is acceptable.
972                           format: date-time
973                           type: string
974                         message:
975                           description: message is a human readable message indicating
976                             details about the transition. This may be an empty string.
977                           maxLength: 32768
978                           type: string
979                         observedGeneration:
980                           description: observedGeneration represents the .metadata.generation
981                             that the condition was set based upon. For instance, if .metadata.generation
982                             is currently 12, but the .status.conditions[x].observedGeneration
983                             is 9, the condition is out of date with respect to the current
984                             state of the instance.
985                           format: int64
986                           minimum: 0
987                           type: integer
988                         reason:
989                           description: reason contains a programmatic identifier indicating
990                             the reason for the condition's last transition. Producers
991                             of specific condition types may define expected values and
992                             meanings for this field, and whether the values are considered
993                             a guaranteed API. The value should be a CamelCase string.
994                             This field may not be empty.
995                           maxLength: 1024
996                           minLength: 1
997                           pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
998                           type: string
999                         status:
1000                           description: status of the condition, one of True, False, Unknown.
1001                           enum:
1002                           - "True"
1003                           - "False"
1004                           - Unknown
1005                           type: string
1006                         type:
1007                           description: type of condition in CamelCase or in foo.example.com/CamelCase.
1008                             --- Many .condition.type values are consistent across resources
1009                             like Available, but because arbitrary conditions can be useful
1010                             (see .node.status.conditions), the ability to deconflict is
1011                             important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
1012                           maxLength: 316
1013                           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])$
1014                           type: string
1015                       required:
1016                       - lastTransitionTime
1017                       - message
1018                       - reason
1019                       - status
1020                       - type
1021                       type: object
1022                     type: array
1023                   lastHandledReconcileAt:
1024                     description: LastHandledReconcileAt holds the value of the most recent
1025                       reconcile request value, so a change can be detected.
1026                     type: string
1027                   observedGeneration:
1028                     description: ObservedGeneration is the last observed generation.
1029                     format: int64
1030                     type: integer
1031                   url:
1032                     description: URL is the download link for the last chart pulled.
1033                     type: string
1034                 type: object
1035             type: object
1036         served: true
1037         storage: true
1038         subresources:
1039           status: {}
1040     status:
1041       acceptedNames:
1042         kind: ""
1043         plural: ""
1044       conditions: []
1045       storedVersions: []
1046     ---
1047     apiVersion: apiextensions.k8s.io/v1
1048     kind: CustomResourceDefinition
1049     metadata:
1050       annotations:
1051         controller-gen.kubebuilder.io/version: v0.5.0
1052       creationTimestamp: null
1053       labels:
1054         app.kubernetes.io/instance: flux-system
1055         app.kubernetes.io/part-of: flux
1056         app.kubernetes.io/version: v0.20.0
1057       name: helmreleases.helm.toolkit.fluxcd.io
1058     spec:
1059       group: helm.toolkit.fluxcd.io
1060       names:
1061         kind: HelmRelease
1062         listKind: HelmReleaseList
1063         plural: helmreleases
1064         shortNames:
1065         - hr
1066         singular: helmrelease
1067       scope: Namespaced
1068       versions:
1069       - additionalPrinterColumns:
1070         - jsonPath: .status.conditions[?(@.type=="Ready")].status
1071           name: Ready
1072           type: string
1073         - jsonPath: .status.conditions[?(@.type=="Ready")].message
1074           name: Status
1075           type: string
1076         - jsonPath: .metadata.creationTimestamp
1077           name: Age
1078           type: date
1079         name: v2beta1
1080         schema:
1081           openAPIV3Schema:
1082             description: HelmRelease is the Schema for the helmreleases API
1083             properties:
1084               apiVersion:
1085                 description: 'APIVersion defines the versioned schema of this representation
1086                   of an object. Servers should convert recognized schemas to the latest
1087                   internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
1088                 type: string
1089               kind:
1090                 description: 'Kind is a string value representing the REST resource this
1091                   object represents. Servers may infer this from the endpoint the client
1092                   submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
1093                 type: string
1094               metadata:
1095                 type: object
1096               spec:
1097                 description: HelmReleaseSpec defines the desired state of a Helm release.
1098                 properties:
1099                   chart:
1100                     description: Chart defines the template of the v1beta1.HelmChart that
1101                       should be created for this HelmRelease.
1102                     properties:
1103                       spec:
1104                         description: Spec holds the template for the v1beta1.HelmChartSpec
1105                           for this HelmRelease.
1106                         properties:
1107                           chart:
1108                             description: The name or path the Helm chart is available
1109                               at in the SourceRef.
1110                             type: string
1111                           interval:
1112                             description: Interval at which to check the v1beta1.Source
1113                               for updates. Defaults to 'HelmReleaseSpec.Interval'.
1114                             type: string
1115                           reconcileStrategy:
1116                             default: ChartVersion
1117                             description: Determines what enables the creation of a new
1118                               artifact. Valid values are ('ChartVersion', 'Revision').
1119                               See the documentation of the values for an explanation on
1120                               their behavior. Defaults to ChartVersion when omitted.
1121                             enum:
1122                             - ChartVersion
1123                             - Revision
1124                             type: string
1125                           sourceRef:
1126                             description: The name and namespace of the v1beta1.Source
1127                               the chart is available at.
1128                             properties:
1129                               apiVersion:
1130                                 description: APIVersion of the referent.
1131                                 type: string
1132                               kind:
1133                                 description: Kind of the referent.
1134                                 enum:
1135                                 - HelmRepository
1136                                 - GitRepository
1137                                 - Bucket
1138                                 type: string
1139                               name:
1140                                 description: Name of the referent.
1141                                 maxLength: 253
1142                                 minLength: 1
1143                                 type: string
1144                               namespace:
1145                                 description: Namespace of the referent.
1146                                 maxLength: 63
1147                                 minLength: 1
1148                                 type: string
1149                             required:
1150                             - name
1151                             type: object
1152                           valuesFile:
1153                             description: Alternative values file to use as the default
1154                               chart values, expected to be a relative path in the SourceRef.
1155                               Deprecated in favor of ValuesFiles, for backwards compatibility
1156                               the file defined here is merged before the ValuesFiles items.
1157                               Ignored when omitted.
1158                             type: string
1159                           valuesFiles:
1160                             description: Alternative list of values files to use as the
1161                               chart values (values.yaml is not included by default), expected
1162                               to be a relative path in the SourceRef. Values files are
1163                               merged in the order of this list with the last file overriding
1164                               the first. Ignored when omitted.
1165                             items:
1166                               type: string
1167                             type: array
1168                           version:
1169                             default: '*'
1170                             description: Version semver expression, ignored for charts
1171                               from v1beta1.GitRepository and v1beta1.Bucket sources. Defaults
1172                               to latest when omitted.
1173                             type: string
1174                         required:
1175                         - chart
1176                         - sourceRef
1177                         type: object
1178                     required:
1179                     - spec
1180                     type: object
1181                   dependsOn:
1182                     description: DependsOn may contain a dependency.CrossNamespaceDependencyReference
1183                       slice with references to HelmRelease resources that must be ready
1184                       before this HelmRelease can be reconciled.
1185                     items:
1186                       description: CrossNamespaceDependencyReference holds the reference
1187                         to a dependency.
1188                       properties:
1189                         name:
1190                           description: Name holds the name reference of a dependency.
1191                           type: string
1192                         namespace:
1193                           description: Namespace holds the namespace reference of a dependency.
1194                           type: string
1195                       required:
1196                       - name
1197                       type: object
1198                     type: array
1199                   install:
1200                     description: Install holds the configuration for Helm install actions
1201                       for this HelmRelease.
1202                     properties:
1203                       crds:
1204                         description: "CRDs upgrade CRDs from the Helm Chart's crds directory
1205                           according to the CRD upgrade policy provided here. Valid values
1206                           are `Skip`, `Create` or `CreateReplace`. Default is `Create`
1207                           and if omitted CRDs are installed but not updated. \n Skip:
1208                           do neither install nor replace (update) any CRDs. \n Create:
1209                           new CRDs are created, existing CRDs are neither updated nor
1210                           deleted. \n CreateReplace: new CRDs are created, existing CRDs
1211                           are updated (replaced) but not deleted. \n By default, CRDs
1212                           are applied (installed) during Helm install action. With this
1213                           option users can opt-in to CRD replace existing CRDs on Helm
1214                           install actions, which is not (yet) natively supported by Helm.
1215                           https://helm.sh/docs/chart_best_practices/custom_resource_definitions."
1216                         enum:
1217                         - Skip
1218                         - Create
1219                         - CreateReplace
1220                         type: string
1221                       createNamespace:
1222                         description: CreateNamespace tells the Helm install action to
1223                           create the HelmReleaseSpec.TargetNamespace if it does not exist
1224                           yet. On uninstall, the namespace will not be garbage collected.
1225                         type: boolean
1226                       disableHooks:
1227                         description: DisableHooks prevents hooks from running during the
1228                           Helm install action.
1229                         type: boolean
1230                       disableOpenAPIValidation:
1231                         description: DisableOpenAPIValidation prevents the Helm install
1232                           action from validating rendered templates against the Kubernetes
1233                           OpenAPI Schema.
1234                         type: boolean
1235                       disableWait:
1236                         description: DisableWait disables the waiting for resources to
1237                           be ready after a Helm install has been performed.
1238                         type: boolean
1239                       disableWaitForJobs:
1240                         description: DisableWaitForJobs disables waiting for jobs to complete
1241                           after a Helm install has been performed.
1242                         type: boolean
1243                       remediation:
1244                         description: Remediation holds the remediation configuration for
1245                           when the Helm install action for the HelmRelease fails. The
1246                           default is to not perform any action.
1247                         properties:
1248                           ignoreTestFailures:
1249                             description: IgnoreTestFailures tells the controller to skip
1250                               remediation when the Helm tests are run after an install
1251                               action but fail. Defaults to 'Test.IgnoreFailures'.
1252                             type: boolean
1253                           remediateLastFailure:
1254                             description: RemediateLastFailure tells the controller to
1255                               remediate the last failure, when no retries remain. Defaults
1256                               to 'false'.
1257                             type: boolean
1258                           retries:
1259                             description: Retries is the number of retries that should
1260                               be attempted on failures before bailing. Remediation, using
1261                               an uninstall, is performed between each attempt. Defaults
1262                               to '0', a negative integer equals to unlimited retries.
1263                             type: integer
1264                         type: object
1265                       replace:
1266                         description: Replace tells the Helm install action to re-use the
1267                           'ReleaseName', but only if that name is a deleted release which
1268                           remains in the history.
1269                         type: boolean
1270                       skipCRDs:
1271                         description: "SkipCRDs tells the Helm install action to not install
1272                           any CRDs. By default, CRDs are installed if not already present.
1273                           \n Deprecated use CRD policy (`crds`) attribute with value `Skip`
1274                           instead."
1275                         type: boolean
1276                       timeout:
1277                         description: Timeout is the time to wait for any individual Kubernetes
1278                           operation (like Jobs for hooks) during the performance of a
1279                           Helm install action. Defaults to 'HelmReleaseSpec.Timeout'.
1280                         type: string
1281                     type: object
1282                   interval:
1283                     description: Interval at which to reconcile the Helm release.
1284                     type: string
1285                   kubeConfig:
1286                     description: KubeConfig for reconciling the HelmRelease on a remote
1287                       cluster. When specified, KubeConfig takes precedence over ServiceAccountName.
1288                     properties:
1289                       secretRef:
1290                         description: SecretRef holds the name to a secret that contains
1291                           a 'value' key with the kubeconfig file as the value. It must
1292                           be in the same namespace as the HelmRelease. It is recommended
1293                           that the kubeconfig is self-contained, and the secret is regularly
1294                           updated if credentials such as a cloud-access-token expire.
1295                           Cloud specific `cmd-path` auth helpers will not function without
1296                           adding binaries and credentials to the Pod that is responsible
1297                           for reconciling the HelmRelease.
1298                         properties:
1299                           name:
1300                             description: Name of the referent
1301                             type: string
1302                         required:
1303                         - name
1304                         type: object
1305                     type: object
1306                   maxHistory:
1307                     description: MaxHistory is the number of revisions saved by Helm for
1308                       this HelmRelease. Use '0' for an unlimited number of revisions;
1309                       defaults to '10'.
1310                     type: integer
1311                   postRenderers:
1312                     description: PostRenderers holds an array of Helm PostRenderers, which
1313                       will be applied in order of their definition.
1314                     items:
1315                       description: PostRenderer contains a Helm PostRenderer specification.
1316                       properties:
1317                         kustomize:
1318                           description: Kustomization to apply as PostRenderer.
1319                           properties:
1320                             images:
1321                               description: Images is a list of (image name, new name,
1322                                 new tag or digest) for changing image names, tags or digests.
1323                                 This can also be achieved with a patch, but this operator
1324                                 is simpler to specify.
1325                               items:
1326                                 description: Image contains an image name, a new name,
1327                                   a new tag or digest, which will replace the original
1328                                   name and tag.
1329                                 properties:
1330                                   digest:
1331                                     description: Digest is the value used to replace the
1332                                       original image tag. If digest is present NewTag
1333                                       value is ignored.
1334                                     type: string
1335                                   name:
1336                                     description: Name is a tag-less image name.
1337                                     type: string
1338                                   newName:
1339                                     description: NewName is the value used to replace
1340                                       the original name.
1341                                     type: string
1342                                   newTag:
1343                                     description: NewTag is the value used to replace the
1344                                       original tag.
1345                                     type: string
1346                                 required:
1347                                 - name
1348                                 type: object
1349                               type: array
1350                             patchesJson6902:
1351                               description: JSON 6902 patches, defined as inline YAML objects.
1352                               items:
1353                                 description: JSON6902Patch contains a JSON6902 patch and
1354                                   the target the patch should be applied to.
1355                                 properties:
1356                                   patch:
1357                                     description: Patch contains the JSON6902 patch document
1358                                       with an array of operation objects.
1359                                     items:
1360                                       description: JSON6902 is a JSON6902 operation object.
1361                                         https://tools.ietf.org/html/rfc6902#section-4
1362                                       properties:
1363                                         from:
1364                                           type: string
1365                                         op:
1366                                           enum:
1367                                           - test
1368                                           - remove
1369                                           - add
1370                                           - replace
1371                                           - move
1372                                           - copy
1373                                           type: string
1374                                         path:
1375                                           type: string
1376                                         value:
1377                                           x-kubernetes-preserve-unknown-fields: true
1378                                       required:
1379                                       - op
1380                                       - path
1381                                       type: object
1382                                     type: array
1383                                   target:
1384                                     description: Target points to the resources that the
1385                                       patch document should be applied to.
1386                                     properties:
1387                                       annotationSelector:
1388                                         description: AnnotationSelector is a string that
1389                                           follows the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
1390                                           It matches with the resource annotations.
1391                                         type: string
1392                                       group:
1393                                         description: Group is the API group to select
1394                                           resources from. Together with Version and Kind
1395                                           it is capable of unambiguously identifying and/or
1396                                           selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
1397                                         type: string
1398                                       kind:
1399                                         description: Kind of the API Group to select resources
1400                                           from. Together with Group and Version it is
1401                                           capable of unambiguously identifying and/or
1402                                           selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
1403                                         type: string
1404                                       labelSelector:
1405                                         description: LabelSelector is a string that follows
1406                                           the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
1407                                           It matches with the resource labels.
1408                                         type: string
1409                                       name:
1410                                         description: Name to match resources with.
1411                                         type: string
1412                                       namespace:
1413                                         description: Namespace to select resources from.
1414                                         type: string
1415                                       version:
1416                                         description: Version of the API Group to select
1417                                           resources from. Together with Group and Kind
1418                                           it is capable of unambiguously identifying and/or
1419                                           selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
1420                                         type: string
1421                                     type: object
1422                                 required:
1423                                 - patch
1424                                 - target
1425                                 type: object
1426                               type: array
1427                             patchesStrategicMerge:
1428                               description: Strategic merge patches, defined as inline
1429                                 YAML objects.
1430                               items:
1431                                 x-kubernetes-preserve-unknown-fields: true
1432                               type: array
1433                           type: object
1434                       type: object
1435                     type: array
1436                   releaseName:
1437                     description: ReleaseName used for the Helm release. Defaults to a
1438                       composition of '[TargetNamespace-]Name'.
1439                     maxLength: 53
1440                     minLength: 1
1441                     type: string
1442                   rollback:
1443                     description: Rollback holds the configuration for Helm rollback actions
1444                       for this HelmRelease.
1445                     properties:
1446                       cleanupOnFail:
1447                         description: CleanupOnFail allows deletion of new resources created
1448                           during the Helm rollback action when it fails.
1449                         type: boolean
1450                       disableHooks:
1451                         description: DisableHooks prevents hooks from running during the
1452                           Helm rollback action.
1453                         type: boolean
1454                       disableWait:
1455                         description: DisableWait disables the waiting for resources to
1456                           be ready after a Helm rollback has been performed.
1457                         type: boolean
1458                       disableWaitForJobs:
1459                         description: DisableWaitForJobs disables waiting for jobs to complete
1460                           after a Helm rollback has been performed.
1461                         type: boolean
1462                       force:
1463                         description: Force forces resource updates through a replacement
1464                           strategy.
1465                         type: boolean
1466                       recreate:
1467                         description: Recreate performs pod restarts for the resource if
1468                           applicable.
1469                         type: boolean
1470                       timeout:
1471                         description: Timeout is the time to wait for any individual Kubernetes
1472                           operation (like Jobs for hooks) during the performance of a
1473                           Helm rollback action. Defaults to 'HelmReleaseSpec.Timeout'.
1474                         type: string
1475                     type: object
1476                   serviceAccountName:
1477                     description: The name of the Kubernetes service account to impersonate
1478                       when reconciling this HelmRelease.
1479                     type: string
1480                   storageNamespace:
1481                     description: StorageNamespace used for the Helm storage. Defaults
1482                       to the namespace of the HelmRelease.
1483                     maxLength: 63
1484                     minLength: 1
1485                     type: string
1486                   suspend:
1487                     description: Suspend tells the controller to suspend reconciliation
1488                       for this HelmRelease, it does not apply to already started reconciliations.
1489                       Defaults to false.
1490                     type: boolean
1491                   targetNamespace:
1492                     description: TargetNamespace to target when performing operations
1493                       for the HelmRelease. Defaults to the namespace of the HelmRelease.
1494                     maxLength: 63
1495                     minLength: 1
1496                     type: string
1497                   test:
1498                     description: Test holds the configuration for Helm test actions for
1499                       this HelmRelease.
1500                     properties:
1501                       enable:
1502                         description: Enable enables Helm test actions for this HelmRelease
1503                           after an Helm install or upgrade action has been performed.
1504                         type: boolean
1505                       ignoreFailures:
1506                         description: IgnoreFailures tells the controller to skip remediation
1507                           when the Helm tests are run but fail. Can be overwritten for
1508                           tests run after install or upgrade actions in 'Install.IgnoreTestFailures'
1509                           and 'Upgrade.IgnoreTestFailures'.
1510                         type: boolean
1511                       timeout:
1512                         description: Timeout is the time to wait for any individual Kubernetes
1513                           operation during the performance of a Helm test action. Defaults
1514                           to 'HelmReleaseSpec.Timeout'.
1515                         type: string
1516                     type: object
1517                   timeout:
1518                     description: Timeout is the time to wait for any individual Kubernetes
1519                       operation (like Jobs for hooks) during the performance of a Helm
1520                       action. Defaults to '5m0s'.
1521                     type: string
1522                   uninstall:
1523                     description: Uninstall holds the configuration for Helm uninstall
1524                       actions for this HelmRelease.
1525                     properties:
1526                       disableHooks:
1527                         description: DisableHooks prevents hooks from running during the
1528                           Helm rollback action.
1529                         type: boolean
1530                       keepHistory:
1531                         description: KeepHistory tells Helm to remove all associated resources
1532                           and mark the release as deleted, but retain the release history.
1533                         type: boolean
1534                       timeout:
1535                         description: Timeout is the time to wait for any individual Kubernetes
1536                           operation (like Jobs for hooks) during the performance of a
1537                           Helm uninstall action. Defaults to 'HelmReleaseSpec.Timeout'.
1538                         type: string
1539                     type: object
1540                   upgrade:
1541                     description: Upgrade holds the configuration for Helm upgrade actions
1542                       for this HelmRelease.
1543                     properties:
1544                       cleanupOnFail:
1545                         description: CleanupOnFail allows deletion of new resources created
1546                           during the Helm upgrade action when it fails.
1547                         type: boolean
1548                       crds:
1549                         description: "CRDs upgrade CRDs from the Helm Chart's crds directory
1550                           according to the CRD upgrade policy provided here. Valid values
1551                           are `Skip`, `Create` or `CreateReplace`. Default is `Skip` and
1552                           if omitted CRDs are neither installed nor upgraded. \n Skip:
1553                           do neither install nor replace (update) any CRDs. \n Create:
1554                           new CRDs are created, existing CRDs are neither updated nor
1555                           deleted. \n CreateReplace: new CRDs are created, existing CRDs
1556                           are updated (replaced) but not deleted. \n By default, CRDs
1557                           are not applied during Helm upgrade action. With this option
1558                           users can opt-in to CRD upgrade, which is not (yet) natively
1559                           supported by Helm. https://helm.sh/docs/chart_best_practices/custom_resource_definitions."
1560                         enum:
1561                         - Skip
1562                         - Create
1563                         - CreateReplace
1564                         type: string
1565                       disableHooks:
1566                         description: DisableHooks prevents hooks from running during the
1567                           Helm upgrade action.
1568                         type: boolean
1569                       disableOpenAPIValidation:
1570                         description: DisableOpenAPIValidation prevents the Helm upgrade
1571                           action from validating rendered templates against the Kubernetes
1572                           OpenAPI Schema.
1573                         type: boolean
1574                       disableWait:
1575                         description: DisableWait disables the waiting for resources to
1576                           be ready after a Helm upgrade has been performed.
1577                         type: boolean
1578                       disableWaitForJobs:
1579                         description: DisableWaitForJobs disables waiting for jobs to complete
1580                           after a Helm upgrade has been performed.
1581                         type: boolean
1582                       force:
1583                         description: Force forces resource updates through a replacement
1584                           strategy.
1585                         type: boolean
1586                       preserveValues:
1587                         description: PreserveValues will make Helm reuse the last release's
1588                           values and merge in overrides from 'Values'. Setting this flag
1589                           makes the HelmRelease non-declarative.
1590                         type: boolean
1591                       remediation:
1592                         description: Remediation holds the remediation configuration for
1593                           when the Helm upgrade action for the HelmRelease fails. The
1594                           default is to not perform any action.
1595                         properties:
1596                           ignoreTestFailures:
1597                             description: IgnoreTestFailures tells the controller to skip
1598                               remediation when the Helm tests are run after an upgrade
1599                               action but fail. Defaults to 'Test.IgnoreFailures'.
1600                             type: boolean
1601                           remediateLastFailure:
1602                             description: RemediateLastFailure tells the controller to
1603                               remediate the last failure, when no retries remain. Defaults
1604                               to 'false' unless 'Retries' is greater than 0.
1605                             type: boolean
1606                           retries:
1607                             description: Retries is the number of retries that should
1608                               be attempted on failures before bailing. Remediation, using
1609                               'Strategy', is performed between each attempt. Defaults
1610                               to '0', a negative integer equals to unlimited retries.
1611                             type: integer
1612                           strategy:
1613                             description: Strategy to use for failure remediation. Defaults
1614                               to 'rollback'.
1615                             enum:
1616                             - rollback
1617                             - uninstall
1618                             type: string
1619                         type: object
1620                       timeout:
1621                         description: Timeout is the time to wait for any individual Kubernetes
1622                           operation (like Jobs for hooks) during the performance of a
1623                           Helm upgrade action. Defaults to 'HelmReleaseSpec.Timeout'.
1624                         type: string
1625                     type: object
1626                   values:
1627                     description: Values holds the values for this Helm release.
1628                     x-kubernetes-preserve-unknown-fields: true
1629                   valuesFrom:
1630                     description: ValuesFrom holds references to resources containing Helm
1631                       values for this HelmRelease, and information about how they should
1632                       be merged.
1633                     items:
1634                       description: ValuesReference contains a reference to a resource
1635                         containing Helm values, and optionally the key they can be found
1636                         at.
1637                       properties:
1638                         kind:
1639                           description: Kind of the values referent, valid values are ('Secret',
1640                             'ConfigMap').
1641                           enum:
1642                           - Secret
1643                           - ConfigMap
1644                           type: string
1645                         name:
1646                           description: Name of the values referent. Should reside in the
1647                             same namespace as the referring resource.
1648                           maxLength: 253
1649                           minLength: 1
1650                           type: string
1651                         optional:
1652                           description: Optional marks this ValuesReference as optional.
1653                             When set, a not found error for the values reference is ignored,
1654                             but any ValuesKey, TargetPath or transient error will still
1655                             result in a reconciliation failure.
1656                           type: boolean
1657                         targetPath:
1658                           description: TargetPath is the YAML dot notation path the value
1659                             should be merged at. When set, the ValuesKey is expected to
1660                             be a single flat value. Defaults to 'None', which results
1661                             in the values getting merged at the root.
1662                           type: string
1663                         valuesKey:
1664                           description: ValuesKey is the data key where the values.yaml
1665                             or a specific value can be found at. Defaults to 'values.yaml'.
1666                           type: string
1667                       required:
1668                       - kind
1669                       - name
1670                       type: object
1671                     type: array
1672                 required:
1673                 - chart
1674                 - interval
1675                 type: object
1676               status:
1677                 default:
1678                   observedGeneration: -1
1679                 description: HelmReleaseStatus defines the observed state of a HelmRelease.
1680                 properties:
1681                   conditions:
1682                     description: Conditions holds the conditions for the HelmRelease.
1683                     items:
1684                       description: "Condition contains details for one aspect of the current
1685                         state of this API Resource. --- This struct is intended for direct
1686                         use as an array at the field path .status.conditions.  For example,
1687                         type FooStatus struct{     // Represents the observations of a
1688                         foo's current state.     // Known .status.conditions.type are:
1689                         \"Available\", \"Progressing\", and \"Degraded\"     // +patchMergeKey=type
1690                         \    // +patchStrategy=merge     // +listType=map     // +listMapKey=type
1691                         \    Conditions []metav1.Condition `json:\"conditions,omitempty\"
1692                         patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
1693                         \n     // other fields }"
1694                       properties:
1695                         lastTransitionTime:
1696                           description: lastTransitionTime is the last time the condition
1697                             transitioned from one status to another. This should be when
1698                             the underlying condition changed.  If that is not known, then
1699                             using the time when the API field changed is acceptable.
1700                           format: date-time
1701                           type: string
1702                         message:
1703                           description: message is a human readable message indicating
1704                             details about the transition. This may be an empty string.
1705                           maxLength: 32768
1706                           type: string
1707                         observedGeneration:
1708                           description: observedGeneration represents the .metadata.generation
1709                             that the condition was set based upon. For instance, if .metadata.generation
1710                             is currently 12, but the .status.conditions[x].observedGeneration
1711                             is 9, the condition is out of date with respect to the current
1712                             state of the instance.
1713                           format: int64
1714                           minimum: 0
1715                           type: integer
1716                         reason:
1717                           description: reason contains a programmatic identifier indicating
1718                             the reason for the condition's last transition. Producers
1719                             of specific condition types may define expected values and
1720                             meanings for this field, and whether the values are considered
1721                             a guaranteed API. The value should be a CamelCase string.
1722                             This field may not be empty.
1723                           maxLength: 1024
1724                           minLength: 1
1725                           pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
1726                           type: string
1727                         status:
1728                           description: status of the condition, one of True, False, Unknown.
1729                           enum:
1730                           - "True"
1731                           - "False"
1732                           - Unknown
1733                           type: string
1734                         type:
1735                           description: type of condition in CamelCase or in foo.example.com/CamelCase.
1736                             --- Many .condition.type values are consistent across resources
1737                             like Available, but because arbitrary conditions can be useful
1738                             (see .node.status.conditions), the ability to deconflict is
1739                             important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
1740                           maxLength: 316
1741                           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])$
1742                           type: string
1743                       required:
1744                       - lastTransitionTime
1745                       - message
1746                       - reason
1747                       - status
1748                       - type
1749                       type: object
1750                     type: array
1751                   failures:
1752                     description: Failures is the reconciliation failure count against
1753                       the latest desired state. It is reset after a successful reconciliation.
1754                     format: int64
1755                     type: integer
1756                   helmChart:
1757                     description: HelmChart is the namespaced name of the HelmChart resource
1758                       created by the controller for the HelmRelease.
1759                     type: string
1760                   installFailures:
1761                     description: InstallFailures is the install failure count against
1762                       the latest desired state. It is reset after a successful reconciliation.
1763                     format: int64
1764                     type: integer
1765                   lastAppliedRevision:
1766                     description: LastAppliedRevision is the revision of the last successfully
1767                       applied source.
1768                     type: string
1769                   lastAttemptedRevision:
1770                     description: LastAttemptedRevision is the revision of the last reconciliation
1771                       attempt.
1772                     type: string
1773                   lastAttemptedValuesChecksum:
1774                     description: LastAttemptedValuesChecksum is the SHA1 checksum of the
1775                       values of the last reconciliation attempt.
1776                     type: string
1777                   lastHandledReconcileAt:
1778                     description: LastHandledReconcileAt holds the value of the most recent
1779                       reconcile request value, so a change can be detected.
1780                     type: string
1781                   lastReleaseRevision:
1782                     description: LastReleaseRevision is the revision of the last successful
1783                       Helm release.
1784                     type: integer
1785                   observedGeneration:
1786                     description: ObservedGeneration is the last observed generation.
1787                     format: int64
1788                     type: integer
1789                   upgradeFailures:
1790                     description: UpgradeFailures is the upgrade failure count against
1791                       the latest desired state. It is reset after a successful reconciliation.
1792                     format: int64
1793                     type: integer
1794                 type: object
1795             type: object
1796         served: true
1797         storage: true
1798         subresources:
1799           status: {}
1800     status:
1801       acceptedNames:
1802         kind: ""
1803         plural: ""
1804       conditions: []
1805       storedVersions: []
1806     ---
1807     apiVersion: apiextensions.k8s.io/v1
1808     kind: CustomResourceDefinition
1809     metadata:
1810       annotations:
1811         controller-gen.kubebuilder.io/version: v0.5.0
1812       creationTimestamp: null
1813       labels:
1814         app.kubernetes.io/instance: flux-system
1815         app.kubernetes.io/part-of: flux
1816         app.kubernetes.io/version: v0.20.0
1817       name: helmrepositories.source.toolkit.fluxcd.io
1818     spec:
1819       group: source.toolkit.fluxcd.io
1820       names:
1821         kind: HelmRepository
1822         listKind: HelmRepositoryList
1823         plural: helmrepositories
1824         shortNames:
1825         - helmrepo
1826         singular: helmrepository
1827       scope: Namespaced
1828       versions:
1829       - additionalPrinterColumns:
1830         - jsonPath: .spec.url
1831           name: URL
1832           type: string
1833         - jsonPath: .status.conditions[?(@.type=="Ready")].status
1834           name: Ready
1835           type: string
1836         - jsonPath: .status.conditions[?(@.type=="Ready")].message
1837           name: Status
1838           type: string
1839         - jsonPath: .metadata.creationTimestamp
1840           name: Age
1841           type: date
1842         name: v1beta1
1843         schema:
1844           openAPIV3Schema:
1845             description: HelmRepository is the Schema for the helmrepositories API
1846             properties:
1847               apiVersion:
1848                 description: 'APIVersion defines the versioned schema of this representation
1849                   of an object. Servers should convert recognized schemas to the latest
1850                   internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
1851                 type: string
1852               kind:
1853                 description: 'Kind is a string value representing the REST resource this
1854                   object represents. Servers may infer this from the endpoint the client
1855                   submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
1856                 type: string
1857               metadata:
1858                 type: object
1859               spec:
1860                 description: HelmRepositorySpec defines the reference to a Helm repository.
1861                 properties:
1862                   interval:
1863                     description: The interval at which to check the upstream for updates.
1864                     type: string
1865                   passCredentials:
1866                     description: PassCredentials allows the credentials from the SecretRef
1867                       to be passed on to a host that does not match the host as defined
1868                       in URL. This may be required if the host of the advertised chart
1869                       URLs in the index differ from the defined URL. Enabling this should
1870                       be done with caution, as it can potentially result in credentials
1871                       getting stolen in a MITM-attack.
1872                     type: boolean
1873                   secretRef:
1874                     description: The name of the secret containing authentication credentials
1875                       for the Helm repository. For HTTP/S basic auth the secret must contain
1876                       username and password fields. For TLS the secret must contain a
1877                       certFile and keyFile, and/or caCert fields.
1878                     properties:
1879                       name:
1880                         description: Name of the referent
1881                         type: string
1882                     required:
1883                     - name
1884                     type: object
1885                   suspend:
1886                     description: This flag tells the controller to suspend the reconciliation
1887                       of this source.
1888                     type: boolean
1889                   timeout:
1890                     default: 60s
1891                     description: The timeout of index downloading, defaults to 60s.
1892                     type: string
1893                   url:
1894                     description: The Helm repository URL, a valid URL contains at least
1895                       a protocol and host.
1896                     type: string
1897                 required:
1898                 - interval
1899                 - url
1900                 type: object
1901               status:
1902                 description: HelmRepositoryStatus defines the observed state of the HelmRepository.
1903                 properties:
1904                   artifact:
1905                     description: Artifact represents the output of the last successful
1906                       repository sync.
1907                     properties:
1908                       checksum:
1909                         description: Checksum is the SHA1 checksum of the artifact.
1910                         type: string
1911                       lastUpdateTime:
1912                         description: LastUpdateTime is the timestamp corresponding to
1913                           the last update of this artifact.
1914                         format: date-time
1915                         type: string
1916                       path:
1917                         description: Path is the relative file path of this artifact.
1918                         type: string
1919                       revision:
1920                         description: Revision is a human readable identifier traceable
1921                           in the origin source system. It can be a Git commit SHA, Git
1922                           tag, a Helm index timestamp, a Helm chart version, etc.
1923                         type: string
1924                       url:
1925                         description: URL is the HTTP address of this artifact.
1926                         type: string
1927                     required:
1928                     - path
1929                     - url
1930                     type: object
1931                   conditions:
1932                     description: Conditions holds the conditions for the HelmRepository.
1933                     items:
1934                       description: "Condition contains details for one aspect of the current
1935                         state of this API Resource. --- This struct is intended for direct
1936                         use as an array at the field path .status.conditions.  For example,
1937                         type FooStatus struct{     // Represents the observations of a
1938                         foo's current state.     // Known .status.conditions.type are:
1939                         \"Available\", \"Progressing\", and \"Degraded\"     // +patchMergeKey=type
1940                         \    // +patchStrategy=merge     // +listType=map     // +listMapKey=type
1941                         \    Conditions []metav1.Condition `json:\"conditions,omitempty\"
1942                         patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
1943                         \n     // other fields }"
1944                       properties:
1945                         lastTransitionTime:
1946                           description: lastTransitionTime is the last time the condition
1947                             transitioned from one status to another. This should be when
1948                             the underlying condition changed.  If that is not known, then
1949                             using the time when the API field changed is acceptable.
1950                           format: date-time
1951                           type: string
1952                         message:
1953                           description: message is a human readable message indicating
1954                             details about the transition. This may be an empty string.
1955                           maxLength: 32768
1956                           type: string
1957                         observedGeneration:
1958                           description: observedGeneration represents the .metadata.generation
1959                             that the condition was set based upon. For instance, if .metadata.generation
1960                             is currently 12, but the .status.conditions[x].observedGeneration
1961                             is 9, the condition is out of date with respect to the current
1962                             state of the instance.
1963                           format: int64
1964                           minimum: 0
1965                           type: integer
1966                         reason:
1967                           description: reason contains a programmatic identifier indicating
1968                             the reason for the condition's last transition. Producers
1969                             of specific condition types may define expected values and
1970                             meanings for this field, and whether the values are considered
1971                             a guaranteed API. The value should be a CamelCase string.
1972                             This field may not be empty.
1973                           maxLength: 1024
1974                           minLength: 1
1975                           pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
1976                           type: string
1977                         status:
1978                           description: status of the condition, one of True, False, Unknown.
1979                           enum:
1980                           - "True"
1981                           - "False"
1982                           - Unknown
1983                           type: string
1984                         type:
1985                           description: type of condition in CamelCase or in foo.example.com/CamelCase.
1986                             --- Many .condition.type values are consistent across resources
1987                             like Available, but because arbitrary conditions can be useful
1988                             (see .node.status.conditions), the ability to deconflict is
1989                             important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
1990                           maxLength: 316
1991                           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])$
1992                           type: string
1993                       required:
1994                       - lastTransitionTime
1995                       - message
1996                       - reason
1997                       - status
1998                       - type
1999                       type: object
2000                     type: array
2001                   lastHandledReconcileAt:
2002                     description: LastHandledReconcileAt holds the value of the most recent
2003                       reconcile request value, so a change can be detected.
2004                     type: string
2005                   observedGeneration:
2006                     description: ObservedGeneration is the last observed generation.
2007                     format: int64
2008                     type: integer
2009                   url:
2010                     description: URL is the download link for the last index fetched.
2011                     type: string
2012                 type: object
2013             type: object
2014         served: true
2015         storage: true
2016         subresources:
2017           status: {}
2018     status:
2019       acceptedNames:
2020         kind: ""
2021         plural: ""
2022       conditions: []
2023       storedVersions: []
2024     ---
2025     apiVersion: apiextensions.k8s.io/v1
2026     kind: CustomResourceDefinition
2027     metadata:
2028       annotations:
2029         controller-gen.kubebuilder.io/version: v0.5.0
2030       creationTimestamp: null
2031       labels:
2032         app.kubernetes.io/instance: flux-system
2033         app.kubernetes.io/part-of: flux
2034         app.kubernetes.io/version: v0.20.0
2035       name: kustomizations.kustomize.toolkit.fluxcd.io
2036     spec:
2037       group: kustomize.toolkit.fluxcd.io
2038       names:
2039         kind: Kustomization
2040         listKind: KustomizationList
2041         plural: kustomizations
2042         shortNames:
2043         - ks
2044         singular: kustomization
2045       scope: Namespaced
2046       versions:
2047       - additionalPrinterColumns:
2048         - jsonPath: .status.conditions[?(@.type=="Ready")].status
2049           name: Ready
2050           type: string
2051         - jsonPath: .status.conditions[?(@.type=="Ready")].message
2052           name: Status
2053           type: string
2054         - jsonPath: .metadata.creationTimestamp
2055           name: Age
2056           type: date
2057         name: v1beta1
2058         schema:
2059           openAPIV3Schema:
2060             description: Kustomization is the Schema for the kustomizations API.
2061             properties:
2062               apiVersion:
2063                 description: 'APIVersion defines the versioned schema of this representation
2064                   of an object. Servers should convert recognized schemas to the latest
2065                   internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
2066                 type: string
2067               kind:
2068                 description: 'Kind is a string value representing the REST resource this
2069                   object represents. Servers may infer this from the endpoint the client
2070                   submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
2071                 type: string
2072               metadata:
2073                 type: object
2074               spec:
2075                 description: KustomizationSpec defines the desired state of a kustomization.
2076                 properties:
2077                   decryption:
2078                     description: Decrypt Kubernetes secrets before applying them on the
2079                       cluster.
2080                     properties:
2081                       provider:
2082                         description: Provider is the name of the decryption engine.
2083                         enum:
2084                         - sops
2085                         type: string
2086                       secretRef:
2087                         description: The secret name containing the private OpenPGP keys
2088                           used for decryption.
2089                         properties:
2090                           name:
2091                             description: Name of the referent
2092                             type: string
2093                         required:
2094                         - name
2095                         type: object
2096                     required:
2097                     - provider
2098                     type: object
2099                   dependsOn:
2100                     description: DependsOn may contain a dependency.CrossNamespaceDependencyReference
2101                       slice with references to Kustomization resources that must be ready
2102                       before this Kustomization can be reconciled.
2103                     items:
2104                       description: CrossNamespaceDependencyReference holds the reference
2105                         to a dependency.
2106                       properties:
2107                         name:
2108                           description: Name holds the name reference of a dependency.
2109                           type: string
2110                         namespace:
2111                           description: Namespace holds the namespace reference of a dependency.
2112                           type: string
2113                       required:
2114                       - name
2115                       type: object
2116                     type: array
2117                   force:
2118                     default: false
2119                     description: Force instructs the controller to recreate resources
2120                       when patching fails due to an immutable field change.
2121                     type: boolean
2122                   healthChecks:
2123                     description: A list of resources to be included in the health assessment.
2124                     items:
2125                       description: NamespacedObjectKindReference contains enough information
2126                         to let you locate the typed referenced object in any namespace
2127                       properties:
2128                         apiVersion:
2129                           description: API version of the referent, if not specified the
2130                             Kubernetes preferred version will be used
2131                           type: string
2132                         kind:
2133                           description: Kind of the referent
2134                           type: string
2135                         name:
2136                           description: Name of the referent
2137                           type: string
2138                         namespace:
2139                           description: Namespace of the referent, when not specified it
2140                             acts as LocalObjectReference
2141                           type: string
2142                       required:
2143                       - kind
2144                       - name
2145                       type: object
2146                     type: array
2147                   images:
2148                     description: Images is a list of (image name, new name, new tag or
2149                       digest) for changing image names, tags or digests. This can also
2150                       be achieved with a patch, but this operator is simpler to specify.
2151                     items:
2152                       description: Image contains an image name, a new name, a new tag
2153                         or digest, which will replace the original name and tag.
2154                       properties:
2155                         digest:
2156                           description: Digest is the value used to replace the original
2157                             image tag. If digest is present NewTag value is ignored.
2158                           type: string
2159                         name:
2160                           description: Name is a tag-less image name.
2161                           type: string
2162                         newName:
2163                           description: NewName is the value used to replace the original
2164                             name.
2165                           type: string
2166                         newTag:
2167                           description: NewTag is the value used to replace the original
2168                             tag.
2169                           type: string
2170                       required:
2171                       - name
2172                       type: object
2173                     type: array
2174                   interval:
2175                     description: The interval at which to reconcile the Kustomization.
2176                     type: string
2177                   kubeConfig:
2178                     description: The KubeConfig for reconciling the Kustomization on a
2179                       remote cluster. When specified, KubeConfig takes precedence over
2180                       ServiceAccountName.
2181                     properties:
2182                       secretRef:
2183                         description: SecretRef holds the name to a secret that contains
2184                           a 'value' key with the kubeconfig file as the value. It must
2185                           be in the same namespace as the Kustomization. It is recommended
2186                           that the kubeconfig is self-contained, and the secret is regularly
2187                           updated if credentials such as a cloud-access-token expire.
2188                           Cloud specific `cmd-path` auth helpers will not function without
2189                           adding binaries and credentials to the Pod that is responsible
2190                           for reconciling the Kustomization.
2191                         properties:
2192                           name:
2193                             description: Name of the referent
2194                             type: string
2195                         required:
2196                         - name
2197                         type: object
2198                     type: object
2199                   patches:
2200                     description: Strategic merge and JSON patches, defined as inline YAML
2201                       objects, capable of targeting objects based on kind, label and annotation
2202                       selectors.
2203                     items:
2204                       description: Patch contains either a StrategicMerge or a JSON6902
2205                         patch, either a file or inline, and the target the patch should
2206                         be applied to.
2207                       properties:
2208                         patch:
2209                           description: Patch contains the JSON6902 patch document with
2210                             an array of operation objects.
2211                           type: string
2212                         target:
2213                           description: Target points to the resources that the patch document
2214                             should be applied to.
2215                           properties:
2216                             annotationSelector:
2217                               description: AnnotationSelector is a string that follows
2218                                 the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
2219                                 It matches with the resource annotations.
2220                               type: string
2221                             group:
2222                               description: Group is the API group to select resources
2223                                 from. Together with Version and Kind it is capable of
2224                                 unambiguously identifying and/or selecting resources.
2225                                 https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
2226                               type: string
2227                             kind:
2228                               description: Kind of the API Group to select resources from.
2229                                 Together with Group and Version it is capable of unambiguously
2230                                 identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
2231                               type: string
2232                             labelSelector:
2233                               description: LabelSelector is a string that follows the
2234                                 label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
2235                                 It matches with the resource labels.
2236                               type: string
2237                             name:
2238                               description: Name to match resources with.
2239                               type: string
2240                             namespace:
2241                               description: Namespace to select resources from.
2242                               type: string
2243                             version:
2244                               description: Version of the API Group to select resources
2245                                 from. Together with Group and Kind it is capable of unambiguously
2246                                 identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
2247                               type: string
2248                           type: object
2249                       type: object
2250                     type: array
2251                   patchesJson6902:
2252                     description: JSON 6902 patches, defined as inline YAML objects.
2253                     items:
2254                       description: JSON6902Patch contains a JSON6902 patch and the target
2255                         the patch should be applied to.
2256                       properties:
2257                         patch:
2258                           description: Patch contains the JSON6902 patch document with
2259                             an array of operation objects.
2260                           items:
2261                             description: JSON6902 is a JSON6902 operation object. https://tools.ietf.org/html/rfc6902#section-4
2262                             properties:
2263                               from:
2264                                 type: string
2265                               op:
2266                                 enum:
2267                                 - test
2268                                 - remove
2269                                 - add
2270                                 - replace
2271                                 - move
2272                                 - copy
2273                                 type: string
2274                               path:
2275                                 type: string
2276                               value:
2277                                 x-kubernetes-preserve-unknown-fields: true
2278                             required:
2279                             - op
2280                             - path
2281                             type: object
2282                           type: array
2283                         target:
2284                           description: Target points to the resources that the patch document
2285                             should be applied to.
2286                           properties:
2287                             annotationSelector:
2288                               description: AnnotationSelector is a string that follows
2289                                 the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
2290                                 It matches with the resource annotations.
2291                               type: string
2292                             group:
2293                               description: Group is the API group to select resources
2294                                 from. Together with Version and Kind it is capable of
2295                                 unambiguously identifying and/or selecting resources.
2296                                 https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
2297                               type: string
2298                             kind:
2299                               description: Kind of the API Group to select resources from.
2300                                 Together with Group and Version it is capable of unambiguously
2301                                 identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
2302                               type: string
2303                             labelSelector:
2304                               description: LabelSelector is a string that follows the
2305                                 label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
2306                                 It matches with the resource labels.
2307                               type: string
2308                             name:
2309                               description: Name to match resources with.
2310                               type: string
2311                             namespace:
2312                               description: Namespace to select resources from.
2313                               type: string
2314                             version:
2315                               description: Version of the API Group to select resources
2316                                 from. Together with Group and Kind it is capable of unambiguously
2317                                 identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
2318                               type: string
2319                           type: object
2320                       required:
2321                       - patch
2322                       - target
2323                       type: object
2324                     type: array
2325                   patchesStrategicMerge:
2326                     description: Strategic merge patches, defined as inline YAML objects.
2327                     items:
2328                       x-kubernetes-preserve-unknown-fields: true
2329                     type: array
2330                   path:
2331                     description: Path to the directory containing the kustomization.yaml
2332                       file, or the set of plain YAMLs a kustomization.yaml should be generated
2333                       for. Defaults to 'None', which translates to the root path of the
2334                       SourceRef.
2335                     type: string
2336                   postBuild:
2337                     description: PostBuild describes which actions to perform on the YAML
2338                       manifest generated by building the kustomize overlay.
2339                     properties:
2340                       substitute:
2341                         additionalProperties:
2342                           type: string
2343                         description: Substitute holds a map of key/value pairs. The variables
2344                           defined in your YAML manifests that match any of the keys defined
2345                           in the map will be substituted with the set value. Includes
2346                           support for bash string replacement functions e.g. ${var:=default},
2347                           ${var:position} and ${var/substring/replacement}.
2348                         type: object
2349                       substituteFrom:
2350                         description: SubstituteFrom holds references to ConfigMaps and
2351                           Secrets containing the variables and their values to be substituted
2352                           in the YAML manifests. The ConfigMap and the Secret data keys
2353                           represent the var names and they must match the vars declared
2354                           in the manifests for the substitution to happen.
2355                         items:
2356                           description: SubstituteReference contains a reference to a resource
2357                             containing the variables name and value.
2358                           properties:
2359                             kind:
2360                               description: Kind of the values referent, valid values are
2361                                 ('Secret', 'ConfigMap').
2362                               enum:
2363                               - Secret
2364                               - ConfigMap
2365                               type: string
2366                             name:
2367                               description: Name of the values referent. Should reside
2368                                 in the same namespace as the referring resource.
2369                               maxLength: 253
2370                               minLength: 1
2371                               type: string
2372                           required:
2373                           - kind
2374                           - name
2375                           type: object
2376                         type: array
2377                     type: object
2378                   prune:
2379                     description: Prune enables garbage collection.
2380                     type: boolean
2381                   retryInterval:
2382                     description: The interval at which to retry a previously failed reconciliation.
2383                       When not specified, the controller uses the KustomizationSpec.Interval
2384                       value to retry failures.
2385                     type: string
2386                   serviceAccountName:
2387                     description: The name of the Kubernetes service account to impersonate
2388                       when reconciling this Kustomization.
2389                     type: string
2390                   sourceRef:
2391                     description: Reference of the source where the kustomization file
2392                       is.
2393                     properties:
2394                       apiVersion:
2395                         description: API version of the referent
2396                         type: string
2397                       kind:
2398                         description: Kind of the referent
2399                         enum:
2400                         - GitRepository
2401                         - Bucket
2402                         type: string
2403                       name:
2404                         description: Name of the referent
2405                         type: string
2406                       namespace:
2407                         description: Namespace of the referent, defaults to the Kustomization
2408                           namespace
2409                         type: string
2410                     required:
2411                     - kind
2412                     - name
2413                     type: object
2414                   suspend:
2415                     description: This flag tells the controller to suspend subsequent
2416                       kustomize executions, it does not apply to already started executions.
2417                       Defaults to false.
2418                     type: boolean
2419                   targetNamespace:
2420                     description: TargetNamespace sets or overrides the namespace in the
2421                       kustomization.yaml file.
2422                     maxLength: 63
2423                     minLength: 1
2424                     type: string
2425                   timeout:
2426                     description: Timeout for validation, apply and health checking operations.
2427                       Defaults to 'Interval' duration.
2428                     type: string
2429                   validation:
2430                     description: Validate the Kubernetes objects before applying them
2431                       on the cluster. The validation strategy can be 'client' (local dry-run),
2432                       'server' (APIServer dry-run) or 'none'. When 'Force' is 'true',
2433                       validation will fallback to 'client' if set to 'server' because
2434                       server-side validation is not supported in this scenario.
2435                     enum:
2436                     - none
2437                     - client
2438                     - server
2439                     type: string
2440                 required:
2441                 - interval
2442                 - prune
2443                 - sourceRef
2444                 type: object
2445               status:
2446                 default:
2447                   observedGeneration: -1
2448                 description: KustomizationStatus defines the observed state of a kustomization.
2449                 properties:
2450                   conditions:
2451                     items:
2452                       description: "Condition contains details for one aspect of the current
2453                         state of this API Resource. --- This struct is intended for direct
2454                         use as an array at the field path .status.conditions.  For example,
2455                         type FooStatus struct{     // Represents the observations of a
2456                         foo's current state.     // Known .status.conditions.type are:
2457                         \"Available\", \"Progressing\", and \"Degraded\"     // +patchMergeKey=type
2458                         \    // +patchStrategy=merge     // +listType=map     // +listMapKey=type
2459                         \    Conditions []metav1.Condition `json:\"conditions,omitempty\"
2460                         patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
2461                         \n     // other fields }"
2462                       properties:
2463                         lastTransitionTime:
2464                           description: lastTransitionTime is the last time the condition
2465                             transitioned from one status to another. This should be when
2466                             the underlying condition changed.  If that is not known, then
2467                             using the time when the API field changed is acceptable.
2468                           format: date-time
2469                           type: string
2470                         message:
2471                           description: message is a human readable message indicating
2472                             details about the transition. This may be an empty string.
2473                           maxLength: 32768
2474                           type: string
2475                         observedGeneration:
2476                           description: observedGeneration represents the .metadata.generation
2477                             that the condition was set based upon. For instance, if .metadata.generation
2478                             is currently 12, but the .status.conditions[x].observedGeneration
2479                             is 9, the condition is out of date with respect to the current
2480                             state of the instance.
2481                           format: int64
2482                           minimum: 0
2483                           type: integer
2484                         reason:
2485                           description: reason contains a programmatic identifier indicating
2486                             the reason for the condition's last transition. Producers
2487                             of specific condition types may define expected values and
2488                             meanings for this field, and whether the values are considered
2489                             a guaranteed API. The value should be a CamelCase string.
2490                             This field may not be empty.
2491                           maxLength: 1024
2492                           minLength: 1
2493                           pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
2494                           type: string
2495                         status:
2496                           description: status of the condition, one of True, False, Unknown.
2497                           enum:
2498                           - "True"
2499                           - "False"
2500                           - Unknown
2501                           type: string
2502                         type:
2503                           description: type of condition in CamelCase or in foo.example.com/CamelCase.
2504                             --- Many .condition.type values are consistent across resources
2505                             like Available, but because arbitrary conditions can be useful
2506                             (see .node.status.conditions), the ability to deconflict is
2507                             important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
2508                           maxLength: 316
2509                           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])$
2510                           type: string
2511                       required:
2512                       - lastTransitionTime
2513                       - message
2514                       - reason
2515                       - status
2516                       - type
2517                       type: object
2518                     type: array
2519                   lastAppliedRevision:
2520                     description: The last successfully applied revision. The revision
2521                       format for Git sources is <branch|tag>/<commit-sha>.
2522                     type: string
2523                   lastAttemptedRevision:
2524                     description: LastAttemptedRevision is the revision of the last reconciliation
2525                       attempt.
2526                     type: string
2527                   lastHandledReconcileAt:
2528                     description: LastHandledReconcileAt holds the value of the most recent
2529                       reconcile request value, so a change can be detected.
2530                     type: string
2531                   observedGeneration:
2532                     description: ObservedGeneration is the last reconciled generation.
2533                     format: int64
2534                     type: integer
2535                   snapshot:
2536                     description: The last successfully applied revision metadata.
2537                     properties:
2538                       checksum:
2539                         description: The manifests sha1 checksum.
2540                         type: string
2541                       entries:
2542                         description: A list of Kubernetes kinds grouped by namespace.
2543                         items:
2544                           description: Snapshot holds the metadata of namespaced Kubernetes
2545                             objects
2546                           properties:
2547                             kinds:
2548                               additionalProperties:
2549                                 type: string
2550                               description: The list of Kubernetes kinds.
2551                               type: object
2552                             namespace:
2553                               description: The namespace of this entry.
2554                               type: string
2555                           required:
2556                           - kinds
2557                           type: object
2558                         type: array
2559                     required:
2560                     - checksum
2561                     - entries
2562                     type: object
2563                 type: object
2564             type: object
2565         served: true
2566         storage: false
2567         subresources:
2568           status: {}
2569       - additionalPrinterColumns:
2570         - jsonPath: .status.conditions[?(@.type=="Ready")].status
2571           name: Ready
2572           type: string
2573         - jsonPath: .status.conditions[?(@.type=="Ready")].message
2574           name: Status
2575           type: string
2576         - jsonPath: .metadata.creationTimestamp
2577           name: Age
2578           type: date
2579         name: v1beta2
2580         schema:
2581           openAPIV3Schema:
2582             description: Kustomization is the Schema for the kustomizations API.
2583             properties:
2584               apiVersion:
2585                 description: 'APIVersion defines the versioned schema of this representation
2586                   of an object. Servers should convert recognized schemas to the latest
2587                   internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
2588                 type: string
2589               kind:
2590                 description: 'Kind is a string value representing the REST resource this
2591                   object represents. Servers may infer this from the endpoint the client
2592                   submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
2593                 type: string
2594               metadata:
2595                 type: object
2596               spec:
2597                 description: KustomizationSpec defines the configuration to calculate
2598                   the desired state from a Source using Kustomize.
2599                 properties:
2600                   decryption:
2601                     description: Decrypt Kubernetes secrets before applying them on the
2602                       cluster.
2603                     properties:
2604                       provider:
2605                         description: Provider is the name of the decryption engine.
2606                         enum:
2607                         - sops
2608                         type: string
2609                       secretRef:
2610                         description: The secret name containing the private OpenPGP keys
2611                           used for decryption.
2612                         properties:
2613                           name:
2614                             description: Name of the referent
2615                             type: string
2616                         required:
2617                         - name
2618                         type: object
2619                     required:
2620                     - provider
2621                     type: object
2622                   dependsOn:
2623                     description: DependsOn may contain a dependency.CrossNamespaceDependencyReference
2624                       slice with references to Kustomization resources that must be ready
2625                       before this Kustomization can be reconciled.
2626                     items:
2627                       description: CrossNamespaceDependencyReference holds the reference
2628                         to a dependency.
2629                       properties:
2630                         name:
2631                           description: Name holds the name reference of a dependency.
2632                           type: string
2633                         namespace:
2634                           description: Namespace holds the namespace reference of a dependency.
2635                           type: string
2636                       required:
2637                       - name
2638                       type: object
2639                     type: array
2640                   force:
2641                     default: false
2642                     description: Force instructs the controller to recreate resources
2643                       when patching fails due to an immutable field change.
2644                     type: boolean
2645                   healthChecks:
2646                     description: A list of resources to be included in the health assessment.
2647                     items:
2648                       description: NamespacedObjectKindReference contains enough information
2649                         to let you locate the typed referenced object in any namespace
2650                       properties:
2651                         apiVersion:
2652                           description: API version of the referent, if not specified the
2653                             Kubernetes preferred version will be used
2654                           type: string
2655                         kind:
2656                           description: Kind of the referent
2657                           type: string
2658                         name:
2659                           description: Name of the referent
2660                           type: string
2661                         namespace:
2662                           description: Namespace of the referent, when not specified it
2663                             acts as LocalObjectReference
2664                           type: string
2665                       required:
2666                       - kind
2667                       - name
2668                       type: object
2669                     type: array
2670                   images:
2671                     description: Images is a list of (image name, new name, new tag or
2672                       digest) for changing image names, tags or digests. This can also
2673                       be achieved with a patch, but this operator is simpler to specify.
2674                     items:
2675                       description: Image contains an image name, a new name, a new tag
2676                         or digest, which will replace the original name and tag.
2677                       properties:
2678                         digest:
2679                           description: Digest is the value used to replace the original
2680                             image tag. If digest is present NewTag value is ignored.
2681                           type: string
2682                         name:
2683                           description: Name is a tag-less image name.
2684                           type: string
2685                         newName:
2686                           description: NewName is the value used to replace the original
2687                             name.
2688                           type: string
2689                         newTag:
2690                           description: NewTag is the value used to replace the original
2691                             tag.
2692                           type: string
2693                       required:
2694                       - name
2695                       type: object
2696                     type: array
2697                   interval:
2698                     description: The interval at which to reconcile the Kustomization.
2699                     type: string
2700                   kubeConfig:
2701                     description: The KubeConfig for reconciling the Kustomization on a
2702                       remote cluster. When specified, KubeConfig takes precedence over
2703                       ServiceAccountName.
2704                     properties:
2705                       secretRef:
2706                         description: SecretRef holds the name to a secret that contains
2707                           a 'value' key with the kubeconfig file as the value. It must
2708                           be in the same namespace as the Kustomization. It is recommended
2709                           that the kubeconfig is self-contained, and the secret is regularly
2710                           updated if credentials such as a cloud-access-token expire.
2711                           Cloud specific `cmd-path` auth helpers will not function without
2712                           adding binaries and credentials to the Pod that is responsible
2713                           for reconciling the Kustomization.
2714                         properties:
2715                           name:
2716                             description: Name of the referent
2717                             type: string
2718                         required:
2719                         - name
2720                         type: object
2721                     type: object
2722                   patches:
2723                     description: Strategic merge and JSON patches, defined as inline YAML
2724                       objects, capable of targeting objects based on kind, label and annotation
2725                       selectors.
2726                     items:
2727                       description: Patch contains either a StrategicMerge or a JSON6902
2728                         patch, either a file or inline, and the target the patch should
2729                         be applied to.
2730                       properties:
2731                         patch:
2732                           description: Patch contains the JSON6902 patch document with
2733                             an array of operation objects.
2734                           type: string
2735                         target:
2736                           description: Target points to the resources that the patch document
2737                             should be applied to.
2738                           properties:
2739                             annotationSelector:
2740                               description: AnnotationSelector is a string that follows
2741                                 the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
2742                                 It matches with the resource annotations.
2743                               type: string
2744                             group:
2745                               description: Group is the API group to select resources
2746                                 from. Together with Version and Kind it is capable of
2747                                 unambiguously identifying and/or selecting resources.
2748                                 https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
2749                               type: string
2750                             kind:
2751                               description: Kind of the API Group to select resources from.
2752                                 Together with Group and Version it is capable of unambiguously
2753                                 identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
2754                               type: string
2755                             labelSelector:
2756                               description: LabelSelector is a string that follows the
2757                                 label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
2758                                 It matches with the resource labels.
2759                               type: string
2760                             name:
2761                               description: Name to match resources with.
2762                               type: string
2763                             namespace:
2764                               description: Namespace to select resources from.
2765                               type: string
2766                             version:
2767                               description: Version of the API Group to select resources
2768                                 from. Together with Group and Kind it is capable of unambiguously
2769                                 identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
2770                               type: string
2771                           type: object
2772                       type: object
2773                     type: array
2774                   patchesJson6902:
2775                     description: 'JSON 6902 patches, defined as inline YAML objects. Deprecated:
2776                       Use Patches instead.'
2777                     items:
2778                       description: JSON6902Patch contains a JSON6902 patch and the target
2779                         the patch should be applied to.
2780                       properties:
2781                         patch:
2782                           description: Patch contains the JSON6902 patch document with
2783                             an array of operation objects.
2784                           items:
2785                             description: JSON6902 is a JSON6902 operation object. https://tools.ietf.org/html/rfc6902#section-4
2786                             properties:
2787                               from:
2788                                 type: string
2789                               op:
2790                                 enum:
2791                                 - test
2792                                 - remove
2793                                 - add
2794                                 - replace
2795                                 - move
2796                                 - copy
2797                                 type: string
2798                               path:
2799                                 type: string
2800                               value:
2801                                 x-kubernetes-preserve-unknown-fields: true
2802                             required:
2803                             - op
2804                             - path
2805                             type: object
2806                           type: array
2807                         target:
2808                           description: Target points to the resources that the patch document
2809                             should be applied to.
2810                           properties:
2811                             annotationSelector:
2812                               description: AnnotationSelector is a string that follows
2813                                 the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
2814                                 It matches with the resource annotations.
2815                               type: string
2816                             group:
2817                               description: Group is the API group to select resources
2818                                 from. Together with Version and Kind it is capable of
2819                                 unambiguously identifying and/or selecting resources.
2820                                 https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
2821                               type: string
2822                             kind:
2823                               description: Kind of the API Group to select resources from.
2824                                 Together with Group and Version it is capable of unambiguously
2825                                 identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
2826                               type: string
2827                             labelSelector:
2828                               description: LabelSelector is a string that follows the
2829                                 label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
2830                                 It matches with the resource labels.
2831                               type: string
2832                             name:
2833                               description: Name to match resources with.
2834                               type: string
2835                             namespace:
2836                               description: Namespace to select resources from.
2837                               type: string
2838                             version:
2839                               description: Version of the API Group to select resources
2840                                 from. Together with Group and Kind it is capable of unambiguously
2841                                 identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
2842                               type: string
2843                           type: object
2844                       required:
2845                       - patch
2846                       - target
2847                       type: object
2848                     type: array
2849                   patchesStrategicMerge:
2850                     description: 'Strategic merge patches, defined as inline YAML objects.
2851                       Deprecated: Use Patches instead.'
2852                     items:
2853                       x-kubernetes-preserve-unknown-fields: true
2854                     type: array
2855                   path:
2856                     description: Path to the directory containing the kustomization.yaml
2857                       file, or the set of plain YAMLs a kustomization.yaml should be generated
2858                       for. Defaults to 'None', which translates to the root path of the
2859                       SourceRef.
2860                     type: string
2861                   postBuild:
2862                     description: PostBuild describes which actions to perform on the YAML
2863                       manifest generated by building the kustomize overlay.
2864                     properties:
2865                       substitute:
2866                         additionalProperties:
2867                           type: string
2868                         description: Substitute holds a map of key/value pairs. The variables
2869                           defined in your YAML manifests that match any of the keys defined
2870                           in the map will be substituted with the set value. Includes
2871                           support for bash string replacement functions e.g. ${var:=default},
2872                           ${var:position} and ${var/substring/replacement}.
2873                         type: object
2874                       substituteFrom:
2875                         description: SubstituteFrom holds references to ConfigMaps and
2876                           Secrets containing the variables and their values to be substituted
2877                           in the YAML manifests. The ConfigMap and the Secret data keys
2878                           represent the var names and they must match the vars declared
2879                           in the manifests for the substitution to happen.
2880                         items:
2881                           description: SubstituteReference contains a reference to a resource
2882                             containing the variables name and value.
2883                           properties:
2884                             kind:
2885                               description: Kind of the values referent, valid values are
2886                                 ('Secret', 'ConfigMap').
2887                               enum:
2888                               - Secret
2889                               - ConfigMap
2890                               type: string
2891                             name:
2892                               description: Name of the values referent. Should reside
2893                                 in the same namespace as the referring resource.
2894                               maxLength: 253
2895                               minLength: 1
2896                               type: string
2897                           required:
2898                           - kind
2899                           - name
2900                           type: object
2901                         type: array
2902                     type: object
2903                   prune:
2904                     description: Prune enables garbage collection.
2905                     type: boolean
2906                   retryInterval:
2907                     description: The interval at which to retry a previously failed reconciliation.
2908                       When not specified, the controller uses the KustomizationSpec.Interval
2909                       value to retry failures.
2910                     type: string
2911                   serviceAccountName:
2912                     description: The name of the Kubernetes service account to impersonate
2913                       when reconciling this Kustomization.
2914                     type: string
2915                   sourceRef:
2916                     description: Reference of the source where the kustomization file
2917                       is.
2918                     properties:
2919                       apiVersion:
2920                         description: API version of the referent.
2921                         type: string
2922                       kind:
2923                         description: Kind of the referent.
2924                         enum:
2925                         - GitRepository
2926                         - Bucket
2927                         type: string
2928                       name:
2929                         description: Name of the referent.
2930                         type: string
2931                       namespace:
2932                         description: Namespace of the referent, defaults to the namespace
2933                           of the Kubernetes resource object that contains the reference.
2934                         type: string
2935                     required:
2936                     - kind
2937                     - name
2938                     type: object
2939                   suspend:
2940                     description: This flag tells the controller to suspend subsequent
2941                       kustomize executions, it does not apply to already started executions.
2942                       Defaults to false.
2943                     type: boolean
2944                   targetNamespace:
2945                     description: TargetNamespace sets or overrides the namespace in the
2946                       kustomization.yaml file.
2947                     maxLength: 63
2948                     minLength: 1
2949                     type: string
2950                   timeout:
2951                     description: Timeout for validation, apply and health checking operations.
2952                       Defaults to 'Interval' duration.
2953                     type: string
2954                   validation:
2955                     description: 'Deprecated: Not used in v1beta2.'
2956                     enum:
2957                     - none
2958                     - client
2959                     - server
2960                     type: string
2961                   wait:
2962                     description: Wait instructs the controller to check the health of
2963                       all the reconciled resources. When enabled, the HealthChecks are
2964                       ignored. Defaults to false.
2965                     type: boolean
2966                 required:
2967                 - interval
2968                 - prune
2969                 - sourceRef
2970                 type: object
2971               status:
2972                 default:
2973                   observedGeneration: -1
2974                 description: KustomizationStatus defines the observed state of a kustomization.
2975                 properties:
2976                   conditions:
2977                     items:
2978                       description: "Condition contains details for one aspect of the current
2979                         state of this API Resource. --- This struct is intended for direct
2980                         use as an array at the field path .status.conditions.  For example,
2981                         type FooStatus struct{     // Represents the observations of a
2982                         foo's current state.     // Known .status.conditions.type are:
2983                         \"Available\", \"Progressing\", and \"Degraded\"     // +patchMergeKey=type
2984                         \    // +patchStrategy=merge     // +listType=map     // +listMapKey=type
2985                         \    Conditions []metav1.Condition `json:\"conditions,omitempty\"
2986                         patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
2987                         \n     // other fields }"
2988                       properties:
2989                         lastTransitionTime:
2990                           description: lastTransitionTime is the last time the condition
2991                             transitioned from one status to another. This should be when
2992                             the underlying condition changed.  If that is not known, then
2993                             using the time when the API field changed is acceptable.
2994                           format: date-time
2995                           type: string
2996                         message:
2997                           description: message is a human readable message indicating
2998                             details about the transition. This may be an empty string.
2999                           maxLength: 32768
3000                           type: string
3001                         observedGeneration:
3002                           description: observedGeneration represents the .metadata.generation
3003                             that the condition was set based upon. For instance, if .metadata.generation
3004                             is currently 12, but the .status.conditions[x].observedGeneration
3005                             is 9, the condition is out of date with respect to the current
3006                             state of the instance.
3007                           format: int64
3008                           minimum: 0
3009                           type: integer
3010                         reason:
3011                           description: reason contains a programmatic identifier indicating
3012                             the reason for the condition's last transition. Producers
3013                             of specific condition types may define expected values and
3014                             meanings for this field, and whether the values are considered
3015                             a guaranteed API. The value should be a CamelCase string.
3016                             This field may not be empty.
3017                           maxLength: 1024
3018                           minLength: 1
3019                           pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
3020                           type: string
3021                         status:
3022                           description: status of the condition, one of True, False, Unknown.
3023                           enum:
3024                           - "True"
3025                           - "False"
3026                           - Unknown
3027                           type: string
3028                         type:
3029                           description: type of condition in CamelCase or in foo.example.com/CamelCase.
3030                             --- Many .condition.type values are consistent across resources
3031                             like Available, but because arbitrary conditions can be useful
3032                             (see .node.status.conditions), the ability to deconflict is
3033                             important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
3034                           maxLength: 316
3035                           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])$
3036                           type: string
3037                       required:
3038                       - lastTransitionTime
3039                       - message
3040                       - reason
3041                       - status
3042                       - type
3043                       type: object
3044                     type: array
3045                   inventory:
3046                     description: Inventory contains the list of Kubernetes resource object
3047                       references that have been successfully applied.
3048                     properties:
3049                       entries:
3050                         description: Entries of Kubernetes resource object references.
3051                         items:
3052                           description: ResourceRef contains the information necessary
3053                             to locate a resource within a cluster.
3054                           properties:
3055                             id:
3056                               description: ID is the string representation of the Kubernetes
3057                                 resource object's metadata, in the format '<namespace>_<name>_<group>_<kind>'.
3058                               type: string
3059                             v:
3060                               description: Version is the API version of the Kubernetes
3061                                 resource object's kind.
3062                               type: string
3063                           required:
3064                           - id
3065                           - v
3066                           type: object
3067                         type: array
3068                     required:
3069                     - entries
3070                     type: object
3071                   lastAppliedRevision:
3072                     description: The last successfully applied revision. The revision
3073                       format for Git sources is <branch|tag>/<commit-sha>.
3074                     type: string
3075                   lastAttemptedRevision:
3076                     description: LastAttemptedRevision is the revision of the last reconciliation
3077                       attempt.
3078                     type: string
3079                   lastHandledReconcileAt:
3080                     description: LastHandledReconcileAt holds the value of the most recent
3081                       reconcile request value, so a change can be detected.
3082                     type: string
3083                   observedGeneration:
3084                     description: ObservedGeneration is the last reconciled generation.
3085                     format: int64
3086                     type: integer
3087                 type: object
3088             type: object
3089         served: true
3090         storage: true
3091         subresources:
3092           status: {}
3093     status:
3094       acceptedNames:
3095         kind: ""
3096         plural: ""
3097       conditions: []
3098       storedVersions: []
3099     ---
3100     apiVersion: apiextensions.k8s.io/v1
3101     kind: CustomResourceDefinition
3102     metadata:
3103       annotations:
3104         controller-gen.kubebuilder.io/version: v0.5.0
3105       creationTimestamp: null
3106       labels:
3107         app.kubernetes.io/instance: flux-system
3108         app.kubernetes.io/part-of: flux
3109         app.kubernetes.io/version: v0.20.0
3110       name: providers.notification.toolkit.fluxcd.io
3111     spec:
3112       group: notification.toolkit.fluxcd.io
3113       names:
3114         kind: Provider
3115         listKind: ProviderList
3116         plural: providers
3117         singular: provider
3118       scope: Namespaced
3119       versions:
3120       - additionalPrinterColumns:
3121         - jsonPath: .status.conditions[?(@.type=="Ready")].status
3122           name: Ready
3123           type: string
3124         - jsonPath: .status.conditions[?(@.type=="Ready")].message
3125           name: Status
3126           type: string
3127         - jsonPath: .metadata.creationTimestamp
3128           name: Age
3129           type: date
3130         name: v1beta1
3131         schema:
3132           openAPIV3Schema:
3133             description: Provider is the Schema for the providers API
3134             properties:
3135               apiVersion:
3136                 description: 'APIVersion defines the versioned schema of this representation
3137                   of an object. Servers should convert recognized schemas to the latest
3138                   internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
3139                 type: string
3140               kind:
3141                 description: 'Kind is a string value representing the REST resource this
3142                   object represents. Servers may infer this from the endpoint the client
3143                   submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
3144                 type: string
3145               metadata:
3146                 type: object
3147               spec:
3148                 description: ProviderSpec defines the desired state of Provider
3149                 properties:
3150                   address:
3151                     description: HTTP/S webhook address of this provider
3152                     pattern: ^(http|https)://
3153                     type: string
3154                   certSecretRef:
3155                     description: CertSecretRef can be given the name of a secret containing
3156                       a PEM-encoded CA certificate (`caFile`)
3157                     properties:
3158                       name:
3159                         description: Name of the referent
3160                         type: string
3161                     required:
3162                     - name
3163                     type: object
3164                   channel:
3165                     description: Alert channel for this provider
3166                     type: string
3167                   proxy:
3168                     description: HTTP/S address of the proxy
3169                     pattern: ^(http|https)://
3170                     type: string
3171                   secretRef:
3172                     description: Secret reference containing the provider webhook URL
3173                       using "address" as data key
3174                     properties:
3175                       name:
3176                         description: Name of the referent
3177                         type: string
3178                     required:
3179                     - name
3180                     type: object
3181                   type:
3182                     description: Type of provider
3183                     enum:
3184                     - slack
3185                     - discord
3186                     - msteams
3187                     - rocket
3188                     - generic
3189                     - github
3190                     - gitlab
3191                     - bitbucket
3192                     - azuredevops
3193                     - googlechat
3194                     - webex
3195                     - sentry
3196                     - azureeventhub
3197                     - telegram
3198                     - lark
3199                     - matrix
3200                     - opsgenie
3201                     - alertmanager
3202                     type: string
3203                   username:
3204                     description: Bot username for this provider
3205                     type: string
3206                 required:
3207                 - type
3208                 type: object
3209               status:
3210                 default:
3211                   observedGeneration: -1
3212                 description: ProviderStatus defines the observed state of Provider
3213                 properties:
3214                   conditions:
3215                     items:
3216                       description: "Condition contains details for one aspect of the current
3217                         state of this API Resource. --- This struct is intended for direct
3218                         use as an array at the field path .status.conditions.  For example,
3219                         type FooStatus struct{     // Represents the observations of a
3220                         foo's current state.     // Known .status.conditions.type are:
3221                         \"Available\", \"Progressing\", and \"Degraded\"     // +patchMergeKey=type
3222                         \    // +patchStrategy=merge     // +listType=map     // +listMapKey=type
3223                         \    Conditions []metav1.Condition `json:\"conditions,omitempty\"
3224                         patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
3225                         \n     // other fields }"
3226                       properties:
3227                         lastTransitionTime:
3228                           description: lastTransitionTime is the last time the condition
3229                             transitioned from one status to another. This should be when
3230                             the underlying condition changed.  If that is not known, then
3231                             using the time when the API field changed is acceptable.
3232                           format: date-time
3233                           type: string
3234                         message:
3235                           description: message is a human readable message indicating
3236                             details about the transition. This may be an empty string.
3237                           maxLength: 32768
3238                           type: string
3239                         observedGeneration:
3240                           description: observedGeneration represents the .metadata.generation
3241                             that the condition was set based upon. For instance, if .metadata.generation
3242                             is currently 12, but the .status.conditions[x].observedGeneration
3243                             is 9, the condition is out of date with respect to the current
3244                             state of the instance.
3245                           format: int64
3246                           minimum: 0
3247                           type: integer
3248                         reason:
3249                           description: reason contains a programmatic identifier indicating
3250                             the reason for the condition's last transition. Producers
3251                             of specific condition types may define expected values and
3252                             meanings for this field, and whether the values are considered
3253                             a guaranteed API. The value should be a CamelCase string.
3254                             This field may not be empty.
3255                           maxLength: 1024
3256                           minLength: 1
3257                           pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
3258                           type: string
3259                         status:
3260                           description: status of the condition, one of True, False, Unknown.
3261                           enum:
3262                           - "True"
3263                           - "False"
3264                           - Unknown
3265                           type: string
3266                         type:
3267                           description: type of condition in CamelCase or in foo.example.com/CamelCase.
3268                             --- Many .condition.type values are consistent across resources
3269                             like Available, but because arbitrary conditions can be useful
3270                             (see .node.status.conditions), the ability to deconflict is
3271                             important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
3272                           maxLength: 316
3273                           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])$
3274                           type: string
3275                       required:
3276                       - lastTransitionTime
3277                       - message
3278                       - reason
3279                       - status
3280                       - type
3281                       type: object
3282                     type: array
3283                   observedGeneration:
3284                     description: ObservedGeneration is the last reconciled generation.
3285                     format: int64
3286                     type: integer
3287                 type: object
3288             type: object
3289         served: true
3290         storage: true
3291         subresources:
3292           status: {}
3293     status:
3294       acceptedNames:
3295         kind: ""
3296         plural: ""
3297       conditions: []
3298       storedVersions: []
3299     ---
3300     apiVersion: apiextensions.k8s.io/v1
3301     kind: CustomResourceDefinition
3302     metadata:
3303       annotations:
3304         controller-gen.kubebuilder.io/version: v0.5.0
3305       creationTimestamp: null
3306       labels:
3307         app.kubernetes.io/instance: flux-system
3308         app.kubernetes.io/part-of: flux
3309         app.kubernetes.io/version: v0.20.0
3310       name: receivers.notification.toolkit.fluxcd.io
3311     spec:
3312       group: notification.toolkit.fluxcd.io
3313       names:
3314         kind: Receiver
3315         listKind: ReceiverList
3316         plural: receivers
3317         singular: receiver
3318       scope: Namespaced
3319       versions:
3320       - additionalPrinterColumns:
3321         - jsonPath: .status.conditions[?(@.type=="Ready")].status
3322           name: Ready
3323           type: string
3324         - jsonPath: .status.conditions[?(@.type=="Ready")].message
3325           name: Status
3326           type: string
3327         - jsonPath: .metadata.creationTimestamp
3328           name: Age
3329           type: date
3330         name: v1beta1
3331         schema:
3332           openAPIV3Schema:
3333             description: Receiver is the Schema for the receivers API
3334             properties:
3335               apiVersion:
3336                 description: 'APIVersion defines the versioned schema of this representation
3337                   of an object. Servers should convert recognized schemas to the latest
3338                   internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
3339                 type: string
3340               kind:
3341                 description: 'Kind is a string value representing the REST resource this
3342                   object represents. Servers may infer this from the endpoint the client
3343                   submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
3344                 type: string
3345               metadata:
3346                 type: object
3347               spec:
3348                 description: ReceiverSpec defines the desired state of Receiver
3349                 properties:
3350                   events:
3351                     description: A list of events to handle, e.g. 'push' for GitHub or
3352                       'Push Hook' for GitLab.
3353                     items:
3354                       type: string
3355                     type: array
3356                   resources:
3357                     description: A list of resources to be notified about changes.
3358                     items:
3359                       description: CrossNamespaceObjectReference contains enough information
3360                         to let you locate the typed referenced object at cluster level
3361                       properties:
3362                         apiVersion:
3363                           description: API version of the referent
3364                           type: string
3365                         kind:
3366                           description: Kind of the referent
3367                           enum:
3368                           - Bucket
3369                           - GitRepository
3370                           - Kustomization
3371                           - HelmRelease
3372                           - HelmChart
3373                           - HelmRepository
3374                           - ImageRepository
3375                           - ImagePolicy
3376                           - ImageUpdateAutomation
3377                           type: string
3378                         name:
3379                           description: Name of the referent
3380                           maxLength: 53
3381                           minLength: 1
3382                           type: string
3383                         namespace:
3384                           description: Namespace of the referent
3385                           maxLength: 53
3386                           minLength: 1
3387                           type: string
3388                       required:
3389                       - name
3390                       type: object
3391                     type: array
3392                   secretRef:
3393                     description: Secret reference containing the token used to validate
3394                       the payload authenticity
3395                     properties:
3396                       name:
3397                         description: Name of the referent
3398                         type: string
3399                     required:
3400                     - name
3401                     type: object
3402                   suspend:
3403                     description: This flag tells the controller to suspend subsequent
3404                       events handling. Defaults to false.
3405                     type: boolean
3406                   type:
3407                     description: Type of webhook sender, used to determine the validation
3408                       procedure and payload deserialization.
3409                     enum:
3410                     - generic
3411                     - generic-hmac
3412                     - github
3413                     - gitlab
3414                     - bitbucket
3415                     - harbor
3416                     - dockerhub
3417                     - quay
3418                     - gcr
3419                     - nexus
3420                     - acr
3421                     type: string
3422                 required:
3423                 - resources
3424                 - type
3425                 type: object
3426               status:
3427                 default:
3428                   observedGeneration: -1
3429                 description: ReceiverStatus defines the observed state of Receiver
3430                 properties:
3431                   conditions:
3432                     items:
3433                       description: "Condition contains details for one aspect of the current
3434                         state of this API Resource. --- This struct is intended for direct
3435                         use as an array at the field path .status.conditions.  For example,
3436                         type FooStatus struct{     // Represents the observations of a
3437                         foo's current state.     // Known .status.conditions.type are:
3438                         \"Available\", \"Progressing\", and \"Degraded\"     // +patchMergeKey=type
3439                         \    // +patchStrategy=merge     // +listType=map     // +listMapKey=type
3440                         \    Conditions []metav1.Condition `json:\"conditions,omitempty\"
3441                         patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
3442                         \n     // other fields }"
3443                       properties:
3444                         lastTransitionTime:
3445                           description: lastTransitionTime is the last time the condition
3446                             transitioned from one status to another. This should be when
3447                             the underlying condition changed.  If that is not known, then
3448                             using the time when the API field changed is acceptable.
3449                           format: date-time
3450                           type: string
3451                         message:
3452                           description: message is a human readable message indicating
3453                             details about the transition. This may be an empty string.
3454                           maxLength: 32768
3455                           type: string
3456                         observedGeneration:
3457                           description: observedGeneration represents the .metadata.generation
3458                             that the condition was set based upon. For instance, if .metadata.generation
3459                             is currently 12, but the .status.conditions[x].observedGeneration
3460                             is 9, the condition is out of date with respect to the current
3461                             state of the instance.
3462                           format: int64
3463                           minimum: 0
3464                           type: integer
3465                         reason:
3466                           description: reason contains a programmatic identifier indicating
3467                             the reason for the condition's last transition. Producers
3468                             of specific condition types may define expected values and
3469                             meanings for this field, and whether the values are considered
3470                             a guaranteed API. The value should be a CamelCase string.
3471                             This field may not be empty.
3472                           maxLength: 1024
3473                           minLength: 1
3474                           pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
3475                           type: string
3476                         status:
3477                           description: status of the condition, one of True, False, Unknown.
3478                           enum:
3479                           - "True"
3480                           - "False"
3481                           - Unknown
3482                           type: string
3483                         type:
3484                           description: type of condition in CamelCase or in foo.example.com/CamelCase.
3485                             --- Many .condition.type values are consistent across resources
3486                             like Available, but because arbitrary conditions can be useful
3487                             (see .node.status.conditions), the ability to deconflict is
3488                             important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
3489                           maxLength: 316
3490                           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])$
3491                           type: string
3492                       required:
3493                       - lastTransitionTime
3494                       - message
3495                       - reason
3496                       - status
3497                       - type
3498                       type: object
3499                     type: array
3500                   observedGeneration:
3501                     description: ObservedGeneration is the last observed generation.
3502                     format: int64
3503                     type: integer
3504                   url:
3505                     description: Generated webhook URL in the format of '/hook/sha256sum(token+name+namespace)'.
3506                     type: string
3507                 type: object
3508             type: object
3509         served: true
3510         storage: true
3511         subresources:
3512           status: {}
3513     status:
3514       acceptedNames:
3515         kind: ""
3516         plural: ""
3517       conditions: []
3518       storedVersions: []
3519     ---
3520     apiVersion: v1
3521     kind: ServiceAccount
3522     metadata:
3523       labels:
3524         app.kubernetes.io/instance: flux-system
3525         app.kubernetes.io/part-of: flux
3526         app.kubernetes.io/version: v0.20.0
3527       name: helm-controller
3528       namespace: flux-system
3529     ---
3530     apiVersion: v1
3531     kind: ServiceAccount
3532     metadata:
3533       labels:
3534         app.kubernetes.io/instance: flux-system
3535         app.kubernetes.io/part-of: flux
3536         app.kubernetes.io/version: v0.20.0
3537       name: kustomize-controller
3538       namespace: flux-system
3539     ---
3540     apiVersion: v1
3541     kind: ServiceAccount
3542     metadata:
3543       labels:
3544         app.kubernetes.io/instance: flux-system
3545         app.kubernetes.io/part-of: flux
3546         app.kubernetes.io/version: v0.20.0
3547       name: notification-controller
3548       namespace: flux-system
3549     ---
3550     apiVersion: v1
3551     kind: ServiceAccount
3552     metadata:
3553       labels:
3554         app.kubernetes.io/instance: flux-system
3555         app.kubernetes.io/part-of: flux
3556         app.kubernetes.io/version: v0.20.0
3557       name: source-controller
3558       namespace: flux-system
3559     ---
3560     apiVersion: rbac.authorization.k8s.io/v1
3561     kind: ClusterRole
3562     metadata:
3563       labels:
3564         app.kubernetes.io/instance: flux-system
3565         app.kubernetes.io/part-of: flux
3566         app.kubernetes.io/version: v0.20.0
3567       name: crd-controller-flux-system
3568     rules:
3569     - apiGroups:
3570       - source.toolkit.fluxcd.io
3571       resources:
3572       - '*'
3573       verbs:
3574       - '*'
3575     - apiGroups:
3576       - kustomize.toolkit.fluxcd.io
3577       resources:
3578       - '*'
3579       verbs:
3580       - '*'
3581     - apiGroups:
3582       - helm.toolkit.fluxcd.io
3583       resources:
3584       - '*'
3585       verbs:
3586       - '*'
3587     - apiGroups:
3588       - notification.toolkit.fluxcd.io
3589       resources:
3590       - '*'
3591       verbs:
3592       - '*'
3593     - apiGroups:
3594       - image.toolkit.fluxcd.io
3595       resources:
3596       - '*'
3597       verbs:
3598       - '*'
3599     - apiGroups:
3600       - ""
3601       resources:
3602       - namespaces
3603       - secrets
3604       verbs:
3605       - get
3606       - list
3607       - watch
3608     - apiGroups:
3609       - ""
3610       resources:
3611       - events
3612       verbs:
3613       - create
3614       - patch
3615     - apiGroups:
3616       - ""
3617       resources:
3618       - configmaps
3619       - configmaps/status
3620       verbs:
3621       - get
3622       - list
3623       - watch
3624       - create
3625       - update
3626       - patch
3627       - delete
3628     - apiGroups:
3629       - coordination.k8s.io
3630       resources:
3631       - leases
3632       verbs:
3633       - get
3634       - list
3635       - watch
3636       - create
3637       - update
3638       - patch
3639       - delete
3640     ---
3641     apiVersion: rbac.authorization.k8s.io/v1
3642     kind: ClusterRoleBinding
3643     metadata:
3644       labels:
3645         app.kubernetes.io/instance: flux-system
3646         app.kubernetes.io/part-of: flux
3647         app.kubernetes.io/version: v0.20.0
3648       name: cluster-reconciler-flux-system
3649     roleRef:
3650       apiGroup: rbac.authorization.k8s.io
3651       kind: ClusterRole
3652       name: cluster-admin
3653     subjects:
3654     - kind: ServiceAccount
3655       name: kustomize-controller
3656       namespace: flux-system
3657     - kind: ServiceAccount
3658       name: helm-controller
3659       namespace: flux-system
3660     ---
3661     apiVersion: rbac.authorization.k8s.io/v1
3662     kind: ClusterRoleBinding
3663     metadata:
3664       labels:
3665         app.kubernetes.io/instance: flux-system
3666         app.kubernetes.io/part-of: flux
3667         app.kubernetes.io/version: v0.20.0
3668       name: crd-controller-flux-system
3669     roleRef:
3670       apiGroup: rbac.authorization.k8s.io
3671       kind: ClusterRole
3672       name: crd-controller-flux-system
3673     subjects:
3674     - kind: ServiceAccount
3675       name: kustomize-controller
3676       namespace: flux-system
3677     - kind: ServiceAccount
3678       name: helm-controller
3679       namespace: flux-system
3680     - kind: ServiceAccount
3681       name: source-controller
3682       namespace: flux-system
3683     - kind: ServiceAccount
3684       name: notification-controller
3685       namespace: flux-system
3686     - kind: ServiceAccount
3687       name: image-reflector-controller
3688       namespace: flux-system
3689     - kind: ServiceAccount
3690       name: image-automation-controller
3691       namespace: flux-system
3692     ---
3693     apiVersion: v1
3694     kind: Service
3695     metadata:
3696       labels:
3697         app.kubernetes.io/instance: flux-system
3698         app.kubernetes.io/part-of: flux
3699         app.kubernetes.io/version: v0.20.0
3700         control-plane: controller
3701       name: notification-controller
3702       namespace: flux-system
3703     spec:
3704       ports:
3705       - name: http
3706         port: 80
3707         protocol: TCP
3708         targetPort: http
3709       selector:
3710         app: notification-controller
3711       type: ClusterIP
3712     ---
3713     apiVersion: v1
3714     kind: Service
3715     metadata:
3716       labels:
3717         app.kubernetes.io/instance: flux-system
3718         app.kubernetes.io/part-of: flux
3719         app.kubernetes.io/version: v0.20.0
3720         control-plane: controller
3721       name: source-controller
3722       namespace: flux-system
3723     spec:
3724       ports:
3725       - name: http
3726         port: 80
3727         protocol: TCP
3728         targetPort: http
3729       selector:
3730         app: source-controller
3731       type: ClusterIP
3732     ---
3733     apiVersion: v1
3734     kind: Service
3735     metadata:
3736       labels:
3737         app.kubernetes.io/instance: flux-system
3738         app.kubernetes.io/part-of: flux
3739         app.kubernetes.io/version: v0.20.0
3740         control-plane: controller
3741       name: webhook-receiver
3742       namespace: flux-system
3743     spec:
3744       ports:
3745       - name: http
3746         port: 80
3747         protocol: TCP
3748         targetPort: http-webhook
3749       selector:
3750         app: notification-controller
3751       type: ClusterIP
3752     ---
3753     apiVersion: apps/v1
3754     kind: Deployment
3755     metadata:
3756       labels:
3757         app.kubernetes.io/instance: flux-system
3758         app.kubernetes.io/part-of: flux
3759         app.kubernetes.io/version: v0.20.0
3760         control-plane: controller
3761       name: helm-controller
3762       namespace: flux-system
3763     spec:
3764       replicas: 1
3765       selector:
3766         matchLabels:
3767           app: helm-controller
3768       template:
3769         metadata:
3770           annotations:
3771             prometheus.io/port: "8080"
3772             prometheus.io/scrape: "true"
3773           labels:
3774             app: helm-controller
3775         spec:
3776           containers:
3777           - args:
3778             - --events-addr=http://notification-controller/
3779             - --watch-all-namespaces=true
3780             - --log-level=info
3781             - --log-encoding=json
3782             - --enable-leader-election
3783             env:
3784             - name: RUNTIME_NAMESPACE
3785               valueFrom:
3786                 fieldRef:
3787                   fieldPath: metadata.namespace
3788             image: ghcr.io/fluxcd/helm-controller:v0.12.1
3789             imagePullPolicy: IfNotPresent
3790             livenessProbe:
3791               httpGet:
3792                 path: /healthz
3793                 port: healthz
3794             name: manager
3795             ports:
3796             - containerPort: 8080
3797               name: http-prom
3798             - containerPort: 9440
3799               name: healthz
3800               protocol: TCP
3801             readinessProbe:
3802               httpGet:
3803                 path: /readyz
3804                 port: healthz
3805             resources:
3806               limits:
3807                 cpu: 1000m
3808                 memory: 1Gi
3809               requests:
3810                 cpu: 100m
3811                 memory: 64Mi
3812             securityContext:
3813               allowPrivilegeEscalation: false
3814               readOnlyRootFilesystem: true
3815             volumeMounts:
3816             - mountPath: /tmp
3817               name: temp
3818           nodeSelector:
3819             kubernetes.io/os: linux
3820           serviceAccountName: helm-controller
3821           terminationGracePeriodSeconds: 600
3822           volumes:
3823           - emptyDir: {}
3824             name: temp
3825     ---
3826     apiVersion: apps/v1
3827     kind: Deployment
3828     metadata:
3829       labels:
3830         app.kubernetes.io/instance: flux-system
3831         app.kubernetes.io/part-of: flux
3832         app.kubernetes.io/version: v0.20.0
3833         control-plane: controller
3834       name: kustomize-controller
3835       namespace: flux-system
3836     spec:
3837       replicas: 1
3838       selector:
3839         matchLabels:
3840           app: kustomize-controller
3841       template:
3842         metadata:
3843           annotations:
3844             prometheus.io/port: "8080"
3845             prometheus.io/scrape: "true"
3846           labels:
3847             app: kustomize-controller
3848         spec:
3849           containers:
3850           - args:
3851             - --events-addr=http://notification-controller/
3852             - --watch-all-namespaces=true
3853             - --log-level=info
3854             - --log-encoding=json
3855             - --enable-leader-election
3856             env:
3857             - name: RUNTIME_NAMESPACE
3858               valueFrom:
3859                 fieldRef:
3860                   fieldPath: metadata.namespace
3861             image: ghcr.io/fluxcd/kustomize-controller:v0.16.0
3862             imagePullPolicy: IfNotPresent
3863             livenessProbe:
3864               httpGet:
3865                 path: /healthz
3866                 port: healthz
3867             name: manager
3868             ports:
3869             - containerPort: 8080
3870               name: http-prom
3871             - containerPort: 9440
3872               name: healthz
3873               protocol: TCP
3874             readinessProbe:
3875               httpGet:
3876                 path: /readyz
3877                 port: healthz
3878             resources:
3879               limits:
3880                 cpu: 1000m
3881                 memory: 1Gi
3882               requests:
3883                 cpu: 100m
3884                 memory: 64Mi
3885             securityContext:
3886               allowPrivilegeEscalation: false
3887               readOnlyRootFilesystem: true
3888             volumeMounts:
3889             - mountPath: /tmp
3890               name: temp
3891           nodeSelector:
3892             kubernetes.io/os: linux
3893           securityContext:
3894             fsGroup: 1337
3895           serviceAccountName: kustomize-controller
3896           terminationGracePeriodSeconds: 60
3897           volumes:
3898           - emptyDir: {}
3899             name: temp
3900     ---
3901     apiVersion: apps/v1
3902     kind: Deployment
3903     metadata:
3904       labels:
3905         app.kubernetes.io/instance: flux-system
3906         app.kubernetes.io/part-of: flux
3907         app.kubernetes.io/version: v0.20.0
3908         control-plane: controller
3909       name: notification-controller
3910       namespace: flux-system
3911     spec:
3912       replicas: 1
3913       selector:
3914         matchLabels:
3915           app: notification-controller
3916       template:
3917         metadata:
3918           annotations:
3919             prometheus.io/port: "8080"
3920             prometheus.io/scrape: "true"
3921           labels:
3922             app: notification-controller
3923         spec:
3924           containers:
3925           - args:
3926             - --watch-all-namespaces=true
3927             - --log-level=info
3928             - --log-encoding=json
3929             - --enable-leader-election
3930             env:
3931             - name: RUNTIME_NAMESPACE
3932               valueFrom:
3933                 fieldRef:
3934                   fieldPath: metadata.namespace
3935             image: ghcr.io/fluxcd/notification-controller:v0.18.1
3936             imagePullPolicy: IfNotPresent
3937             livenessProbe:
3938               httpGet:
3939                 path: /healthz
3940                 port: healthz
3941             name: manager
3942             ports:
3943             - containerPort: 9090
3944               name: http
3945             - containerPort: 9292
3946               name: http-webhook
3947             - containerPort: 8080
3948               name: http-prom
3949             - containerPort: 9440
3950               name: healthz
3951               protocol: TCP
3952             readinessProbe:
3953               httpGet:
3954                 path: /readyz
3955                 port: healthz
3956             resources:
3957               limits:
3958                 cpu: 1000m
3959                 memory: 1Gi
3960               requests:
3961                 cpu: 100m
3962                 memory: 64Mi
3963             securityContext:
3964               allowPrivilegeEscalation: false
3965               readOnlyRootFilesystem: true
3966             volumeMounts:
3967             - mountPath: /tmp
3968               name: temp
3969           nodeSelector:
3970             kubernetes.io/os: linux
3971           serviceAccountName: notification-controller
3972           terminationGracePeriodSeconds: 10
3973           volumes:
3974           - emptyDir: {}
3975             name: temp
3976     ---
3977     apiVersion: apps/v1
3978     kind: Deployment
3979     metadata:
3980       labels:
3981         app.kubernetes.io/instance: flux-system
3982         app.kubernetes.io/part-of: flux
3983         app.kubernetes.io/version: v0.20.0
3984         control-plane: controller
3985       name: source-controller
3986       namespace: flux-system
3987     spec:
3988       replicas: 1
3989       selector:
3990         matchLabels:
3991           app: source-controller
3992       strategy:
3993         type: Recreate
3994       template:
3995         metadata:
3996           annotations:
3997             prometheus.io/port: "8080"
3998             prometheus.io/scrape: "true"
3999           labels:
4000             app: source-controller
4001         spec:
4002           containers:
4003           - args:
4004             - --events-addr=http://notification-controller/
4005             - --watch-all-namespaces=true
4006             - --log-level=info
4007             - --log-encoding=json
4008             - --enable-leader-election
4009             - --storage-path=/data
4010             - --storage-adv-addr=source-controller.$(RUNTIME_NAMESPACE).svc.cluster.local.
4011             env:
4012             - name: RUNTIME_NAMESPACE
4013               valueFrom:
4014                 fieldRef:
4015                   fieldPath: metadata.namespace
4016             image: ghcr.io/fluxcd/source-controller:v0.17.0
4017             imagePullPolicy: IfNotPresent
4018             livenessProbe:
4019               httpGet:
4020                 path: /healthz
4021                 port: healthz
4022             name: manager
4023             ports:
4024             - containerPort: 9090
4025               name: http
4026             - containerPort: 8080
4027               name: http-prom
4028             - containerPort: 9440
4029               name: healthz
4030             readinessProbe:
4031               httpGet:
4032                 path: /
4033                 port: http
4034             resources:
4035               limits:
4036                 cpu: 1000m
4037                 memory: 1Gi
4038               requests:
4039                 cpu: 50m
4040                 memory: 64Mi
4041             securityContext:
4042               allowPrivilegeEscalation: false
4043               readOnlyRootFilesystem: true
4044             volumeMounts:
4045             - mountPath: /data
4046               name: data
4047             - mountPath: /tmp
4048               name: tmp
4049           nodeSelector:
4050             kubernetes.io/os: linux
4051           securityContext:
4052             fsGroup: 1337
4053           serviceAccountName: source-controller
4054           terminationGracePeriodSeconds: 10
4055           volumes:
4056           - emptyDir: {}
4057             name: data
4058           - emptyDir: {}
4059             name: tmp
4060     ---
4061     apiVersion: networking.k8s.io/v1
4062     kind: NetworkPolicy
4063     metadata:
4064       labels:
4065         app.kubernetes.io/instance: flux-system
4066         app.kubernetes.io/part-of: flux
4067         app.kubernetes.io/version: v0.20.0
4068       name: allow-egress
4069       namespace: flux-system
4070     spec:
4071       egress:
4072       - {}
4073       ingress:
4074       - from:
4075         - podSelector: {}
4076       podSelector: {}
4077       policyTypes:
4078       - Ingress
4079       - Egress
4080     ---
4081     apiVersion: networking.k8s.io/v1
4082     kind: NetworkPolicy
4083     metadata:
4084       labels:
4085         app.kubernetes.io/instance: flux-system
4086         app.kubernetes.io/part-of: flux
4087         app.kubernetes.io/version: v0.20.0
4088       name: allow-scraping
4089       namespace: flux-system
4090     spec:
4091       ingress:
4092       - from:
4093         - namespaceSelector: {}
4094         ports:
4095         - port: 8080
4096           protocol: TCP
4097       podSelector: {}
4098       policyTypes:
4099       - Ingress
4100     ---
4101     apiVersion: networking.k8s.io/v1
4102     kind: NetworkPolicy
4103     metadata:
4104       labels:
4105         app.kubernetes.io/instance: flux-system
4106         app.kubernetes.io/part-of: flux
4107         app.kubernetes.io/version: v0.20.0
4108       name: allow-webhooks
4109       namespace: flux-system
4110     spec:
4111       ingress:
4112       - from:
4113         - namespaceSelector: {}
4114       podSelector:
4115         matchLabels:
4116           app: notification-controller
4117       policyTypes:
4118       - Ingress
4119     ---
4120   sync.yaml: |
4121     ---
4122     apiVersion: source.toolkit.fluxcd.io/v1beta1
4123     kind: GitRepository
4124     metadata:
4125       name: {{ $cluster.flux.repositoryName }}
4126       namespace: flux-system
4127     spec:
4128       gitImplementation: go-git
4129       interval: 1m0s
4130       ref:
4131         branch: {{ $cluster.flux.branch }}
4132       timeout: 20s
4133       url: {{ $cluster.flux.url }}
4134     ---
4135     apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
4136     kind: Kustomization
4137     metadata:
4138       name: {{ $clusterName }}-flux-sync
4139       namespace: flux-system
4140     spec:
4141       interval: 10m0s
4142       path: {{ $cluster.flux.path }}
4143       prune: true
4144       sourceRef:
4145         kind: GitRepository
4146         name: {{ $cluster.flux.repositoryName }}
4147 kind: ConfigMap
4148 metadata:
4149   creationTimestamp: null
4150   name: {{ $clusterName }}-flux-addon
4151 {{- end }}
4152 {{- end }}