50cc8d3067a15079b634c678f87f58a1343f5651
[osm/devops.git] /
1 #######################################################################################
2 # Copyright ETSI Contributors and Others.
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #    http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
13 # implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 #######################################################################################
17
18 ---
19 # This manifest was generated by flux. DO NOT EDIT.
20 # Flux Version: v2.1.2
21 # Components: source-controller,kustomize-controller,helm-controller,notification-controller
22 apiVersion: v1
23 kind: Namespace
24 metadata:
25   labels:
26     app.kubernetes.io/instance: flux-system
27     app.kubernetes.io/part-of: flux
28     app.kubernetes.io/version: v2.1.2
29     pod-security.kubernetes.io/warn: restricted
30     pod-security.kubernetes.io/warn-version: latest
31   name: flux-system
32 ---
33 apiVersion: networking.k8s.io/v1
34 kind: NetworkPolicy
35 metadata:
36   labels:
37     app.kubernetes.io/instance: flux-system
38     app.kubernetes.io/part-of: flux
39     app.kubernetes.io/version: v2.1.2
40   name: allow-egress
41   namespace: flux-system
42 spec:
43   egress:
44   - {}
45   ingress:
46   - from:
47     - podSelector: {}
48   podSelector: {}
49   policyTypes:
50   - Ingress
51   - Egress
52 ---
53 apiVersion: networking.k8s.io/v1
54 kind: NetworkPolicy
55 metadata:
56   labels:
57     app.kubernetes.io/instance: flux-system
58     app.kubernetes.io/part-of: flux
59     app.kubernetes.io/version: v2.1.2
60   name: allow-scraping
61   namespace: flux-system
62 spec:
63   ingress:
64   - from:
65     - namespaceSelector: {}
66     ports:
67     - port: 8080
68       protocol: TCP
69   podSelector: {}
70   policyTypes:
71   - Ingress
72 ---
73 apiVersion: networking.k8s.io/v1
74 kind: NetworkPolicy
75 metadata:
76   labels:
77     app.kubernetes.io/instance: flux-system
78     app.kubernetes.io/part-of: flux
79     app.kubernetes.io/version: v2.1.2
80   name: allow-webhooks
81   namespace: flux-system
82 spec:
83   ingress:
84   - from:
85     - namespaceSelector: {}
86   podSelector:
87     matchLabels:
88       app: notification-controller
89   policyTypes:
90   - Ingress
91 ---
92 apiVersion: v1
93 kind: ResourceQuota
94 metadata:
95   labels:
96     app.kubernetes.io/instance: flux-system
97     app.kubernetes.io/part-of: flux
98     app.kubernetes.io/version: v2.1.2
99   name: critical-pods-flux-system
100   namespace: flux-system
101 spec:
102   hard:
103     pods: "1000"
104   scopeSelector:
105     matchExpressions:
106     - operator: In
107       scopeName: PriorityClass
108       values:
109       - system-node-critical
110       - system-cluster-critical
111 ---
112 apiVersion: rbac.authorization.k8s.io/v1
113 kind: ClusterRole
114 metadata:
115   labels:
116     app.kubernetes.io/instance: flux-system
117     app.kubernetes.io/part-of: flux
118     app.kubernetes.io/version: v2.1.2
119   name: crd-controller-flux-system
120 rules:
121 - apiGroups:
122   - source.toolkit.fluxcd.io
123   resources:
124   - '*'
125   verbs:
126   - '*'
127 - apiGroups:
128   - kustomize.toolkit.fluxcd.io
129   resources:
130   - '*'
131   verbs:
132   - '*'
133 - apiGroups:
134   - helm.toolkit.fluxcd.io
135   resources:
136   - '*'
137   verbs:
138   - '*'
139 - apiGroups:
140   - notification.toolkit.fluxcd.io
141   resources:
142   - '*'
143   verbs:
144   - '*'
145 - apiGroups:
146   - image.toolkit.fluxcd.io
147   resources:
148   - '*'
149   verbs:
150   - '*'
151 - apiGroups:
152   - ""
153   resources:
154   - namespaces
155   - secrets
156   - configmaps
157   - serviceaccounts
158   verbs:
159   - get
160   - list
161   - watch
162 - apiGroups:
163   - ""
164   resources:
165   - events
166   verbs:
167   - create
168   - patch
169 - apiGroups:
170   - ""
171   resources:
172   - configmaps
173   verbs:
174   - get
175   - list
176   - watch
177   - create
178   - update
179   - patch
180   - delete
181 - apiGroups:
182   - ""
183   resources:
184   - configmaps/status
185   verbs:
186   - get
187   - update
188   - patch
189 - apiGroups:
190   - coordination.k8s.io
191   resources:
192   - leases
193   verbs:
194   - get
195   - list
196   - watch
197   - create
198   - update
199   - patch
200   - delete
201 ---
202 apiVersion: rbac.authorization.k8s.io/v1
203 kind: ClusterRole
204 metadata:
205   labels:
206     app.kubernetes.io/instance: flux-system
207     app.kubernetes.io/part-of: flux
208     app.kubernetes.io/version: v2.1.2
209     rbac.authorization.k8s.io/aggregate-to-admin: "true"
210     rbac.authorization.k8s.io/aggregate-to-edit: "true"
211   name: flux-edit-flux-system
212 rules:
213 - apiGroups:
214   - notification.toolkit.fluxcd.io
215   - source.toolkit.fluxcd.io
216   - helm.toolkit.fluxcd.io
217   - image.toolkit.fluxcd.io
218   - kustomize.toolkit.fluxcd.io
219   resources:
220   - '*'
221   verbs:
222   - create
223   - delete
224   - deletecollection
225   - patch
226   - update
227 ---
228 apiVersion: rbac.authorization.k8s.io/v1
229 kind: ClusterRole
230 metadata:
231   labels:
232     app.kubernetes.io/instance: flux-system
233     app.kubernetes.io/part-of: flux
234     app.kubernetes.io/version: v2.1.2
235     rbac.authorization.k8s.io/aggregate-to-admin: "true"
236     rbac.authorization.k8s.io/aggregate-to-edit: "true"
237     rbac.authorization.k8s.io/aggregate-to-view: "true"
238   name: flux-view-flux-system
239 rules:
240 - apiGroups:
241   - notification.toolkit.fluxcd.io
242   - source.toolkit.fluxcd.io
243   - helm.toolkit.fluxcd.io
244   - image.toolkit.fluxcd.io
245   - kustomize.toolkit.fluxcd.io
246   resources:
247   - '*'
248   verbs:
249   - get
250   - list
251   - watch
252 ---
253 apiVersion: rbac.authorization.k8s.io/v1
254 kind: ClusterRoleBinding
255 metadata:
256   labels:
257     app.kubernetes.io/instance: flux-system
258     app.kubernetes.io/part-of: flux
259     app.kubernetes.io/version: v2.1.2
260   name: cluster-reconciler-flux-system
261 roleRef:
262   apiGroup: rbac.authorization.k8s.io
263   kind: ClusterRole
264   name: cluster-admin
265 subjects:
266 - kind: ServiceAccount
267   name: kustomize-controller
268   namespace: flux-system
269 - kind: ServiceAccount
270   name: helm-controller
271   namespace: flux-system
272 ---
273 apiVersion: rbac.authorization.k8s.io/v1
274 kind: ClusterRoleBinding
275 metadata:
276   labels:
277     app.kubernetes.io/instance: flux-system
278     app.kubernetes.io/part-of: flux
279     app.kubernetes.io/version: v2.1.2
280   name: crd-controller-flux-system
281 roleRef:
282   apiGroup: rbac.authorization.k8s.io
283   kind: ClusterRole
284   name: crd-controller-flux-system
285 subjects:
286 - kind: ServiceAccount
287   name: kustomize-controller
288   namespace: flux-system
289 - kind: ServiceAccount
290   name: helm-controller
291   namespace: flux-system
292 - kind: ServiceAccount
293   name: source-controller
294   namespace: flux-system
295 - kind: ServiceAccount
296   name: notification-controller
297   namespace: flux-system
298 - kind: ServiceAccount
299   name: image-reflector-controller
300   namespace: flux-system
301 - kind: ServiceAccount
302   name: image-automation-controller
303   namespace: flux-system
304 ---
305 apiVersion: apiextensions.k8s.io/v1
306 kind: CustomResourceDefinition
307 metadata:
308   annotations:
309     controller-gen.kubebuilder.io/version: v0.12.0
310   labels:
311     app.kubernetes.io/component: source-controller
312     app.kubernetes.io/instance: flux-system
313     app.kubernetes.io/part-of: flux
314     app.kubernetes.io/version: v2.1.2
315   name: buckets.source.toolkit.fluxcd.io
316 spec:
317   group: source.toolkit.fluxcd.io
318   names:
319     kind: Bucket
320     listKind: BucketList
321     plural: buckets
322     singular: bucket
323   scope: Namespaced
324   versions:
325   - additionalPrinterColumns:
326     - jsonPath: .spec.endpoint
327       name: Endpoint
328       type: string
329     - jsonPath: .status.conditions[?(@.type=="Ready")].status
330       name: Ready
331       type: string
332     - jsonPath: .status.conditions[?(@.type=="Ready")].message
333       name: Status
334       type: string
335     - jsonPath: .metadata.creationTimestamp
336       name: Age
337       type: date
338     name: v1beta1
339     schema:
340       openAPIV3Schema:
341         description: Bucket is the Schema for the buckets API
342         properties:
343           apiVersion:
344             description: 'APIVersion defines the versioned schema of this representation
345               of an object. Servers should convert recognized schemas to the latest
346               internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
347             type: string
348           kind:
349             description: 'Kind is a string value representing the REST resource this
350               object represents. Servers may infer this from the endpoint the client
351               submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
352             type: string
353           metadata:
354             type: object
355           spec:
356             description: BucketSpec defines the desired state of an S3 compatible
357               bucket
358             properties:
359               accessFrom:
360                 description: AccessFrom defines an Access Control List for allowing
361                   cross-namespace references to this object.
362                 properties:
363                   namespaceSelectors:
364                     description: NamespaceSelectors is the list of namespace selectors
365                       to which this ACL applies. Items in this list are evaluated
366                       using a logical OR operation.
367                     items:
368                       description: NamespaceSelector selects the namespaces to which
369                         this ACL applies. An empty map of MatchLabels matches all
370                         namespaces in a cluster.
371                       properties:
372                         matchLabels:
373                           additionalProperties:
374                             type: string
375                           description: MatchLabels is a map of {key,value} pairs.
376                             A single {key,value} in the matchLabels map is equivalent
377                             to an element of matchExpressions, whose key field is
378                             "key", the operator is "In", and the values array contains
379                             only "value". The requirements are ANDed.
380                           type: object
381                       type: object
382                     type: array
383                 required:
384                 - namespaceSelectors
385                 type: object
386               bucketName:
387                 description: The bucket name.
388                 type: string
389               endpoint:
390                 description: The bucket endpoint address.
391                 type: string
392               ignore:
393                 description: Ignore overrides the set of excluded patterns in the
394                   .sourceignore format (which is the same as .gitignore). If not provided,
395                   a default will be used, consult the documentation for your version
396                   to find out what those are.
397                 type: string
398               insecure:
399                 description: Insecure allows connecting to a non-TLS S3 HTTP endpoint.
400                 type: boolean
401               interval:
402                 description: The interval at which to check for bucket updates.
403                 type: string
404               provider:
405                 default: generic
406                 description: The S3 compatible storage provider name, default ('generic').
407                 enum:
408                 - generic
409                 - aws
410                 - gcp
411                 type: string
412               region:
413                 description: The bucket region.
414                 type: string
415               secretRef:
416                 description: The name of the secret containing authentication credentials
417                   for the Bucket.
418                 properties:
419                   name:
420                     description: Name of the referent.
421                     type: string
422                 required:
423                 - name
424                 type: object
425               suspend:
426                 description: This flag tells the controller to suspend the reconciliation
427                   of this source.
428                 type: boolean
429               timeout:
430                 default: 60s
431                 description: The timeout for download operations, defaults to 60s.
432                 type: string
433             required:
434             - bucketName
435             - endpoint
436             - interval
437             type: object
438           status:
439             default:
440               observedGeneration: -1
441             description: BucketStatus defines the observed state of a bucket
442             properties:
443               artifact:
444                 description: Artifact represents the output of the last successful
445                   Bucket sync.
446                 properties:
447                   checksum:
448                     description: Checksum is the SHA256 checksum of the artifact.
449                     type: string
450                   lastUpdateTime:
451                     description: LastUpdateTime is the timestamp corresponding to
452                       the last update of this artifact.
453                     format: date-time
454                     type: string
455                   path:
456                     description: Path is the relative file path of this artifact.
457                     type: string
458                   revision:
459                     description: Revision is a human readable identifier traceable
460                       in the origin source system. It can be a Git commit SHA, Git
461                       tag, a Helm index timestamp, a Helm chart version, etc.
462                     type: string
463                   url:
464                     description: URL is the HTTP address of this artifact.
465                     type: string
466                 required:
467                 - path
468                 - url
469                 type: object
470               conditions:
471                 description: Conditions holds the conditions for the Bucket.
472                 items:
473                   description: "Condition contains details for one aspect of the current
474                     state of this API Resource. --- This struct is intended for direct
475                     use as an array at the field path .status.conditions.  For example,
476                     \n type FooStatus struct{ // Represents the observations of a
477                     foo's current state. // Known .status.conditions.type are: \"Available\",
478                     \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
479                     // +listType=map // +listMapKey=type Conditions []metav1.Condition
480                     `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
481                     protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
482                   properties:
483                     lastTransitionTime:
484                       description: lastTransitionTime is the last time the condition
485                         transitioned from one status to another. This should be when
486                         the underlying condition changed.  If that is not known, then
487                         using the time when the API field changed is acceptable.
488                       format: date-time
489                       type: string
490                     message:
491                       description: message is a human readable message indicating
492                         details about the transition. This may be an empty string.
493                       maxLength: 32768
494                       type: string
495                     observedGeneration:
496                       description: observedGeneration represents the .metadata.generation
497                         that the condition was set based upon. For instance, if .metadata.generation
498                         is currently 12, but the .status.conditions[x].observedGeneration
499                         is 9, the condition is out of date with respect to the current
500                         state of the instance.
501                       format: int64
502                       minimum: 0
503                       type: integer
504                     reason:
505                       description: reason contains a programmatic identifier indicating
506                         the reason for the condition's last transition. Producers
507                         of specific condition types may define expected values and
508                         meanings for this field, and whether the values are considered
509                         a guaranteed API. The value should be a CamelCase string.
510                         This field may not be empty.
511                       maxLength: 1024
512                       minLength: 1
513                       pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
514                       type: string
515                     status:
516                       description: status of the condition, one of True, False, Unknown.
517                       enum:
518                       - "True"
519                       - "False"
520                       - Unknown
521                       type: string
522                     type:
523                       description: type of condition in CamelCase or in foo.example.com/CamelCase.
524                         --- Many .condition.type values are consistent across resources
525                         like Available, but because arbitrary conditions can be useful
526                         (see .node.status.conditions), the ability to deconflict is
527                         important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
528                       maxLength: 316
529                       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])$
530                       type: string
531                   required:
532                   - lastTransitionTime
533                   - message
534                   - reason
535                   - status
536                   - type
537                   type: object
538                 type: array
539               lastHandledReconcileAt:
540                 description: LastHandledReconcileAt holds the value of the most recent
541                   reconcile request value, so a change of the annotation value can
542                   be detected.
543                 type: string
544               observedGeneration:
545                 description: ObservedGeneration is the last observed generation.
546                 format: int64
547                 type: integer
548               url:
549                 description: URL is the download link for the artifact output of the
550                   last Bucket sync.
551                 type: string
552             type: object
553         type: object
554     served: true
555     storage: false
556     subresources:
557       status: {}
558   - additionalPrinterColumns:
559     - jsonPath: .spec.endpoint
560       name: Endpoint
561       type: string
562     - jsonPath: .metadata.creationTimestamp
563       name: Age
564       type: date
565     - jsonPath: .status.conditions[?(@.type=="Ready")].status
566       name: Ready
567       type: string
568     - jsonPath: .status.conditions[?(@.type=="Ready")].message
569       name: Status
570       type: string
571     name: v1beta2
572     schema:
573       openAPIV3Schema:
574         description: Bucket is the Schema for the buckets API.
575         properties:
576           apiVersion:
577             description: 'APIVersion defines the versioned schema of this representation
578               of an object. Servers should convert recognized schemas to the latest
579               internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
580             type: string
581           kind:
582             description: 'Kind is a string value representing the REST resource this
583               object represents. Servers may infer this from the endpoint the client
584               submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
585             type: string
586           metadata:
587             type: object
588           spec:
589             description: BucketSpec specifies the required configuration to produce
590               an Artifact for an object storage bucket.
591             properties:
592               accessFrom:
593                 description: 'AccessFrom specifies an Access Control List for allowing
594                   cross-namespace references to this object. NOTE: Not implemented,
595                   provisional as of https://github.com/fluxcd/flux2/pull/2092'
596                 properties:
597                   namespaceSelectors:
598                     description: NamespaceSelectors is the list of namespace selectors
599                       to which this ACL applies. Items in this list are evaluated
600                       using a logical OR operation.
601                     items:
602                       description: NamespaceSelector selects the namespaces to which
603                         this ACL applies. An empty map of MatchLabels matches all
604                         namespaces in a cluster.
605                       properties:
606                         matchLabels:
607                           additionalProperties:
608                             type: string
609                           description: MatchLabels is a map of {key,value} pairs.
610                             A single {key,value} in the matchLabels map is equivalent
611                             to an element of matchExpressions, whose key field is
612                             "key", the operator is "In", and the values array contains
613                             only "value". The requirements are ANDed.
614                           type: object
615                       type: object
616                     type: array
617                 required:
618                 - namespaceSelectors
619                 type: object
620               bucketName:
621                 description: BucketName is the name of the object storage bucket.
622                 type: string
623               endpoint:
624                 description: Endpoint is the object storage address the BucketName
625                   is located at.
626                 type: string
627               ignore:
628                 description: Ignore overrides the set of excluded patterns in the
629                   .sourceignore format (which is the same as .gitignore). If not provided,
630                   a default will be used, consult the documentation for your version
631                   to find out what those are.
632                 type: string
633               insecure:
634                 description: Insecure allows connecting to a non-TLS HTTP Endpoint.
635                 type: boolean
636               interval:
637                 description: Interval at which the Bucket Endpoint is checked for
638                   updates. This interval is approximate and may be subject to jitter
639                   to ensure efficient use of resources.
640                 pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
641                 type: string
642               provider:
643                 default: generic
644                 description: Provider of the object storage bucket. Defaults to 'generic',
645                   which expects an S3 (API) compatible object storage.
646                 enum:
647                 - generic
648                 - aws
649                 - gcp
650                 - azure
651                 type: string
652               region:
653                 description: Region of the Endpoint where the BucketName is located
654                   in.
655                 type: string
656               secretRef:
657                 description: SecretRef specifies the Secret containing authentication
658                   credentials for the Bucket.
659                 properties:
660                   name:
661                     description: Name of the referent.
662                     type: string
663                 required:
664                 - name
665                 type: object
666               suspend:
667                 description: Suspend tells the controller to suspend the reconciliation
668                   of this Bucket.
669                 type: boolean
670               timeout:
671                 default: 60s
672                 description: Timeout for fetch operations, defaults to 60s.
673                 pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$
674                 type: string
675             required:
676             - bucketName
677             - endpoint
678             - interval
679             type: object
680           status:
681             default:
682               observedGeneration: -1
683             description: BucketStatus records the observed state of a Bucket.
684             properties:
685               artifact:
686                 description: Artifact represents the last successful Bucket reconciliation.
687                 properties:
688                   digest:
689                     description: Digest is the digest of the file in the form of '<algorithm>:<checksum>'.
690                     pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$
691                     type: string
692                   lastUpdateTime:
693                     description: LastUpdateTime is the timestamp corresponding to
694                       the last update of the Artifact.
695                     format: date-time
696                     type: string
697                   metadata:
698                     additionalProperties:
699                       type: string
700                     description: Metadata holds upstream information such as OCI annotations.
701                     type: object
702                   path:
703                     description: Path is the relative file path of the Artifact. It
704                       can be used to locate the file in the root of the Artifact storage
705                       on the local file system of the controller managing the Source.
706                     type: string
707                   revision:
708                     description: Revision is a human-readable identifier traceable
709                       in the origin source system. It can be a Git commit SHA, Git
710                       tag, a Helm chart version, etc.
711                     type: string
712                   size:
713                     description: Size is the number of bytes in the file.
714                     format: int64
715                     type: integer
716                   url:
717                     description: URL is the HTTP address of the Artifact as exposed
718                       by the controller managing the Source. It can be used to retrieve
719                       the Artifact for consumption, e.g. by another controller applying
720                       the Artifact contents.
721                     type: string
722                 required:
723                 - lastUpdateTime
724                 - path
725                 - revision
726                 - url
727                 type: object
728               conditions:
729                 description: Conditions holds the conditions for the Bucket.
730                 items:
731                   description: "Condition contains details for one aspect of the current
732                     state of this API Resource. --- This struct is intended for direct
733                     use as an array at the field path .status.conditions.  For example,
734                     \n type FooStatus struct{ // Represents the observations of a
735                     foo's current state. // Known .status.conditions.type are: \"Available\",
736                     \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
737                     // +listType=map // +listMapKey=type Conditions []metav1.Condition
738                     `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
739                     protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
740                   properties:
741                     lastTransitionTime:
742                       description: lastTransitionTime is the last time the condition
743                         transitioned from one status to another. This should be when
744                         the underlying condition changed.  If that is not known, then
745                         using the time when the API field changed is acceptable.
746                       format: date-time
747                       type: string
748                     message:
749                       description: message is a human readable message indicating
750                         details about the transition. This may be an empty string.
751                       maxLength: 32768
752                       type: string
753                     observedGeneration:
754                       description: observedGeneration represents the .metadata.generation
755                         that the condition was set based upon. For instance, if .metadata.generation
756                         is currently 12, but the .status.conditions[x].observedGeneration
757                         is 9, the condition is out of date with respect to the current
758                         state of the instance.
759                       format: int64
760                       minimum: 0
761                       type: integer
762                     reason:
763                       description: reason contains a programmatic identifier indicating
764                         the reason for the condition's last transition. Producers
765                         of specific condition types may define expected values and
766                         meanings for this field, and whether the values are considered
767                         a guaranteed API. The value should be a CamelCase string.
768                         This field may not be empty.
769                       maxLength: 1024
770                       minLength: 1
771                       pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
772                       type: string
773                     status:
774                       description: status of the condition, one of True, False, Unknown.
775                       enum:
776                       - "True"
777                       - "False"
778                       - Unknown
779                       type: string
780                     type:
781                       description: type of condition in CamelCase or in foo.example.com/CamelCase.
782                         --- Many .condition.type values are consistent across resources
783                         like Available, but because arbitrary conditions can be useful
784                         (see .node.status.conditions), the ability to deconflict is
785                         important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
786                       maxLength: 316
787                       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])$
788                       type: string
789                   required:
790                   - lastTransitionTime
791                   - message
792                   - reason
793                   - status
794                   - type
795                   type: object
796                 type: array
797               lastHandledReconcileAt:
798                 description: LastHandledReconcileAt holds the value of the most recent
799                   reconcile request value, so a change of the annotation value can
800                   be detected.
801                 type: string
802               observedGeneration:
803                 description: ObservedGeneration is the last observed generation of
804                   the Bucket object.
805                 format: int64
806                 type: integer
807               observedIgnore:
808                 description: ObservedIgnore is the observed exclusion patterns used
809                   for constructing the source artifact.
810                 type: string
811               url:
812                 description: URL is the dynamic fetch link for the latest Artifact.
813                   It is provided on a "best effort" basis, and using the precise BucketStatus.Artifact
814                   data is recommended.
815                 type: string
816             type: object
817         type: object
818     served: true
819     storage: true
820     subresources:
821       status: {}
822 ---
823 apiVersion: apiextensions.k8s.io/v1
824 kind: CustomResourceDefinition
825 metadata:
826   annotations:
827     controller-gen.kubebuilder.io/version: v0.12.0
828   labels:
829     app.kubernetes.io/component: source-controller
830     app.kubernetes.io/instance: flux-system
831     app.kubernetes.io/part-of: flux
832     app.kubernetes.io/version: v2.1.2
833   name: gitrepositories.source.toolkit.fluxcd.io
834 spec:
835   group: source.toolkit.fluxcd.io
836   names:
837     kind: GitRepository
838     listKind: GitRepositoryList
839     plural: gitrepositories
840     shortNames:
841     - gitrepo
842     singular: gitrepository
843   scope: Namespaced
844   versions:
845   - additionalPrinterColumns:
846     - jsonPath: .spec.url
847       name: URL
848       type: string
849     - jsonPath: .metadata.creationTimestamp
850       name: Age
851       type: date
852     - jsonPath: .status.conditions[?(@.type=="Ready")].status
853       name: Ready
854       type: string
855     - jsonPath: .status.conditions[?(@.type=="Ready")].message
856       name: Status
857       type: string
858     name: v1
859     schema:
860       openAPIV3Schema:
861         description: GitRepository is the Schema for the gitrepositories API.
862         properties:
863           apiVersion:
864             description: 'APIVersion defines the versioned schema of this representation
865               of an object. Servers should convert recognized schemas to the latest
866               internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
867             type: string
868           kind:
869             description: 'Kind is a string value representing the REST resource this
870               object represents. Servers may infer this from the endpoint the client
871               submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
872             type: string
873           metadata:
874             type: object
875           spec:
876             description: GitRepositorySpec specifies the required configuration to
877               produce an Artifact for a Git repository.
878             properties:
879               ignore:
880                 description: Ignore overrides the set of excluded patterns in the
881                   .sourceignore format (which is the same as .gitignore). If not provided,
882                   a default will be used, consult the documentation for your version
883                   to find out what those are.
884                 type: string
885               include:
886                 description: Include specifies a list of GitRepository resources which
887                   Artifacts should be included in the Artifact produced for this GitRepository.
888                 items:
889                   description: GitRepositoryInclude specifies a local reference to
890                     a GitRepository which Artifact (sub-)contents must be included,
891                     and where they should be placed.
892                   properties:
893                     fromPath:
894                       description: FromPath specifies the path to copy contents from,
895                         defaults to the root of the Artifact.
896                       type: string
897                     repository:
898                       description: GitRepositoryRef specifies the GitRepository which
899                         Artifact contents must be included.
900                       properties:
901                         name:
902                           description: Name of the referent.
903                           type: string
904                       required:
905                       - name
906                       type: object
907                     toPath:
908                       description: ToPath specifies the path to copy contents to,
909                         defaults to the name of the GitRepositoryRef.
910                       type: string
911                   required:
912                   - repository
913                   type: object
914                 type: array
915               interval:
916                 description: Interval at which the GitRepository URL is checked for
917                   updates. This interval is approximate and may be subject to jitter
918                   to ensure efficient use of resources.
919                 pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
920                 type: string
921               proxySecretRef:
922                 description: ProxySecretRef specifies the Secret containing the proxy
923                   configuration to use while communicating with the Git server.
924                 properties:
925                   name:
926                     description: Name of the referent.
927                     type: string
928                 required:
929                 - name
930                 type: object
931               recurseSubmodules:
932                 description: RecurseSubmodules enables the initialization of all submodules
933                   within the GitRepository as cloned from the URL, using their default
934                   settings.
935                 type: boolean
936               ref:
937                 description: Reference specifies the Git reference to resolve and
938                   monitor for changes, defaults to the 'master' branch.
939                 properties:
940                   branch:
941                     description: Branch to check out, defaults to 'master' if no other
942                       field is defined.
943                     type: string
944                   commit:
945                     description: "Commit SHA to check out, takes precedence over all
946                       reference fields. \n This can be combined with Branch to shallow
947                       clone the branch, in which the commit is expected to exist."
948                     type: string
949                   name:
950                     description: "Name of the reference to check out; takes precedence
951                       over Branch, Tag and SemVer. \n It must be a valid Git reference:
952                       https://git-scm.com/docs/git-check-ref-format#_description Examples:
953                       \"refs/heads/main\", \"refs/tags/v0.1.0\", \"refs/pull/420/head\",
954                       \"refs/merge-requests/1/head\""
955                     type: string
956                   semver:
957                     description: SemVer tag expression to check out, takes precedence
958                       over Tag.
959                     type: string
960                   tag:
961                     description: Tag to check out, takes precedence over Branch.
962                     type: string
963                 type: object
964               secretRef:
965                 description: SecretRef specifies the Secret containing authentication
966                   credentials for the GitRepository. For HTTPS repositories the Secret
967                   must contain 'username' and 'password' fields for basic auth or
968                   'bearerToken' field for token auth. For SSH repositories the Secret
969                   must contain 'identity' and 'known_hosts' fields.
970                 properties:
971                   name:
972                     description: Name of the referent.
973                     type: string
974                 required:
975                 - name
976                 type: object
977               suspend:
978                 description: Suspend tells the controller to suspend the reconciliation
979                   of this GitRepository.
980                 type: boolean
981               timeout:
982                 default: 60s
983                 description: Timeout for Git operations like cloning, defaults to
984                   60s.
985                 pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$
986                 type: string
987               url:
988                 description: URL specifies the Git repository URL, it can be an HTTP/S
989                   or SSH address.
990                 pattern: ^(http|https|ssh)://.*$
991                 type: string
992               verify:
993                 description: Verification specifies the configuration to verify the
994                   Git commit signature(s).
995                 properties:
996                   mode:
997                     default: HEAD
998                     description: "Mode specifies which Git object(s) should be verified.
999                       \n The variants \"head\" and \"HEAD\" both imply the same thing,
1000                       i.e. verify the commit that the HEAD of the Git repository points
1001                       to. The variant \"head\" solely exists to ensure backwards compatibility."
1002                     enum:
1003                     - head
1004                     - HEAD
1005                     - Tag
1006                     - TagAndHEAD
1007                     type: string
1008                   secretRef:
1009                     description: SecretRef specifies the Secret containing the public
1010                       keys of trusted Git authors.
1011                     properties:
1012                       name:
1013                         description: Name of the referent.
1014                         type: string
1015                     required:
1016                     - name
1017                     type: object
1018                 required:
1019                 - secretRef
1020                 type: object
1021             required:
1022             - interval
1023             - url
1024             type: object
1025           status:
1026             default:
1027               observedGeneration: -1
1028             description: GitRepositoryStatus records the observed state of a Git repository.
1029             properties:
1030               artifact:
1031                 description: Artifact represents the last successful GitRepository
1032                   reconciliation.
1033                 properties:
1034                   digest:
1035                     description: Digest is the digest of the file in the form of '<algorithm>:<checksum>'.
1036                     pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$
1037                     type: string
1038                   lastUpdateTime:
1039                     description: LastUpdateTime is the timestamp corresponding to
1040                       the last update of the Artifact.
1041                     format: date-time
1042                     type: string
1043                   metadata:
1044                     additionalProperties:
1045                       type: string
1046                     description: Metadata holds upstream information such as OCI annotations.
1047                     type: object
1048                   path:
1049                     description: Path is the relative file path of the Artifact. It
1050                       can be used to locate the file in the root of the Artifact storage
1051                       on the local file system of the controller managing the Source.
1052                     type: string
1053                   revision:
1054                     description: Revision is a human-readable identifier traceable
1055                       in the origin source system. It can be a Git commit SHA, Git
1056                       tag, a Helm chart version, etc.
1057                     type: string
1058                   size:
1059                     description: Size is the number of bytes in the file.
1060                     format: int64
1061                     type: integer
1062                   url:
1063                     description: URL is the HTTP address of the Artifact as exposed
1064                       by the controller managing the Source. It can be used to retrieve
1065                       the Artifact for consumption, e.g. by another controller applying
1066                       the Artifact contents.
1067                     type: string
1068                 required:
1069                 - lastUpdateTime
1070                 - path
1071                 - revision
1072                 - url
1073                 type: object
1074               conditions:
1075                 description: Conditions holds the conditions for the GitRepository.
1076                 items:
1077                   description: "Condition contains details for one aspect of the current
1078                     state of this API Resource. --- This struct is intended for direct
1079                     use as an array at the field path .status.conditions.  For example,
1080                     \n type FooStatus struct{ // Represents the observations of a
1081                     foo's current state. // Known .status.conditions.type are: \"Available\",
1082                     \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
1083                     // +listType=map // +listMapKey=type Conditions []metav1.Condition
1084                     `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
1085                     protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
1086                   properties:
1087                     lastTransitionTime:
1088                       description: lastTransitionTime is the last time the condition
1089                         transitioned from one status to another. This should be when
1090                         the underlying condition changed.  If that is not known, then
1091                         using the time when the API field changed is acceptable.
1092                       format: date-time
1093                       type: string
1094                     message:
1095                       description: message is a human readable message indicating
1096                         details about the transition. This may be an empty string.
1097                       maxLength: 32768
1098                       type: string
1099                     observedGeneration:
1100                       description: observedGeneration represents the .metadata.generation
1101                         that the condition was set based upon. For instance, if .metadata.generation
1102                         is currently 12, but the .status.conditions[x].observedGeneration
1103                         is 9, the condition is out of date with respect to the current
1104                         state of the instance.
1105                       format: int64
1106                       minimum: 0
1107                       type: integer
1108                     reason:
1109                       description: reason contains a programmatic identifier indicating
1110                         the reason for the condition's last transition. Producers
1111                         of specific condition types may define expected values and
1112                         meanings for this field, and whether the values are considered
1113                         a guaranteed API. The value should be a CamelCase string.
1114                         This field may not be empty.
1115                       maxLength: 1024
1116                       minLength: 1
1117                       pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
1118                       type: string
1119                     status:
1120                       description: status of the condition, one of True, False, Unknown.
1121                       enum:
1122                       - "True"
1123                       - "False"
1124                       - Unknown
1125                       type: string
1126                     type:
1127                       description: type of condition in CamelCase or in foo.example.com/CamelCase.
1128                         --- Many .condition.type values are consistent across resources
1129                         like Available, but because arbitrary conditions can be useful
1130                         (see .node.status.conditions), the ability to deconflict is
1131                         important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
1132                       maxLength: 316
1133                       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])$
1134                       type: string
1135                   required:
1136                   - lastTransitionTime
1137                   - message
1138                   - reason
1139                   - status
1140                   - type
1141                   type: object
1142                 type: array
1143               includedArtifacts:
1144                 description: IncludedArtifacts contains a list of the last successfully
1145                   included Artifacts as instructed by GitRepositorySpec.Include.
1146                 items:
1147                   description: Artifact represents the output of a Source reconciliation.
1148                   properties:
1149                     digest:
1150                       description: Digest is the digest of the file in the form of
1151                         '<algorithm>:<checksum>'.
1152                       pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$
1153                       type: string
1154                     lastUpdateTime:
1155                       description: LastUpdateTime is the timestamp corresponding to
1156                         the last update of the Artifact.
1157                       format: date-time
1158                       type: string
1159                     metadata:
1160                       additionalProperties:
1161                         type: string
1162                       description: Metadata holds upstream information such as OCI
1163                         annotations.
1164                       type: object
1165                     path:
1166                       description: Path is the relative file path of the Artifact.
1167                         It can be used to locate the file in the root of the Artifact
1168                         storage on the local file system of the controller managing
1169                         the Source.
1170                       type: string
1171                     revision:
1172                       description: Revision is a human-readable identifier traceable
1173                         in the origin source system. It can be a Git commit SHA, Git
1174                         tag, a Helm chart version, etc.
1175                       type: string
1176                     size:
1177                       description: Size is the number of bytes in the file.
1178                       format: int64
1179                       type: integer
1180                     url:
1181                       description: URL is the HTTP address of the Artifact as exposed
1182                         by the controller managing the Source. It can be used to retrieve
1183                         the Artifact for consumption, e.g. by another controller applying
1184                         the Artifact contents.
1185                       type: string
1186                   required:
1187                   - lastUpdateTime
1188                   - path
1189                   - revision
1190                   - url
1191                   type: object
1192                 type: array
1193               lastHandledReconcileAt:
1194                 description: LastHandledReconcileAt holds the value of the most recent
1195                   reconcile request value, so a change of the annotation value can
1196                   be detected.
1197                 type: string
1198               observedGeneration:
1199                 description: ObservedGeneration is the last observed generation of
1200                   the GitRepository object.
1201                 format: int64
1202                 type: integer
1203               observedIgnore:
1204                 description: ObservedIgnore is the observed exclusion patterns used
1205                   for constructing the source artifact.
1206                 type: string
1207               observedInclude:
1208                 description: ObservedInclude is the observed list of GitRepository
1209                   resources used to produce the current Artifact.
1210                 items:
1211                   description: GitRepositoryInclude specifies a local reference to
1212                     a GitRepository which Artifact (sub-)contents must be included,
1213                     and where they should be placed.
1214                   properties:
1215                     fromPath:
1216                       description: FromPath specifies the path to copy contents from,
1217                         defaults to the root of the Artifact.
1218                       type: string
1219                     repository:
1220                       description: GitRepositoryRef specifies the GitRepository which
1221                         Artifact contents must be included.
1222                       properties:
1223                         name:
1224                           description: Name of the referent.
1225                           type: string
1226                       required:
1227                       - name
1228                       type: object
1229                     toPath:
1230                       description: ToPath specifies the path to copy contents to,
1231                         defaults to the name of the GitRepositoryRef.
1232                       type: string
1233                   required:
1234                   - repository
1235                   type: object
1236                 type: array
1237               observedRecurseSubmodules:
1238                 description: ObservedRecurseSubmodules is the observed resource submodules
1239                   configuration used to produce the current Artifact.
1240                 type: boolean
1241               sourceVerificationMode:
1242                 description: SourceVerificationMode is the last used verification
1243                   mode indicating which Git object(s) have been verified.
1244                 type: string
1245             type: object
1246         type: object
1247     served: true
1248     storage: true
1249     subresources:
1250       status: {}
1251   - additionalPrinterColumns:
1252     - jsonPath: .spec.url
1253       name: URL
1254       type: string
1255     - jsonPath: .status.conditions[?(@.type=="Ready")].status
1256       name: Ready
1257       type: string
1258     - jsonPath: .status.conditions[?(@.type=="Ready")].message
1259       name: Status
1260       type: string
1261     - jsonPath: .metadata.creationTimestamp
1262       name: Age
1263       type: date
1264     deprecated: true
1265     deprecationWarning: v1beta1 GitRepository is deprecated, upgrade to v1
1266     name: v1beta1
1267     schema:
1268       openAPIV3Schema:
1269         description: GitRepository is the Schema for the gitrepositories API
1270         properties:
1271           apiVersion:
1272             description: 'APIVersion defines the versioned schema of this representation
1273               of an object. Servers should convert recognized schemas to the latest
1274               internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
1275             type: string
1276           kind:
1277             description: 'Kind is a string value representing the REST resource this
1278               object represents. Servers may infer this from the endpoint the client
1279               submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
1280             type: string
1281           metadata:
1282             type: object
1283           spec:
1284             description: GitRepositorySpec defines the desired state of a Git repository.
1285             properties:
1286               accessFrom:
1287                 description: AccessFrom defines an Access Control List for allowing
1288                   cross-namespace references to this object.
1289                 properties:
1290                   namespaceSelectors:
1291                     description: NamespaceSelectors is the list of namespace selectors
1292                       to which this ACL applies. Items in this list are evaluated
1293                       using a logical OR operation.
1294                     items:
1295                       description: NamespaceSelector selects the namespaces to which
1296                         this ACL applies. An empty map of MatchLabels matches all
1297                         namespaces in a cluster.
1298                       properties:
1299                         matchLabels:
1300                           additionalProperties:
1301                             type: string
1302                           description: MatchLabels is a map of {key,value} pairs.
1303                             A single {key,value} in the matchLabels map is equivalent
1304                             to an element of matchExpressions, whose key field is
1305                             "key", the operator is "In", and the values array contains
1306                             only "value". The requirements are ANDed.
1307                           type: object
1308                       type: object
1309                     type: array
1310                 required:
1311                 - namespaceSelectors
1312                 type: object
1313               gitImplementation:
1314                 default: go-git
1315                 description: Determines which git client library to use. Defaults
1316                   to go-git, valid values are ('go-git', 'libgit2').
1317                 enum:
1318                 - go-git
1319                 - libgit2
1320                 type: string
1321               ignore:
1322                 description: Ignore overrides the set of excluded patterns in the
1323                   .sourceignore format (which is the same as .gitignore). If not provided,
1324                   a default will be used, consult the documentation for your version
1325                   to find out what those are.
1326                 type: string
1327               include:
1328                 description: Extra git repositories to map into the repository
1329                 items:
1330                   description: GitRepositoryInclude defines a source with a from and
1331                     to path.
1332                   properties:
1333                     fromPath:
1334                       description: The path to copy contents from, defaults to the
1335                         root directory.
1336                       type: string
1337                     repository:
1338                       description: Reference to a GitRepository to include.
1339                       properties:
1340                         name:
1341                           description: Name of the referent.
1342                           type: string
1343                       required:
1344                       - name
1345                       type: object
1346                     toPath:
1347                       description: The path to copy contents to, defaults to the name
1348                         of the source ref.
1349                       type: string
1350                   required:
1351                   - repository
1352                   type: object
1353                 type: array
1354               interval:
1355                 description: The interval at which to check for repository updates.
1356                 type: string
1357               recurseSubmodules:
1358                 description: When enabled, after the clone is created, initializes
1359                   all submodules within, using their default settings. This option
1360                   is available only when using the 'go-git' GitImplementation.
1361                 type: boolean
1362               ref:
1363                 description: The Git reference to checkout and monitor for changes,
1364                   defaults to master branch.
1365                 properties:
1366                   branch:
1367                     description: The Git branch to checkout, defaults to master.
1368                     type: string
1369                   commit:
1370                     description: The Git commit SHA to checkout, if specified Tag
1371                       filters will be ignored.
1372                     type: string
1373                   semver:
1374                     description: The Git tag semver expression, takes precedence over
1375                       Tag.
1376                     type: string
1377                   tag:
1378                     description: The Git tag to checkout, takes precedence over Branch.
1379                     type: string
1380                 type: object
1381               secretRef:
1382                 description: The secret name containing the Git credentials. For HTTPS
1383                   repositories the secret must contain username and password fields.
1384                   For SSH repositories the secret must contain identity and known_hosts
1385                   fields.
1386                 properties:
1387                   name:
1388                     description: Name of the referent.
1389                     type: string
1390                 required:
1391                 - name
1392                 type: object
1393               suspend:
1394                 description: This flag tells the controller to suspend the reconciliation
1395                   of this source.
1396                 type: boolean
1397               timeout:
1398                 default: 60s
1399                 description: The timeout for remote Git operations like cloning, defaults
1400                   to 60s.
1401                 type: string
1402               url:
1403                 description: The repository URL, can be a HTTP/S or SSH address.
1404                 pattern: ^(http|https|ssh)://.*$
1405                 type: string
1406               verify:
1407                 description: Verify OpenPGP signature for the Git commit HEAD points
1408                   to.
1409                 properties:
1410                   mode:
1411                     description: Mode describes what git object should be verified,
1412                       currently ('head').
1413                     enum:
1414                     - head
1415                     type: string
1416                   secretRef:
1417                     description: The secret name containing the public keys of all
1418                       trusted Git authors.
1419                     properties:
1420                       name:
1421                         description: Name of the referent.
1422                         type: string
1423                     required:
1424                     - name
1425                     type: object
1426                 required:
1427                 - mode
1428                 type: object
1429             required:
1430             - interval
1431             - url
1432             type: object
1433           status:
1434             default:
1435               observedGeneration: -1
1436             description: GitRepositoryStatus defines the observed state of a Git repository.
1437             properties:
1438               artifact:
1439                 description: Artifact represents the output of the last successful
1440                   repository sync.
1441                 properties:
1442                   checksum:
1443                     description: Checksum is the SHA256 checksum of the artifact.
1444                     type: string
1445                   lastUpdateTime:
1446                     description: LastUpdateTime is the timestamp corresponding to
1447                       the last update of this artifact.
1448                     format: date-time
1449                     type: string
1450                   path:
1451                     description: Path is the relative file path of this artifact.
1452                     type: string
1453                   revision:
1454                     description: Revision is a human readable identifier traceable
1455                       in the origin source system. It can be a Git commit SHA, Git
1456                       tag, a Helm index timestamp, a Helm chart version, etc.
1457                     type: string
1458                   url:
1459                     description: URL is the HTTP address of this artifact.
1460                     type: string
1461                 required:
1462                 - path
1463                 - url
1464                 type: object
1465               conditions:
1466                 description: Conditions holds the conditions for the GitRepository.
1467                 items:
1468                   description: "Condition contains details for one aspect of the current
1469                     state of this API Resource. --- This struct is intended for direct
1470                     use as an array at the field path .status.conditions.  For example,
1471                     \n type FooStatus struct{ // Represents the observations of a
1472                     foo's current state. // Known .status.conditions.type are: \"Available\",
1473                     \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
1474                     // +listType=map // +listMapKey=type Conditions []metav1.Condition
1475                     `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
1476                     protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
1477                   properties:
1478                     lastTransitionTime:
1479                       description: lastTransitionTime is the last time the condition
1480                         transitioned from one status to another. This should be when
1481                         the underlying condition changed.  If that is not known, then
1482                         using the time when the API field changed is acceptable.
1483                       format: date-time
1484                       type: string
1485                     message:
1486                       description: message is a human readable message indicating
1487                         details about the transition. This may be an empty string.
1488                       maxLength: 32768
1489                       type: string
1490                     observedGeneration:
1491                       description: observedGeneration represents the .metadata.generation
1492                         that the condition was set based upon. For instance, if .metadata.generation
1493                         is currently 12, but the .status.conditions[x].observedGeneration
1494                         is 9, the condition is out of date with respect to the current
1495                         state of the instance.
1496                       format: int64
1497                       minimum: 0
1498                       type: integer
1499                     reason:
1500                       description: reason contains a programmatic identifier indicating
1501                         the reason for the condition's last transition. Producers
1502                         of specific condition types may define expected values and
1503                         meanings for this field, and whether the values are considered
1504                         a guaranteed API. The value should be a CamelCase string.
1505                         This field may not be empty.
1506                       maxLength: 1024
1507                       minLength: 1
1508                       pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
1509                       type: string
1510                     status:
1511                       description: status of the condition, one of True, False, Unknown.
1512                       enum:
1513                       - "True"
1514                       - "False"
1515                       - Unknown
1516                       type: string
1517                     type:
1518                       description: type of condition in CamelCase or in foo.example.com/CamelCase.
1519                         --- Many .condition.type values are consistent across resources
1520                         like Available, but because arbitrary conditions can be useful
1521                         (see .node.status.conditions), the ability to deconflict is
1522                         important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
1523                       maxLength: 316
1524                       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])$
1525                       type: string
1526                   required:
1527                   - lastTransitionTime
1528                   - message
1529                   - reason
1530                   - status
1531                   - type
1532                   type: object
1533                 type: array
1534               includedArtifacts:
1535                 description: IncludedArtifacts represents the included artifacts from
1536                   the last successful repository sync.
1537                 items:
1538                   description: Artifact represents the output of a source synchronisation.
1539                   properties:
1540                     checksum:
1541                       description: Checksum is the SHA256 checksum of the artifact.
1542                       type: string
1543                     lastUpdateTime:
1544                       description: LastUpdateTime is the timestamp corresponding to
1545                         the last update of this artifact.
1546                       format: date-time
1547                       type: string
1548                     path:
1549                       description: Path is the relative file path of this artifact.
1550                       type: string
1551                     revision:
1552                       description: Revision is a human readable identifier traceable
1553                         in the origin source system. It can be a Git commit SHA, Git
1554                         tag, a Helm index timestamp, a Helm chart version, etc.
1555                       type: string
1556                     url:
1557                       description: URL is the HTTP address of this artifact.
1558                       type: string
1559                   required:
1560                   - path
1561                   - url
1562                   type: object
1563                 type: array
1564               lastHandledReconcileAt:
1565                 description: LastHandledReconcileAt holds the value of the most recent
1566                   reconcile request value, so a change of the annotation value can
1567                   be detected.
1568                 type: string
1569               observedGeneration:
1570                 description: ObservedGeneration is the last observed generation.
1571                 format: int64
1572                 type: integer
1573               url:
1574                 description: URL is the download link for the artifact output of the
1575                   last repository sync.
1576                 type: string
1577             type: object
1578         type: object
1579     served: true
1580     storage: false
1581     subresources:
1582       status: {}
1583   - additionalPrinterColumns:
1584     - jsonPath: .spec.url
1585       name: URL
1586       type: string
1587     - jsonPath: .metadata.creationTimestamp
1588       name: Age
1589       type: date
1590     - jsonPath: .status.conditions[?(@.type=="Ready")].status
1591       name: Ready
1592       type: string
1593     - jsonPath: .status.conditions[?(@.type=="Ready")].message
1594       name: Status
1595       type: string
1596     deprecated: true
1597     deprecationWarning: v1beta2 GitRepository is deprecated, upgrade to v1
1598     name: v1beta2
1599     schema:
1600       openAPIV3Schema:
1601         description: GitRepository is the Schema for the gitrepositories API.
1602         properties:
1603           apiVersion:
1604             description: 'APIVersion defines the versioned schema of this representation
1605               of an object. Servers should convert recognized schemas to the latest
1606               internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
1607             type: string
1608           kind:
1609             description: 'Kind is a string value representing the REST resource this
1610               object represents. Servers may infer this from the endpoint the client
1611               submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
1612             type: string
1613           metadata:
1614             type: object
1615           spec:
1616             description: GitRepositorySpec specifies the required configuration to
1617               produce an Artifact for a Git repository.
1618             properties:
1619               accessFrom:
1620                 description: 'AccessFrom specifies an Access Control List for allowing
1621                   cross-namespace references to this object. NOTE: Not implemented,
1622                   provisional as of https://github.com/fluxcd/flux2/pull/2092'
1623                 properties:
1624                   namespaceSelectors:
1625                     description: NamespaceSelectors is the list of namespace selectors
1626                       to which this ACL applies. Items in this list are evaluated
1627                       using a logical OR operation.
1628                     items:
1629                       description: NamespaceSelector selects the namespaces to which
1630                         this ACL applies. An empty map of MatchLabels matches all
1631                         namespaces in a cluster.
1632                       properties:
1633                         matchLabels:
1634                           additionalProperties:
1635                             type: string
1636                           description: MatchLabels is a map of {key,value} pairs.
1637                             A single {key,value} in the matchLabels map is equivalent
1638                             to an element of matchExpressions, whose key field is
1639                             "key", the operator is "In", and the values array contains
1640                             only "value". The requirements are ANDed.
1641                           type: object
1642                       type: object
1643                     type: array
1644                 required:
1645                 - namespaceSelectors
1646                 type: object
1647               gitImplementation:
1648                 default: go-git
1649                 description: 'GitImplementation specifies which Git client library
1650                   implementation to use. Defaults to ''go-git'', valid values are
1651                   (''go-git'', ''libgit2''). Deprecated: gitImplementation is deprecated
1652                   now that ''go-git'' is the only supported implementation.'
1653                 enum:
1654                 - go-git
1655                 - libgit2
1656                 type: string
1657               ignore:
1658                 description: Ignore overrides the set of excluded patterns in the
1659                   .sourceignore format (which is the same as .gitignore). If not provided,
1660                   a default will be used, consult the documentation for your version
1661                   to find out what those are.
1662                 type: string
1663               include:
1664                 description: Include specifies a list of GitRepository resources which
1665                   Artifacts should be included in the Artifact produced for this GitRepository.
1666                 items:
1667                   description: GitRepositoryInclude specifies a local reference to
1668                     a GitRepository which Artifact (sub-)contents must be included,
1669                     and where they should be placed.
1670                   properties:
1671                     fromPath:
1672                       description: FromPath specifies the path to copy contents from,
1673                         defaults to the root of the Artifact.
1674                       type: string
1675                     repository:
1676                       description: GitRepositoryRef specifies the GitRepository which
1677                         Artifact contents must be included.
1678                       properties:
1679                         name:
1680                           description: Name of the referent.
1681                           type: string
1682                       required:
1683                       - name
1684                       type: object
1685                     toPath:
1686                       description: ToPath specifies the path to copy contents to,
1687                         defaults to the name of the GitRepositoryRef.
1688                       type: string
1689                   required:
1690                   - repository
1691                   type: object
1692                 type: array
1693               interval:
1694                 description: Interval at which to check the GitRepository for updates.
1695                 pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
1696                 type: string
1697               recurseSubmodules:
1698                 description: RecurseSubmodules enables the initialization of all submodules
1699                   within the GitRepository as cloned from the URL, using their default
1700                   settings.
1701                 type: boolean
1702               ref:
1703                 description: Reference specifies the Git reference to resolve and
1704                   monitor for changes, defaults to the 'master' branch.
1705                 properties:
1706                   branch:
1707                     description: Branch to check out, defaults to 'master' if no other
1708                       field is defined.
1709                     type: string
1710                   commit:
1711                     description: "Commit SHA to check out, takes precedence over all
1712                       reference fields. \n This can be combined with Branch to shallow
1713                       clone the branch, in which the commit is expected to exist."
1714                     type: string
1715                   name:
1716                     description: "Name of the reference to check out; takes precedence
1717                       over Branch, Tag and SemVer. \n It must be a valid Git reference:
1718                       https://git-scm.com/docs/git-check-ref-format#_description Examples:
1719                       \"refs/heads/main\", \"refs/tags/v0.1.0\", \"refs/pull/420/head\",
1720                       \"refs/merge-requests/1/head\""
1721                     type: string
1722                   semver:
1723                     description: SemVer tag expression to check out, takes precedence
1724                       over Tag.
1725                     type: string
1726                   tag:
1727                     description: Tag to check out, takes precedence over Branch.
1728                     type: string
1729                 type: object
1730               secretRef:
1731                 description: SecretRef specifies the Secret containing authentication
1732                   credentials for the GitRepository. For HTTPS repositories the Secret
1733                   must contain 'username' and 'password' fields for basic auth or
1734                   'bearerToken' field for token auth. For SSH repositories the Secret
1735                   must contain 'identity' and 'known_hosts' fields.
1736                 properties:
1737                   name:
1738                     description: Name of the referent.
1739                     type: string
1740                 required:
1741                 - name
1742                 type: object
1743               suspend:
1744                 description: Suspend tells the controller to suspend the reconciliation
1745                   of this GitRepository.
1746                 type: boolean
1747               timeout:
1748                 default: 60s
1749                 description: Timeout for Git operations like cloning, defaults to
1750                   60s.
1751                 pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$
1752                 type: string
1753               url:
1754                 description: URL specifies the Git repository URL, it can be an HTTP/S
1755                   or SSH address.
1756                 pattern: ^(http|https|ssh)://.*$
1757                 type: string
1758               verify:
1759                 description: Verification specifies the configuration to verify the
1760                   Git commit signature(s).
1761                 properties:
1762                   mode:
1763                     description: Mode specifies what Git object should be verified,
1764                       currently ('head').
1765                     enum:
1766                     - head
1767                     type: string
1768                   secretRef:
1769                     description: SecretRef specifies the Secret containing the public
1770                       keys of trusted Git authors.
1771                     properties:
1772                       name:
1773                         description: Name of the referent.
1774                         type: string
1775                     required:
1776                     - name
1777                     type: object
1778                 required:
1779                 - mode
1780                 - secretRef
1781                 type: object
1782             required:
1783             - interval
1784             - url
1785             type: object
1786           status:
1787             default:
1788               observedGeneration: -1
1789             description: GitRepositoryStatus records the observed state of a Git repository.
1790             properties:
1791               artifact:
1792                 description: Artifact represents the last successful GitRepository
1793                   reconciliation.
1794                 properties:
1795                   digest:
1796                     description: Digest is the digest of the file in the form of '<algorithm>:<checksum>'.
1797                     pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$
1798                     type: string
1799                   lastUpdateTime:
1800                     description: LastUpdateTime is the timestamp corresponding to
1801                       the last update of the Artifact.
1802                     format: date-time
1803                     type: string
1804                   metadata:
1805                     additionalProperties:
1806                       type: string
1807                     description: Metadata holds upstream information such as OCI annotations.
1808                     type: object
1809                   path:
1810                     description: Path is the relative file path of the Artifact. It
1811                       can be used to locate the file in the root of the Artifact storage
1812                       on the local file system of the controller managing the Source.
1813                     type: string
1814                   revision:
1815                     description: Revision is a human-readable identifier traceable
1816                       in the origin source system. It can be a Git commit SHA, Git
1817                       tag, a Helm chart version, etc.
1818                     type: string
1819                   size:
1820                     description: Size is the number of bytes in the file.
1821                     format: int64
1822                     type: integer
1823                   url:
1824                     description: URL is the HTTP address of the Artifact as exposed
1825                       by the controller managing the Source. It can be used to retrieve
1826                       the Artifact for consumption, e.g. by another controller applying
1827                       the Artifact contents.
1828                     type: string
1829                 required:
1830                 - lastUpdateTime
1831                 - path
1832                 - revision
1833                 - url
1834                 type: object
1835               conditions:
1836                 description: Conditions holds the conditions for the GitRepository.
1837                 items:
1838                   description: "Condition contains details for one aspect of the current
1839                     state of this API Resource. --- This struct is intended for direct
1840                     use as an array at the field path .status.conditions.  For example,
1841                     \n type FooStatus struct{ // Represents the observations of a
1842                     foo's current state. // Known .status.conditions.type are: \"Available\",
1843                     \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
1844                     // +listType=map // +listMapKey=type Conditions []metav1.Condition
1845                     `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
1846                     protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
1847                   properties:
1848                     lastTransitionTime:
1849                       description: lastTransitionTime is the last time the condition
1850                         transitioned from one status to another. This should be when
1851                         the underlying condition changed.  If that is not known, then
1852                         using the time when the API field changed is acceptable.
1853                       format: date-time
1854                       type: string
1855                     message:
1856                       description: message is a human readable message indicating
1857                         details about the transition. This may be an empty string.
1858                       maxLength: 32768
1859                       type: string
1860                     observedGeneration:
1861                       description: observedGeneration represents the .metadata.generation
1862                         that the condition was set based upon. For instance, if .metadata.generation
1863                         is currently 12, but the .status.conditions[x].observedGeneration
1864                         is 9, the condition is out of date with respect to the current
1865                         state of the instance.
1866                       format: int64
1867                       minimum: 0
1868                       type: integer
1869                     reason:
1870                       description: reason contains a programmatic identifier indicating
1871                         the reason for the condition's last transition. Producers
1872                         of specific condition types may define expected values and
1873                         meanings for this field, and whether the values are considered
1874                         a guaranteed API. The value should be a CamelCase string.
1875                         This field may not be empty.
1876                       maxLength: 1024
1877                       minLength: 1
1878                       pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
1879                       type: string
1880                     status:
1881                       description: status of the condition, one of True, False, Unknown.
1882                       enum:
1883                       - "True"
1884                       - "False"
1885                       - Unknown
1886                       type: string
1887                     type:
1888                       description: type of condition in CamelCase or in foo.example.com/CamelCase.
1889                         --- Many .condition.type values are consistent across resources
1890                         like Available, but because arbitrary conditions can be useful
1891                         (see .node.status.conditions), the ability to deconflict is
1892                         important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
1893                       maxLength: 316
1894                       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])$
1895                       type: string
1896                   required:
1897                   - lastTransitionTime
1898                   - message
1899                   - reason
1900                   - status
1901                   - type
1902                   type: object
1903                 type: array
1904               contentConfigChecksum:
1905                 description: "ContentConfigChecksum is a checksum of all the configurations
1906                   related to the content of the source artifact: - .spec.ignore -
1907                   .spec.recurseSubmodules - .spec.included and the checksum of the
1908                   included artifacts observed in .status.observedGeneration version
1909                   of the object. This can be used to determine if the content of the
1910                   included repository has changed. It has the format of `<algo>:<checksum>`,
1911                   for example: `sha256:<checksum>`. \n Deprecated: Replaced with explicit
1912                   fields for observed artifact content config in the status."
1913                 type: string
1914               includedArtifacts:
1915                 description: IncludedArtifacts contains a list of the last successfully
1916                   included Artifacts as instructed by GitRepositorySpec.Include.
1917                 items:
1918                   description: Artifact represents the output of a Source reconciliation.
1919                   properties:
1920                     digest:
1921                       description: Digest is the digest of the file in the form of
1922                         '<algorithm>:<checksum>'.
1923                       pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$
1924                       type: string
1925                     lastUpdateTime:
1926                       description: LastUpdateTime is the timestamp corresponding to
1927                         the last update of the Artifact.
1928                       format: date-time
1929                       type: string
1930                     metadata:
1931                       additionalProperties:
1932                         type: string
1933                       description: Metadata holds upstream information such as OCI
1934                         annotations.
1935                       type: object
1936                     path:
1937                       description: Path is the relative file path of the Artifact.
1938                         It can be used to locate the file in the root of the Artifact
1939                         storage on the local file system of the controller managing
1940                         the Source.
1941                       type: string
1942                     revision:
1943                       description: Revision is a human-readable identifier traceable
1944                         in the origin source system. It can be a Git commit SHA, Git
1945                         tag, a Helm chart version, etc.
1946                       type: string
1947                     size:
1948                       description: Size is the number of bytes in the file.
1949                       format: int64
1950                       type: integer
1951                     url:
1952                       description: URL is the HTTP address of the Artifact as exposed
1953                         by the controller managing the Source. It can be used to retrieve
1954                         the Artifact for consumption, e.g. by another controller applying
1955                         the Artifact contents.
1956                       type: string
1957                   required:
1958                   - lastUpdateTime
1959                   - path
1960                   - revision
1961                   - url
1962                   type: object
1963                 type: array
1964               lastHandledReconcileAt:
1965                 description: LastHandledReconcileAt holds the value of the most recent
1966                   reconcile request value, so a change of the annotation value can
1967                   be detected.
1968                 type: string
1969               observedGeneration:
1970                 description: ObservedGeneration is the last observed generation of
1971                   the GitRepository object.
1972                 format: int64
1973                 type: integer
1974               observedIgnore:
1975                 description: ObservedIgnore is the observed exclusion patterns used
1976                   for constructing the source artifact.
1977                 type: string
1978               observedInclude:
1979                 description: ObservedInclude is the observed list of GitRepository
1980                   resources used to to produce the current Artifact.
1981                 items:
1982                   description: GitRepositoryInclude specifies a local reference to
1983                     a GitRepository which Artifact (sub-)contents must be included,
1984                     and where they should be placed.
1985                   properties:
1986                     fromPath:
1987                       description: FromPath specifies the path to copy contents from,
1988                         defaults to the root of the Artifact.
1989                       type: string
1990                     repository:
1991                       description: GitRepositoryRef specifies the GitRepository which
1992                         Artifact contents must be included.
1993                       properties:
1994                         name:
1995                           description: Name of the referent.
1996                           type: string
1997                       required:
1998                       - name
1999                       type: object
2000                     toPath:
2001                       description: ToPath specifies the path to copy contents to,
2002                         defaults to the name of the GitRepositoryRef.
2003                       type: string
2004                   required:
2005                   - repository
2006                   type: object
2007                 type: array
2008               observedRecurseSubmodules:
2009                 description: ObservedRecurseSubmodules is the observed resource submodules
2010                   configuration used to produce the current Artifact.
2011                 type: boolean
2012               url:
2013                 description: URL is the dynamic fetch link for the latest Artifact.
2014                   It is provided on a "best effort" basis, and using the precise GitRepositoryStatus.Artifact
2015                   data is recommended.
2016                 type: string
2017             type: object
2018         type: object
2019     served: true
2020     storage: false
2021     subresources:
2022       status: {}
2023 ---
2024 apiVersion: apiextensions.k8s.io/v1
2025 kind: CustomResourceDefinition
2026 metadata:
2027   annotations:
2028     controller-gen.kubebuilder.io/version: v0.12.0
2029   labels:
2030     app.kubernetes.io/component: source-controller
2031     app.kubernetes.io/instance: flux-system
2032     app.kubernetes.io/part-of: flux
2033     app.kubernetes.io/version: v2.1.2
2034   name: helmcharts.source.toolkit.fluxcd.io
2035 spec:
2036   group: source.toolkit.fluxcd.io
2037   names:
2038     kind: HelmChart
2039     listKind: HelmChartList
2040     plural: helmcharts
2041     shortNames:
2042     - hc
2043     singular: helmchart
2044   scope: Namespaced
2045   versions:
2046   - additionalPrinterColumns:
2047     - jsonPath: .spec.chart
2048       name: Chart
2049       type: string
2050     - jsonPath: .spec.version
2051       name: Version
2052       type: string
2053     - jsonPath: .spec.sourceRef.kind
2054       name: Source Kind
2055       type: string
2056     - jsonPath: .spec.sourceRef.name
2057       name: Source Name
2058       type: string
2059     - jsonPath: .status.conditions[?(@.type=="Ready")].status
2060       name: Ready
2061       type: string
2062     - jsonPath: .status.conditions[?(@.type=="Ready")].message
2063       name: Status
2064       type: string
2065     - jsonPath: .metadata.creationTimestamp
2066       name: Age
2067       type: date
2068     name: v1beta1
2069     schema:
2070       openAPIV3Schema:
2071         description: HelmChart is the Schema for the helmcharts API
2072         properties:
2073           apiVersion:
2074             description: 'APIVersion defines the versioned schema of this representation
2075               of an object. Servers should convert recognized schemas to the latest
2076               internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
2077             type: string
2078           kind:
2079             description: 'Kind is a string value representing the REST resource this
2080               object represents. Servers may infer this from the endpoint the client
2081               submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
2082             type: string
2083           metadata:
2084             type: object
2085           spec:
2086             description: HelmChartSpec defines the desired state of a Helm chart.
2087             properties:
2088               accessFrom:
2089                 description: AccessFrom defines an Access Control List for allowing
2090                   cross-namespace references to this object.
2091                 properties:
2092                   namespaceSelectors:
2093                     description: NamespaceSelectors is the list of namespace selectors
2094                       to which this ACL applies. Items in this list are evaluated
2095                       using a logical OR operation.
2096                     items:
2097                       description: NamespaceSelector selects the namespaces to which
2098                         this ACL applies. An empty map of MatchLabels matches all
2099                         namespaces in a cluster.
2100                       properties:
2101                         matchLabels:
2102                           additionalProperties:
2103                             type: string
2104                           description: MatchLabels is a map of {key,value} pairs.
2105                             A single {key,value} in the matchLabels map is equivalent
2106                             to an element of matchExpressions, whose key field is
2107                             "key", the operator is "In", and the values array contains
2108                             only "value". The requirements are ANDed.
2109                           type: object
2110                       type: object
2111                     type: array
2112                 required:
2113                 - namespaceSelectors
2114                 type: object
2115               chart:
2116                 description: The name or path the Helm chart is available at in the
2117                   SourceRef.
2118                 type: string
2119               interval:
2120                 description: The interval at which to check the Source for updates.
2121                 type: string
2122               reconcileStrategy:
2123                 default: ChartVersion
2124                 description: Determines what enables the creation of a new artifact.
2125                   Valid values are ('ChartVersion', 'Revision'). See the documentation
2126                   of the values for an explanation on their behavior. Defaults to
2127                   ChartVersion when omitted.
2128                 enum:
2129                 - ChartVersion
2130                 - Revision
2131                 type: string
2132               sourceRef:
2133                 description: The reference to the Source the chart is available at.
2134                 properties:
2135                   apiVersion:
2136                     description: APIVersion of the referent.
2137                     type: string
2138                   kind:
2139                     description: Kind of the referent, valid values are ('HelmRepository',
2140                       'GitRepository', 'Bucket').
2141                     enum:
2142                     - HelmRepository
2143                     - GitRepository
2144                     - Bucket
2145                     type: string
2146                   name:
2147                     description: Name of the referent.
2148                     type: string
2149                 required:
2150                 - kind
2151                 - name
2152                 type: object
2153               suspend:
2154                 description: This flag tells the controller to suspend the reconciliation
2155                   of this source.
2156                 type: boolean
2157               valuesFile:
2158                 description: Alternative values file to use as the default chart values,
2159                   expected to be a relative path in the SourceRef. Deprecated in favor
2160                   of ValuesFiles, for backwards compatibility the file defined here
2161                   is merged before the ValuesFiles items. Ignored when omitted.
2162                 type: string
2163               valuesFiles:
2164                 description: Alternative list of values files to use as the chart
2165                   values (values.yaml is not included by default), expected to be
2166                   a relative path in the SourceRef. Values files are merged in the
2167                   order of this list with the last file overriding the first. Ignored
2168                   when omitted.
2169                 items:
2170                   type: string
2171                 type: array
2172               version:
2173                 default: '*'
2174                 description: The chart version semver expression, ignored for charts
2175                   from GitRepository and Bucket sources. Defaults to latest when omitted.
2176                 type: string
2177             required:
2178             - chart
2179             - interval
2180             - sourceRef
2181             type: object
2182           status:
2183             default:
2184               observedGeneration: -1
2185             description: HelmChartStatus defines the observed state of the HelmChart.
2186             properties:
2187               artifact:
2188                 description: Artifact represents the output of the last successful
2189                   chart sync.
2190                 properties:
2191                   checksum:
2192                     description: Checksum is the SHA256 checksum of the artifact.
2193                     type: string
2194                   lastUpdateTime:
2195                     description: LastUpdateTime is the timestamp corresponding to
2196                       the last update of this artifact.
2197                     format: date-time
2198                     type: string
2199                   path:
2200                     description: Path is the relative file path of this artifact.
2201                     type: string
2202                   revision:
2203                     description: Revision is a human readable identifier traceable
2204                       in the origin source system. It can be a Git commit SHA, Git
2205                       tag, a Helm index timestamp, a Helm chart version, etc.
2206                     type: string
2207                   url:
2208                     description: URL is the HTTP address of this artifact.
2209                     type: string
2210                 required:
2211                 - path
2212                 - url
2213                 type: object
2214               conditions:
2215                 description: Conditions holds the conditions for the HelmChart.
2216                 items:
2217                   description: "Condition contains details for one aspect of the current
2218                     state of this API Resource. --- This struct is intended for direct
2219                     use as an array at the field path .status.conditions.  For example,
2220                     \n type FooStatus struct{ // Represents the observations of a
2221                     foo's current state. // Known .status.conditions.type are: \"Available\",
2222                     \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
2223                     // +listType=map // +listMapKey=type Conditions []metav1.Condition
2224                     `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
2225                     protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
2226                   properties:
2227                     lastTransitionTime:
2228                       description: lastTransitionTime is the last time the condition
2229                         transitioned from one status to another. This should be when
2230                         the underlying condition changed.  If that is not known, then
2231                         using the time when the API field changed is acceptable.
2232                       format: date-time
2233                       type: string
2234                     message:
2235                       description: message is a human readable message indicating
2236                         details about the transition. This may be an empty string.
2237                       maxLength: 32768
2238                       type: string
2239                     observedGeneration:
2240                       description: observedGeneration represents the .metadata.generation
2241                         that the condition was set based upon. For instance, if .metadata.generation
2242                         is currently 12, but the .status.conditions[x].observedGeneration
2243                         is 9, the condition is out of date with respect to the current
2244                         state of the instance.
2245                       format: int64
2246                       minimum: 0
2247                       type: integer
2248                     reason:
2249                       description: reason contains a programmatic identifier indicating
2250                         the reason for the condition's last transition. Producers
2251                         of specific condition types may define expected values and
2252                         meanings for this field, and whether the values are considered
2253                         a guaranteed API. The value should be a CamelCase string.
2254                         This field may not be empty.
2255                       maxLength: 1024
2256                       minLength: 1
2257                       pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
2258                       type: string
2259                     status:
2260                       description: status of the condition, one of True, False, Unknown.
2261                       enum:
2262                       - "True"
2263                       - "False"
2264                       - Unknown
2265                       type: string
2266                     type:
2267                       description: type of condition in CamelCase or in foo.example.com/CamelCase.
2268                         --- Many .condition.type values are consistent across resources
2269                         like Available, but because arbitrary conditions can be useful
2270                         (see .node.status.conditions), the ability to deconflict is
2271                         important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
2272                       maxLength: 316
2273                       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])$
2274                       type: string
2275                   required:
2276                   - lastTransitionTime
2277                   - message
2278                   - reason
2279                   - status
2280                   - type
2281                   type: object
2282                 type: array
2283               lastHandledReconcileAt:
2284                 description: LastHandledReconcileAt holds the value of the most recent
2285                   reconcile request value, so a change of the annotation value can
2286                   be detected.
2287                 type: string
2288               observedGeneration:
2289                 description: ObservedGeneration is the last observed generation.
2290                 format: int64
2291                 type: integer
2292               url:
2293                 description: URL is the download link for the last chart pulled.
2294                 type: string
2295             type: object
2296         type: object
2297     served: true
2298     storage: false
2299     subresources:
2300       status: {}
2301   - additionalPrinterColumns:
2302     - jsonPath: .spec.chart
2303       name: Chart
2304       type: string
2305     - jsonPath: .spec.version
2306       name: Version
2307       type: string
2308     - jsonPath: .spec.sourceRef.kind
2309       name: Source Kind
2310       type: string
2311     - jsonPath: .spec.sourceRef.name
2312       name: Source Name
2313       type: string
2314     - jsonPath: .metadata.creationTimestamp
2315       name: Age
2316       type: date
2317     - jsonPath: .status.conditions[?(@.type=="Ready")].status
2318       name: Ready
2319       type: string
2320     - jsonPath: .status.conditions[?(@.type=="Ready")].message
2321       name: Status
2322       type: string
2323     name: v1beta2
2324     schema:
2325       openAPIV3Schema:
2326         description: HelmChart is the Schema for the helmcharts API.
2327         properties:
2328           apiVersion:
2329             description: 'APIVersion defines the versioned schema of this representation
2330               of an object. Servers should convert recognized schemas to the latest
2331               internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
2332             type: string
2333           kind:
2334             description: 'Kind is a string value representing the REST resource this
2335               object represents. Servers may infer this from the endpoint the client
2336               submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
2337             type: string
2338           metadata:
2339             type: object
2340           spec:
2341             description: HelmChartSpec specifies the desired state of a Helm chart.
2342             properties:
2343               accessFrom:
2344                 description: 'AccessFrom specifies an Access Control List for allowing
2345                   cross-namespace references to this object. NOTE: Not implemented,
2346                   provisional as of https://github.com/fluxcd/flux2/pull/2092'
2347                 properties:
2348                   namespaceSelectors:
2349                     description: NamespaceSelectors is the list of namespace selectors
2350                       to which this ACL applies. Items in this list are evaluated
2351                       using a logical OR operation.
2352                     items:
2353                       description: NamespaceSelector selects the namespaces to which
2354                         this ACL applies. An empty map of MatchLabels matches all
2355                         namespaces in a cluster.
2356                       properties:
2357                         matchLabels:
2358                           additionalProperties:
2359                             type: string
2360                           description: MatchLabels is a map of {key,value} pairs.
2361                             A single {key,value} in the matchLabels map is equivalent
2362                             to an element of matchExpressions, whose key field is
2363                             "key", the operator is "In", and the values array contains
2364                             only "value". The requirements are ANDed.
2365                           type: object
2366                       type: object
2367                     type: array
2368                 required:
2369                 - namespaceSelectors
2370                 type: object
2371               chart:
2372                 description: Chart is the name or path the Helm chart is available
2373                   at in the SourceRef.
2374                 type: string
2375               interval:
2376                 description: Interval at which the HelmChart SourceRef is checked
2377                   for updates. This interval is approximate and may be subject to
2378                   jitter to ensure efficient use of resources.
2379                 pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
2380                 type: string
2381               reconcileStrategy:
2382                 default: ChartVersion
2383                 description: ReconcileStrategy determines what enables the creation
2384                   of a new artifact. Valid values are ('ChartVersion', 'Revision').
2385                   See the documentation of the values for an explanation on their
2386                   behavior. Defaults to ChartVersion when omitted.
2387                 enum:
2388                 - ChartVersion
2389                 - Revision
2390                 type: string
2391               sourceRef:
2392                 description: SourceRef is the reference to the Source the chart is
2393                   available at.
2394                 properties:
2395                   apiVersion:
2396                     description: APIVersion of the referent.
2397                     type: string
2398                   kind:
2399                     description: Kind of the referent, valid values are ('HelmRepository',
2400                       'GitRepository', 'Bucket').
2401                     enum:
2402                     - HelmRepository
2403                     - GitRepository
2404                     - Bucket
2405                     type: string
2406                   name:
2407                     description: Name of the referent.
2408                     type: string
2409                 required:
2410                 - kind
2411                 - name
2412                 type: object
2413               suspend:
2414                 description: Suspend tells the controller to suspend the reconciliation
2415                   of this source.
2416                 type: boolean
2417               valuesFile:
2418                 description: ValuesFile is an alternative values file to use as the
2419                   default chart values, expected to be a relative path in the SourceRef.
2420                   Deprecated in favor of ValuesFiles, for backwards compatibility
2421                   the file specified here is merged before the ValuesFiles items.
2422                   Ignored when omitted.
2423                 type: string
2424               valuesFiles:
2425                 description: ValuesFiles is an alternative list of values files to
2426                   use as the chart values (values.yaml is not included by default),
2427                   expected to be a relative path in the SourceRef. Values files are
2428                   merged in the order of this list with the last file overriding the
2429                   first. Ignored when omitted.
2430                 items:
2431                   type: string
2432                 type: array
2433               verify:
2434                 description: Verify contains the secret name containing the trusted
2435                   public keys used to verify the signature and specifies which provider
2436                   to use to check whether OCI image is authentic. This field is only
2437                   supported when using HelmRepository source with spec.type 'oci'.
2438                   Chart dependencies, which are not bundled in the umbrella chart
2439                   artifact, are not verified.
2440                 properties:
2441                   provider:
2442                     default: cosign
2443                     description: Provider specifies the technology used to sign the
2444                       OCI Artifact.
2445                     enum:
2446                     - cosign
2447                     type: string
2448                   secretRef:
2449                     description: SecretRef specifies the Kubernetes Secret containing
2450                       the trusted public keys.
2451                     properties:
2452                       name:
2453                         description: Name of the referent.
2454                         type: string
2455                     required:
2456                     - name
2457                     type: object
2458                 required:
2459                 - provider
2460                 type: object
2461               version:
2462                 default: '*'
2463                 description: Version is the chart version semver expression, ignored
2464                   for charts from GitRepository and Bucket sources. Defaults to latest
2465                   when omitted.
2466                 type: string
2467             required:
2468             - chart
2469             - interval
2470             - sourceRef
2471             type: object
2472           status:
2473             default:
2474               observedGeneration: -1
2475             description: HelmChartStatus records the observed state of the HelmChart.
2476             properties:
2477               artifact:
2478                 description: Artifact represents the output of the last successful
2479                   reconciliation.
2480                 properties:
2481                   digest:
2482                     description: Digest is the digest of the file in the form of '<algorithm>:<checksum>'.
2483                     pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$
2484                     type: string
2485                   lastUpdateTime:
2486                     description: LastUpdateTime is the timestamp corresponding to
2487                       the last update of the Artifact.
2488                     format: date-time
2489                     type: string
2490                   metadata:
2491                     additionalProperties:
2492                       type: string
2493                     description: Metadata holds upstream information such as OCI annotations.
2494                     type: object
2495                   path:
2496                     description: Path is the relative file path of the Artifact. It
2497                       can be used to locate the file in the root of the Artifact storage
2498                       on the local file system of the controller managing the Source.
2499                     type: string
2500                   revision:
2501                     description: Revision is a human-readable identifier traceable
2502                       in the origin source system. It can be a Git commit SHA, Git
2503                       tag, a Helm chart version, etc.
2504                     type: string
2505                   size:
2506                     description: Size is the number of bytes in the file.
2507                     format: int64
2508                     type: integer
2509                   url:
2510                     description: URL is the HTTP address of the Artifact as exposed
2511                       by the controller managing the Source. It can be used to retrieve
2512                       the Artifact for consumption, e.g. by another controller applying
2513                       the Artifact contents.
2514                     type: string
2515                 required:
2516                 - lastUpdateTime
2517                 - path
2518                 - revision
2519                 - url
2520                 type: object
2521               conditions:
2522                 description: Conditions holds the conditions for the HelmChart.
2523                 items:
2524                   description: "Condition contains details for one aspect of the current
2525                     state of this API Resource. --- This struct is intended for direct
2526                     use as an array at the field path .status.conditions.  For example,
2527                     \n type FooStatus struct{ // Represents the observations of a
2528                     foo's current state. // Known .status.conditions.type are: \"Available\",
2529                     \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
2530                     // +listType=map // +listMapKey=type Conditions []metav1.Condition
2531                     `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
2532                     protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
2533                   properties:
2534                     lastTransitionTime:
2535                       description: lastTransitionTime is the last time the condition
2536                         transitioned from one status to another. This should be when
2537                         the underlying condition changed.  If that is not known, then
2538                         using the time when the API field changed is acceptable.
2539                       format: date-time
2540                       type: string
2541                     message:
2542                       description: message is a human readable message indicating
2543                         details about the transition. This may be an empty string.
2544                       maxLength: 32768
2545                       type: string
2546                     observedGeneration:
2547                       description: observedGeneration represents the .metadata.generation
2548                         that the condition was set based upon. For instance, if .metadata.generation
2549                         is currently 12, but the .status.conditions[x].observedGeneration
2550                         is 9, the condition is out of date with respect to the current
2551                         state of the instance.
2552                       format: int64
2553                       minimum: 0
2554                       type: integer
2555                     reason:
2556                       description: reason contains a programmatic identifier indicating
2557                         the reason for the condition's last transition. Producers
2558                         of specific condition types may define expected values and
2559                         meanings for this field, and whether the values are considered
2560                         a guaranteed API. The value should be a CamelCase string.
2561                         This field may not be empty.
2562                       maxLength: 1024
2563                       minLength: 1
2564                       pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
2565                       type: string
2566                     status:
2567                       description: status of the condition, one of True, False, Unknown.
2568                       enum:
2569                       - "True"
2570                       - "False"
2571                       - Unknown
2572                       type: string
2573                     type:
2574                       description: type of condition in CamelCase or in foo.example.com/CamelCase.
2575                         --- Many .condition.type values are consistent across resources
2576                         like Available, but because arbitrary conditions can be useful
2577                         (see .node.status.conditions), the ability to deconflict is
2578                         important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
2579                       maxLength: 316
2580                       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])$
2581                       type: string
2582                   required:
2583                   - lastTransitionTime
2584                   - message
2585                   - reason
2586                   - status
2587                   - type
2588                   type: object
2589                 type: array
2590               lastHandledReconcileAt:
2591                 description: LastHandledReconcileAt holds the value of the most recent
2592                   reconcile request value, so a change of the annotation value can
2593                   be detected.
2594                 type: string
2595               observedChartName:
2596                 description: ObservedChartName is the last observed chart name as
2597                   specified by the resolved chart reference.
2598                 type: string
2599               observedGeneration:
2600                 description: ObservedGeneration is the last observed generation of
2601                   the HelmChart object.
2602                 format: int64
2603                 type: integer
2604               observedSourceArtifactRevision:
2605                 description: ObservedSourceArtifactRevision is the last observed Artifact.Revision
2606                   of the HelmChartSpec.SourceRef.
2607                 type: string
2608               url:
2609                 description: URL is the dynamic fetch link for the latest Artifact.
2610                   It is provided on a "best effort" basis, and using the precise BucketStatus.Artifact
2611                   data is recommended.
2612                 type: string
2613             type: object
2614         type: object
2615     served: true
2616     storage: true
2617     subresources:
2618       status: {}
2619 ---
2620 apiVersion: apiextensions.k8s.io/v1
2621 kind: CustomResourceDefinition
2622 metadata:
2623   annotations:
2624     controller-gen.kubebuilder.io/version: v0.12.0
2625   labels:
2626     app.kubernetes.io/component: source-controller
2627     app.kubernetes.io/instance: flux-system
2628     app.kubernetes.io/part-of: flux
2629     app.kubernetes.io/version: v2.1.2
2630   name: helmrepositories.source.toolkit.fluxcd.io
2631 spec:
2632   group: source.toolkit.fluxcd.io
2633   names:
2634     kind: HelmRepository
2635     listKind: HelmRepositoryList
2636     plural: helmrepositories
2637     shortNames:
2638     - helmrepo
2639     singular: helmrepository
2640   scope: Namespaced
2641   versions:
2642   - additionalPrinterColumns:
2643     - jsonPath: .spec.url
2644       name: URL
2645       type: string
2646     - jsonPath: .status.conditions[?(@.type=="Ready")].status
2647       name: Ready
2648       type: string
2649     - jsonPath: .status.conditions[?(@.type=="Ready")].message
2650       name: Status
2651       type: string
2652     - jsonPath: .metadata.creationTimestamp
2653       name: Age
2654       type: date
2655     name: v1beta1
2656     schema:
2657       openAPIV3Schema:
2658         description: HelmRepository is the Schema for the helmrepositories API
2659         properties:
2660           apiVersion:
2661             description: 'APIVersion defines the versioned schema of this representation
2662               of an object. Servers should convert recognized schemas to the latest
2663               internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
2664             type: string
2665           kind:
2666             description: 'Kind is a string value representing the REST resource this
2667               object represents. Servers may infer this from the endpoint the client
2668               submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
2669             type: string
2670           metadata:
2671             type: object
2672           spec:
2673             description: HelmRepositorySpec defines the reference to a Helm repository.
2674             properties:
2675               accessFrom:
2676                 description: AccessFrom defines an Access Control List for allowing
2677                   cross-namespace references to this object.
2678                 properties:
2679                   namespaceSelectors:
2680                     description: NamespaceSelectors is the list of namespace selectors
2681                       to which this ACL applies. Items in this list are evaluated
2682                       using a logical OR operation.
2683                     items:
2684                       description: NamespaceSelector selects the namespaces to which
2685                         this ACL applies. An empty map of MatchLabels matches all
2686                         namespaces in a cluster.
2687                       properties:
2688                         matchLabels:
2689                           additionalProperties:
2690                             type: string
2691                           description: MatchLabels is a map of {key,value} pairs.
2692                             A single {key,value} in the matchLabels map is equivalent
2693                             to an element of matchExpressions, whose key field is
2694                             "key", the operator is "In", and the values array contains
2695                             only "value". The requirements are ANDed.
2696                           type: object
2697                       type: object
2698                     type: array
2699                 required:
2700                 - namespaceSelectors
2701                 type: object
2702               interval:
2703                 description: The interval at which to check the upstream for updates.
2704                 type: string
2705               passCredentials:
2706                 description: PassCredentials allows the credentials from the SecretRef
2707                   to be passed on to a host that does not match the host as defined
2708                   in URL. This may be required if the host of the advertised chart
2709                   URLs in the index differ from the defined URL. Enabling this should
2710                   be done with caution, as it can potentially result in credentials
2711                   getting stolen in a MITM-attack.
2712                 type: boolean
2713               secretRef:
2714                 description: The name of the secret containing authentication credentials
2715                   for the Helm repository. For HTTP/S basic auth the secret must contain
2716                   username and password fields. For TLS the secret must contain a
2717                   certFile and keyFile, and/or caFile fields.
2718                 properties:
2719                   name:
2720                     description: Name of the referent.
2721                     type: string
2722                 required:
2723                 - name
2724                 type: object
2725               suspend:
2726                 description: This flag tells the controller to suspend the reconciliation
2727                   of this source.
2728                 type: boolean
2729               timeout:
2730                 default: 60s
2731                 description: The timeout of index downloading, defaults to 60s.
2732                 type: string
2733               url:
2734                 description: The Helm repository URL, a valid URL contains at least
2735                   a protocol and host.
2736                 type: string
2737             required:
2738             - interval
2739             - url
2740             type: object
2741           status:
2742             default:
2743               observedGeneration: -1
2744             description: HelmRepositoryStatus defines the observed state of the HelmRepository.
2745             properties:
2746               artifact:
2747                 description: Artifact represents the output of the last successful
2748                   repository sync.
2749                 properties:
2750                   checksum:
2751                     description: Checksum is the SHA256 checksum of the artifact.
2752                     type: string
2753                   lastUpdateTime:
2754                     description: LastUpdateTime is the timestamp corresponding to
2755                       the last update of this artifact.
2756                     format: date-time
2757                     type: string
2758                   path:
2759                     description: Path is the relative file path of this artifact.
2760                     type: string
2761                   revision:
2762                     description: Revision is a human readable identifier traceable
2763                       in the origin source system. It can be a Git commit SHA, Git
2764                       tag, a Helm index timestamp, a Helm chart version, etc.
2765                     type: string
2766                   url:
2767                     description: URL is the HTTP address of this artifact.
2768                     type: string
2769                 required:
2770                 - path
2771                 - url
2772                 type: object
2773               conditions:
2774                 description: Conditions holds the conditions for the HelmRepository.
2775                 items:
2776                   description: "Condition contains details for one aspect of the current
2777                     state of this API Resource. --- This struct is intended for direct
2778                     use as an array at the field path .status.conditions.  For example,
2779                     \n type FooStatus struct{ // Represents the observations of a
2780                     foo's current state. // Known .status.conditions.type are: \"Available\",
2781                     \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
2782                     // +listType=map // +listMapKey=type Conditions []metav1.Condition
2783                     `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
2784                     protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
2785                   properties:
2786                     lastTransitionTime:
2787                       description: lastTransitionTime is the last time the condition
2788                         transitioned from one status to another. This should be when
2789                         the underlying condition changed.  If that is not known, then
2790                         using the time when the API field changed is acceptable.
2791                       format: date-time
2792                       type: string
2793                     message:
2794                       description: message is a human readable message indicating
2795                         details about the transition. This may be an empty string.
2796                       maxLength: 32768
2797                       type: string
2798                     observedGeneration:
2799                       description: observedGeneration represents the .metadata.generation
2800                         that the condition was set based upon. For instance, if .metadata.generation
2801                         is currently 12, but the .status.conditions[x].observedGeneration
2802                         is 9, the condition is out of date with respect to the current
2803                         state of the instance.
2804                       format: int64
2805                       minimum: 0
2806                       type: integer
2807                     reason:
2808                       description: reason contains a programmatic identifier indicating
2809                         the reason for the condition's last transition. Producers
2810                         of specific condition types may define expected values and
2811                         meanings for this field, and whether the values are considered
2812                         a guaranteed API. The value should be a CamelCase string.
2813                         This field may not be empty.
2814                       maxLength: 1024
2815                       minLength: 1
2816                       pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
2817                       type: string
2818                     status:
2819                       description: status of the condition, one of True, False, Unknown.
2820                       enum:
2821                       - "True"
2822                       - "False"
2823                       - Unknown
2824                       type: string
2825                     type:
2826                       description: type of condition in CamelCase or in foo.example.com/CamelCase.
2827                         --- Many .condition.type values are consistent across resources
2828                         like Available, but because arbitrary conditions can be useful
2829                         (see .node.status.conditions), the ability to deconflict is
2830                         important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
2831                       maxLength: 316
2832                       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])$
2833                       type: string
2834                   required:
2835                   - lastTransitionTime
2836                   - message
2837                   - reason
2838                   - status
2839                   - type
2840                   type: object
2841                 type: array
2842               lastHandledReconcileAt:
2843                 description: LastHandledReconcileAt holds the value of the most recent
2844                   reconcile request value, so a change of the annotation value can
2845                   be detected.
2846                 type: string
2847               observedGeneration:
2848                 description: ObservedGeneration is the last observed generation.
2849                 format: int64
2850                 type: integer
2851               url:
2852                 description: URL is the download link for the last index fetched.
2853                 type: string
2854             type: object
2855         type: object
2856     served: true
2857     storage: false
2858     subresources:
2859       status: {}
2860   - additionalPrinterColumns:
2861     - jsonPath: .spec.url
2862       name: URL
2863       type: string
2864     - jsonPath: .metadata.creationTimestamp
2865       name: Age
2866       type: date
2867     - jsonPath: .status.conditions[?(@.type=="Ready")].status
2868       name: Ready
2869       type: string
2870     - jsonPath: .status.conditions[?(@.type=="Ready")].message
2871       name: Status
2872       type: string
2873     name: v1beta2
2874     schema:
2875       openAPIV3Schema:
2876         description: HelmRepository is the Schema for the helmrepositories API.
2877         properties:
2878           apiVersion:
2879             description: 'APIVersion defines the versioned schema of this representation
2880               of an object. Servers should convert recognized schemas to the latest
2881               internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
2882             type: string
2883           kind:
2884             description: 'Kind is a string value representing the REST resource this
2885               object represents. Servers may infer this from the endpoint the client
2886               submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
2887             type: string
2888           metadata:
2889             type: object
2890           spec:
2891             description: HelmRepositorySpec specifies the required configuration to
2892               produce an Artifact for a Helm repository index YAML.
2893             properties:
2894               accessFrom:
2895                 description: 'AccessFrom specifies an Access Control List for allowing
2896                   cross-namespace references to this object. NOTE: Not implemented,
2897                   provisional as of https://github.com/fluxcd/flux2/pull/2092'
2898                 properties:
2899                   namespaceSelectors:
2900                     description: NamespaceSelectors is the list of namespace selectors
2901                       to which this ACL applies. Items in this list are evaluated
2902                       using a logical OR operation.
2903                     items:
2904                       description: NamespaceSelector selects the namespaces to which
2905                         this ACL applies. An empty map of MatchLabels matches all
2906                         namespaces in a cluster.
2907                       properties:
2908                         matchLabels:
2909                           additionalProperties:
2910                             type: string
2911                           description: MatchLabels is a map of {key,value} pairs.
2912                             A single {key,value} in the matchLabels map is equivalent
2913                             to an element of matchExpressions, whose key field is
2914                             "key", the operator is "In", and the values array contains
2915                             only "value". The requirements are ANDed.
2916                           type: object
2917                       type: object
2918                     type: array
2919                 required:
2920                 - namespaceSelectors
2921                 type: object
2922               certSecretRef:
2923                 description: "CertSecretRef can be given the name of a Secret containing
2924                   either or both of \n - a PEM-encoded client certificate (`tls.crt`)
2925                   and private key (`tls.key`); - a PEM-encoded CA certificate (`ca.crt`)
2926                   \n and whichever are supplied, will be used for connecting to the
2927                   registry. The client cert and key are useful if you are authenticating
2928                   with a certificate; the CA cert is useful if you are using a self-signed
2929                   server certificate. The Secret must be of type `Opaque` or `kubernetes.io/tls`.
2930                   \n It takes precedence over the values specified in the Secret referred
2931                   to by `.spec.secretRef`."
2932                 properties:
2933                   name:
2934                     description: Name of the referent.
2935                     type: string
2936                 required:
2937                 - name
2938                 type: object
2939               interval:
2940                 description: Interval at which the HelmRepository URL is checked for
2941                   updates. This interval is approximate and may be subject to jitter
2942                   to ensure efficient use of resources.
2943                 pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
2944                 type: string
2945               passCredentials:
2946                 description: PassCredentials allows the credentials from the SecretRef
2947                   to be passed on to a host that does not match the host as defined
2948                   in URL. This may be required if the host of the advertised chart
2949                   URLs in the index differ from the defined URL. Enabling this should
2950                   be done with caution, as it can potentially result in credentials
2951                   getting stolen in a MITM-attack.
2952                 type: boolean
2953               provider:
2954                 default: generic
2955                 description: Provider used for authentication, can be 'aws', 'azure',
2956                   'gcp' or 'generic'. This field is optional, and only taken into
2957                   account if the .spec.type field is set to 'oci'. When not specified,
2958                   defaults to 'generic'.
2959                 enum:
2960                 - generic
2961                 - aws
2962                 - azure
2963                 - gcp
2964                 type: string
2965               secretRef:
2966                 description: SecretRef specifies the Secret containing authentication
2967                   credentials for the HelmRepository. For HTTP/S basic auth the secret
2968                   must contain 'username' and 'password' fields. Support for TLS auth
2969                   using the 'certFile' and 'keyFile', and/or 'caFile' keys is deprecated.
2970                   Please use `.spec.certSecretRef` instead.
2971                 properties:
2972                   name:
2973                     description: Name of the referent.
2974                     type: string
2975                 required:
2976                 - name
2977                 type: object
2978               suspend:
2979                 description: Suspend tells the controller to suspend the reconciliation
2980                   of this HelmRepository.
2981                 type: boolean
2982               timeout:
2983                 default: 60s
2984                 description: Timeout is used for the index fetch operation for an
2985                   HTTPS helm repository, and for remote OCI Repository operations
2986                   like pulling for an OCI helm repository. Its default value is 60s.
2987                 pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$
2988                 type: string
2989               type:
2990                 description: Type of the HelmRepository. When this field is set to  "oci",
2991                   the URL field value must be prefixed with "oci://".
2992                 enum:
2993                 - default
2994                 - oci
2995                 type: string
2996               url:
2997                 description: URL of the Helm repository, a valid URL contains at least
2998                   a protocol and host.
2999                 type: string
3000             required:
3001             - interval
3002             - url
3003             type: object
3004           status:
3005             default:
3006               observedGeneration: -1
3007             description: HelmRepositoryStatus records the observed state of the HelmRepository.
3008             properties:
3009               artifact:
3010                 description: Artifact represents the last successful HelmRepository
3011                   reconciliation.
3012                 properties:
3013                   digest:
3014                     description: Digest is the digest of the file in the form of '<algorithm>:<checksum>'.
3015                     pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$
3016                     type: string
3017                   lastUpdateTime:
3018                     description: LastUpdateTime is the timestamp corresponding to
3019                       the last update of the Artifact.
3020                     format: date-time
3021                     type: string
3022                   metadata:
3023                     additionalProperties:
3024                       type: string
3025                     description: Metadata holds upstream information such as OCI annotations.
3026                     type: object
3027                   path:
3028                     description: Path is the relative file path of the Artifact. It
3029                       can be used to locate the file in the root of the Artifact storage
3030                       on the local file system of the controller managing the Source.
3031                     type: string
3032                   revision:
3033                     description: Revision is a human-readable identifier traceable
3034                       in the origin source system. It can be a Git commit SHA, Git
3035                       tag, a Helm chart version, etc.
3036                     type: string
3037                   size:
3038                     description: Size is the number of bytes in the file.
3039                     format: int64
3040                     type: integer
3041                   url:
3042                     description: URL is the HTTP address of the Artifact as exposed
3043                       by the controller managing the Source. It can be used to retrieve
3044                       the Artifact for consumption, e.g. by another controller applying
3045                       the Artifact contents.
3046                     type: string
3047                 required:
3048                 - lastUpdateTime
3049                 - path
3050                 - revision
3051                 - url
3052                 type: object
3053               conditions:
3054                 description: Conditions holds the conditions for the HelmRepository.
3055                 items:
3056                   description: "Condition contains details for one aspect of the current
3057                     state of this API Resource. --- This struct is intended for direct
3058                     use as an array at the field path .status.conditions.  For example,
3059                     \n type FooStatus struct{ // Represents the observations of a
3060                     foo's current state. // Known .status.conditions.type are: \"Available\",
3061                     \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
3062                     // +listType=map // +listMapKey=type Conditions []metav1.Condition
3063                     `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
3064                     protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
3065                   properties:
3066                     lastTransitionTime:
3067                       description: lastTransitionTime is the last time the condition
3068                         transitioned from one status to another. This should be when
3069                         the underlying condition changed.  If that is not known, then
3070                         using the time when the API field changed is acceptable.
3071                       format: date-time
3072                       type: string
3073                     message:
3074                       description: message is a human readable message indicating
3075                         details about the transition. This may be an empty string.
3076                       maxLength: 32768
3077                       type: string
3078                     observedGeneration:
3079                       description: observedGeneration represents the .metadata.generation
3080                         that the condition was set based upon. For instance, if .metadata.generation
3081                         is currently 12, but the .status.conditions[x].observedGeneration
3082                         is 9, the condition is out of date with respect to the current
3083                         state of the instance.
3084                       format: int64
3085                       minimum: 0
3086                       type: integer
3087                     reason:
3088                       description: reason contains a programmatic identifier indicating
3089                         the reason for the condition's last transition. Producers
3090                         of specific condition types may define expected values and
3091                         meanings for this field, and whether the values are considered
3092                         a guaranteed API. The value should be a CamelCase string.
3093                         This field may not be empty.
3094                       maxLength: 1024
3095                       minLength: 1
3096                       pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
3097                       type: string
3098                     status:
3099                       description: status of the condition, one of True, False, Unknown.
3100                       enum:
3101                       - "True"
3102                       - "False"
3103                       - Unknown
3104                       type: string
3105                     type:
3106                       description: type of condition in CamelCase or in foo.example.com/CamelCase.
3107                         --- Many .condition.type values are consistent across resources
3108                         like Available, but because arbitrary conditions can be useful
3109                         (see .node.status.conditions), the ability to deconflict is
3110                         important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
3111                       maxLength: 316
3112                       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])$
3113                       type: string
3114                   required:
3115                   - lastTransitionTime
3116                   - message
3117                   - reason
3118                   - status
3119                   - type
3120                   type: object
3121                 type: array
3122               lastHandledReconcileAt:
3123                 description: LastHandledReconcileAt holds the value of the most recent
3124                   reconcile request value, so a change of the annotation value can
3125                   be detected.
3126                 type: string
3127               observedGeneration:
3128                 description: ObservedGeneration is the last observed generation of
3129                   the HelmRepository object.
3130                 format: int64
3131                 type: integer
3132               url:
3133                 description: URL is the dynamic fetch link for the latest Artifact.
3134                   It is provided on a "best effort" basis, and using the precise HelmRepositoryStatus.Artifact
3135                   data is recommended.
3136                 type: string
3137             type: object
3138         type: object
3139     served: true
3140     storage: true
3141     subresources:
3142       status: {}
3143 ---
3144 apiVersion: apiextensions.k8s.io/v1
3145 kind: CustomResourceDefinition
3146 metadata:
3147   annotations:
3148     controller-gen.kubebuilder.io/version: v0.12.0
3149   labels:
3150     app.kubernetes.io/component: source-controller
3151     app.kubernetes.io/instance: flux-system
3152     app.kubernetes.io/part-of: flux
3153     app.kubernetes.io/version: v2.1.2
3154   name: ocirepositories.source.toolkit.fluxcd.io
3155 spec:
3156   group: source.toolkit.fluxcd.io
3157   names:
3158     kind: OCIRepository
3159     listKind: OCIRepositoryList
3160     plural: ocirepositories
3161     shortNames:
3162     - ocirepo
3163     singular: ocirepository
3164   scope: Namespaced
3165   versions:
3166   - additionalPrinterColumns:
3167     - jsonPath: .spec.url
3168       name: URL
3169       type: string
3170     - jsonPath: .status.conditions[?(@.type=="Ready")].status
3171       name: Ready
3172       type: string
3173     - jsonPath: .status.conditions[?(@.type=="Ready")].message
3174       name: Status
3175       type: string
3176     - jsonPath: .metadata.creationTimestamp
3177       name: Age
3178       type: date
3179     name: v1beta2
3180     schema:
3181       openAPIV3Schema:
3182         description: OCIRepository is the Schema for the ocirepositories API
3183         properties:
3184           apiVersion:
3185             description: 'APIVersion defines the versioned schema of this representation
3186               of an object. Servers should convert recognized schemas to the latest
3187               internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
3188             type: string
3189           kind:
3190             description: 'Kind is a string value representing the REST resource this
3191               object represents. Servers may infer this from the endpoint the client
3192               submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
3193             type: string
3194           metadata:
3195             type: object
3196           spec:
3197             description: OCIRepositorySpec defines the desired state of OCIRepository
3198             properties:
3199               certSecretRef:
3200                 description: "CertSecretRef can be given the name of a Secret containing
3201                   either or both of \n - a PEM-encoded client certificate (`tls.crt`)
3202                   and private key (`tls.key`); - a PEM-encoded CA certificate (`ca.crt`)
3203                   \n and whichever are supplied, will be used for connecting to the
3204                   registry. The client cert and key are useful if you are authenticating
3205                   with a certificate; the CA cert is useful if you are using a self-signed
3206                   server certificate. The Secret must be of type `Opaque` or `kubernetes.io/tls`.
3207                   \n Note: Support for the `caFile`, `certFile` and `keyFile` keys
3208                   have been deprecated."
3209                 properties:
3210                   name:
3211                     description: Name of the referent.
3212                     type: string
3213                 required:
3214                 - name
3215                 type: object
3216               ignore:
3217                 description: Ignore overrides the set of excluded patterns in the
3218                   .sourceignore format (which is the same as .gitignore). If not provided,
3219                   a default will be used, consult the documentation for your version
3220                   to find out what those are.
3221                 type: string
3222               insecure:
3223                 description: Insecure allows connecting to a non-TLS HTTP container
3224                   registry.
3225                 type: boolean
3226               interval:
3227                 description: Interval at which the OCIRepository URL is checked for
3228                   updates. This interval is approximate and may be subject to jitter
3229                   to ensure efficient use of resources.
3230                 pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
3231                 type: string
3232               layerSelector:
3233                 description: LayerSelector specifies which layer should be extracted
3234                   from the OCI artifact. When not specified, the first layer found
3235                   in the artifact is selected.
3236                 properties:
3237                   mediaType:
3238                     description: MediaType specifies the OCI media type of the layer
3239                       which should be extracted from the OCI Artifact. The first layer
3240                       matching this type is selected.
3241                     type: string
3242                   operation:
3243                     description: Operation specifies how the selected layer should
3244                       be processed. By default, the layer compressed content is extracted
3245                       to storage. When the operation is set to 'copy', the layer compressed
3246                       content is persisted to storage as it is.
3247                     enum:
3248                     - extract
3249                     - copy
3250                     type: string
3251                 type: object
3252               provider:
3253                 default: generic
3254                 description: The provider used for authentication, can be 'aws', 'azure',
3255                   'gcp' or 'generic'. When not specified, defaults to 'generic'.
3256                 enum:
3257                 - generic
3258                 - aws
3259                 - azure
3260                 - gcp
3261                 type: string
3262               ref:
3263                 description: The OCI reference to pull and monitor for changes, defaults
3264                   to the latest tag.
3265                 properties:
3266                   digest:
3267                     description: Digest is the image digest to pull, takes precedence
3268                       over SemVer. The value should be in the format 'sha256:<HASH>'.
3269                     type: string
3270                   semver:
3271                     description: SemVer is the range of tags to pull selecting the
3272                       latest within the range, takes precedence over Tag.
3273                     type: string
3274                   tag:
3275                     description: Tag is the image tag to pull, defaults to latest.
3276                     type: string
3277                 type: object
3278               secretRef:
3279                 description: SecretRef contains the secret name containing the registry
3280                   login credentials to resolve image metadata. The secret must be
3281                   of type kubernetes.io/dockerconfigjson.
3282                 properties:
3283                   name:
3284                     description: Name of the referent.
3285                     type: string
3286                 required:
3287                 - name
3288                 type: object
3289               serviceAccountName:
3290                 description: 'ServiceAccountName is the name of the Kubernetes ServiceAccount
3291                   used to authenticate the image pull if the service account has attached
3292                   pull secrets. For more information: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#add-imagepullsecrets-to-a-service-account'
3293                 type: string
3294               suspend:
3295                 description: This flag tells the controller to suspend the reconciliation
3296                   of this source.
3297                 type: boolean
3298               timeout:
3299                 default: 60s
3300                 description: The timeout for remote OCI Repository operations like
3301                   pulling, defaults to 60s.
3302                 pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$
3303                 type: string
3304               url:
3305                 description: URL is a reference to an OCI artifact repository hosted
3306                   on a remote container registry.
3307                 pattern: ^oci://.*$
3308                 type: string
3309               verify:
3310                 description: Verify contains the secret name containing the trusted
3311                   public keys used to verify the signature and specifies which provider
3312                   to use to check whether OCI image is authentic.
3313                 properties:
3314                   provider:
3315                     default: cosign
3316                     description: Provider specifies the technology used to sign the
3317                       OCI Artifact.
3318                     enum:
3319                     - cosign
3320                     type: string
3321                   secretRef:
3322                     description: SecretRef specifies the Kubernetes Secret containing
3323                       the trusted public keys.
3324                     properties:
3325                       name:
3326                         description: Name of the referent.
3327                         type: string
3328                     required:
3329                     - name
3330                     type: object
3331                 required:
3332                 - provider
3333                 type: object
3334             required:
3335             - interval
3336             - url
3337             type: object
3338           status:
3339             default:
3340               observedGeneration: -1
3341             description: OCIRepositoryStatus defines the observed state of OCIRepository
3342             properties:
3343               artifact:
3344                 description: Artifact represents the output of the last successful
3345                   OCI Repository sync.
3346                 properties:
3347                   digest:
3348                     description: Digest is the digest of the file in the form of '<algorithm>:<checksum>'.
3349                     pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$
3350                     type: string
3351                   lastUpdateTime:
3352                     description: LastUpdateTime is the timestamp corresponding to
3353                       the last update of the Artifact.
3354                     format: date-time
3355                     type: string
3356                   metadata:
3357                     additionalProperties:
3358                       type: string
3359                     description: Metadata holds upstream information such as OCI annotations.
3360                     type: object
3361                   path:
3362                     description: Path is the relative file path of the Artifact. It
3363                       can be used to locate the file in the root of the Artifact storage
3364                       on the local file system of the controller managing the Source.
3365                     type: string
3366                   revision:
3367                     description: Revision is a human-readable identifier traceable
3368                       in the origin source system. It can be a Git commit SHA, Git
3369                       tag, a Helm chart version, etc.
3370                     type: string
3371                   size:
3372                     description: Size is the number of bytes in the file.
3373                     format: int64
3374                     type: integer
3375                   url:
3376                     description: URL is the HTTP address of the Artifact as exposed
3377                       by the controller managing the Source. It can be used to retrieve
3378                       the Artifact for consumption, e.g. by another controller applying
3379                       the Artifact contents.
3380                     type: string
3381                 required:
3382                 - lastUpdateTime
3383                 - path
3384                 - revision
3385                 - url
3386                 type: object
3387               conditions:
3388                 description: Conditions holds the conditions for the OCIRepository.
3389                 items:
3390                   description: "Condition contains details for one aspect of the current
3391                     state of this API Resource. --- This struct is intended for direct
3392                     use as an array at the field path .status.conditions.  For example,
3393                     \n type FooStatus struct{ // Represents the observations of a
3394                     foo's current state. // Known .status.conditions.type are: \"Available\",
3395                     \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
3396                     // +listType=map // +listMapKey=type Conditions []metav1.Condition
3397                     `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
3398                     protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
3399                   properties:
3400                     lastTransitionTime:
3401                       description: lastTransitionTime is the last time the condition
3402                         transitioned from one status to another. This should be when
3403                         the underlying condition changed.  If that is not known, then
3404                         using the time when the API field changed is acceptable.
3405                       format: date-time
3406                       type: string
3407                     message:
3408                       description: message is a human readable message indicating
3409                         details about the transition. This may be an empty string.
3410                       maxLength: 32768
3411                       type: string
3412                     observedGeneration:
3413                       description: observedGeneration represents the .metadata.generation
3414                         that the condition was set based upon. For instance, if .metadata.generation
3415                         is currently 12, but the .status.conditions[x].observedGeneration
3416                         is 9, the condition is out of date with respect to the current
3417                         state of the instance.
3418                       format: int64
3419                       minimum: 0
3420                       type: integer
3421                     reason:
3422                       description: reason contains a programmatic identifier indicating
3423                         the reason for the condition's last transition. Producers
3424                         of specific condition types may define expected values and
3425                         meanings for this field, and whether the values are considered
3426                         a guaranteed API. The value should be a CamelCase string.
3427                         This field may not be empty.
3428                       maxLength: 1024
3429                       minLength: 1
3430                       pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
3431                       type: string
3432                     status:
3433                       description: status of the condition, one of True, False, Unknown.
3434                       enum:
3435                       - "True"
3436                       - "False"
3437                       - Unknown
3438                       type: string
3439                     type:
3440                       description: type of condition in CamelCase or in foo.example.com/CamelCase.
3441                         --- Many .condition.type values are consistent across resources
3442                         like Available, but because arbitrary conditions can be useful
3443                         (see .node.status.conditions), the ability to deconflict is
3444                         important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
3445                       maxLength: 316
3446                       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])$
3447                       type: string
3448                   required:
3449                   - lastTransitionTime
3450                   - message
3451                   - reason
3452                   - status
3453                   - type
3454                   type: object
3455                 type: array
3456               contentConfigChecksum:
3457                 description: "ContentConfigChecksum is a checksum of all the configurations
3458                   related to the content of the source artifact: - .spec.ignore -
3459                   .spec.layerSelector observed in .status.observedGeneration version
3460                   of the object. This can be used to determine if the content configuration
3461                   has changed and the artifact needs to be rebuilt. It has the format
3462                   of `<algo>:<checksum>`, for example: `sha256:<checksum>`. \n Deprecated:
3463                   Replaced with explicit fields for observed artifact content config
3464                   in the status."
3465                 type: string
3466               lastHandledReconcileAt:
3467                 description: LastHandledReconcileAt holds the value of the most recent
3468                   reconcile request value, so a change of the annotation value can
3469                   be detected.
3470                 type: string
3471               observedGeneration:
3472                 description: ObservedGeneration is the last observed generation.
3473                 format: int64
3474                 type: integer
3475               observedIgnore:
3476                 description: ObservedIgnore is the observed exclusion patterns used
3477                   for constructing the source artifact.
3478                 type: string
3479               observedLayerSelector:
3480                 description: ObservedLayerSelector is the observed layer selector
3481                   used for constructing the source artifact.
3482                 properties:
3483                   mediaType:
3484                     description: MediaType specifies the OCI media type of the layer
3485                       which should be extracted from the OCI Artifact. The first layer
3486                       matching this type is selected.
3487                     type: string
3488                   operation:
3489                     description: Operation specifies how the selected layer should
3490                       be processed. By default, the layer compressed content is extracted
3491                       to storage. When the operation is set to 'copy', the layer compressed
3492                       content is persisted to storage as it is.
3493                     enum:
3494                     - extract
3495                     - copy
3496                     type: string
3497                 type: object
3498               url:
3499                 description: URL is the download link for the artifact output of the
3500                   last OCI Repository sync.
3501                 type: string
3502             type: object
3503         type: object
3504     served: true
3505     storage: true
3506     subresources:
3507       status: {}
3508 ---
3509 apiVersion: v1
3510 kind: ServiceAccount
3511 metadata:
3512   labels:
3513     app.kubernetes.io/component: source-controller
3514     app.kubernetes.io/instance: flux-system
3515     app.kubernetes.io/part-of: flux
3516     app.kubernetes.io/version: v2.1.2
3517   name: source-controller
3518   namespace: flux-system
3519 ---
3520 apiVersion: v1
3521 kind: Service
3522 metadata:
3523   labels:
3524     app.kubernetes.io/component: source-controller
3525     app.kubernetes.io/instance: flux-system
3526     app.kubernetes.io/part-of: flux
3527     app.kubernetes.io/version: v2.1.2
3528     control-plane: controller
3529   name: source-controller
3530   namespace: flux-system
3531 spec:
3532   ports:
3533   - name: http
3534     port: 80
3535     protocol: TCP
3536     targetPort: http
3537   selector:
3538     app: source-controller
3539   type: ClusterIP
3540 ---
3541 apiVersion: apps/v1
3542 kind: Deployment
3543 metadata:
3544   labels:
3545     app.kubernetes.io/component: source-controller
3546     app.kubernetes.io/instance: flux-system
3547     app.kubernetes.io/part-of: flux
3548     app.kubernetes.io/version: v2.1.2
3549     control-plane: controller
3550   name: source-controller
3551   namespace: flux-system
3552 spec:
3553   replicas: 1
3554   selector:
3555     matchLabels:
3556       app: source-controller
3557   strategy:
3558     type: Recreate
3559   template:
3560     metadata:
3561       annotations:
3562         prometheus.io/port: "8080"
3563         prometheus.io/scrape: "true"
3564       labels:
3565         app: source-controller
3566     spec:
3567       containers:
3568       - args:
3569         - --events-addr=http://notification-controller.flux-system.svc.cluster.local./
3570         - --watch-all-namespaces=true
3571         - --log-level=info
3572         - --log-encoding=json
3573         - --enable-leader-election
3574         - --storage-path=/data
3575         - --storage-adv-addr=source-controller.$(RUNTIME_NAMESPACE).svc.cluster.local.
3576         env:
3577         - name: RUNTIME_NAMESPACE
3578           valueFrom:
3579             fieldRef:
3580               fieldPath: metadata.namespace
3581         - name: TUF_ROOT
3582           value: /tmp/.sigstore
3583         image: ghcr.io/fluxcd/source-controller:v1.1.2
3584         imagePullPolicy: IfNotPresent
3585         livenessProbe:
3586           httpGet:
3587             path: /healthz
3588             port: healthz
3589         name: manager
3590         ports:
3591         - containerPort: 9090
3592           name: http
3593           protocol: TCP
3594         - containerPort: 8080
3595           name: http-prom
3596           protocol: TCP
3597         - containerPort: 9440
3598           name: healthz
3599           protocol: TCP
3600         readinessProbe:
3601           httpGet:
3602             path: /
3603             port: http
3604         resources:
3605           limits:
3606             cpu: 1000m
3607             memory: 1Gi
3608           requests:
3609             cpu: 50m
3610             memory: 64Mi
3611         securityContext:
3612           allowPrivilegeEscalation: false
3613           capabilities:
3614             drop:
3615             - ALL
3616           readOnlyRootFilesystem: true
3617           runAsNonRoot: true
3618           seccompProfile:
3619             type: RuntimeDefault
3620         volumeMounts:
3621         - mountPath: /data
3622           name: data
3623         - mountPath: /tmp
3624           name: tmp
3625       nodeSelector:
3626         kubernetes.io/os: linux
3627       priorityClassName: system-cluster-critical
3628       securityContext:
3629         fsGroup: 1337
3630       serviceAccountName: source-controller
3631       terminationGracePeriodSeconds: 10
3632       volumes:
3633       - emptyDir: {}
3634         name: data
3635       - emptyDir: {}
3636         name: tmp
3637 ---
3638 apiVersion: apiextensions.k8s.io/v1
3639 kind: CustomResourceDefinition
3640 metadata:
3641   annotations:
3642     controller-gen.kubebuilder.io/version: v0.12.0
3643   labels:
3644     app.kubernetes.io/component: kustomize-controller
3645     app.kubernetes.io/instance: flux-system
3646     app.kubernetes.io/part-of: flux
3647     app.kubernetes.io/version: v2.1.2
3648   name: kustomizations.kustomize.toolkit.fluxcd.io
3649 spec:
3650   group: kustomize.toolkit.fluxcd.io
3651   names:
3652     kind: Kustomization
3653     listKind: KustomizationList
3654     plural: kustomizations
3655     shortNames:
3656     - ks
3657     singular: kustomization
3658   scope: Namespaced
3659   versions:
3660   - additionalPrinterColumns:
3661     - jsonPath: .metadata.creationTimestamp
3662       name: Age
3663       type: date
3664     - jsonPath: .status.conditions[?(@.type=="Ready")].status
3665       name: Ready
3666       type: string
3667     - jsonPath: .status.conditions[?(@.type=="Ready")].message
3668       name: Status
3669       type: string
3670     name: v1
3671     schema:
3672       openAPIV3Schema:
3673         description: Kustomization is the Schema for the kustomizations API.
3674         properties:
3675           apiVersion:
3676             description: 'APIVersion defines the versioned schema of this representation
3677               of an object. Servers should convert recognized schemas to the latest
3678               internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
3679             type: string
3680           kind:
3681             description: 'Kind is a string value representing the REST resource this
3682               object represents. Servers may infer this from the endpoint the client
3683               submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
3684             type: string
3685           metadata:
3686             type: object
3687           spec:
3688             description: KustomizationSpec defines the configuration to calculate
3689               the desired state from a Source using Kustomize.
3690             properties:
3691               commonMetadata:
3692                 description: CommonMetadata specifies the common labels and annotations
3693                   that are applied to all resources. Any existing label or annotation
3694                   will be overridden if its key matches a common one.
3695                 properties:
3696                   annotations:
3697                     additionalProperties:
3698                       type: string
3699                     description: Annotations to be added to the object's metadata.
3700                     type: object
3701                   labels:
3702                     additionalProperties:
3703                       type: string
3704                     description: Labels to be added to the object's metadata.
3705                     type: object
3706                 type: object
3707               components:
3708                 description: Components specifies relative paths to specifications
3709                   of other Components.
3710                 items:
3711                   type: string
3712                 type: array
3713               decryption:
3714                 description: Decrypt Kubernetes secrets before applying them on the
3715                   cluster.
3716                 properties:
3717                   provider:
3718                     description: Provider is the name of the decryption engine.
3719                     enum:
3720                     - sops
3721                     type: string
3722                   secretRef:
3723                     description: The secret name containing the private OpenPGP keys
3724                       used for decryption.
3725                     properties:
3726                       name:
3727                         description: Name of the referent.
3728                         type: string
3729                     required:
3730                     - name
3731                     type: object
3732                 required:
3733                 - provider
3734                 type: object
3735               dependsOn:
3736                 description: DependsOn may contain a meta.NamespacedObjectReference
3737                   slice with references to Kustomization resources that must be ready
3738                   before this Kustomization can be reconciled.
3739                 items:
3740                   description: NamespacedObjectReference contains enough information
3741                     to locate the referenced Kubernetes resource object in any namespace.
3742                   properties:
3743                     name:
3744                       description: Name of the referent.
3745                       type: string
3746                     namespace:
3747                       description: Namespace of the referent, when not specified it
3748                         acts as LocalObjectReference.
3749                       type: string
3750                   required:
3751                   - name
3752                   type: object
3753                 type: array
3754               force:
3755                 default: false
3756                 description: Force instructs the controller to recreate resources
3757                   when patching fails due to an immutable field change.
3758                 type: boolean
3759               healthChecks:
3760                 description: A list of resources to be included in the health assessment.
3761                 items:
3762                   description: NamespacedObjectKindReference contains enough information
3763                     to locate the typed referenced Kubernetes resource object in any
3764                     namespace.
3765                   properties:
3766                     apiVersion:
3767                       description: API version of the referent, if not specified the
3768                         Kubernetes preferred version will be used.
3769                       type: string
3770                     kind:
3771                       description: Kind of the referent.
3772                       type: string
3773                     name:
3774                       description: Name of the referent.
3775                       type: string
3776                     namespace:
3777                       description: Namespace of the referent, when not specified it
3778                         acts as LocalObjectReference.
3779                       type: string
3780                   required:
3781                   - kind
3782                   - name
3783                   type: object
3784                 type: array
3785               images:
3786                 description: Images is a list of (image name, new name, new tag or
3787                   digest) for changing image names, tags or digests. This can also
3788                   be achieved with a patch, but this operator is simpler to specify.
3789                 items:
3790                   description: Image contains an image name, a new name, a new tag
3791                     or digest, which will replace the original name and tag.
3792                   properties:
3793                     digest:
3794                       description: Digest is the value used to replace the original
3795                         image tag. If digest is present NewTag value is ignored.
3796                       type: string
3797                     name:
3798                       description: Name is a tag-less image name.
3799                       type: string
3800                     newName:
3801                       description: NewName is the value used to replace the original
3802                         name.
3803                       type: string
3804                     newTag:
3805                       description: NewTag is the value used to replace the original
3806                         tag.
3807                       type: string
3808                   required:
3809                   - name
3810                   type: object
3811                 type: array
3812               interval:
3813                 description: The interval at which to reconcile the Kustomization.
3814                   This interval is approximate and may be subject to jitter to ensure
3815                   efficient use of resources.
3816                 pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
3817                 type: string
3818               kubeConfig:
3819                 description: The KubeConfig for reconciling the Kustomization on a
3820                   remote cluster. When used in combination with KustomizationSpec.ServiceAccountName,
3821                   forces the controller to act on behalf of that Service Account at
3822                   the target cluster. If the --default-service-account flag is set,
3823                   its value will be used as a controller level fallback for when KustomizationSpec.ServiceAccountName
3824                   is empty.
3825                 properties:
3826                   secretRef:
3827                     description: SecretRef holds the name of a secret that contains
3828                       a key with the kubeconfig file as the value. If no key is set,
3829                       the key will default to 'value'. It is recommended that the
3830                       kubeconfig is self-contained, and the secret is regularly updated
3831                       if credentials such as a cloud-access-token expire. Cloud specific
3832                       `cmd-path` auth helpers will not function without adding binaries
3833                       and credentials to the Pod that is responsible for reconciling
3834                       Kubernetes resources.
3835                     properties:
3836                       key:
3837                         description: Key in the Secret, when not specified an implementation-specific
3838                           default key is used.
3839                         type: string
3840                       name:
3841                         description: Name of the Secret.
3842                         type: string
3843                     required:
3844                     - name
3845                     type: object
3846                 required:
3847                 - secretRef
3848                 type: object
3849               patches:
3850                 description: Strategic merge and JSON patches, defined as inline YAML
3851                   objects, capable of targeting objects based on kind, label and annotation
3852                   selectors.
3853                 items:
3854                   description: Patch contains an inline StrategicMerge or JSON6902
3855                     patch, and the target the patch should be applied to.
3856                   properties:
3857                     patch:
3858                       description: Patch contains an inline StrategicMerge patch or
3859                         an inline JSON6902 patch with an array of operation objects.
3860                       type: string
3861                     target:
3862                       description: Target points to the resources that the patch document
3863                         should be applied to.
3864                       properties:
3865                         annotationSelector:
3866                           description: AnnotationSelector is a string that follows
3867                             the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
3868                             It matches with the resource annotations.
3869                           type: string
3870                         group:
3871                           description: Group is the API group to select resources
3872                             from. Together with Version and Kind it is capable of
3873                             unambiguously identifying and/or selecting resources.
3874                             https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
3875                           type: string
3876                         kind:
3877                           description: Kind of the API Group to select resources from.
3878                             Together with Group and Version it is capable of unambiguously
3879                             identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
3880                           type: string
3881                         labelSelector:
3882                           description: LabelSelector is a string that follows the
3883                             label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
3884                             It matches with the resource labels.
3885                           type: string
3886                         name:
3887                           description: Name to match resources with.
3888                           type: string
3889                         namespace:
3890                           description: Namespace to select resources from.
3891                           type: string
3892                         version:
3893                           description: Version of the API Group to select resources
3894                             from. Together with Group and Kind it is capable of unambiguously
3895                             identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
3896                           type: string
3897                       type: object
3898                   required:
3899                   - patch
3900                   type: object
3901                 type: array
3902               path:
3903                 description: Path to the directory containing the kustomization.yaml
3904                   file, or the set of plain YAMLs a kustomization.yaml should be generated
3905                   for. Defaults to 'None', which translates to the root path of the
3906                   SourceRef.
3907                 type: string
3908               postBuild:
3909                 description: PostBuild describes which actions to perform on the YAML
3910                   manifest generated by building the kustomize overlay.
3911                 properties:
3912                   substitute:
3913                     additionalProperties:
3914                       type: string
3915                     description: Substitute holds a map of key/value pairs. The variables
3916                       defined in your YAML manifests that match any of the keys defined
3917                       in the map will be substituted with the set value. Includes
3918                       support for bash string replacement functions e.g. ${var:=default},
3919                       ${var:position} and ${var/substring/replacement}.
3920                     type: object
3921                   substituteFrom:
3922                     description: SubstituteFrom holds references to ConfigMaps and
3923                       Secrets containing the variables and their values to be substituted
3924                       in the YAML manifests. The ConfigMap and the Secret data keys
3925                       represent the var names, and they must match the vars declared
3926                       in the manifests for the substitution to happen.
3927                     items:
3928                       description: SubstituteReference contains a reference to a resource
3929                         containing the variables name and value.
3930                       properties:
3931                         kind:
3932                           description: Kind of the values referent, valid values are
3933                             ('Secret', 'ConfigMap').
3934                           enum:
3935                           - Secret
3936                           - ConfigMap
3937                           type: string
3938                         name:
3939                           description: Name of the values referent. Should reside
3940                             in the same namespace as the referring resource.
3941                           maxLength: 253
3942                           minLength: 1
3943                           type: string
3944                         optional:
3945                           default: false
3946                           description: Optional indicates whether the referenced resource
3947                             must exist, or whether to tolerate its absence. If true
3948                             and the referenced resource is absent, proceed as if the
3949                             resource was present but empty, without any variables
3950                             defined.
3951                           type: boolean
3952                       required:
3953                       - kind
3954                       - name
3955                       type: object
3956                     type: array
3957                 type: object
3958               prune:
3959                 description: Prune enables garbage collection.
3960                 type: boolean
3961               retryInterval:
3962                 description: The interval at which to retry a previously failed reconciliation.
3963                   When not specified, the controller uses the KustomizationSpec.Interval
3964                   value to retry failures.
3965                 pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
3966                 type: string
3967               serviceAccountName:
3968                 description: The name of the Kubernetes service account to impersonate
3969                   when reconciling this Kustomization.
3970                 type: string
3971               sourceRef:
3972                 description: Reference of the source where the kustomization file
3973                   is.
3974                 properties:
3975                   apiVersion:
3976                     description: API version of the referent.
3977                     type: string
3978                   kind:
3979                     description: Kind of the referent.
3980                     enum:
3981                     - OCIRepository
3982                     - GitRepository
3983                     - Bucket
3984                     type: string
3985                   name:
3986                     description: Name of the referent.
3987                     type: string
3988                   namespace:
3989                     description: Namespace of the referent, defaults to the namespace
3990                       of the Kubernetes resource object that contains the reference.
3991                     type: string
3992                 required:
3993                 - kind
3994                 - name
3995                 type: object
3996               suspend:
3997                 description: This flag tells the controller to suspend subsequent
3998                   kustomize executions, it does not apply to already started executions.
3999                   Defaults to false.
4000                 type: boolean
4001               targetNamespace:
4002                 description: TargetNamespace sets or overrides the namespace in the
4003                   kustomization.yaml file.
4004                 maxLength: 63
4005                 minLength: 1
4006                 type: string
4007               timeout:
4008                 description: Timeout for validation, apply and health checking operations.
4009                   Defaults to 'Interval' duration.
4010                 pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
4011                 type: string
4012               wait:
4013                 description: Wait instructs the controller to check the health of
4014                   all the reconciled resources. When enabled, the HealthChecks are
4015                   ignored. Defaults to false.
4016                 type: boolean
4017             required:
4018             - interval
4019             - prune
4020             - sourceRef
4021             type: object
4022           status:
4023             default:
4024               observedGeneration: -1
4025             description: KustomizationStatus defines the observed state of a kustomization.
4026             properties:
4027               conditions:
4028                 items:
4029                   description: "Condition contains details for one aspect of the current
4030                     state of this API Resource. --- This struct is intended for direct
4031                     use as an array at the field path .status.conditions.  For example,
4032                     \n type FooStatus struct{ // Represents the observations of a
4033                     foo's current state. // Known .status.conditions.type are: \"Available\",
4034                     \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
4035                     // +listType=map // +listMapKey=type Conditions []metav1.Condition
4036                     `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
4037                     protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
4038                   properties:
4039                     lastTransitionTime:
4040                       description: lastTransitionTime is the last time the condition
4041                         transitioned from one status to another. This should be when
4042                         the underlying condition changed.  If that is not known, then
4043                         using the time when the API field changed is acceptable.
4044                       format: date-time
4045                       type: string
4046                     message:
4047                       description: message is a human readable message indicating
4048                         details about the transition. This may be an empty string.
4049                       maxLength: 32768
4050                       type: string
4051                     observedGeneration:
4052                       description: observedGeneration represents the .metadata.generation
4053                         that the condition was set based upon. For instance, if .metadata.generation
4054                         is currently 12, but the .status.conditions[x].observedGeneration
4055                         is 9, the condition is out of date with respect to the current
4056                         state of the instance.
4057                       format: int64
4058                       minimum: 0
4059                       type: integer
4060                     reason:
4061                       description: reason contains a programmatic identifier indicating
4062                         the reason for the condition's last transition. Producers
4063                         of specific condition types may define expected values and
4064                         meanings for this field, and whether the values are considered
4065                         a guaranteed API. The value should be a CamelCase string.
4066                         This field may not be empty.
4067                       maxLength: 1024
4068                       minLength: 1
4069                       pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
4070                       type: string
4071                     status:
4072                       description: status of the condition, one of True, False, Unknown.
4073                       enum:
4074                       - "True"
4075                       - "False"
4076                       - Unknown
4077                       type: string
4078                     type:
4079                       description: type of condition in CamelCase or in foo.example.com/CamelCase.
4080                         --- Many .condition.type values are consistent across resources
4081                         like Available, but because arbitrary conditions can be useful
4082                         (see .node.status.conditions), the ability to deconflict is
4083                         important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
4084                       maxLength: 316
4085                       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])$
4086                       type: string
4087                   required:
4088                   - lastTransitionTime
4089                   - message
4090                   - reason
4091                   - status
4092                   - type
4093                   type: object
4094                 type: array
4095               inventory:
4096                 description: Inventory contains the list of Kubernetes resource object
4097                   references that have been successfully applied.
4098                 properties:
4099                   entries:
4100                     description: Entries of Kubernetes resource object references.
4101                     items:
4102                       description: ResourceRef contains the information necessary
4103                         to locate a resource within a cluster.
4104                       properties:
4105                         id:
4106                           description: ID is the string representation of the Kubernetes
4107                             resource object's metadata, in the format '<namespace>_<name>_<group>_<kind>'.
4108                           type: string
4109                         v:
4110                           description: Version is the API version of the Kubernetes
4111                             resource object's kind.
4112                           type: string
4113                       required:
4114                       - id
4115                       - v
4116                       type: object
4117                     type: array
4118                 required:
4119                 - entries
4120                 type: object
4121               lastAppliedRevision:
4122                 description: The last successfully applied revision. Equals the Revision
4123                   of the applied Artifact from the referenced Source.
4124                 type: string
4125               lastAttemptedRevision:
4126                 description: LastAttemptedRevision is the revision of the last reconciliation
4127                   attempt.
4128                 type: string
4129               lastHandledReconcileAt:
4130                 description: LastHandledReconcileAt holds the value of the most recent
4131                   reconcile request value, so a change of the annotation value can
4132                   be detected.
4133                 type: string
4134               observedGeneration:
4135                 description: ObservedGeneration is the last reconciled generation.
4136                 format: int64
4137                 type: integer
4138             type: object
4139         type: object
4140     served: true
4141     storage: true
4142     subresources:
4143       status: {}
4144   - additionalPrinterColumns:
4145     - jsonPath: .status.conditions[?(@.type=="Ready")].status
4146       name: Ready
4147       type: string
4148     - jsonPath: .status.conditions[?(@.type=="Ready")].message
4149       name: Status
4150       type: string
4151     - jsonPath: .metadata.creationTimestamp
4152       name: Age
4153       type: date
4154     deprecated: true
4155     deprecationWarning: v1beta1 Kustomization is deprecated, upgrade to v1
4156     name: v1beta1
4157     schema:
4158       openAPIV3Schema:
4159         description: Kustomization is the Schema for the kustomizations API.
4160         properties:
4161           apiVersion:
4162             description: 'APIVersion defines the versioned schema of this representation
4163               of an object. Servers should convert recognized schemas to the latest
4164               internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
4165             type: string
4166           kind:
4167             description: 'Kind is a string value representing the REST resource this
4168               object represents. Servers may infer this from the endpoint the client
4169               submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
4170             type: string
4171           metadata:
4172             type: object
4173           spec:
4174             description: KustomizationSpec defines the desired state of a kustomization.
4175             properties:
4176               decryption:
4177                 description: Decrypt Kubernetes secrets before applying them on the
4178                   cluster.
4179                 properties:
4180                   provider:
4181                     description: Provider is the name of the decryption engine.
4182                     enum:
4183                     - sops
4184                     type: string
4185                   secretRef:
4186                     description: The secret name containing the private OpenPGP keys
4187                       used for decryption.
4188                     properties:
4189                       name:
4190                         description: Name of the referent.
4191                         type: string
4192                     required:
4193                     - name
4194                     type: object
4195                 required:
4196                 - provider
4197                 type: object
4198               dependsOn:
4199                 description: DependsOn may contain a meta.NamespacedObjectReference
4200                   slice with references to Kustomization resources that must be ready
4201                   before this Kustomization can be reconciled.
4202                 items:
4203                   description: NamespacedObjectReference contains enough information
4204                     to locate the referenced Kubernetes resource object in any namespace.
4205                   properties:
4206                     name:
4207                       description: Name of the referent.
4208                       type: string
4209                     namespace:
4210                       description: Namespace of the referent, when not specified it
4211                         acts as LocalObjectReference.
4212                       type: string
4213                   required:
4214                   - name
4215                   type: object
4216                 type: array
4217               force:
4218                 default: false
4219                 description: Force instructs the controller to recreate resources
4220                   when patching fails due to an immutable field change.
4221                 type: boolean
4222               healthChecks:
4223                 description: A list of resources to be included in the health assessment.
4224                 items:
4225                   description: NamespacedObjectKindReference contains enough information
4226                     to locate the typed referenced Kubernetes resource object in any
4227                     namespace.
4228                   properties:
4229                     apiVersion:
4230                       description: API version of the referent, if not specified the
4231                         Kubernetes preferred version will be used.
4232                       type: string
4233                     kind:
4234                       description: Kind of the referent.
4235                       type: string
4236                     name:
4237                       description: Name of the referent.
4238                       type: string
4239                     namespace:
4240                       description: Namespace of the referent, when not specified it
4241                         acts as LocalObjectReference.
4242                       type: string
4243                   required:
4244                   - kind
4245                   - name
4246                   type: object
4247                 type: array
4248               images:
4249                 description: Images is a list of (image name, new name, new tag or
4250                   digest) for changing image names, tags or digests. This can also
4251                   be achieved with a patch, but this operator is simpler to specify.
4252                 items:
4253                   description: Image contains an image name, a new name, a new tag
4254                     or digest, which will replace the original name and tag.
4255                   properties:
4256                     digest:
4257                       description: Digest is the value used to replace the original
4258                         image tag. If digest is present NewTag value is ignored.
4259                       type: string
4260                     name:
4261                       description: Name is a tag-less image name.
4262                       type: string
4263                     newName:
4264                       description: NewName is the value used to replace the original
4265                         name.
4266                       type: string
4267                     newTag:
4268                       description: NewTag is the value used to replace the original
4269                         tag.
4270                       type: string
4271                   required:
4272                   - name
4273                   type: object
4274                 type: array
4275               interval:
4276                 description: The interval at which to reconcile the Kustomization.
4277                 type: string
4278               kubeConfig:
4279                 description: The KubeConfig for reconciling the Kustomization on a
4280                   remote cluster. When specified, KubeConfig takes precedence over
4281                   ServiceAccountName.
4282                 properties:
4283                   secretRef:
4284                     description: SecretRef holds the name to a secret that contains
4285                       a 'value' key with the kubeconfig file as the value. It must
4286                       be in the same namespace as the Kustomization. It is recommended
4287                       that the kubeconfig is self-contained, and the secret is regularly
4288                       updated if credentials such as a cloud-access-token expire.
4289                       Cloud specific `cmd-path` auth helpers will not function without
4290                       adding binaries and credentials to the Pod that is responsible
4291                       for reconciling the Kustomization.
4292                     properties:
4293                       name:
4294                         description: Name of the referent.
4295                         type: string
4296                     required:
4297                     - name
4298                     type: object
4299                 type: object
4300               patches:
4301                 description: Strategic merge and JSON patches, defined as inline YAML
4302                   objects, capable of targeting objects based on kind, label and annotation
4303                   selectors.
4304                 items:
4305                   description: Patch contains an inline StrategicMerge or JSON6902
4306                     patch, and the target the patch should be applied to.
4307                   properties:
4308                     patch:
4309                       description: Patch contains an inline StrategicMerge patch or
4310                         an inline JSON6902 patch with an array of operation objects.
4311                       type: string
4312                     target:
4313                       description: Target points to the resources that the patch document
4314                         should be applied to.
4315                       properties:
4316                         annotationSelector:
4317                           description: AnnotationSelector is a string that follows
4318                             the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
4319                             It matches with the resource annotations.
4320                           type: string
4321                         group:
4322                           description: Group is the API group to select resources
4323                             from. Together with Version and Kind it is capable of
4324                             unambiguously identifying and/or selecting resources.
4325                             https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
4326                           type: string
4327                         kind:
4328                           description: Kind of the API Group to select resources from.
4329                             Together with Group and Version it is capable of unambiguously
4330                             identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
4331                           type: string
4332                         labelSelector:
4333                           description: LabelSelector is a string that follows the
4334                             label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
4335                             It matches with the resource labels.
4336                           type: string
4337                         name:
4338                           description: Name to match resources with.
4339                           type: string
4340                         namespace:
4341                           description: Namespace to select resources from.
4342                           type: string
4343                         version:
4344                           description: Version of the API Group to select resources
4345                             from. Together with Group and Kind it is capable of unambiguously
4346                             identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
4347                           type: string
4348                       type: object
4349                   required:
4350                   - patch
4351                   type: object
4352                 type: array
4353               patchesJson6902:
4354                 description: JSON 6902 patches, defined as inline YAML objects.
4355                 items:
4356                   description: JSON6902Patch contains a JSON6902 patch and the target
4357                     the patch should be applied to.
4358                   properties:
4359                     patch:
4360                       description: Patch contains the JSON6902 patch document with
4361                         an array of operation objects.
4362                       items:
4363                         description: JSON6902 is a JSON6902 operation object. https://datatracker.ietf.org/doc/html/rfc6902#section-4
4364                         properties:
4365                           from:
4366                             description: From contains a JSON-pointer value that references
4367                               a location within the target document where the operation
4368                               is performed. The meaning of the value depends on the
4369                               value of Op, and is NOT taken into account by all operations.
4370                             type: string
4371                           op:
4372                             description: Op indicates the operation to perform. Its
4373                               value MUST be one of "add", "remove", "replace", "move",
4374                               "copy", or "test". https://datatracker.ietf.org/doc/html/rfc6902#section-4
4375                             enum:
4376                             - test
4377                             - remove
4378                             - add
4379                             - replace
4380                             - move
4381                             - copy
4382                             type: string
4383                           path:
4384                             description: Path contains the JSON-pointer value that
4385                               references a location within the target document where
4386                               the operation is performed. The meaning of the value
4387                               depends on the value of Op.
4388                             type: string
4389                           value:
4390                             description: Value contains a valid JSON structure. The
4391                               meaning of the value depends on the value of Op, and
4392                               is NOT taken into account by all operations.
4393                             x-kubernetes-preserve-unknown-fields: true
4394                         required:
4395                         - op
4396                         - path
4397                         type: object
4398                       type: array
4399                     target:
4400                       description: Target points to the resources that the patch document
4401                         should be applied to.
4402                       properties:
4403                         annotationSelector:
4404                           description: AnnotationSelector is a string that follows
4405                             the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
4406                             It matches with the resource annotations.
4407                           type: string
4408                         group:
4409                           description: Group is the API group to select resources
4410                             from. Together with Version and Kind it is capable of
4411                             unambiguously identifying and/or selecting resources.
4412                             https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
4413                           type: string
4414                         kind:
4415                           description: Kind of the API Group to select resources from.
4416                             Together with Group and Version it is capable of unambiguously
4417                             identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
4418                           type: string
4419                         labelSelector:
4420                           description: LabelSelector is a string that follows the
4421                             label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
4422                             It matches with the resource labels.
4423                           type: string
4424                         name:
4425                           description: Name to match resources with.
4426                           type: string
4427                         namespace:
4428                           description: Namespace to select resources from.
4429                           type: string
4430                         version:
4431                           description: Version of the API Group to select resources
4432                             from. Together with Group and Kind it is capable of unambiguously
4433                             identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
4434                           type: string
4435                       type: object
4436                   required:
4437                   - patch
4438                   - target
4439                   type: object
4440                 type: array
4441               patchesStrategicMerge:
4442                 description: Strategic merge patches, defined as inline YAML objects.
4443                 items:
4444                   x-kubernetes-preserve-unknown-fields: true
4445                 type: array
4446               path:
4447                 description: Path to the directory containing the kustomization.yaml
4448                   file, or the set of plain YAMLs a kustomization.yaml should be generated
4449                   for. Defaults to 'None', which translates to the root path of the
4450                   SourceRef.
4451                 type: string
4452               postBuild:
4453                 description: PostBuild describes which actions to perform on the YAML
4454                   manifest generated by building the kustomize overlay.
4455                 properties:
4456                   substitute:
4457                     additionalProperties:
4458                       type: string
4459                     description: Substitute holds a map of key/value pairs. The variables
4460                       defined in your YAML manifests that match any of the keys defined
4461                       in the map will be substituted with the set value. Includes
4462                       support for bash string replacement functions e.g. ${var:=default},
4463                       ${var:position} and ${var/substring/replacement}.
4464                     type: object
4465                   substituteFrom:
4466                     description: SubstituteFrom holds references to ConfigMaps and
4467                       Secrets containing the variables and their values to be substituted
4468                       in the YAML manifests. The ConfigMap and the Secret data keys
4469                       represent the var names and they must match the vars declared
4470                       in the manifests for the substitution to happen.
4471                     items:
4472                       description: SubstituteReference contains a reference to a resource
4473                         containing the variables name and value.
4474                       properties:
4475                         kind:
4476                           description: Kind of the values referent, valid values are
4477                             ('Secret', 'ConfigMap').
4478                           enum:
4479                           - Secret
4480                           - ConfigMap
4481                           type: string
4482                         name:
4483                           description: Name of the values referent. Should reside
4484                             in the same namespace as the referring resource.
4485                           maxLength: 253
4486                           minLength: 1
4487                           type: string
4488                       required:
4489                       - kind
4490                       - name
4491                       type: object
4492                     type: array
4493                 type: object
4494               prune:
4495                 description: Prune enables garbage collection.
4496                 type: boolean
4497               retryInterval:
4498                 description: The interval at which to retry a previously failed reconciliation.
4499                   When not specified, the controller uses the KustomizationSpec.Interval
4500                   value to retry failures.
4501                 type: string
4502               serviceAccountName:
4503                 description: The name of the Kubernetes service account to impersonate
4504                   when reconciling this Kustomization.
4505                 type: string
4506               sourceRef:
4507                 description: Reference of the source where the kustomization file
4508                   is.
4509                 properties:
4510                   apiVersion:
4511                     description: API version of the referent
4512                     type: string
4513                   kind:
4514                     description: Kind of the referent
4515                     enum:
4516                     - GitRepository
4517                     - Bucket
4518                     type: string
4519                   name:
4520                     description: Name of the referent
4521                     type: string
4522                   namespace:
4523                     description: Namespace of the referent, defaults to the Kustomization
4524                       namespace
4525                     type: string
4526                 required:
4527                 - kind
4528                 - name
4529                 type: object
4530               suspend:
4531                 description: This flag tells the controller to suspend subsequent
4532                   kustomize executions, it does not apply to already started executions.
4533                   Defaults to false.
4534                 type: boolean
4535               targetNamespace:
4536                 description: TargetNamespace sets or overrides the namespace in the
4537                   kustomization.yaml file.
4538                 maxLength: 63
4539                 minLength: 1
4540                 type: string
4541               timeout:
4542                 description: Timeout for validation, apply and health checking operations.
4543                   Defaults to 'Interval' duration.
4544                 type: string
4545               validation:
4546                 description: Validate the Kubernetes objects before applying them
4547                   on the cluster. The validation strategy can be 'client' (local dry-run),
4548                   'server' (APIServer dry-run) or 'none'. When 'Force' is 'true',
4549                   validation will fallback to 'client' if set to 'server' because
4550                   server-side validation is not supported in this scenario.
4551                 enum:
4552                 - none
4553                 - client
4554                 - server
4555                 type: string
4556             required:
4557             - interval
4558             - prune
4559             - sourceRef
4560             type: object
4561           status:
4562             default:
4563               observedGeneration: -1
4564             description: KustomizationStatus defines the observed state of a kustomization.
4565             properties:
4566               conditions:
4567                 items:
4568                   description: "Condition contains details for one aspect of the current
4569                     state of this API Resource. --- This struct is intended for direct
4570                     use as an array at the field path .status.conditions.  For example,
4571                     \n type FooStatus struct{ // Represents the observations of a
4572                     foo's current state. // Known .status.conditions.type are: \"Available\",
4573                     \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
4574                     // +listType=map // +listMapKey=type Conditions []metav1.Condition
4575                     `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
4576                     protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
4577                   properties:
4578                     lastTransitionTime:
4579                       description: lastTransitionTime is the last time the condition
4580                         transitioned from one status to another. This should be when
4581                         the underlying condition changed.  If that is not known, then
4582                         using the time when the API field changed is acceptable.
4583                       format: date-time
4584                       type: string
4585                     message:
4586                       description: message is a human readable message indicating
4587                         details about the transition. This may be an empty string.
4588                       maxLength: 32768
4589                       type: string
4590                     observedGeneration:
4591                       description: observedGeneration represents the .metadata.generation
4592                         that the condition was set based upon. For instance, if .metadata.generation
4593                         is currently 12, but the .status.conditions[x].observedGeneration
4594                         is 9, the condition is out of date with respect to the current
4595                         state of the instance.
4596                       format: int64
4597                       minimum: 0
4598                       type: integer
4599                     reason:
4600                       description: reason contains a programmatic identifier indicating
4601                         the reason for the condition's last transition. Producers
4602                         of specific condition types may define expected values and
4603                         meanings for this field, and whether the values are considered
4604                         a guaranteed API. The value should be a CamelCase string.
4605                         This field may not be empty.
4606                       maxLength: 1024
4607                       minLength: 1
4608                       pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
4609                       type: string
4610                     status:
4611                       description: status of the condition, one of True, False, Unknown.
4612                       enum:
4613                       - "True"
4614                       - "False"
4615                       - Unknown
4616                       type: string
4617                     type:
4618                       description: type of condition in CamelCase or in foo.example.com/CamelCase.
4619                         --- Many .condition.type values are consistent across resources
4620                         like Available, but because arbitrary conditions can be useful
4621                         (see .node.status.conditions), the ability to deconflict is
4622                         important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
4623                       maxLength: 316
4624                       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])$
4625                       type: string
4626                   required:
4627                   - lastTransitionTime
4628                   - message
4629                   - reason
4630                   - status
4631                   - type
4632                   type: object
4633                 type: array
4634               lastAppliedRevision:
4635                 description: The last successfully applied revision. The revision
4636                   format for Git sources is <branch|tag>/<commit-sha>.
4637                 type: string
4638               lastAttemptedRevision:
4639                 description: LastAttemptedRevision is the revision of the last reconciliation
4640                   attempt.
4641                 type: string
4642               lastHandledReconcileAt:
4643                 description: LastHandledReconcileAt holds the value of the most recent
4644                   reconcile request value, so a change of the annotation value can
4645                   be detected.
4646                 type: string
4647               observedGeneration:
4648                 description: ObservedGeneration is the last reconciled generation.
4649                 format: int64
4650                 type: integer
4651               snapshot:
4652                 description: The last successfully applied revision metadata.
4653                 properties:
4654                   checksum:
4655                     description: The manifests sha1 checksum.
4656                     type: string
4657                   entries:
4658                     description: A list of Kubernetes kinds grouped by namespace.
4659                     items:
4660                       description: Snapshot holds the metadata of namespaced Kubernetes
4661                         objects
4662                       properties:
4663                         kinds:
4664                           additionalProperties:
4665                             type: string
4666                           description: The list of Kubernetes kinds.
4667                           type: object
4668                         namespace:
4669                           description: The namespace of this entry.
4670                           type: string
4671                       required:
4672                       - kinds
4673                       type: object
4674                     type: array
4675                 required:
4676                 - checksum
4677                 - entries
4678                 type: object
4679             type: object
4680         type: object
4681     served: true
4682     storage: false
4683     subresources:
4684       status: {}
4685   - additionalPrinterColumns:
4686     - jsonPath: .metadata.creationTimestamp
4687       name: Age
4688       type: date
4689     - jsonPath: .status.conditions[?(@.type=="Ready")].status
4690       name: Ready
4691       type: string
4692     - jsonPath: .status.conditions[?(@.type=="Ready")].message
4693       name: Status
4694       type: string
4695     deprecated: true
4696     deprecationWarning: v1beta2 Kustomization is deprecated, upgrade to v1
4697     name: v1beta2
4698     schema:
4699       openAPIV3Schema:
4700         description: Kustomization is the Schema for the kustomizations API.
4701         properties:
4702           apiVersion:
4703             description: 'APIVersion defines the versioned schema of this representation
4704               of an object. Servers should convert recognized schemas to the latest
4705               internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
4706             type: string
4707           kind:
4708             description: 'Kind is a string value representing the REST resource this
4709               object represents. Servers may infer this from the endpoint the client
4710               submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
4711             type: string
4712           metadata:
4713             type: object
4714           spec:
4715             description: KustomizationSpec defines the configuration to calculate
4716               the desired state from a Source using Kustomize.
4717             properties:
4718               commonMetadata:
4719                 description: CommonMetadata specifies the common labels and annotations
4720                   that are applied to all resources. Any existing label or annotation
4721                   will be overridden if its key matches a common one.
4722                 properties:
4723                   annotations:
4724                     additionalProperties:
4725                       type: string
4726                     description: Annotations to be added to the object's metadata.
4727                     type: object
4728                   labels:
4729                     additionalProperties:
4730                       type: string
4731                     description: Labels to be added to the object's metadata.
4732                     type: object
4733                 type: object
4734               components:
4735                 description: Components specifies relative paths to specifications
4736                   of other Components.
4737                 items:
4738                   type: string
4739                 type: array
4740               decryption:
4741                 description: Decrypt Kubernetes secrets before applying them on the
4742                   cluster.
4743                 properties:
4744                   provider:
4745                     description: Provider is the name of the decryption engine.
4746                     enum:
4747                     - sops
4748                     type: string
4749                   secretRef:
4750                     description: The secret name containing the private OpenPGP keys
4751                       used for decryption.
4752                     properties:
4753                       name:
4754                         description: Name of the referent.
4755                         type: string
4756                     required:
4757                     - name
4758                     type: object
4759                 required:
4760                 - provider
4761                 type: object
4762               dependsOn:
4763                 description: DependsOn may contain a meta.NamespacedObjectReference
4764                   slice with references to Kustomization resources that must be ready
4765                   before this Kustomization can be reconciled.
4766                 items:
4767                   description: NamespacedObjectReference contains enough information
4768                     to locate the referenced Kubernetes resource object in any namespace.
4769                   properties:
4770                     name:
4771                       description: Name of the referent.
4772                       type: string
4773                     namespace:
4774                       description: Namespace of the referent, when not specified it
4775                         acts as LocalObjectReference.
4776                       type: string
4777                   required:
4778                   - name
4779                   type: object
4780                 type: array
4781               force:
4782                 default: false
4783                 description: Force instructs the controller to recreate resources
4784                   when patching fails due to an immutable field change.
4785                 type: boolean
4786               healthChecks:
4787                 description: A list of resources to be included in the health assessment.
4788                 items:
4789                   description: NamespacedObjectKindReference contains enough information
4790                     to locate the typed referenced Kubernetes resource object in any
4791                     namespace.
4792                   properties:
4793                     apiVersion:
4794                       description: API version of the referent, if not specified the
4795                         Kubernetes preferred version will be used.
4796                       type: string
4797                     kind:
4798                       description: Kind of the referent.
4799                       type: string
4800                     name:
4801                       description: Name of the referent.
4802                       type: string
4803                     namespace:
4804                       description: Namespace of the referent, when not specified it
4805                         acts as LocalObjectReference.
4806                       type: string
4807                   required:
4808                   - kind
4809                   - name
4810                   type: object
4811                 type: array
4812               images:
4813                 description: Images is a list of (image name, new name, new tag or
4814                   digest) for changing image names, tags or digests. This can also
4815                   be achieved with a patch, but this operator is simpler to specify.
4816                 items:
4817                   description: Image contains an image name, a new name, a new tag
4818                     or digest, which will replace the original name and tag.
4819                   properties:
4820                     digest:
4821                       description: Digest is the value used to replace the original
4822                         image tag. If digest is present NewTag value is ignored.
4823                       type: string
4824                     name:
4825                       description: Name is a tag-less image name.
4826                       type: string
4827                     newName:
4828                       description: NewName is the value used to replace the original
4829                         name.
4830                       type: string
4831                     newTag:
4832                       description: NewTag is the value used to replace the original
4833                         tag.
4834                       type: string
4835                   required:
4836                   - name
4837                   type: object
4838                 type: array
4839               interval:
4840                 description: The interval at which to reconcile the Kustomization.
4841                 pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
4842                 type: string
4843               kubeConfig:
4844                 description: The KubeConfig for reconciling the Kustomization on a
4845                   remote cluster. When used in combination with KustomizationSpec.ServiceAccountName,
4846                   forces the controller to act on behalf of that Service Account at
4847                   the target cluster. If the --default-service-account flag is set,
4848                   its value will be used as a controller level fallback for when KustomizationSpec.ServiceAccountName
4849                   is empty.
4850                 properties:
4851                   secretRef:
4852                     description: SecretRef holds the name of a secret that contains
4853                       a key with the kubeconfig file as the value. If no key is set,
4854                       the key will default to 'value'. It is recommended that the
4855                       kubeconfig is self-contained, and the secret is regularly updated
4856                       if credentials such as a cloud-access-token expire. Cloud specific
4857                       `cmd-path` auth helpers will not function without adding binaries
4858                       and credentials to the Pod that is responsible for reconciling
4859                       Kubernetes resources.
4860                     properties:
4861                       key:
4862                         description: Key in the Secret, when not specified an implementation-specific
4863                           default key is used.
4864                         type: string
4865                       name:
4866                         description: Name of the Secret.
4867                         type: string
4868                     required:
4869                     - name
4870                     type: object
4871                 required:
4872                 - secretRef
4873                 type: object
4874               patches:
4875                 description: Strategic merge and JSON patches, defined as inline YAML
4876                   objects, capable of targeting objects based on kind, label and annotation
4877                   selectors.
4878                 items:
4879                   description: Patch contains an inline StrategicMerge or JSON6902
4880                     patch, and the target the patch should be applied to.
4881                   properties:
4882                     patch:
4883                       description: Patch contains an inline StrategicMerge patch or
4884                         an inline JSON6902 patch with an array of operation objects.
4885                       type: string
4886                     target:
4887                       description: Target points to the resources that the patch document
4888                         should be applied to.
4889                       properties:
4890                         annotationSelector:
4891                           description: AnnotationSelector is a string that follows
4892                             the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
4893                             It matches with the resource annotations.
4894                           type: string
4895                         group:
4896                           description: Group is the API group to select resources
4897                             from. Together with Version and Kind it is capable of
4898                             unambiguously identifying and/or selecting resources.
4899                             https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
4900                           type: string
4901                         kind:
4902                           description: Kind of the API Group to select resources from.
4903                             Together with Group and Version it is capable of unambiguously
4904                             identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
4905                           type: string
4906                         labelSelector:
4907                           description: LabelSelector is a string that follows the
4908                             label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
4909                             It matches with the resource labels.
4910                           type: string
4911                         name:
4912                           description: Name to match resources with.
4913                           type: string
4914                         namespace:
4915                           description: Namespace to select resources from.
4916                           type: string
4917                         version:
4918                           description: Version of the API Group to select resources
4919                             from. Together with Group and Kind it is capable of unambiguously
4920                             identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
4921                           type: string
4922                       type: object
4923                   required:
4924                   - patch
4925                   type: object
4926                 type: array
4927               patchesJson6902:
4928                 description: 'JSON 6902 patches, defined as inline YAML objects. Deprecated:
4929                   Use Patches instead.'
4930                 items:
4931                   description: JSON6902Patch contains a JSON6902 patch and the target
4932                     the patch should be applied to.
4933                   properties:
4934                     patch:
4935                       description: Patch contains the JSON6902 patch document with
4936                         an array of operation objects.
4937                       items:
4938                         description: JSON6902 is a JSON6902 operation object. https://datatracker.ietf.org/doc/html/rfc6902#section-4
4939                         properties:
4940                           from:
4941                             description: From contains a JSON-pointer value that references
4942                               a location within the target document where the operation
4943                               is performed. The meaning of the value depends on the
4944                               value of Op, and is NOT taken into account by all operations.
4945                             type: string
4946                           op:
4947                             description: Op indicates the operation to perform. Its
4948                               value MUST be one of "add", "remove", "replace", "move",
4949                               "copy", or "test". https://datatracker.ietf.org/doc/html/rfc6902#section-4
4950                             enum:
4951                             - test
4952                             - remove
4953                             - add
4954                             - replace
4955                             - move
4956                             - copy
4957                             type: string
4958                           path:
4959                             description: Path contains the JSON-pointer value that
4960                               references a location within the target document where
4961                               the operation is performed. The meaning of the value
4962                               depends on the value of Op.
4963                             type: string
4964                           value:
4965                             description: Value contains a valid JSON structure. The
4966                               meaning of the value depends on the value of Op, and
4967                               is NOT taken into account by all operations.
4968                             x-kubernetes-preserve-unknown-fields: true
4969                         required:
4970                         - op
4971                         - path
4972                         type: object
4973                       type: array
4974                     target:
4975                       description: Target points to the resources that the patch document
4976                         should be applied to.
4977                       properties:
4978                         annotationSelector:
4979                           description: AnnotationSelector is a string that follows
4980                             the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
4981                             It matches with the resource annotations.
4982                           type: string
4983                         group:
4984                           description: Group is the API group to select resources
4985                             from. Together with Version and Kind it is capable of
4986                             unambiguously identifying and/or selecting resources.
4987                             https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
4988                           type: string
4989                         kind:
4990                           description: Kind of the API Group to select resources from.
4991                             Together with Group and Version it is capable of unambiguously
4992                             identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
4993                           type: string
4994                         labelSelector:
4995                           description: LabelSelector is a string that follows the
4996                             label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
4997                             It matches with the resource labels.
4998                           type: string
4999                         name:
5000                           description: Name to match resources with.
5001                           type: string
5002                         namespace:
5003                           description: Namespace to select resources from.
5004                           type: string
5005                         version:
5006                           description: Version of the API Group to select resources
5007                             from. Together with Group and Kind it is capable of unambiguously
5008                             identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
5009                           type: string
5010                       type: object
5011                   required:
5012                   - patch
5013                   - target
5014                   type: object
5015                 type: array
5016               patchesStrategicMerge:
5017                 description: 'Strategic merge patches, defined as inline YAML objects.
5018                   Deprecated: Use Patches instead.'
5019                 items:
5020                   x-kubernetes-preserve-unknown-fields: true
5021                 type: array
5022               path:
5023                 description: Path to the directory containing the kustomization.yaml
5024                   file, or the set of plain YAMLs a kustomization.yaml should be generated
5025                   for. Defaults to 'None', which translates to the root path of the
5026                   SourceRef.
5027                 type: string
5028               postBuild:
5029                 description: PostBuild describes which actions to perform on the YAML
5030                   manifest generated by building the kustomize overlay.
5031                 properties:
5032                   substitute:
5033                     additionalProperties:
5034                       type: string
5035                     description: Substitute holds a map of key/value pairs. The variables
5036                       defined in your YAML manifests that match any of the keys defined
5037                       in the map will be substituted with the set value. Includes
5038                       support for bash string replacement functions e.g. ${var:=default},
5039                       ${var:position} and ${var/substring/replacement}.
5040                     type: object
5041                   substituteFrom:
5042                     description: SubstituteFrom holds references to ConfigMaps and
5043                       Secrets containing the variables and their values to be substituted
5044                       in the YAML manifests. The ConfigMap and the Secret data keys
5045                       represent the var names and they must match the vars declared
5046                       in the manifests for the substitution to happen.
5047                     items:
5048                       description: SubstituteReference contains a reference to a resource
5049                         containing the variables name and value.
5050                       properties:
5051                         kind:
5052                           description: Kind of the values referent, valid values are
5053                             ('Secret', 'ConfigMap').
5054                           enum:
5055                           - Secret
5056                           - ConfigMap
5057                           type: string
5058                         name:
5059                           description: Name of the values referent. Should reside
5060                             in the same namespace as the referring resource.
5061                           maxLength: 253
5062                           minLength: 1
5063                           type: string
5064                         optional:
5065                           default: false
5066                           description: Optional indicates whether the referenced resource
5067                             must exist, or whether to tolerate its absence. If true
5068                             and the referenced resource is absent, proceed as if the
5069                             resource was present but empty, without any variables
5070                             defined.
5071                           type: boolean
5072                       required:
5073                       - kind
5074                       - name
5075                       type: object
5076                     type: array
5077                 type: object
5078               prune:
5079                 description: Prune enables garbage collection.
5080                 type: boolean
5081               retryInterval:
5082                 description: The interval at which to retry a previously failed reconciliation.
5083                   When not specified, the controller uses the KustomizationSpec.Interval
5084                   value to retry failures.
5085                 pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
5086                 type: string
5087               serviceAccountName:
5088                 description: The name of the Kubernetes service account to impersonate
5089                   when reconciling this Kustomization.
5090                 type: string
5091               sourceRef:
5092                 description: Reference of the source where the kustomization file
5093                   is.
5094                 properties:
5095                   apiVersion:
5096                     description: API version of the referent.
5097                     type: string
5098                   kind:
5099                     description: Kind of the referent.
5100                     enum:
5101                     - OCIRepository
5102                     - GitRepository
5103                     - Bucket
5104                     type: string
5105                   name:
5106                     description: Name of the referent.
5107                     type: string
5108                   namespace:
5109                     description: Namespace of the referent, defaults to the namespace
5110                       of the Kubernetes resource object that contains the reference.
5111                     type: string
5112                 required:
5113                 - kind
5114                 - name
5115                 type: object
5116               suspend:
5117                 description: This flag tells the controller to suspend subsequent
5118                   kustomize executions, it does not apply to already started executions.
5119                   Defaults to false.
5120                 type: boolean
5121               targetNamespace:
5122                 description: TargetNamespace sets or overrides the namespace in the
5123                   kustomization.yaml file.
5124                 maxLength: 63
5125                 minLength: 1
5126                 type: string
5127               timeout:
5128                 description: Timeout for validation, apply and health checking operations.
5129                   Defaults to 'Interval' duration.
5130                 pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
5131                 type: string
5132               validation:
5133                 description: 'Deprecated: Not used in v1beta2.'
5134                 enum:
5135                 - none
5136                 - client
5137                 - server
5138                 type: string
5139               wait:
5140                 description: Wait instructs the controller to check the health of
5141                   all the reconciled resources. When enabled, the HealthChecks are
5142                   ignored. Defaults to false.
5143                 type: boolean
5144             required:
5145             - interval
5146             - prune
5147             - sourceRef
5148             type: object
5149           status:
5150             default:
5151               observedGeneration: -1
5152             description: KustomizationStatus defines the observed state of a kustomization.
5153             properties:
5154               conditions:
5155                 items:
5156                   description: "Condition contains details for one aspect of the current
5157                     state of this API Resource. --- This struct is intended for direct
5158                     use as an array at the field path .status.conditions.  For example,
5159                     \n type FooStatus struct{ // Represents the observations of a
5160                     foo's current state. // Known .status.conditions.type are: \"Available\",
5161                     \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
5162                     // +listType=map // +listMapKey=type Conditions []metav1.Condition
5163                     `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
5164                     protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
5165                   properties:
5166                     lastTransitionTime:
5167                       description: lastTransitionTime is the last time the condition
5168                         transitioned from one status to another. This should be when
5169                         the underlying condition changed.  If that is not known, then
5170                         using the time when the API field changed is acceptable.
5171                       format: date-time
5172                       type: string
5173                     message:
5174                       description: message is a human readable message indicating
5175                         details about the transition. This may be an empty string.
5176                       maxLength: 32768
5177                       type: string
5178                     observedGeneration:
5179                       description: observedGeneration represents the .metadata.generation
5180                         that the condition was set based upon. For instance, if .metadata.generation
5181                         is currently 12, but the .status.conditions[x].observedGeneration
5182                         is 9, the condition is out of date with respect to the current
5183                         state of the instance.
5184                       format: int64
5185                       minimum: 0
5186                       type: integer
5187                     reason:
5188                       description: reason contains a programmatic identifier indicating
5189                         the reason for the condition's last transition. Producers
5190                         of specific condition types may define expected values and
5191                         meanings for this field, and whether the values are considered
5192                         a guaranteed API. The value should be a CamelCase string.
5193                         This field may not be empty.
5194                       maxLength: 1024
5195                       minLength: 1
5196                       pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
5197                       type: string
5198                     status:
5199                       description: status of the condition, one of True, False, Unknown.
5200                       enum:
5201                       - "True"
5202                       - "False"
5203                       - Unknown
5204                       type: string
5205                     type:
5206                       description: type of condition in CamelCase or in foo.example.com/CamelCase.
5207                         --- Many .condition.type values are consistent across resources
5208                         like Available, but because arbitrary conditions can be useful
5209                         (see .node.status.conditions), the ability to deconflict is
5210                         important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
5211                       maxLength: 316
5212                       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])$
5213                       type: string
5214                   required:
5215                   - lastTransitionTime
5216                   - message
5217                   - reason
5218                   - status
5219                   - type
5220                   type: object
5221                 type: array
5222               inventory:
5223                 description: Inventory contains the list of Kubernetes resource object
5224                   references that have been successfully applied.
5225                 properties:
5226                   entries:
5227                     description: Entries of Kubernetes resource object references.
5228                     items:
5229                       description: ResourceRef contains the information necessary
5230                         to locate a resource within a cluster.
5231                       properties:
5232                         id:
5233                           description: ID is the string representation of the Kubernetes
5234                             resource object's metadata, in the format '<namespace>_<name>_<group>_<kind>'.
5235                           type: string
5236                         v:
5237                           description: Version is the API version of the Kubernetes
5238                             resource object's kind.
5239                           type: string
5240                       required:
5241                       - id
5242                       - v
5243                       type: object
5244                     type: array
5245                 required:
5246                 - entries
5247                 type: object
5248               lastAppliedRevision:
5249                 description: The last successfully applied revision. Equals the Revision
5250                   of the applied Artifact from the referenced Source.
5251                 type: string
5252               lastAttemptedRevision:
5253                 description: LastAttemptedRevision is the revision of the last reconciliation
5254                   attempt.
5255                 type: string
5256               lastHandledReconcileAt:
5257                 description: LastHandledReconcileAt holds the value of the most recent
5258                   reconcile request value, so a change of the annotation value can
5259                   be detected.
5260                 type: string
5261               observedGeneration:
5262                 description: ObservedGeneration is the last reconciled generation.
5263                 format: int64
5264                 type: integer
5265             type: object
5266         type: object
5267     served: true
5268     storage: false
5269     subresources:
5270       status: {}
5271 ---
5272 apiVersion: v1
5273 kind: ServiceAccount
5274 metadata:
5275   labels:
5276     app.kubernetes.io/component: kustomize-controller
5277     app.kubernetes.io/instance: flux-system
5278     app.kubernetes.io/part-of: flux
5279     app.kubernetes.io/version: v2.1.2
5280   name: kustomize-controller
5281   namespace: flux-system
5282 ---
5283 apiVersion: apps/v1
5284 kind: Deployment
5285 metadata:
5286   labels:
5287     app.kubernetes.io/component: kustomize-controller
5288     app.kubernetes.io/instance: flux-system
5289     app.kubernetes.io/part-of: flux
5290     app.kubernetes.io/version: v2.1.2
5291     control-plane: controller
5292   name: kustomize-controller
5293   namespace: flux-system
5294 spec:
5295   replicas: 1
5296   selector:
5297     matchLabels:
5298       app: kustomize-controller
5299   template:
5300     metadata:
5301       annotations:
5302         prometheus.io/port: "8080"
5303         prometheus.io/scrape: "true"
5304       labels:
5305         app: kustomize-controller
5306     spec:
5307       containers:
5308       - args:
5309         - --events-addr=http://notification-controller.flux-system.svc.cluster.local./
5310         - --watch-all-namespaces=true
5311         - --log-level=info
5312         - --log-encoding=json
5313         - --enable-leader-election
5314         env:
5315         - name: RUNTIME_NAMESPACE
5316           valueFrom:
5317             fieldRef:
5318               fieldPath: metadata.namespace
5319         image: ghcr.io/fluxcd/kustomize-controller:v1.1.1
5320         imagePullPolicy: IfNotPresent
5321         livenessProbe:
5322           httpGet:
5323             path: /healthz
5324             port: healthz
5325         name: manager
5326         ports:
5327         - containerPort: 8080
5328           name: http-prom
5329           protocol: TCP
5330         - containerPort: 9440
5331           name: healthz
5332           protocol: TCP
5333         readinessProbe:
5334           httpGet:
5335             path: /readyz
5336             port: healthz
5337         resources:
5338           limits:
5339             cpu: 1000m
5340             memory: 1Gi
5341           requests:
5342             cpu: 100m
5343             memory: 64Mi
5344         securityContext:
5345           allowPrivilegeEscalation: false
5346           capabilities:
5347             drop:
5348             - ALL
5349           readOnlyRootFilesystem: true
5350           runAsNonRoot: true
5351           seccompProfile:
5352             type: RuntimeDefault
5353         volumeMounts:
5354         - mountPath: /tmp
5355           name: temp
5356       nodeSelector:
5357         kubernetes.io/os: linux
5358       priorityClassName: system-cluster-critical
5359       securityContext:
5360         fsGroup: 1337
5361       serviceAccountName: kustomize-controller
5362       terminationGracePeriodSeconds: 60
5363       volumes:
5364       - emptyDir: {}
5365         name: temp
5366 ---
5367 apiVersion: apiextensions.k8s.io/v1
5368 kind: CustomResourceDefinition
5369 metadata:
5370   annotations:
5371     controller-gen.kubebuilder.io/version: v0.12.0
5372   labels:
5373     app.kubernetes.io/component: helm-controller
5374     app.kubernetes.io/instance: flux-system
5375     app.kubernetes.io/part-of: flux
5376     app.kubernetes.io/version: v2.1.2
5377   name: helmreleases.helm.toolkit.fluxcd.io
5378 spec:
5379   group: helm.toolkit.fluxcd.io
5380   names:
5381     kind: HelmRelease
5382     listKind: HelmReleaseList
5383     plural: helmreleases
5384     shortNames:
5385     - hr
5386     singular: helmrelease
5387   scope: Namespaced
5388   versions:
5389   - additionalPrinterColumns:
5390     - jsonPath: .metadata.creationTimestamp
5391       name: Age
5392       type: date
5393     - jsonPath: .status.conditions[?(@.type=="Ready")].status
5394       name: Ready
5395       type: string
5396     - jsonPath: .status.conditions[?(@.type=="Ready")].message
5397       name: Status
5398       type: string
5399     name: v2beta1
5400     schema:
5401       openAPIV3Schema:
5402         description: HelmRelease is the Schema for the helmreleases API
5403         properties:
5404           apiVersion:
5405             description: 'APIVersion defines the versioned schema of this representation
5406               of an object. Servers should convert recognized schemas to the latest
5407               internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
5408             type: string
5409           kind:
5410             description: 'Kind is a string value representing the REST resource this
5411               object represents. Servers may infer this from the endpoint the client
5412               submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
5413             type: string
5414           metadata:
5415             type: object
5416           spec:
5417             description: HelmReleaseSpec defines the desired state of a Helm release.
5418             properties:
5419               chart:
5420                 description: Chart defines the template of the v1beta2.HelmChart that
5421                   should be created for this HelmRelease.
5422                 properties:
5423                   metadata:
5424                     description: ObjectMeta holds the template for metadata like labels
5425                       and annotations.
5426                     properties:
5427                       annotations:
5428                         additionalProperties:
5429                           type: string
5430                         description: 'Annotations is an unstructured key value map
5431                           stored with a resource that may be set by external tools
5432                           to store and retrieve arbitrary metadata. They are not queryable
5433                           and should be preserved when modifying objects. More info:
5434                           https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/'
5435                         type: object
5436                       labels:
5437                         additionalProperties:
5438                           type: string
5439                         description: 'Map of string keys and values that can be used
5440                           to organize and categorize (scope and select) objects. More
5441                           info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/'
5442                         type: object
5443                     type: object
5444                   spec:
5445                     description: Spec holds the template for the v1beta2.HelmChartSpec
5446                       for this HelmRelease.
5447                     properties:
5448                       chart:
5449                         description: The name or path the Helm chart is available
5450                           at in the SourceRef.
5451                         type: string
5452                       interval:
5453                         description: Interval at which to check the v1beta2.Source
5454                           for updates. Defaults to 'HelmReleaseSpec.Interval'.
5455                         pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
5456                         type: string
5457                       reconcileStrategy:
5458                         default: ChartVersion
5459                         description: Determines what enables the creation of a new
5460                           artifact. Valid values are ('ChartVersion', 'Revision').
5461                           See the documentation of the values for an explanation on
5462                           their behavior. Defaults to ChartVersion when omitted.
5463                         enum:
5464                         - ChartVersion
5465                         - Revision
5466                         type: string
5467                       sourceRef:
5468                         description: The name and namespace of the v1beta2.Source
5469                           the chart is available at.
5470                         properties:
5471                           apiVersion:
5472                             description: APIVersion of the referent.
5473                             type: string
5474                           kind:
5475                             description: Kind of the referent.
5476                             enum:
5477                             - HelmRepository
5478                             - GitRepository
5479                             - Bucket
5480                             type: string
5481                           name:
5482                             description: Name of the referent.
5483                             maxLength: 253
5484                             minLength: 1
5485                             type: string
5486                           namespace:
5487                             description: Namespace of the referent.
5488                             maxLength: 63
5489                             minLength: 1
5490                             type: string
5491                         required:
5492                         - name
5493                         type: object
5494                       valuesFile:
5495                         description: Alternative values file to use as the default
5496                           chart values, expected to be a relative path in the SourceRef.
5497                           Deprecated in favor of ValuesFiles, for backwards compatibility
5498                           the file defined here is merged before the ValuesFiles items.
5499                           Ignored when omitted.
5500                         type: string
5501                       valuesFiles:
5502                         description: Alternative list of values files to use as the
5503                           chart values (values.yaml is not included by default), expected
5504                           to be a relative path in the SourceRef. Values files are
5505                           merged in the order of this list with the last file overriding
5506                           the first. Ignored when omitted.
5507                         items:
5508                           type: string
5509                         type: array
5510                       verify:
5511                         description: Verify contains the secret name containing the
5512                           trusted public keys used to verify the signature and specifies
5513                           which provider to use to check whether OCI image is authentic.
5514                           This field is only supported for OCI sources. Chart dependencies,
5515                           which are not bundled in the umbrella chart artifact, are
5516                           not verified.
5517                         properties:
5518                           provider:
5519                             default: cosign
5520                             description: Provider specifies the technology used to
5521                               sign the OCI Helm chart.
5522                             enum:
5523                             - cosign
5524                             type: string
5525                           secretRef:
5526                             description: SecretRef specifies the Kubernetes Secret
5527                               containing the trusted public keys.
5528                             properties:
5529                               name:
5530                                 description: Name of the referent.
5531                                 type: string
5532                             required:
5533                             - name
5534                             type: object
5535                         required:
5536                         - provider
5537                         type: object
5538                       version:
5539                         default: '*'
5540                         description: Version semver expression, ignored for charts
5541                           from v1beta2.GitRepository and v1beta2.Bucket sources. Defaults
5542                           to latest when omitted.
5543                         type: string
5544                     required:
5545                     - chart
5546                     - sourceRef
5547                     type: object
5548                 required:
5549                 - spec
5550                 type: object
5551               dependsOn:
5552                 description: DependsOn may contain a meta.NamespacedObjectReference
5553                   slice with references to HelmRelease resources that must be ready
5554                   before this HelmRelease can be reconciled.
5555                 items:
5556                   description: NamespacedObjectReference contains enough information
5557                     to locate the referenced Kubernetes resource object in any namespace.
5558                   properties:
5559                     name:
5560                       description: Name of the referent.
5561                       type: string
5562                     namespace:
5563                       description: Namespace of the referent, when not specified it
5564                         acts as LocalObjectReference.
5565                       type: string
5566                   required:
5567                   - name
5568                   type: object
5569                 type: array
5570               install:
5571                 description: Install holds the configuration for Helm install actions
5572                   for this HelmRelease.
5573                 properties:
5574                   crds:
5575                     description: "CRDs upgrade CRDs from the Helm Chart's crds directory
5576                       according to the CRD upgrade policy provided here. Valid values
5577                       are `Skip`, `Create` or `CreateReplace`. Default is `Create`
5578                       and if omitted CRDs are installed but not updated. \n Skip:
5579                       do neither install nor replace (update) any CRDs. \n Create:
5580                       new CRDs are created, existing CRDs are neither updated nor
5581                       deleted. \n CreateReplace: new CRDs are created, existing CRDs
5582                       are updated (replaced) but not deleted. \n By default, CRDs
5583                       are applied (installed) during Helm install action. With this
5584                       option users can opt-in to CRD replace existing CRDs on Helm
5585                       install actions, which is not (yet) natively supported by Helm.
5586                       https://helm.sh/docs/chart_best_practices/custom_resource_definitions."
5587                     enum:
5588                     - Skip
5589                     - Create
5590                     - CreateReplace
5591                     type: string
5592                   createNamespace:
5593                     description: CreateNamespace tells the Helm install action to
5594                       create the HelmReleaseSpec.TargetNamespace if it does not exist
5595                       yet. On uninstall, the namespace will not be garbage collected.
5596                     type: boolean
5597                   disableHooks:
5598                     description: DisableHooks prevents hooks from running during the
5599                       Helm install action.
5600                     type: boolean
5601                   disableOpenAPIValidation:
5602                     description: DisableOpenAPIValidation prevents the Helm install
5603                       action from validating rendered templates against the Kubernetes
5604                       OpenAPI Schema.
5605                     type: boolean
5606                   disableWait:
5607                     description: DisableWait disables the waiting for resources to
5608                       be ready after a Helm install has been performed.
5609                     type: boolean
5610                   disableWaitForJobs:
5611                     description: DisableWaitForJobs disables waiting for jobs to complete
5612                       after a Helm install has been performed.
5613                     type: boolean
5614                   remediation:
5615                     description: Remediation holds the remediation configuration for
5616                       when the Helm install action for the HelmRelease fails. The
5617                       default is to not perform any action.
5618                     properties:
5619                       ignoreTestFailures:
5620                         description: IgnoreTestFailures tells the controller to skip
5621                           remediation when the Helm tests are run after an install
5622                           action but fail. Defaults to 'Test.IgnoreFailures'.
5623                         type: boolean
5624                       remediateLastFailure:
5625                         description: RemediateLastFailure tells the controller to
5626                           remediate the last failure, when no retries remain. Defaults
5627                           to 'false'.
5628                         type: boolean
5629                       retries:
5630                         description: Retries is the number of retries that should
5631                           be attempted on failures before bailing. Remediation, using
5632                           an uninstall, is performed between each attempt. Defaults
5633                           to '0', a negative integer equals to unlimited retries.
5634                         type: integer
5635                     type: object
5636                   replace:
5637                     description: Replace tells the Helm install action to re-use the
5638                       'ReleaseName', but only if that name is a deleted release which
5639                       remains in the history.
5640                     type: boolean
5641                   skipCRDs:
5642                     description: "SkipCRDs tells the Helm install action to not install
5643                       any CRDs. By default, CRDs are installed if not already present.
5644                       \n Deprecated use CRD policy (`crds`) attribute with value `Skip`
5645                       instead."
5646                     type: boolean
5647                   timeout:
5648                     description: Timeout is the time to wait for any individual Kubernetes
5649                       operation (like Jobs for hooks) during the performance of a
5650                       Helm install action. Defaults to 'HelmReleaseSpec.Timeout'.
5651                     pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
5652                     type: string
5653                 type: object
5654               interval:
5655                 description: Interval at which to reconcile the Helm release. This
5656                   interval is approximate and may be subject to jitter to ensure efficient
5657                   use of resources.
5658                 pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
5659                 type: string
5660               kubeConfig:
5661                 description: KubeConfig for reconciling the HelmRelease on a remote
5662                   cluster. When used in combination with HelmReleaseSpec.ServiceAccountName,
5663                   forces the controller to act on behalf of that Service Account at
5664                   the target cluster. If the --default-service-account flag is set,
5665                   its value will be used as a controller level fallback for when HelmReleaseSpec.ServiceAccountName
5666                   is empty.
5667                 properties:
5668                   secretRef:
5669                     description: SecretRef holds the name of a secret that contains
5670                       a key with the kubeconfig file as the value. If no key is set,
5671                       the key will default to 'value'. It is recommended that the
5672                       kubeconfig is self-contained, and the secret is regularly updated
5673                       if credentials such as a cloud-access-token expire. Cloud specific
5674                       `cmd-path` auth helpers will not function without adding binaries
5675                       and credentials to the Pod that is responsible for reconciling
5676                       Kubernetes resources.
5677                     properties:
5678                       key:
5679                         description: Key in the Secret, when not specified an implementation-specific
5680                           default key is used.
5681                         type: string
5682                       name:
5683                         description: Name of the Secret.
5684                         type: string
5685                     required:
5686                     - name
5687                     type: object
5688                 required:
5689                 - secretRef
5690                 type: object
5691               maxHistory:
5692                 description: MaxHistory is the number of revisions saved by Helm for
5693                   this HelmRelease. Use '0' for an unlimited number of revisions;
5694                   defaults to '10'.
5695                 type: integer
5696               persistentClient:
5697                 description: "PersistentClient tells the controller to use a persistent
5698                   Kubernetes client for this release. When enabled, the client will
5699                   be reused for the duration of the reconciliation, instead of being
5700                   created and destroyed for each (step of a) Helm action. \n This
5701                   can improve performance, but may cause issues with some Helm charts
5702                   that for example do create Custom Resource Definitions during installation
5703                   outside Helm's CRD lifecycle hooks, which are then not observed
5704                   to be available by e.g. post-install hooks. \n If not set, it defaults
5705                   to true."
5706                 type: boolean
5707               postRenderers:
5708                 description: PostRenderers holds an array of Helm PostRenderers, which
5709                   will be applied in order of their definition.
5710                 items:
5711                   description: PostRenderer contains a Helm PostRenderer specification.
5712                   properties:
5713                     kustomize:
5714                       description: Kustomization to apply as PostRenderer.
5715                       properties:
5716                         images:
5717                           description: Images is a list of (image name, new name,
5718                             new tag or digest) for changing image names, tags or digests.
5719                             This can also be achieved with a patch, but this operator
5720                             is simpler to specify.
5721                           items:
5722                             description: Image contains an image name, a new name,
5723                               a new tag or digest, which will replace the original
5724                               name and tag.
5725                             properties:
5726                               digest:
5727                                 description: Digest is the value used to replace the
5728                                   original image tag. If digest is present NewTag
5729                                   value is ignored.
5730                                 type: string
5731                               name:
5732                                 description: Name is a tag-less image name.
5733                                 type: string
5734                               newName:
5735                                 description: NewName is the value used to replace
5736                                   the original name.
5737                                 type: string
5738                               newTag:
5739                                 description: NewTag is the value used to replace the
5740                                   original tag.
5741                                 type: string
5742                             required:
5743                             - name
5744                             type: object
5745                           type: array
5746                         patches:
5747                           description: Strategic merge and JSON patches, defined as
5748                             inline YAML objects, capable of targeting objects based
5749                             on kind, label and annotation selectors.
5750                           items:
5751                             description: Patch contains an inline StrategicMerge or
5752                               JSON6902 patch, and the target the patch should be applied
5753                               to.
5754                             properties:
5755                               patch:
5756                                 description: Patch contains an inline StrategicMerge
5757                                   patch or an inline JSON6902 patch with an array
5758                                   of operation objects.
5759                                 type: string
5760                               target:
5761                                 description: Target points to the resources that the
5762                                   patch document should be applied to.
5763                                 properties:
5764                                   annotationSelector:
5765                                     description: AnnotationSelector is a string that
5766                                       follows the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
5767                                       It matches with the resource annotations.
5768                                     type: string
5769                                   group:
5770                                     description: Group is the API group to select
5771                                       resources from. Together with Version and Kind
5772                                       it is capable of unambiguously identifying and/or
5773                                       selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
5774                                     type: string
5775                                   kind:
5776                                     description: Kind of the API Group to select resources
5777                                       from. Together with Group and Version it is
5778                                       capable of unambiguously identifying and/or
5779                                       selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
5780                                     type: string
5781                                   labelSelector:
5782                                     description: LabelSelector is a string that follows
5783                                       the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
5784                                       It matches with the resource labels.
5785                                     type: string
5786                                   name:
5787                                     description: Name to match resources with.
5788                                     type: string
5789                                   namespace:
5790                                     description: Namespace to select resources from.
5791                                     type: string
5792                                   version:
5793                                     description: Version of the API Group to select
5794                                       resources from. Together with Group and Kind
5795                                       it is capable of unambiguously identifying and/or
5796                                       selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
5797                                     type: string
5798                                 type: object
5799                             required:
5800                             - patch
5801                             type: object
5802                           type: array
5803                         patchesJson6902:
5804                           description: JSON 6902 patches, defined as inline YAML objects.
5805                           items:
5806                             description: JSON6902Patch contains a JSON6902 patch and
5807                               the target the patch should be applied to.
5808                             properties:
5809                               patch:
5810                                 description: Patch contains the JSON6902 patch document
5811                                   with an array of operation objects.
5812                                 items:
5813                                   description: JSON6902 is a JSON6902 operation object.
5814                                     https://datatracker.ietf.org/doc/html/rfc6902#section-4
5815                                   properties:
5816                                     from:
5817                                       description: From contains a JSON-pointer value
5818                                         that references a location within the target
5819                                         document where the operation is performed.
5820                                         The meaning of the value depends on the value
5821                                         of Op, and is NOT taken into account by all
5822                                         operations.
5823                                       type: string
5824                                     op:
5825                                       description: Op indicates the operation to perform.
5826                                         Its value MUST be one of "add", "remove",
5827                                         "replace", "move", "copy", or "test". https://datatracker.ietf.org/doc/html/rfc6902#section-4
5828                                       enum:
5829                                       - test
5830                                       - remove
5831                                       - add
5832                                       - replace
5833                                       - move
5834                                       - copy
5835                                       type: string
5836                                     path:
5837                                       description: Path contains the JSON-pointer
5838                                         value that references a location within the
5839                                         target document where the operation is performed.
5840                                         The meaning of the value depends on the value
5841                                         of Op.
5842                                       type: string
5843                                     value:
5844                                       description: Value contains a valid JSON structure.
5845                                         The meaning of the value depends on the value
5846                                         of Op, and is NOT taken into account by all
5847                                         operations.
5848                                       x-kubernetes-preserve-unknown-fields: true
5849                                   required:
5850                                   - op
5851                                   - path
5852                                   type: object
5853                                 type: array
5854                               target:
5855                                 description: Target points to the resources that the
5856                                   patch document should be applied to.
5857                                 properties:
5858                                   annotationSelector:
5859                                     description: AnnotationSelector is a string that
5860                                       follows the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
5861                                       It matches with the resource annotations.
5862                                     type: string
5863                                   group:
5864                                     description: Group is the API group to select
5865                                       resources from. Together with Version and Kind
5866                                       it is capable of unambiguously identifying and/or
5867                                       selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
5868                                     type: string
5869                                   kind:
5870                                     description: Kind of the API Group to select resources
5871                                       from. Together with Group and Version it is
5872                                       capable of unambiguously identifying and/or
5873                                       selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
5874                                     type: string
5875                                   labelSelector:
5876                                     description: LabelSelector is a string that follows
5877                                       the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
5878                                       It matches with the resource labels.
5879                                     type: string
5880                                   name:
5881                                     description: Name to match resources with.
5882                                     type: string
5883                                   namespace:
5884                                     description: Namespace to select resources from.
5885                                     type: string
5886                                   version:
5887                                     description: Version of the API Group to select
5888                                       resources from. Together with Group and Kind
5889                                       it is capable of unambiguously identifying and/or
5890                                       selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
5891                                     type: string
5892                                 type: object
5893                             required:
5894                             - patch
5895                             - target
5896                             type: object
5897                           type: array
5898                         patchesStrategicMerge:
5899                           description: Strategic merge patches, defined as inline
5900                             YAML objects.
5901                           items:
5902                             x-kubernetes-preserve-unknown-fields: true
5903                           type: array
5904                       type: object
5905                   type: object
5906                 type: array
5907               releaseName:
5908                 description: ReleaseName used for the Helm release. Defaults to a
5909                   composition of '[TargetNamespace-]Name'.
5910                 maxLength: 53
5911                 minLength: 1
5912                 type: string
5913               rollback:
5914                 description: Rollback holds the configuration for Helm rollback actions
5915                   for this HelmRelease.
5916                 properties:
5917                   cleanupOnFail:
5918                     description: CleanupOnFail allows deletion of new resources created
5919                       during the Helm rollback action when it fails.
5920                     type: boolean
5921                   disableHooks:
5922                     description: DisableHooks prevents hooks from running during the
5923                       Helm rollback action.
5924                     type: boolean
5925                   disableWait:
5926                     description: DisableWait disables the waiting for resources to
5927                       be ready after a Helm rollback has been performed.
5928                     type: boolean
5929                   disableWaitForJobs:
5930                     description: DisableWaitForJobs disables waiting for jobs to complete
5931                       after a Helm rollback has been performed.
5932                     type: boolean
5933                   force:
5934                     description: Force forces resource updates through a replacement
5935                       strategy.
5936                     type: boolean
5937                   recreate:
5938                     description: Recreate performs pod restarts for the resource if
5939                       applicable.
5940                     type: boolean
5941                   timeout:
5942                     description: Timeout is the time to wait for any individual Kubernetes
5943                       operation (like Jobs for hooks) during the performance of a
5944                       Helm rollback action. Defaults to 'HelmReleaseSpec.Timeout'.
5945                     pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
5946                     type: string
5947                 type: object
5948               serviceAccountName:
5949                 description: The name of the Kubernetes service account to impersonate
5950                   when reconciling this HelmRelease.
5951                 type: string
5952               storageNamespace:
5953                 description: StorageNamespace used for the Helm storage. Defaults
5954                   to the namespace of the HelmRelease.
5955                 maxLength: 63
5956                 minLength: 1
5957                 type: string
5958               suspend:
5959                 description: Suspend tells the controller to suspend reconciliation
5960                   for this HelmRelease, it does not apply to already started reconciliations.
5961                   Defaults to false.
5962                 type: boolean
5963               targetNamespace:
5964                 description: TargetNamespace to target when performing operations
5965                   for the HelmRelease. Defaults to the namespace of the HelmRelease.
5966                 maxLength: 63
5967                 minLength: 1
5968                 type: string
5969               test:
5970                 description: Test holds the configuration for Helm test actions for
5971                   this HelmRelease.
5972                 properties:
5973                   enable:
5974                     description: Enable enables Helm test actions for this HelmRelease
5975                       after an Helm install or upgrade action has been performed.
5976                     type: boolean
5977                   ignoreFailures:
5978                     description: IgnoreFailures tells the controller to skip remediation
5979                       when the Helm tests are run but fail. Can be overwritten for
5980                       tests run after install or upgrade actions in 'Install.IgnoreTestFailures'
5981                       and 'Upgrade.IgnoreTestFailures'.
5982                     type: boolean
5983                   timeout:
5984                     description: Timeout is the time to wait for any individual Kubernetes
5985                       operation during the performance of a Helm test action. Defaults
5986                       to 'HelmReleaseSpec.Timeout'.
5987                     pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
5988                     type: string
5989                 type: object
5990               timeout:
5991                 description: Timeout is the time to wait for any individual Kubernetes
5992                   operation (like Jobs for hooks) during the performance of a Helm
5993                   action. Defaults to '5m0s'.
5994                 pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
5995                 type: string
5996               uninstall:
5997                 description: Uninstall holds the configuration for Helm uninstall
5998                   actions for this HelmRelease.
5999                 properties:
6000                   deletionPropagation:
6001                     default: background
6002                     description: DeletionPropagation specifies the deletion propagation
6003                       policy when a Helm uninstall is performed.
6004                     enum:
6005                     - background
6006                     - foreground
6007                     - orphan
6008                     type: string
6009                   disableHooks:
6010                     description: DisableHooks prevents hooks from running during the
6011                       Helm rollback action.
6012                     type: boolean
6013                   disableWait:
6014                     description: DisableWait disables waiting for all the resources
6015                       to be deleted after a Helm uninstall is performed.
6016                     type: boolean
6017                   keepHistory:
6018                     description: KeepHistory tells Helm to remove all associated resources
6019                       and mark the release as deleted, but retain the release history.
6020                     type: boolean
6021                   timeout:
6022                     description: Timeout is the time to wait for any individual Kubernetes
6023                       operation (like Jobs for hooks) during the performance of a
6024                       Helm uninstall action. Defaults to 'HelmReleaseSpec.Timeout'.
6025                     pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
6026                     type: string
6027                 type: object
6028               upgrade:
6029                 description: Upgrade holds the configuration for Helm upgrade actions
6030                   for this HelmRelease.
6031                 properties:
6032                   cleanupOnFail:
6033                     description: CleanupOnFail allows deletion of new resources created
6034                       during the Helm upgrade action when it fails.
6035                     type: boolean
6036                   crds:
6037                     description: "CRDs upgrade CRDs from the Helm Chart's crds directory
6038                       according to the CRD upgrade policy provided here. Valid values
6039                       are `Skip`, `Create` or `CreateReplace`. Default is `Skip` and
6040                       if omitted CRDs are neither installed nor upgraded. \n Skip:
6041                       do neither install nor replace (update) any CRDs. \n Create:
6042                       new CRDs are created, existing CRDs are neither updated nor
6043                       deleted. \n CreateReplace: new CRDs are created, existing CRDs
6044                       are updated (replaced) but not deleted. \n By default, CRDs
6045                       are not applied during Helm upgrade action. With this option
6046                       users can opt-in to CRD upgrade, which is not (yet) natively
6047                       supported by Helm. https://helm.sh/docs/chart_best_practices/custom_resource_definitions."
6048                     enum:
6049                     - Skip
6050                     - Create
6051                     - CreateReplace
6052                     type: string
6053                   disableHooks:
6054                     description: DisableHooks prevents hooks from running during the
6055                       Helm upgrade action.
6056                     type: boolean
6057                   disableOpenAPIValidation:
6058                     description: DisableOpenAPIValidation prevents the Helm upgrade
6059                       action from validating rendered templates against the Kubernetes
6060                       OpenAPI Schema.
6061                     type: boolean
6062                   disableWait:
6063                     description: DisableWait disables the waiting for resources to
6064                       be ready after a Helm upgrade has been performed.
6065                     type: boolean
6066                   disableWaitForJobs:
6067                     description: DisableWaitForJobs disables waiting for jobs to complete
6068                       after a Helm upgrade has been performed.
6069                     type: boolean
6070                   force:
6071                     description: Force forces resource updates through a replacement
6072                       strategy.
6073                     type: boolean
6074                   preserveValues:
6075                     description: PreserveValues will make Helm reuse the last release's
6076                       values and merge in overrides from 'Values'. Setting this flag
6077                       makes the HelmRelease non-declarative.
6078                     type: boolean
6079                   remediation:
6080                     description: Remediation holds the remediation configuration for
6081                       when the Helm upgrade action for the HelmRelease fails. The
6082                       default is to not perform any action.
6083                     properties:
6084                       ignoreTestFailures:
6085                         description: IgnoreTestFailures tells the controller to skip
6086                           remediation when the Helm tests are run after an upgrade
6087                           action but fail. Defaults to 'Test.IgnoreFailures'.
6088                         type: boolean
6089                       remediateLastFailure:
6090                         description: RemediateLastFailure tells the controller to
6091                           remediate the last failure, when no retries remain. Defaults
6092                           to 'false' unless 'Retries' is greater than 0.
6093                         type: boolean
6094                       retries:
6095                         description: Retries is the number of retries that should
6096                           be attempted on failures before bailing. Remediation, using
6097                           'Strategy', is performed between each attempt. Defaults
6098                           to '0', a negative integer equals to unlimited retries.
6099                         type: integer
6100                       strategy:
6101                         description: Strategy to use for failure remediation. Defaults
6102                           to 'rollback'.
6103                         enum:
6104                         - rollback
6105                         - uninstall
6106                         type: string
6107                     type: object
6108                   timeout:
6109                     description: Timeout is the time to wait for any individual Kubernetes
6110                       operation (like Jobs for hooks) during the performance of a
6111                       Helm upgrade action. Defaults to 'HelmReleaseSpec.Timeout'.
6112                     pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
6113                     type: string
6114                 type: object
6115               values:
6116                 description: Values holds the values for this Helm release.
6117                 x-kubernetes-preserve-unknown-fields: true
6118               valuesFrom:
6119                 description: ValuesFrom holds references to resources containing Helm
6120                   values for this HelmRelease, and information about how they should
6121                   be merged.
6122                 items:
6123                   description: ValuesReference contains a reference to a resource
6124                     containing Helm values, and optionally the key they can be found
6125                     at.
6126                   properties:
6127                     kind:
6128                       description: Kind of the values referent, valid values are ('Secret',
6129                         'ConfigMap').
6130                       enum:
6131                       - Secret
6132                       - ConfigMap
6133                       type: string
6134                     name:
6135                       description: Name of the values referent. Should reside in the
6136                         same namespace as the referring resource.
6137                       maxLength: 253
6138                       minLength: 1
6139                       type: string
6140                     optional:
6141                       description: Optional marks this ValuesReference as optional.
6142                         When set, a not found error for the values reference is ignored,
6143                         but any ValuesKey, TargetPath or transient error will still
6144                         result in a reconciliation failure.
6145                       type: boolean
6146                     targetPath:
6147                       description: TargetPath is the YAML dot notation path the value
6148                         should be merged at. When set, the ValuesKey is expected to
6149                         be a single flat value. Defaults to 'None', which results
6150                         in the values getting merged at the root.
6151                       maxLength: 250
6152                       pattern: ^([a-zA-Z0-9_\-.\\\/]|\[[0-9]{1,5}\])+$
6153                       type: string
6154                     valuesKey:
6155                       description: ValuesKey is the data key where the values.yaml
6156                         or a specific value can be found at. Defaults to 'values.yaml'.
6157                         When set, must be a valid Data Key, consisting of alphanumeric
6158                         characters, '-', '_' or '.'.
6159                       maxLength: 253
6160                       pattern: ^[\-._a-zA-Z0-9]+$
6161                       type: string
6162                   required:
6163                   - kind
6164                   - name
6165                   type: object
6166                 type: array
6167             required:
6168             - chart
6169             - interval
6170             type: object
6171           status:
6172             default:
6173               observedGeneration: -1
6174             description: HelmReleaseStatus defines the observed state of a HelmRelease.
6175             properties:
6176               conditions:
6177                 description: Conditions holds the conditions for the HelmRelease.
6178                 items:
6179                   description: "Condition contains details for one aspect of the current
6180                     state of this API Resource. --- This struct is intended for direct
6181                     use as an array at the field path .status.conditions.  For example,
6182                     \n type FooStatus struct{ // Represents the observations of a
6183                     foo's current state. // Known .status.conditions.type are: \"Available\",
6184                     \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
6185                     // +listType=map // +listMapKey=type Conditions []metav1.Condition
6186                     `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
6187                     protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
6188                   properties:
6189                     lastTransitionTime:
6190                       description: lastTransitionTime is the last time the condition
6191                         transitioned from one status to another. This should be when
6192                         the underlying condition changed.  If that is not known, then
6193                         using the time when the API field changed is acceptable.
6194                       format: date-time
6195                       type: string
6196                     message:
6197                       description: message is a human readable message indicating
6198                         details about the transition. This may be an empty string.
6199                       maxLength: 32768
6200                       type: string
6201                     observedGeneration:
6202                       description: observedGeneration represents the .metadata.generation
6203                         that the condition was set based upon. For instance, if .metadata.generation
6204                         is currently 12, but the .status.conditions[x].observedGeneration
6205                         is 9, the condition is out of date with respect to the current
6206                         state of the instance.
6207                       format: int64
6208                       minimum: 0
6209                       type: integer
6210                     reason:
6211                       description: reason contains a programmatic identifier indicating
6212                         the reason for the condition's last transition. Producers
6213                         of specific condition types may define expected values and
6214                         meanings for this field, and whether the values are considered
6215                         a guaranteed API. The value should be a CamelCase string.
6216                         This field may not be empty.
6217                       maxLength: 1024
6218                       minLength: 1
6219                       pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
6220                       type: string
6221                     status:
6222                       description: status of the condition, one of True, False, Unknown.
6223                       enum:
6224                       - "True"
6225                       - "False"
6226                       - Unknown
6227                       type: string
6228                     type:
6229                       description: type of condition in CamelCase or in foo.example.com/CamelCase.
6230                         --- Many .condition.type values are consistent across resources
6231                         like Available, but because arbitrary conditions can be useful
6232                         (see .node.status.conditions), the ability to deconflict is
6233                         important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
6234                       maxLength: 316
6235                       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])$
6236                       type: string
6237                   required:
6238                   - lastTransitionTime
6239                   - message
6240                   - reason
6241                   - status
6242                   - type
6243                   type: object
6244                 type: array
6245               failures:
6246                 description: Failures is the reconciliation failure count against
6247                   the latest desired state. It is reset after a successful reconciliation.
6248                 format: int64
6249                 type: integer
6250               helmChart:
6251                 description: HelmChart is the namespaced name of the HelmChart resource
6252                   created by the controller for the HelmRelease.
6253                 type: string
6254               installFailures:
6255                 description: InstallFailures is the install failure count against
6256                   the latest desired state. It is reset after a successful reconciliation.
6257                 format: int64
6258                 type: integer
6259               lastAppliedRevision:
6260                 description: LastAppliedRevision is the revision of the last successfully
6261                   applied source.
6262                 type: string
6263               lastAttemptedRevision:
6264                 description: LastAttemptedRevision is the revision of the last reconciliation
6265                   attempt.
6266                 type: string
6267               lastAttemptedValuesChecksum:
6268                 description: LastAttemptedValuesChecksum is the SHA1 checksum of the
6269                   values of the last reconciliation attempt.
6270                 type: string
6271               lastHandledReconcileAt:
6272                 description: LastHandledReconcileAt holds the value of the most recent
6273                   reconcile request value, so a change of the annotation value can
6274                   be detected.
6275                 type: string
6276               lastReleaseRevision:
6277                 description: LastReleaseRevision is the revision of the last successful
6278                   Helm release.
6279                 type: integer
6280               observedGeneration:
6281                 description: ObservedGeneration is the last observed generation.
6282                 format: int64
6283                 type: integer
6284               upgradeFailures:
6285                 description: UpgradeFailures is the upgrade failure count against
6286                   the latest desired state. It is reset after a successful reconciliation.
6287                 format: int64
6288                 type: integer
6289             type: object
6290         type: object
6291     served: true
6292     storage: true
6293     subresources:
6294       status: {}
6295 ---
6296 apiVersion: v1
6297 kind: ServiceAccount
6298 metadata:
6299   labels:
6300     app.kubernetes.io/component: helm-controller
6301     app.kubernetes.io/instance: flux-system
6302     app.kubernetes.io/part-of: flux
6303     app.kubernetes.io/version: v2.1.2
6304   name: helm-controller
6305   namespace: flux-system
6306 ---
6307 apiVersion: apps/v1
6308 kind: Deployment
6309 metadata:
6310   labels:
6311     app.kubernetes.io/component: helm-controller
6312     app.kubernetes.io/instance: flux-system
6313     app.kubernetes.io/part-of: flux
6314     app.kubernetes.io/version: v2.1.2
6315     control-plane: controller
6316   name: helm-controller
6317   namespace: flux-system
6318 spec:
6319   replicas: 1
6320   selector:
6321     matchLabels:
6322       app: helm-controller
6323   template:
6324     metadata:
6325       annotations:
6326         prometheus.io/port: "8080"
6327         prometheus.io/scrape: "true"
6328       labels:
6329         app: helm-controller
6330     spec:
6331       containers:
6332       - args:
6333         - --events-addr=http://notification-controller.flux-system.svc.cluster.local./
6334         - --watch-all-namespaces=true
6335         - --log-level=info
6336         - --log-encoding=json
6337         - --enable-leader-election
6338         env:
6339         - name: RUNTIME_NAMESPACE
6340           valueFrom:
6341             fieldRef:
6342               fieldPath: metadata.namespace
6343         image: ghcr.io/fluxcd/helm-controller:v0.36.2
6344         imagePullPolicy: IfNotPresent
6345         livenessProbe:
6346           httpGet:
6347             path: /healthz
6348             port: healthz
6349         name: manager
6350         ports:
6351         - containerPort: 8080
6352           name: http-prom
6353           protocol: TCP
6354         - containerPort: 9440
6355           name: healthz
6356           protocol: TCP
6357         readinessProbe:
6358           httpGet:
6359             path: /readyz
6360             port: healthz
6361         resources:
6362           limits:
6363             cpu: 1000m
6364             memory: 1Gi
6365           requests:
6366             cpu: 100m
6367             memory: 64Mi
6368         securityContext:
6369           allowPrivilegeEscalation: false
6370           capabilities:
6371             drop:
6372             - ALL
6373           readOnlyRootFilesystem: true
6374           runAsNonRoot: true
6375           seccompProfile:
6376             type: RuntimeDefault
6377         volumeMounts:
6378         - mountPath: /tmp
6379           name: temp
6380       nodeSelector:
6381         kubernetes.io/os: linux
6382       priorityClassName: system-cluster-critical
6383       securityContext:
6384         fsGroup: 1337
6385       serviceAccountName: helm-controller
6386       terminationGracePeriodSeconds: 600
6387       volumes:
6388       - emptyDir: {}
6389         name: temp
6390 ---
6391 apiVersion: apiextensions.k8s.io/v1
6392 kind: CustomResourceDefinition
6393 metadata:
6394   annotations:
6395     controller-gen.kubebuilder.io/version: v0.12.0
6396   labels:
6397     app.kubernetes.io/component: notification-controller
6398     app.kubernetes.io/instance: flux-system
6399     app.kubernetes.io/part-of: flux
6400     app.kubernetes.io/version: v2.1.2
6401   name: alerts.notification.toolkit.fluxcd.io
6402 spec:
6403   group: notification.toolkit.fluxcd.io
6404   names:
6405     kind: Alert
6406     listKind: AlertList
6407     plural: alerts
6408     singular: alert
6409   scope: Namespaced
6410   versions:
6411   - additionalPrinterColumns:
6412     - jsonPath: .metadata.creationTimestamp
6413       name: Age
6414       type: date
6415     - jsonPath: .status.conditions[?(@.type=="Ready")].status
6416       name: Ready
6417       type: string
6418     - jsonPath: .status.conditions[?(@.type=="Ready")].message
6419       name: Status
6420       type: string
6421     name: v1beta1
6422     schema:
6423       openAPIV3Schema:
6424         description: Alert is the Schema for the alerts API
6425         properties:
6426           apiVersion:
6427             description: 'APIVersion defines the versioned schema of this representation
6428               of an object. Servers should convert recognized schemas to the latest
6429               internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
6430             type: string
6431           kind:
6432             description: 'Kind is a string value representing the REST resource this
6433               object represents. Servers may infer this from the endpoint the client
6434               submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
6435             type: string
6436           metadata:
6437             type: object
6438           spec:
6439             description: AlertSpec defines an alerting rule for events involving a
6440               list of objects
6441             properties:
6442               eventSeverity:
6443                 default: info
6444                 description: Filter events based on severity, defaults to ('info').
6445                   If set to 'info' no events will be filtered.
6446                 enum:
6447                 - info
6448                 - error
6449                 type: string
6450               eventSources:
6451                 description: Filter events based on the involved objects.
6452                 items:
6453                   description: CrossNamespaceObjectReference contains enough information
6454                     to let you locate the typed referenced object at cluster level
6455                   properties:
6456                     apiVersion:
6457                       description: API version of the referent
6458                       type: string
6459                     kind:
6460                       description: Kind of the referent
6461                       enum:
6462                       - Bucket
6463                       - GitRepository
6464                       - Kustomization
6465                       - HelmRelease
6466                       - HelmChart
6467                       - HelmRepository
6468                       - ImageRepository
6469                       - ImagePolicy
6470                       - ImageUpdateAutomation
6471                       - OCIRepository
6472                       type: string
6473                     matchLabels:
6474                       additionalProperties:
6475                         type: string
6476                       description: MatchLabels is a map of {key,value} pairs. A single
6477                         {key,value} in the matchLabels map is equivalent to an element
6478                         of matchExpressions, whose key field is "key", the operator
6479                         is "In", and the values array contains only "value". The requirements
6480                         are ANDed.
6481                       type: object
6482                     name:
6483                       description: Name of the referent
6484                       maxLength: 53
6485                       minLength: 1
6486                       type: string
6487                     namespace:
6488                       description: Namespace of the referent
6489                       maxLength: 53
6490                       minLength: 1
6491                       type: string
6492                   required:
6493                   - name
6494                   type: object
6495                 type: array
6496               exclusionList:
6497                 description: A list of Golang regular expressions to be used for excluding
6498                   messages.
6499                 items:
6500                   type: string
6501                 type: array
6502               providerRef:
6503                 description: Send events using this provider.
6504                 properties:
6505                   name:
6506                     description: Name of the referent.
6507                     type: string
6508                 required:
6509                 - name
6510                 type: object
6511               summary:
6512                 description: Short description of the impact and affected cluster.
6513                 type: string
6514               suspend:
6515                 description: This flag tells the controller to suspend subsequent
6516                   events dispatching. Defaults to false.
6517                 type: boolean
6518             required:
6519             - eventSources
6520             - providerRef
6521             type: object
6522           status:
6523             default:
6524               observedGeneration: -1
6525             description: AlertStatus defines the observed state of Alert
6526             properties:
6527               conditions:
6528                 items:
6529                   description: "Condition contains details for one aspect of the current
6530                     state of this API Resource. --- This struct is intended for direct
6531                     use as an array at the field path .status.conditions.  For example,
6532                     \n type FooStatus struct{ // Represents the observations of a
6533                     foo's current state. // Known .status.conditions.type are: \"Available\",
6534                     \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
6535                     // +listType=map // +listMapKey=type Conditions []metav1.Condition
6536                     `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
6537                     protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
6538                   properties:
6539                     lastTransitionTime:
6540                       description: lastTransitionTime is the last time the condition
6541                         transitioned from one status to another. This should be when
6542                         the underlying condition changed.  If that is not known, then
6543                         using the time when the API field changed is acceptable.
6544                       format: date-time
6545                       type: string
6546                     message:
6547                       description: message is a human readable message indicating
6548                         details about the transition. This may be an empty string.
6549                       maxLength: 32768
6550                       type: string
6551                     observedGeneration:
6552                       description: observedGeneration represents the .metadata.generation
6553                         that the condition was set based upon. For instance, if .metadata.generation
6554                         is currently 12, but the .status.conditions[x].observedGeneration
6555                         is 9, the condition is out of date with respect to the current
6556                         state of the instance.
6557                       format: int64
6558                       minimum: 0
6559                       type: integer
6560                     reason:
6561                       description: reason contains a programmatic identifier indicating
6562                         the reason for the condition's last transition. Producers
6563                         of specific condition types may define expected values and
6564                         meanings for this field, and whether the values are considered
6565                         a guaranteed API. The value should be a CamelCase string.
6566                         This field may not be empty.
6567                       maxLength: 1024
6568                       minLength: 1
6569                       pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
6570                       type: string
6571                     status:
6572                       description: status of the condition, one of True, False, Unknown.
6573                       enum:
6574                       - "True"
6575                       - "False"
6576                       - Unknown
6577                       type: string
6578                     type:
6579                       description: type of condition in CamelCase or in foo.example.com/CamelCase.
6580                         --- Many .condition.type values are consistent across resources
6581                         like Available, but because arbitrary conditions can be useful
6582                         (see .node.status.conditions), the ability to deconflict is
6583                         important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
6584                       maxLength: 316
6585                       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])$
6586                       type: string
6587                   required:
6588                   - lastTransitionTime
6589                   - message
6590                   - reason
6591                   - status
6592                   - type
6593                   type: object
6594                 type: array
6595               observedGeneration:
6596                 description: ObservedGeneration is the last observed generation.
6597                 format: int64
6598                 type: integer
6599             type: object
6600         type: object
6601     served: true
6602     storage: false
6603     subresources:
6604       status: {}
6605   - additionalPrinterColumns:
6606     - jsonPath: .metadata.creationTimestamp
6607       name: Age
6608       type: date
6609     - jsonPath: .status.conditions[?(@.type=="Ready")].status
6610       name: Ready
6611       type: string
6612     - jsonPath: .status.conditions[?(@.type=="Ready")].message
6613       name: Status
6614       type: string
6615     name: v1beta2
6616     schema:
6617       openAPIV3Schema:
6618         description: Alert is the Schema for the alerts API
6619         properties:
6620           apiVersion:
6621             description: 'APIVersion defines the versioned schema of this representation
6622               of an object. Servers should convert recognized schemas to the latest
6623               internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
6624             type: string
6625           kind:
6626             description: 'Kind is a string value representing the REST resource this
6627               object represents. Servers may infer this from the endpoint the client
6628               submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
6629             type: string
6630           metadata:
6631             type: object
6632           spec:
6633             description: AlertSpec defines an alerting rule for events involving a
6634               list of objects.
6635             properties:
6636               eventMetadata:
6637                 additionalProperties:
6638                   type: string
6639                 description: EventMetadata is an optional field for adding metadata
6640                   to events dispatched by the controller. This can be used for enhancing
6641                   the context of the event. If a field would override one already
6642                   present on the original event as generated by the emitter, then
6643                   the override doesn't happen, i.e. the original value is preserved,
6644                   and an info log is printed.
6645                 type: object
6646               eventSeverity:
6647                 default: info
6648                 description: EventSeverity specifies how to filter events based on
6649                   severity. If set to 'info' no events will be filtered.
6650                 enum:
6651                 - info
6652                 - error
6653                 type: string
6654               eventSources:
6655                 description: EventSources specifies how to filter events based on
6656                   the involved object kind, name and namespace.
6657                 items:
6658                   description: CrossNamespaceObjectReference contains enough information
6659                     to let you locate the typed referenced object at cluster level
6660                   properties:
6661                     apiVersion:
6662                       description: API version of the referent
6663                       type: string
6664                     kind:
6665                       description: Kind of the referent
6666                       enum:
6667                       - Bucket
6668                       - GitRepository
6669                       - Kustomization
6670                       - HelmRelease
6671                       - HelmChart
6672                       - HelmRepository
6673                       - ImageRepository
6674                       - ImagePolicy
6675                       - ImageUpdateAutomation
6676                       - OCIRepository
6677                       type: string
6678                     matchLabels:
6679                       additionalProperties:
6680                         type: string
6681                       description: MatchLabels is a map of {key,value} pairs. A single
6682                         {key,value} in the matchLabels map is equivalent to an element
6683                         of matchExpressions, whose key field is "key", the operator
6684                         is "In", and the values array contains only "value". The requirements
6685                         are ANDed. MatchLabels requires the name to be set to `*`.
6686                       type: object
6687                     name:
6688                       description: Name of the referent If multiple resources are
6689                         targeted `*` may be set.
6690                       maxLength: 53
6691                       minLength: 1
6692                       type: string
6693                     namespace:
6694                       description: Namespace of the referent
6695                       maxLength: 53
6696                       minLength: 1
6697                       type: string
6698                   required:
6699                   - kind
6700                   - name
6701                   type: object
6702                 type: array
6703               exclusionList:
6704                 description: ExclusionList specifies a list of Golang regular expressions
6705                   to be used for excluding messages.
6706                 items:
6707                   type: string
6708                 type: array
6709               inclusionList:
6710                 description: InclusionList specifies a list of Golang regular expressions
6711                   to be used for including messages.
6712                 items:
6713                   type: string
6714                 type: array
6715               providerRef:
6716                 description: ProviderRef specifies which Provider this Alert should
6717                   use.
6718                 properties:
6719                   name:
6720                     description: Name of the referent.
6721                     type: string
6722                 required:
6723                 - name
6724                 type: object
6725               summary:
6726                 description: Summary holds a short description of the impact and affected
6727                   cluster.
6728                 maxLength: 255
6729                 type: string
6730               suspend:
6731                 description: Suspend tells the controller to suspend subsequent events
6732                   handling for this Alert.
6733                 type: boolean
6734             required:
6735             - eventSources
6736             - providerRef
6737             type: object
6738           status:
6739             default:
6740               observedGeneration: -1
6741             description: AlertStatus defines the observed state of the Alert.
6742             properties:
6743               conditions:
6744                 description: Conditions holds the conditions for the Alert.
6745                 items:
6746                   description: "Condition contains details for one aspect of the current
6747                     state of this API Resource. --- This struct is intended for direct
6748                     use as an array at the field path .status.conditions.  For example,
6749                     \n type FooStatus struct{ // Represents the observations of a
6750                     foo's current state. // Known .status.conditions.type are: \"Available\",
6751                     \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
6752                     // +listType=map // +listMapKey=type Conditions []metav1.Condition
6753                     `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
6754                     protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
6755                   properties:
6756                     lastTransitionTime:
6757                       description: lastTransitionTime is the last time the condition
6758                         transitioned from one status to another. This should be when
6759                         the underlying condition changed.  If that is not known, then
6760                         using the time when the API field changed is acceptable.
6761                       format: date-time
6762                       type: string
6763                     message:
6764                       description: message is a human readable message indicating
6765                         details about the transition. This may be an empty string.
6766                       maxLength: 32768
6767                       type: string
6768                     observedGeneration:
6769                       description: observedGeneration represents the .metadata.generation
6770                         that the condition was set based upon. For instance, if .metadata.generation
6771                         is currently 12, but the .status.conditions[x].observedGeneration
6772                         is 9, the condition is out of date with respect to the current
6773                         state of the instance.
6774                       format: int64
6775                       minimum: 0
6776                       type: integer
6777                     reason:
6778                       description: reason contains a programmatic identifier indicating
6779                         the reason for the condition's last transition. Producers
6780                         of specific condition types may define expected values and
6781                         meanings for this field, and whether the values are considered
6782                         a guaranteed API. The value should be a CamelCase string.
6783                         This field may not be empty.
6784                       maxLength: 1024
6785                       minLength: 1
6786                       pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
6787                       type: string
6788                     status:
6789                       description: status of the condition, one of True, False, Unknown.
6790                       enum:
6791                       - "True"
6792                       - "False"
6793                       - Unknown
6794                       type: string
6795                     type:
6796                       description: type of condition in CamelCase or in foo.example.com/CamelCase.
6797                         --- Many .condition.type values are consistent across resources
6798                         like Available, but because arbitrary conditions can be useful
6799                         (see .node.status.conditions), the ability to deconflict is
6800                         important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
6801                       maxLength: 316
6802                       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])$
6803                       type: string
6804                   required:
6805                   - lastTransitionTime
6806                   - message
6807                   - reason
6808                   - status
6809                   - type
6810                   type: object
6811                 type: array
6812               lastHandledReconcileAt:
6813                 description: LastHandledReconcileAt holds the value of the most recent
6814                   reconcile request value, so a change of the annotation value can
6815                   be detected.
6816                 type: string
6817               observedGeneration:
6818                 description: ObservedGeneration is the last observed generation.
6819                 format: int64
6820                 type: integer
6821             type: object
6822         type: object
6823     served: true
6824     storage: true
6825     subresources:
6826       status: {}
6827 ---
6828 apiVersion: apiextensions.k8s.io/v1
6829 kind: CustomResourceDefinition
6830 metadata:
6831   annotations:
6832     controller-gen.kubebuilder.io/version: v0.12.0
6833   labels:
6834     app.kubernetes.io/component: notification-controller
6835     app.kubernetes.io/instance: flux-system
6836     app.kubernetes.io/part-of: flux
6837     app.kubernetes.io/version: v2.1.2
6838   name: providers.notification.toolkit.fluxcd.io
6839 spec:
6840   group: notification.toolkit.fluxcd.io
6841   names:
6842     kind: Provider
6843     listKind: ProviderList
6844     plural: providers
6845     singular: provider
6846   scope: Namespaced
6847   versions:
6848   - additionalPrinterColumns:
6849     - jsonPath: .metadata.creationTimestamp
6850       name: Age
6851       type: date
6852     - jsonPath: .status.conditions[?(@.type=="Ready")].status
6853       name: Ready
6854       type: string
6855     - jsonPath: .status.conditions[?(@.type=="Ready")].message
6856       name: Status
6857       type: string
6858     name: v1beta1
6859     schema:
6860       openAPIV3Schema:
6861         description: Provider is the Schema for the providers API
6862         properties:
6863           apiVersion:
6864             description: 'APIVersion defines the versioned schema of this representation
6865               of an object. Servers should convert recognized schemas to the latest
6866               internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
6867             type: string
6868           kind:
6869             description: 'Kind is a string value representing the REST resource this
6870               object represents. Servers may infer this from the endpoint the client
6871               submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
6872             type: string
6873           metadata:
6874             type: object
6875           spec:
6876             description: ProviderSpec defines the desired state of Provider
6877             properties:
6878               address:
6879                 description: HTTP/S webhook address of this provider
6880                 pattern: ^(http|https)://
6881                 type: string
6882               certSecretRef:
6883                 description: CertSecretRef can be given the name of a secret containing
6884                   a PEM-encoded CA certificate (`caFile`)
6885                 properties:
6886                   name:
6887                     description: Name of the referent.
6888                     type: string
6889                 required:
6890                 - name
6891                 type: object
6892               channel:
6893                 description: Alert channel for this provider
6894                 type: string
6895               proxy:
6896                 description: HTTP/S address of the proxy
6897                 pattern: ^(http|https)://
6898                 type: string
6899               secretRef:
6900                 description: Secret reference containing the provider webhook URL
6901                   using "address" as data key
6902                 properties:
6903                   name:
6904                     description: Name of the referent.
6905                     type: string
6906                 required:
6907                 - name
6908                 type: object
6909               suspend:
6910                 description: This flag tells the controller to suspend subsequent
6911                   events handling. Defaults to false.
6912                 type: boolean
6913               timeout:
6914                 description: Timeout for sending alerts to the provider.
6915                 pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$
6916                 type: string
6917               type:
6918                 description: Type of provider
6919                 enum:
6920                 - slack
6921                 - discord
6922                 - msteams
6923                 - rocket
6924                 - generic
6925                 - generic-hmac
6926                 - github
6927                 - gitlab
6928                 - bitbucket
6929                 - azuredevops
6930                 - googlechat
6931                 - webex
6932                 - sentry
6933                 - azureeventhub
6934                 - telegram
6935                 - lark
6936                 - matrix
6937                 - opsgenie
6938                 - alertmanager
6939                 - grafana
6940                 - githubdispatch
6941                 type: string
6942               username:
6943                 description: Bot username for this provider
6944                 type: string
6945             required:
6946             - type
6947             type: object
6948           status:
6949             default:
6950               observedGeneration: -1
6951             description: ProviderStatus defines the observed state of Provider
6952             properties:
6953               conditions:
6954                 items:
6955                   description: "Condition contains details for one aspect of the current
6956                     state of this API Resource. --- This struct is intended for direct
6957                     use as an array at the field path .status.conditions.  For example,
6958                     \n type FooStatus struct{ // Represents the observations of a
6959                     foo's current state. // Known .status.conditions.type are: \"Available\",
6960                     \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
6961                     // +listType=map // +listMapKey=type Conditions []metav1.Condition
6962                     `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
6963                     protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
6964                   properties:
6965                     lastTransitionTime:
6966                       description: lastTransitionTime is the last time the condition
6967                         transitioned from one status to another. This should be when
6968                         the underlying condition changed.  If that is not known, then
6969                         using the time when the API field changed is acceptable.
6970                       format: date-time
6971                       type: string
6972                     message:
6973                       description: message is a human readable message indicating
6974                         details about the transition. This may be an empty string.
6975                       maxLength: 32768
6976                       type: string
6977                     observedGeneration:
6978                       description: observedGeneration represents the .metadata.generation
6979                         that the condition was set based upon. For instance, if .metadata.generation
6980                         is currently 12, but the .status.conditions[x].observedGeneration
6981                         is 9, the condition is out of date with respect to the current
6982                         state of the instance.
6983                       format: int64
6984                       minimum: 0
6985                       type: integer
6986                     reason:
6987                       description: reason contains a programmatic identifier indicating
6988                         the reason for the condition's last transition. Producers
6989                         of specific condition types may define expected values and
6990                         meanings for this field, and whether the values are considered
6991                         a guaranteed API. The value should be a CamelCase string.
6992                         This field may not be empty.
6993                       maxLength: 1024
6994                       minLength: 1
6995                       pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
6996                       type: string
6997                     status:
6998                       description: status of the condition, one of True, False, Unknown.
6999                       enum:
7000                       - "True"
7001                       - "False"
7002                       - Unknown
7003                       type: string
7004                     type:
7005                       description: type of condition in CamelCase or in foo.example.com/CamelCase.
7006                         --- Many .condition.type values are consistent across resources
7007                         like Available, but because arbitrary conditions can be useful
7008                         (see .node.status.conditions), the ability to deconflict is
7009                         important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
7010                       maxLength: 316
7011                       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])$
7012                       type: string
7013                   required:
7014                   - lastTransitionTime
7015                   - message
7016                   - reason
7017                   - status
7018                   - type
7019                   type: object
7020                 type: array
7021               observedGeneration:
7022                 description: ObservedGeneration is the last reconciled generation.
7023                 format: int64
7024                 type: integer
7025             type: object
7026         type: object
7027     served: true
7028     storage: false
7029     subresources:
7030       status: {}
7031   - additionalPrinterColumns:
7032     - jsonPath: .metadata.creationTimestamp
7033       name: Age
7034       type: date
7035     - jsonPath: .status.conditions[?(@.type=="Ready")].status
7036       name: Ready
7037       type: string
7038     - jsonPath: .status.conditions[?(@.type=="Ready")].message
7039       name: Status
7040       type: string
7041     name: v1beta2
7042     schema:
7043       openAPIV3Schema:
7044         description: Provider is the Schema for the providers API.
7045         properties:
7046           apiVersion:
7047             description: 'APIVersion defines the versioned schema of this representation
7048               of an object. Servers should convert recognized schemas to the latest
7049               internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
7050             type: string
7051           kind:
7052             description: 'Kind is a string value representing the REST resource this
7053               object represents. Servers may infer this from the endpoint the client
7054               submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
7055             type: string
7056           metadata:
7057             type: object
7058           spec:
7059             description: ProviderSpec defines the desired state of the Provider.
7060             properties:
7061               address:
7062                 description: Address specifies the endpoint, in a generic sense, to
7063                   where alerts are sent. What kind of endpoint depends on the specific
7064                   Provider type being used. For the generic Provider, for example,
7065                   this is an HTTP/S address. For other Provider types this could be
7066                   a project ID or a namespace.
7067                 maxLength: 2048
7068                 type: string
7069               certSecretRef:
7070                 description: "CertSecretRef specifies the Secret containing a PEM-encoded
7071                   CA certificate (in the `ca.crt` key). \n Note: Support for the `caFile`
7072                   key has been deprecated."
7073                 properties:
7074                   name:
7075                     description: Name of the referent.
7076                     type: string
7077                 required:
7078                 - name
7079                 type: object
7080               channel:
7081                 description: Channel specifies the destination channel where events
7082                   should be posted.
7083                 maxLength: 2048
7084                 type: string
7085               interval:
7086                 description: Interval at which to reconcile the Provider with its
7087                   Secret references.
7088                 pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
7089                 type: string
7090               proxy:
7091                 description: Proxy the HTTP/S address of the proxy server.
7092                 maxLength: 2048
7093                 pattern: ^(http|https)://.*$
7094                 type: string
7095               secretRef:
7096                 description: SecretRef specifies the Secret containing the authentication
7097                   credentials for this Provider.
7098                 properties:
7099                   name:
7100                     description: Name of the referent.
7101                     type: string
7102                 required:
7103                 - name
7104                 type: object
7105               suspend:
7106                 description: Suspend tells the controller to suspend subsequent events
7107                   handling for this Provider.
7108                 type: boolean
7109               timeout:
7110                 description: Timeout for sending alerts to the Provider.
7111                 pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$
7112                 type: string
7113               type:
7114                 description: Type specifies which Provider implementation to use.
7115                 enum:
7116                 - slack
7117                 - discord
7118                 - msteams
7119                 - rocket
7120                 - generic
7121                 - generic-hmac
7122                 - github
7123                 - gitlab
7124                 - gitea
7125                 - bitbucket
7126                 - azuredevops
7127                 - googlechat
7128                 - googlepubsub
7129                 - webex
7130                 - sentry
7131                 - azureeventhub
7132                 - telegram
7133                 - lark
7134                 - matrix
7135                 - opsgenie
7136                 - alertmanager
7137                 - grafana
7138                 - githubdispatch
7139                 - pagerduty
7140                 - datadog
7141                 type: string
7142               username:
7143                 description: Username specifies the name under which events are posted.
7144                 maxLength: 2048
7145                 type: string
7146             required:
7147             - type
7148             type: object
7149           status:
7150             default:
7151               observedGeneration: -1
7152             description: ProviderStatus defines the observed state of the Provider.
7153             properties:
7154               conditions:
7155                 description: Conditions holds the conditions for the Provider.
7156                 items:
7157                   description: "Condition contains details for one aspect of the current
7158                     state of this API Resource. --- This struct is intended for direct
7159                     use as an array at the field path .status.conditions.  For example,
7160                     \n type FooStatus struct{ // Represents the observations of a
7161                     foo's current state. // Known .status.conditions.type are: \"Available\",
7162                     \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
7163                     // +listType=map // +listMapKey=type Conditions []metav1.Condition
7164                     `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
7165                     protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
7166                   properties:
7167                     lastTransitionTime:
7168                       description: lastTransitionTime is the last time the condition
7169                         transitioned from one status to another. This should be when
7170                         the underlying condition changed.  If that is not known, then
7171                         using the time when the API field changed is acceptable.
7172                       format: date-time
7173                       type: string
7174                     message:
7175                       description: message is a human readable message indicating
7176                         details about the transition. This may be an empty string.
7177                       maxLength: 32768
7178                       type: string
7179                     observedGeneration:
7180                       description: observedGeneration represents the .metadata.generation
7181                         that the condition was set based upon. For instance, if .metadata.generation
7182                         is currently 12, but the .status.conditions[x].observedGeneration
7183                         is 9, the condition is out of date with respect to the current
7184                         state of the instance.
7185                       format: int64
7186                       minimum: 0
7187                       type: integer
7188                     reason:
7189                       description: reason contains a programmatic identifier indicating
7190                         the reason for the condition's last transition. Producers
7191                         of specific condition types may define expected values and
7192                         meanings for this field, and whether the values are considered
7193                         a guaranteed API. The value should be a CamelCase string.
7194                         This field may not be empty.
7195                       maxLength: 1024
7196                       minLength: 1
7197                       pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
7198                       type: string
7199                     status:
7200                       description: status of the condition, one of True, False, Unknown.
7201                       enum:
7202                       - "True"
7203                       - "False"
7204                       - Unknown
7205                       type: string
7206                     type:
7207                       description: type of condition in CamelCase or in foo.example.com/CamelCase.
7208                         --- Many .condition.type values are consistent across resources
7209                         like Available, but because arbitrary conditions can be useful
7210                         (see .node.status.conditions), the ability to deconflict is
7211                         important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
7212                       maxLength: 316
7213                       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])$
7214                       type: string
7215                   required:
7216                   - lastTransitionTime
7217                   - message
7218                   - reason
7219                   - status
7220                   - type
7221                   type: object
7222                 type: array
7223               lastHandledReconcileAt:
7224                 description: LastHandledReconcileAt holds the value of the most recent
7225                   reconcile request value, so a change of the annotation value can
7226                   be detected.
7227                 type: string
7228               observedGeneration:
7229                 description: ObservedGeneration is the last reconciled generation.
7230                 format: int64
7231                 type: integer
7232             type: object
7233         type: object
7234     served: true
7235     storage: true
7236     subresources:
7237       status: {}
7238 ---
7239 apiVersion: apiextensions.k8s.io/v1
7240 kind: CustomResourceDefinition
7241 metadata:
7242   annotations:
7243     controller-gen.kubebuilder.io/version: v0.12.0
7244   labels:
7245     app.kubernetes.io/component: notification-controller
7246     app.kubernetes.io/instance: flux-system
7247     app.kubernetes.io/part-of: flux
7248     app.kubernetes.io/version: v2.1.2
7249   name: receivers.notification.toolkit.fluxcd.io
7250 spec:
7251   group: notification.toolkit.fluxcd.io
7252   names:
7253     kind: Receiver
7254     listKind: ReceiverList
7255     plural: receivers
7256     singular: receiver
7257   scope: Namespaced
7258   versions:
7259   - additionalPrinterColumns:
7260     - jsonPath: .metadata.creationTimestamp
7261       name: Age
7262       type: date
7263     - jsonPath: .status.conditions[?(@.type=="Ready")].status
7264       name: Ready
7265       type: string
7266     - jsonPath: .status.conditions[?(@.type=="Ready")].message
7267       name: Status
7268       type: string
7269     name: v1
7270     schema:
7271       openAPIV3Schema:
7272         description: Receiver is the Schema for the receivers API.
7273         properties:
7274           apiVersion:
7275             description: 'APIVersion defines the versioned schema of this representation
7276               of an object. Servers should convert recognized schemas to the latest
7277               internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
7278             type: string
7279           kind:
7280             description: 'Kind is a string value representing the REST resource this
7281               object represents. Servers may infer this from the endpoint the client
7282               submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
7283             type: string
7284           metadata:
7285             type: object
7286           spec:
7287             description: ReceiverSpec defines the desired state of the Receiver.
7288             properties:
7289               events:
7290                 description: Events specifies the list of event types to handle, e.g.
7291                   'push' for GitHub or 'Push Hook' for GitLab.
7292                 items:
7293                   type: string
7294                 type: array
7295               interval:
7296                 default: 10m
7297                 description: Interval at which to reconcile the Receiver with its
7298                   Secret references.
7299                 pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
7300                 type: string
7301               resources:
7302                 description: A list of resources to be notified about changes.
7303                 items:
7304                   description: CrossNamespaceObjectReference contains enough information
7305                     to let you locate the typed referenced object at cluster level
7306                   properties:
7307                     apiVersion:
7308                       description: API version of the referent
7309                       type: string
7310                     kind:
7311                       description: Kind of the referent
7312                       enum:
7313                       - Bucket
7314                       - GitRepository
7315                       - Kustomization
7316                       - HelmRelease
7317                       - HelmChart
7318                       - HelmRepository
7319                       - ImageRepository
7320                       - ImagePolicy
7321                       - ImageUpdateAutomation
7322                       - OCIRepository
7323                       type: string
7324                     matchLabels:
7325                       additionalProperties:
7326                         type: string
7327                       description: MatchLabels is a map of {key,value} pairs. A single
7328                         {key,value} in the matchLabels map is equivalent to an element
7329                         of matchExpressions, whose key field is "key", the operator
7330                         is "In", and the values array contains only "value". The requirements
7331                         are ANDed. MatchLabels requires the name to be set to `*`.
7332                       type: object
7333                     name:
7334                       description: Name of the referent If multiple resources are
7335                         targeted `*` may be set.
7336                       maxLength: 53
7337                       minLength: 1
7338                       type: string
7339                     namespace:
7340                       description: Namespace of the referent
7341                       maxLength: 53
7342                       minLength: 1
7343                       type: string
7344                   required:
7345                   - kind
7346                   - name
7347                   type: object
7348                 type: array
7349               secretRef:
7350                 description: SecretRef specifies the Secret containing the token used
7351                   to validate the payload authenticity.
7352                 properties:
7353                   name:
7354                     description: Name of the referent.
7355                     type: string
7356                 required:
7357                 - name
7358                 type: object
7359               suspend:
7360                 description: Suspend tells the controller to suspend subsequent events
7361                   handling for this receiver.
7362                 type: boolean
7363               type:
7364                 description: Type of webhook sender, used to determine the validation
7365                   procedure and payload deserialization.
7366                 enum:
7367                 - generic
7368                 - generic-hmac
7369                 - github
7370                 - gitlab
7371                 - bitbucket
7372                 - harbor
7373                 - dockerhub
7374                 - quay
7375                 - gcr
7376                 - nexus
7377                 - acr
7378                 type: string
7379             required:
7380             - resources
7381             - secretRef
7382             - type
7383             type: object
7384           status:
7385             default:
7386               observedGeneration: -1
7387             description: ReceiverStatus defines the observed state of the Receiver.
7388             properties:
7389               conditions:
7390                 description: Conditions holds the conditions for the Receiver.
7391                 items:
7392                   description: "Condition contains details for one aspect of the current
7393                     state of this API Resource. --- This struct is intended for direct
7394                     use as an array at the field path .status.conditions.  For example,
7395                     \n type FooStatus struct{ // Represents the observations of a
7396                     foo's current state. // Known .status.conditions.type are: \"Available\",
7397                     \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
7398                     // +listType=map // +listMapKey=type Conditions []metav1.Condition
7399                     `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
7400                     protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
7401                   properties:
7402                     lastTransitionTime:
7403                       description: lastTransitionTime is the last time the condition
7404                         transitioned from one status to another. This should be when
7405                         the underlying condition changed.  If that is not known, then
7406                         using the time when the API field changed is acceptable.
7407                       format: date-time
7408                       type: string
7409                     message:
7410                       description: message is a human readable message indicating
7411                         details about the transition. This may be an empty string.
7412                       maxLength: 32768
7413                       type: string
7414                     observedGeneration:
7415                       description: observedGeneration represents the .metadata.generation
7416                         that the condition was set based upon. For instance, if .metadata.generation
7417                         is currently 12, but the .status.conditions[x].observedGeneration
7418                         is 9, the condition is out of date with respect to the current
7419                         state of the instance.
7420                       format: int64
7421                       minimum: 0
7422                       type: integer
7423                     reason:
7424                       description: reason contains a programmatic identifier indicating
7425                         the reason for the condition's last transition. Producers
7426                         of specific condition types may define expected values and
7427                         meanings for this field, and whether the values are considered
7428                         a guaranteed API. The value should be a CamelCase string.
7429                         This field may not be empty.
7430                       maxLength: 1024
7431                       minLength: 1
7432                       pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
7433                       type: string
7434                     status:
7435                       description: status of the condition, one of True, False, Unknown.
7436                       enum:
7437                       - "True"
7438                       - "False"
7439                       - Unknown
7440                       type: string
7441                     type:
7442                       description: type of condition in CamelCase or in foo.example.com/CamelCase.
7443                         --- Many .condition.type values are consistent across resources
7444                         like Available, but because arbitrary conditions can be useful
7445                         (see .node.status.conditions), the ability to deconflict is
7446                         important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
7447                       maxLength: 316
7448                       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])$
7449                       type: string
7450                   required:
7451                   - lastTransitionTime
7452                   - message
7453                   - reason
7454                   - status
7455                   - type
7456                   type: object
7457                 type: array
7458               lastHandledReconcileAt:
7459                 description: LastHandledReconcileAt holds the value of the most recent
7460                   reconcile request value, so a change of the annotation value can
7461                   be detected.
7462                 type: string
7463               observedGeneration:
7464                 description: ObservedGeneration is the last observed generation of
7465                   the Receiver object.
7466                 format: int64
7467                 type: integer
7468               webhookPath:
7469                 description: WebhookPath is the generated incoming webhook address
7470                   in the format of '/hook/sha256sum(token+name+namespace)'.
7471                 type: string
7472             type: object
7473         type: object
7474     served: true
7475     storage: true
7476     subresources:
7477       status: {}
7478   - additionalPrinterColumns:
7479     - jsonPath: .metadata.creationTimestamp
7480       name: Age
7481       type: date
7482     - jsonPath: .status.conditions[?(@.type=="Ready")].status
7483       name: Ready
7484       type: string
7485     - jsonPath: .status.conditions[?(@.type=="Ready")].message
7486       name: Status
7487       type: string
7488     deprecated: true
7489     deprecationWarning: v1beta1 Receiver is deprecated, upgrade to v1
7490     name: v1beta1
7491     schema:
7492       openAPIV3Schema:
7493         description: Receiver is the Schema for the receivers API
7494         properties:
7495           apiVersion:
7496             description: 'APIVersion defines the versioned schema of this representation
7497               of an object. Servers should convert recognized schemas to the latest
7498               internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
7499             type: string
7500           kind:
7501             description: 'Kind is a string value representing the REST resource this
7502               object represents. Servers may infer this from the endpoint the client
7503               submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
7504             type: string
7505           metadata:
7506             type: object
7507           spec:
7508             description: ReceiverSpec defines the desired state of Receiver
7509             properties:
7510               events:
7511                 description: A list of events to handle, e.g. 'push' for GitHub or
7512                   'Push Hook' for GitLab.
7513                 items:
7514                   type: string
7515                 type: array
7516               resources:
7517                 description: A list of resources to be notified about changes.
7518                 items:
7519                   description: CrossNamespaceObjectReference contains enough information
7520                     to let you locate the typed referenced object at cluster level
7521                   properties:
7522                     apiVersion:
7523                       description: API version of the referent
7524                       type: string
7525                     kind:
7526                       description: Kind of the referent
7527                       enum:
7528                       - Bucket
7529                       - GitRepository
7530                       - Kustomization
7531                       - HelmRelease
7532                       - HelmChart
7533                       - HelmRepository
7534                       - ImageRepository
7535                       - ImagePolicy
7536                       - ImageUpdateAutomation
7537                       - OCIRepository
7538                       type: string
7539                     matchLabels:
7540                       additionalProperties:
7541                         type: string
7542                       description: MatchLabels is a map of {key,value} pairs. A single
7543                         {key,value} in the matchLabels map is equivalent to an element
7544                         of matchExpressions, whose key field is "key", the operator
7545                         is "In", and the values array contains only "value". The requirements
7546                         are ANDed.
7547                       type: object
7548                     name:
7549                       description: Name of the referent
7550                       maxLength: 53
7551                       minLength: 1
7552                       type: string
7553                     namespace:
7554                       description: Namespace of the referent
7555                       maxLength: 53
7556                       minLength: 1
7557                       type: string
7558                   required:
7559                   - name
7560                   type: object
7561                 type: array
7562               secretRef:
7563                 description: Secret reference containing the token used to validate
7564                   the payload authenticity
7565                 properties:
7566                   name:
7567                     description: Name of the referent.
7568                     type: string
7569                 required:
7570                 - name
7571                 type: object
7572               suspend:
7573                 description: This flag tells the controller to suspend subsequent
7574                   events handling. Defaults to false.
7575                 type: boolean
7576               type:
7577                 description: Type of webhook sender, used to determine the validation
7578                   procedure and payload deserialization.
7579                 enum:
7580                 - generic
7581                 - generic-hmac
7582                 - github
7583                 - gitlab
7584                 - bitbucket
7585                 - harbor
7586                 - dockerhub
7587                 - quay
7588                 - gcr
7589                 - nexus
7590                 - acr
7591                 type: string
7592             required:
7593             - resources
7594             - type
7595             type: object
7596           status:
7597             default:
7598               observedGeneration: -1
7599             description: ReceiverStatus defines the observed state of Receiver
7600             properties:
7601               conditions:
7602                 items:
7603                   description: "Condition contains details for one aspect of the current
7604                     state of this API Resource. --- This struct is intended for direct
7605                     use as an array at the field path .status.conditions.  For example,
7606                     \n type FooStatus struct{ // Represents the observations of a
7607                     foo's current state. // Known .status.conditions.type are: \"Available\",
7608                     \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
7609                     // +listType=map // +listMapKey=type Conditions []metav1.Condition
7610                     `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
7611                     protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
7612                   properties:
7613                     lastTransitionTime:
7614                       description: lastTransitionTime is the last time the condition
7615                         transitioned from one status to another. This should be when
7616                         the underlying condition changed.  If that is not known, then
7617                         using the time when the API field changed is acceptable.
7618                       format: date-time
7619                       type: string
7620                     message:
7621                       description: message is a human readable message indicating
7622                         details about the transition. This may be an empty string.
7623                       maxLength: 32768
7624                       type: string
7625                     observedGeneration:
7626                       description: observedGeneration represents the .metadata.generation
7627                         that the condition was set based upon. For instance, if .metadata.generation
7628                         is currently 12, but the .status.conditions[x].observedGeneration
7629                         is 9, the condition is out of date with respect to the current
7630                         state of the instance.
7631                       format: int64
7632                       minimum: 0
7633                       type: integer
7634                     reason:
7635                       description: reason contains a programmatic identifier indicating
7636                         the reason for the condition's last transition. Producers
7637                         of specific condition types may define expected values and
7638                         meanings for this field, and whether the values are considered
7639                         a guaranteed API. The value should be a CamelCase string.
7640                         This field may not be empty.
7641                       maxLength: 1024
7642                       minLength: 1
7643                       pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
7644                       type: string
7645                     status:
7646                       description: status of the condition, one of True, False, Unknown.
7647                       enum:
7648                       - "True"
7649                       - "False"
7650                       - Unknown
7651                       type: string
7652                     type:
7653                       description: type of condition in CamelCase or in foo.example.com/CamelCase.
7654                         --- Many .condition.type values are consistent across resources
7655                         like Available, but because arbitrary conditions can be useful
7656                         (see .node.status.conditions), the ability to deconflict is
7657                         important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
7658                       maxLength: 316
7659                       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])$
7660                       type: string
7661                   required:
7662                   - lastTransitionTime
7663                   - message
7664                   - reason
7665                   - status
7666                   - type
7667                   type: object
7668                 type: array
7669               observedGeneration:
7670                 description: ObservedGeneration is the last observed generation.
7671                 format: int64
7672                 type: integer
7673               url:
7674                 description: Generated webhook URL in the format of '/hook/sha256sum(token+name+namespace)'.
7675                 type: string
7676             type: object
7677         type: object
7678     served: true
7679     storage: false
7680     subresources:
7681       status: {}
7682   - additionalPrinterColumns:
7683     - jsonPath: .metadata.creationTimestamp
7684       name: Age
7685       type: date
7686     - jsonPath: .status.conditions[?(@.type=="Ready")].status
7687       name: Ready
7688       type: string
7689     - jsonPath: .status.conditions[?(@.type=="Ready")].message
7690       name: Status
7691       type: string
7692     deprecated: true
7693     deprecationWarning: v1beta2 Receiver is deprecated, upgrade to v1
7694     name: v1beta2
7695     schema:
7696       openAPIV3Schema:
7697         description: Receiver is the Schema for the receivers API.
7698         properties:
7699           apiVersion:
7700             description: 'APIVersion defines the versioned schema of this representation
7701               of an object. Servers should convert recognized schemas to the latest
7702               internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
7703             type: string
7704           kind:
7705             description: 'Kind is a string value representing the REST resource this
7706               object represents. Servers may infer this from the endpoint the client
7707               submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
7708             type: string
7709           metadata:
7710             type: object
7711           spec:
7712             description: ReceiverSpec defines the desired state of the Receiver.
7713             properties:
7714               events:
7715                 description: Events specifies the list of event types to handle, e.g.
7716                   'push' for GitHub or 'Push Hook' for GitLab.
7717                 items:
7718                   type: string
7719                 type: array
7720               interval:
7721                 description: Interval at which to reconcile the Receiver with its
7722                   Secret references.
7723                 pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
7724                 type: string
7725               resources:
7726                 description: A list of resources to be notified about changes.
7727                 items:
7728                   description: CrossNamespaceObjectReference contains enough information
7729                     to let you locate the typed referenced object at cluster level
7730                   properties:
7731                     apiVersion:
7732                       description: API version of the referent
7733                       type: string
7734                     kind:
7735                       description: Kind of the referent
7736                       enum:
7737                       - Bucket
7738                       - GitRepository
7739                       - Kustomization
7740                       - HelmRelease
7741                       - HelmChart
7742                       - HelmRepository
7743                       - ImageRepository
7744                       - ImagePolicy
7745                       - ImageUpdateAutomation
7746                       - OCIRepository
7747                       type: string
7748                     matchLabels:
7749                       additionalProperties:
7750                         type: string
7751                       description: MatchLabels is a map of {key,value} pairs. A single
7752                         {key,value} in the matchLabels map is equivalent to an element
7753                         of matchExpressions, whose key field is "key", the operator
7754                         is "In", and the values array contains only "value". The requirements
7755                         are ANDed. MatchLabels requires the name to be set to `*`.
7756                       type: object
7757                     name:
7758                       description: Name of the referent If multiple resources are
7759                         targeted `*` may be set.
7760                       maxLength: 53
7761                       minLength: 1
7762                       type: string
7763                     namespace:
7764                       description: Namespace of the referent
7765                       maxLength: 53
7766                       minLength: 1
7767                       type: string
7768                   required:
7769                   - kind
7770                   - name
7771                   type: object
7772                 type: array
7773               secretRef:
7774                 description: SecretRef specifies the Secret containing the token used
7775                   to validate the payload authenticity.
7776                 properties:
7777                   name:
7778                     description: Name of the referent.
7779                     type: string
7780                 required:
7781                 - name
7782                 type: object
7783               suspend:
7784                 description: Suspend tells the controller to suspend subsequent events
7785                   handling for this receiver.
7786                 type: boolean
7787               type:
7788                 description: Type of webhook sender, used to determine the validation
7789                   procedure and payload deserialization.
7790                 enum:
7791                 - generic
7792                 - generic-hmac
7793                 - github
7794                 - gitlab
7795                 - bitbucket
7796                 - harbor
7797                 - dockerhub
7798                 - quay
7799                 - gcr
7800                 - nexus
7801                 - acr
7802                 type: string
7803             required:
7804             - resources
7805             - type
7806             type: object
7807           status:
7808             default:
7809               observedGeneration: -1
7810             description: ReceiverStatus defines the observed state of the Receiver.
7811             properties:
7812               conditions:
7813                 description: Conditions holds the conditions for the Receiver.
7814                 items:
7815                   description: "Condition contains details for one aspect of the current
7816                     state of this API Resource. --- This struct is intended for direct
7817                     use as an array at the field path .status.conditions.  For example,
7818                     \n type FooStatus struct{ // Represents the observations of a
7819                     foo's current state. // Known .status.conditions.type are: \"Available\",
7820                     \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge
7821                     // +listType=map // +listMapKey=type Conditions []metav1.Condition
7822                     `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\"
7823                     protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }"
7824                   properties:
7825                     lastTransitionTime:
7826                       description: lastTransitionTime is the last time the condition
7827                         transitioned from one status to another. This should be when
7828                         the underlying condition changed.  If that is not known, then
7829                         using the time when the API field changed is acceptable.
7830                       format: date-time
7831                       type: string
7832                     message:
7833                       description: message is a human readable message indicating
7834                         details about the transition. This may be an empty string.
7835                       maxLength: 32768
7836                       type: string
7837                     observedGeneration:
7838                       description: observedGeneration represents the .metadata.generation
7839                         that the condition was set based upon. For instance, if .metadata.generation
7840                         is currently 12, but the .status.conditions[x].observedGeneration
7841                         is 9, the condition is out of date with respect to the current
7842                         state of the instance.
7843                       format: int64
7844                       minimum: 0
7845                       type: integer
7846                     reason:
7847                       description: reason contains a programmatic identifier indicating
7848                         the reason for the condition's last transition. Producers
7849                         of specific condition types may define expected values and
7850                         meanings for this field, and whether the values are considered
7851                         a guaranteed API. The value should be a CamelCase string.
7852                         This field may not be empty.
7853                       maxLength: 1024
7854                       minLength: 1
7855                       pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
7856                       type: string
7857                     status:
7858                       description: status of the condition, one of True, False, Unknown.
7859                       enum:
7860                       - "True"
7861                       - "False"
7862                       - Unknown
7863                       type: string
7864                     type:
7865                       description: type of condition in CamelCase or in foo.example.com/CamelCase.
7866                         --- Many .condition.type values are consistent across resources
7867                         like Available, but because arbitrary conditions can be useful
7868                         (see .node.status.conditions), the ability to deconflict is
7869                         important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
7870                       maxLength: 316
7871                       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])$
7872                       type: string
7873                   required:
7874                   - lastTransitionTime
7875                   - message
7876                   - reason
7877                   - status
7878                   - type
7879                   type: object
7880                 type: array
7881               lastHandledReconcileAt:
7882                 description: LastHandledReconcileAt holds the value of the most recent
7883                   reconcile request value, so a change of the annotation value can
7884                   be detected.
7885                 type: string
7886               observedGeneration:
7887                 description: ObservedGeneration is the last observed generation of
7888                   the Receiver object.
7889                 format: int64
7890                 type: integer
7891               url:
7892                 description: 'URL is the generated incoming webhook address in the
7893                   format of ''/hook/sha256sum(token+name+namespace)''. Deprecated:
7894                   Replaced by WebhookPath.'
7895                 type: string
7896               webhookPath:
7897                 description: WebhookPath is the generated incoming webhook address
7898                   in the format of '/hook/sha256sum(token+name+namespace)'.
7899                 type: string
7900             type: object
7901         type: object
7902     served: true
7903     storage: false
7904     subresources:
7905       status: {}
7906 ---
7907 apiVersion: v1
7908 kind: ServiceAccount
7909 metadata:
7910   labels:
7911     app.kubernetes.io/component: notification-controller
7912     app.kubernetes.io/instance: flux-system
7913     app.kubernetes.io/part-of: flux
7914     app.kubernetes.io/version: v2.1.2
7915   name: notification-controller
7916   namespace: flux-system
7917 ---
7918 apiVersion: v1
7919 kind: Service
7920 metadata:
7921   labels:
7922     app.kubernetes.io/component: notification-controller
7923     app.kubernetes.io/instance: flux-system
7924     app.kubernetes.io/part-of: flux
7925     app.kubernetes.io/version: v2.1.2
7926     control-plane: controller
7927   name: notification-controller
7928   namespace: flux-system
7929 spec:
7930   ports:
7931   - name: http
7932     port: 80
7933     protocol: TCP
7934     targetPort: http
7935   selector:
7936     app: notification-controller
7937   type: ClusterIP
7938 ---
7939 apiVersion: v1
7940 kind: Service
7941 metadata:
7942   labels:
7943     app.kubernetes.io/component: notification-controller
7944     app.kubernetes.io/instance: flux-system
7945     app.kubernetes.io/part-of: flux
7946     app.kubernetes.io/version: v2.1.2
7947     control-plane: controller
7948   name: webhook-receiver
7949   namespace: flux-system
7950 spec:
7951   ports:
7952   - name: http
7953     port: 80
7954     protocol: TCP
7955     targetPort: http-webhook
7956   selector:
7957     app: notification-controller
7958   type: ClusterIP
7959 ---
7960 apiVersion: apps/v1
7961 kind: Deployment
7962 metadata:
7963   labels:
7964     app.kubernetes.io/component: notification-controller
7965     app.kubernetes.io/instance: flux-system
7966     app.kubernetes.io/part-of: flux
7967     app.kubernetes.io/version: v2.1.2
7968     control-plane: controller
7969   name: notification-controller
7970   namespace: flux-system
7971 spec:
7972   replicas: 1
7973   selector:
7974     matchLabels:
7975       app: notification-controller
7976   template:
7977     metadata:
7978       annotations:
7979         prometheus.io/port: "8080"
7980         prometheus.io/scrape: "true"
7981       labels:
7982         app: notification-controller
7983     spec:
7984       containers:
7985       - args:
7986         - --watch-all-namespaces=true
7987         - --log-level=info
7988         - --log-encoding=json
7989         - --enable-leader-election
7990         env:
7991         - name: RUNTIME_NAMESPACE
7992           valueFrom:
7993             fieldRef:
7994               fieldPath: metadata.namespace
7995         image: ghcr.io/fluxcd/notification-controller:v1.1.0
7996         imagePullPolicy: IfNotPresent
7997         livenessProbe:
7998           httpGet:
7999             path: /healthz
8000             port: healthz
8001         name: manager
8002         ports:
8003         - containerPort: 9090
8004           name: http
8005           protocol: TCP
8006         - containerPort: 9292
8007           name: http-webhook
8008           protocol: TCP
8009         - containerPort: 8080
8010           name: http-prom
8011           protocol: TCP
8012         - containerPort: 9440
8013           name: healthz
8014           protocol: TCP
8015         readinessProbe:
8016           httpGet:
8017             path: /readyz
8018             port: healthz
8019         resources:
8020           limits:
8021             cpu: 1000m
8022             memory: 1Gi
8023           requests:
8024             cpu: 100m
8025             memory: 64Mi
8026         securityContext:
8027           allowPrivilegeEscalation: false
8028           capabilities:
8029             drop:
8030             - ALL
8031           readOnlyRootFilesystem: true
8032           runAsNonRoot: true
8033           seccompProfile:
8034             type: RuntimeDefault
8035         volumeMounts:
8036         - mountPath: /tmp
8037           name: temp
8038       nodeSelector:
8039         kubernetes.io/os: linux
8040       securityContext:
8041         fsGroup: 1337
8042       serviceAccountName: notification-controller
8043       terminationGracePeriodSeconds: 10
8044       volumes:
8045       - emptyDir: {}
8046         name: temp