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