···11+apiVersion: v1
22+kind: ConfigMap
33+metadata:
44+ name: flux-layer-platform-placeholder
55+ namespace: flux-system
66+ labels:
77+ cute.haus/flux-layer-placeholder: "true"
88+data:
99+ note: Remove this placeholder when platform has real resources.
+8
k8s/flux/secrets/README.md
···11+# Flux Secrets
22+33+First-class Kubernetes Secret manifests managed by Flux live here as
44+SOPS-encrypted `*.sops.yaml` files. The Flux age recipient may decrypt this
55+directory only; legacy `secrets/*.yaml` remain host/user-only.
66+77+The `flux-system/sops-age` private key Secret is a bootstrap artifact. Do not
88+store that private key in this repository.
···11+# Flux System
22+33+`flux bootstrap github --path=k8s/flux/system` installs Flux and may generate
44+or update files in this directory. Preserve `layers.yaml` and keep it included
55+from `kustomization.yaml`; it wires the child reconciliation layers for this
66+repo.
77+88+Under the current bootstrap model, `flux-system/sops-age` is a bootstrap
99+artifact applied out-of-band, not an encrypted Flux-managed Secret.
+6437
k8s/flux/system/gotk-components.yaml
···11+---
22+# This manifest was generated by flux. DO NOT EDIT.
33+# Flux Version: v2.8.8
44+# Components: source-controller,kustomize-controller,helm-controller,notification-controller
55+apiVersion: v1
66+kind: Namespace
77+metadata:
88+ labels:
99+ app.kubernetes.io/instance: flux-system
1010+ app.kubernetes.io/part-of: flux
1111+ app.kubernetes.io/version: v2.8.8
1212+ pod-security.kubernetes.io/warn: restricted
1313+ pod-security.kubernetes.io/warn-version: latest
1414+ name: flux-system
1515+---
1616+apiVersion: networking.k8s.io/v1
1717+kind: NetworkPolicy
1818+metadata:
1919+ labels:
2020+ app.kubernetes.io/instance: flux-system
2121+ app.kubernetes.io/part-of: flux
2222+ app.kubernetes.io/version: v2.8.8
2323+ name: allow-egress
2424+ namespace: flux-system
2525+spec:
2626+ egress:
2727+ - {}
2828+ ingress:
2929+ - from:
3030+ - podSelector: {}
3131+ podSelector: {}
3232+ policyTypes:
3333+ - Ingress
3434+ - Egress
3535+---
3636+apiVersion: networking.k8s.io/v1
3737+kind: NetworkPolicy
3838+metadata:
3939+ labels:
4040+ app.kubernetes.io/instance: flux-system
4141+ app.kubernetes.io/part-of: flux
4242+ app.kubernetes.io/version: v2.8.8
4343+ name: allow-scraping
4444+ namespace: flux-system
4545+spec:
4646+ ingress:
4747+ - from:
4848+ - namespaceSelector: {}
4949+ ports:
5050+ - port: 8080
5151+ protocol: TCP
5252+ podSelector: {}
5353+ policyTypes:
5454+ - Ingress
5555+---
5656+apiVersion: networking.k8s.io/v1
5757+kind: NetworkPolicy
5858+metadata:
5959+ labels:
6060+ app.kubernetes.io/instance: flux-system
6161+ app.kubernetes.io/part-of: flux
6262+ app.kubernetes.io/version: v2.8.8
6363+ name: allow-webhooks
6464+ namespace: flux-system
6565+spec:
6666+ ingress:
6767+ - from:
6868+ - namespaceSelector: {}
6969+ podSelector:
7070+ matchLabels:
7171+ app: notification-controller
7272+ policyTypes:
7373+ - Ingress
7474+---
7575+apiVersion: v1
7676+kind: ResourceQuota
7777+metadata:
7878+ labels:
7979+ app.kubernetes.io/instance: flux-system
8080+ app.kubernetes.io/part-of: flux
8181+ app.kubernetes.io/version: v2.8.8
8282+ name: critical-pods-flux-system
8383+ namespace: flux-system
8484+spec:
8585+ hard:
8686+ pods: "1000"
8787+ scopeSelector:
8888+ matchExpressions:
8989+ - operator: In
9090+ scopeName: PriorityClass
9191+ values:
9292+ - system-node-critical
9393+ - system-cluster-critical
9494+---
9595+apiVersion: rbac.authorization.k8s.io/v1
9696+kind: ClusterRole
9797+metadata:
9898+ labels:
9999+ app.kubernetes.io/instance: flux-system
100100+ app.kubernetes.io/part-of: flux
101101+ app.kubernetes.io/version: v2.8.8
102102+ name: crd-controller-flux-system
103103+rules:
104104+- apiGroups:
105105+ - source.toolkit.fluxcd.io
106106+ resources:
107107+ - '*'
108108+ verbs:
109109+ - '*'
110110+- apiGroups:
111111+ - kustomize.toolkit.fluxcd.io
112112+ resources:
113113+ - '*'
114114+ verbs:
115115+ - '*'
116116+- apiGroups:
117117+ - helm.toolkit.fluxcd.io
118118+ resources:
119119+ - '*'
120120+ verbs:
121121+ - '*'
122122+- apiGroups:
123123+ - notification.toolkit.fluxcd.io
124124+ resources:
125125+ - '*'
126126+ verbs:
127127+ - '*'
128128+- apiGroups:
129129+ - image.toolkit.fluxcd.io
130130+ resources:
131131+ - '*'
132132+ verbs:
133133+ - '*'
134134+- apiGroups:
135135+ - source.extensions.fluxcd.io
136136+ resources:
137137+ - '*'
138138+ verbs:
139139+ - '*'
140140+- apiGroups:
141141+ - ""
142142+ resources:
143143+ - namespaces
144144+ - secrets
145145+ - configmaps
146146+ - serviceaccounts
147147+ verbs:
148148+ - get
149149+ - list
150150+ - watch
151151+- apiGroups:
152152+ - ""
153153+ resources:
154154+ - events
155155+ verbs:
156156+ - create
157157+ - patch
158158+- apiGroups:
159159+ - ""
160160+ resources:
161161+ - configmaps
162162+ verbs:
163163+ - get
164164+ - list
165165+ - watch
166166+ - create
167167+ - update
168168+ - patch
169169+ - delete
170170+- apiGroups:
171171+ - ""
172172+ resources:
173173+ - configmaps/status
174174+ verbs:
175175+ - get
176176+ - update
177177+ - patch
178178+- apiGroups:
179179+ - coordination.k8s.io
180180+ resources:
181181+ - leases
182182+ verbs:
183183+ - get
184184+ - list
185185+ - watch
186186+ - create
187187+ - update
188188+ - patch
189189+ - delete
190190+- apiGroups:
191191+ - ""
192192+ resources:
193193+ - serviceaccounts/token
194194+ verbs:
195195+ - create
196196+- nonResourceURLs:
197197+ - /livez/ping
198198+ verbs:
199199+ - head
200200+---
201201+apiVersion: rbac.authorization.k8s.io/v1
202202+kind: ClusterRole
203203+metadata:
204204+ labels:
205205+ app.kubernetes.io/instance: flux-system
206206+ app.kubernetes.io/part-of: flux
207207+ app.kubernetes.io/version: v2.8.8
208208+ rbac.authorization.k8s.io/aggregate-to-admin: "true"
209209+ rbac.authorization.k8s.io/aggregate-to-edit: "true"
210210+ name: flux-edit-flux-system
211211+rules:
212212+- apiGroups:
213213+ - notification.toolkit.fluxcd.io
214214+ - source.toolkit.fluxcd.io
215215+ - source.extensions.fluxcd.io
216216+ - helm.toolkit.fluxcd.io
217217+ - image.toolkit.fluxcd.io
218218+ - kustomize.toolkit.fluxcd.io
219219+ resources:
220220+ - '*'
221221+ verbs:
222222+ - create
223223+ - delete
224224+ - deletecollection
225225+ - patch
226226+ - update
227227+---
228228+apiVersion: rbac.authorization.k8s.io/v1
229229+kind: ClusterRole
230230+metadata:
231231+ labels:
232232+ app.kubernetes.io/instance: flux-system
233233+ app.kubernetes.io/part-of: flux
234234+ app.kubernetes.io/version: v2.8.8
235235+ rbac.authorization.k8s.io/aggregate-to-admin: "true"
236236+ rbac.authorization.k8s.io/aggregate-to-edit: "true"
237237+ rbac.authorization.k8s.io/aggregate-to-view: "true"
238238+ name: flux-view-flux-system
239239+rules:
240240+- apiGroups:
241241+ - notification.toolkit.fluxcd.io
242242+ - source.toolkit.fluxcd.io
243243+ - source.extensions.fluxcd.io
244244+ - helm.toolkit.fluxcd.io
245245+ - image.toolkit.fluxcd.io
246246+ - kustomize.toolkit.fluxcd.io
247247+ resources:
248248+ - '*'
249249+ verbs:
250250+ - get
251251+ - list
252252+ - watch
253253+---
254254+apiVersion: rbac.authorization.k8s.io/v1
255255+kind: ClusterRoleBinding
256256+metadata:
257257+ labels:
258258+ app.kubernetes.io/instance: flux-system
259259+ app.kubernetes.io/part-of: flux
260260+ app.kubernetes.io/version: v2.8.8
261261+ name: cluster-reconciler-flux-system
262262+roleRef:
263263+ apiGroup: rbac.authorization.k8s.io
264264+ kind: ClusterRole
265265+ name: cluster-admin
266266+subjects:
267267+- kind: ServiceAccount
268268+ name: kustomize-controller
269269+ namespace: flux-system
270270+- kind: ServiceAccount
271271+ name: helm-controller
272272+ namespace: flux-system
273273+---
274274+apiVersion: rbac.authorization.k8s.io/v1
275275+kind: ClusterRoleBinding
276276+metadata:
277277+ labels:
278278+ app.kubernetes.io/instance: flux-system
279279+ app.kubernetes.io/part-of: flux
280280+ app.kubernetes.io/version: v2.8.8
281281+ name: crd-controller-flux-system
282282+roleRef:
283283+ apiGroup: rbac.authorization.k8s.io
284284+ kind: ClusterRole
285285+ name: crd-controller-flux-system
286286+subjects:
287287+- kind: ServiceAccount
288288+ name: kustomize-controller
289289+ namespace: flux-system
290290+- kind: ServiceAccount
291291+ name: helm-controller
292292+ namespace: flux-system
293293+- kind: ServiceAccount
294294+ name: source-controller
295295+ namespace: flux-system
296296+- kind: ServiceAccount
297297+ name: notification-controller
298298+ namespace: flux-system
299299+- kind: ServiceAccount
300300+ name: image-reflector-controller
301301+ namespace: flux-system
302302+- kind: ServiceAccount
303303+ name: image-automation-controller
304304+ namespace: flux-system
305305+- kind: ServiceAccount
306306+ name: source-watcher
307307+ namespace: flux-system
308308+---
309309+apiVersion: apiextensions.k8s.io/v1
310310+kind: CustomResourceDefinition
311311+metadata:
312312+ annotations:
313313+ controller-gen.kubebuilder.io/version: v0.19.0
314314+ labels:
315315+ app.kubernetes.io/component: source-controller
316316+ app.kubernetes.io/instance: flux-system
317317+ app.kubernetes.io/part-of: flux
318318+ app.kubernetes.io/version: v2.8.8
319319+ name: buckets.source.toolkit.fluxcd.io
320320+spec:
321321+ group: source.toolkit.fluxcd.io
322322+ names:
323323+ kind: Bucket
324324+ listKind: BucketList
325325+ plural: buckets
326326+ singular: bucket
327327+ scope: Namespaced
328328+ versions:
329329+ - additionalPrinterColumns:
330330+ - jsonPath: .spec.endpoint
331331+ name: Endpoint
332332+ type: string
333333+ - jsonPath: .metadata.creationTimestamp
334334+ name: Age
335335+ type: date
336336+ - jsonPath: .status.conditions[?(@.type=="Ready")].status
337337+ name: Ready
338338+ type: string
339339+ - jsonPath: .status.conditions[?(@.type=="Ready")].message
340340+ name: Status
341341+ type: string
342342+ name: v1
343343+ schema:
344344+ openAPIV3Schema:
345345+ description: Bucket is the Schema for the buckets API.
346346+ properties:
347347+ apiVersion:
348348+ description: |-
349349+ APIVersion defines the versioned schema of this representation of an object.
350350+ Servers should convert recognized schemas to the latest internal value, and
351351+ may reject unrecognized values.
352352+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
353353+ type: string
354354+ kind:
355355+ description: |-
356356+ Kind is a string value representing the REST resource this object represents.
357357+ Servers may infer this from the endpoint the client submits requests to.
358358+ Cannot be updated.
359359+ In CamelCase.
360360+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
361361+ type: string
362362+ metadata:
363363+ type: object
364364+ spec:
365365+ description: |-
366366+ BucketSpec specifies the required configuration to produce an Artifact for
367367+ an object storage bucket.
368368+ properties:
369369+ bucketName:
370370+ description: BucketName is the name of the object storage bucket.
371371+ type: string
372372+ certSecretRef:
373373+ description: |-
374374+ CertSecretRef can be given the name of a Secret containing
375375+ either or both of
376376+377377+ - a PEM-encoded client certificate (`tls.crt`) and private
378378+ key (`tls.key`);
379379+ - a PEM-encoded CA certificate (`ca.crt`)
380380+381381+ and whichever are supplied, will be used for connecting to the
382382+ bucket. The client cert and key are useful if you are
383383+ authenticating with a certificate; the CA cert is useful if
384384+ you are using a self-signed server certificate. The Secret must
385385+ be of type `Opaque` or `kubernetes.io/tls`.
386386+387387+ This field is only supported for the `generic` provider.
388388+ properties:
389389+ name:
390390+ description: Name of the referent.
391391+ type: string
392392+ required:
393393+ - name
394394+ type: object
395395+ endpoint:
396396+ description: Endpoint is the object storage address the BucketName
397397+ is located at.
398398+ type: string
399399+ ignore:
400400+ description: |-
401401+ Ignore overrides the set of excluded patterns in the .sourceignore format
402402+ (which is the same as .gitignore). If not provided, a default will be used,
403403+ consult the documentation for your version to find out what those are.
404404+ type: string
405405+ insecure:
406406+ description: Insecure allows connecting to a non-TLS HTTP Endpoint.
407407+ type: boolean
408408+ interval:
409409+ description: |-
410410+ Interval at which the Bucket Endpoint is checked for updates.
411411+ This interval is approximate and may be subject to jitter to ensure
412412+ efficient use of resources.
413413+ pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
414414+ type: string
415415+ prefix:
416416+ description: Prefix to use for server-side filtering of files in the
417417+ Bucket.
418418+ type: string
419419+ provider:
420420+ default: generic
421421+ description: |-
422422+ Provider of the object storage bucket.
423423+ Defaults to 'generic', which expects an S3 (API) compatible object
424424+ storage.
425425+ enum:
426426+ - generic
427427+ - aws
428428+ - gcp
429429+ - azure
430430+ type: string
431431+ proxySecretRef:
432432+ description: |-
433433+ ProxySecretRef specifies the Secret containing the proxy configuration
434434+ to use while communicating with the Bucket server.
435435+ properties:
436436+ name:
437437+ description: Name of the referent.
438438+ type: string
439439+ required:
440440+ - name
441441+ type: object
442442+ region:
443443+ description: Region of the Endpoint where the BucketName is located
444444+ in.
445445+ type: string
446446+ secretRef:
447447+ description: |-
448448+ SecretRef specifies the Secret containing authentication credentials
449449+ for the Bucket.
450450+ properties:
451451+ name:
452452+ description: Name of the referent.
453453+ type: string
454454+ required:
455455+ - name
456456+ type: object
457457+ serviceAccountName:
458458+ description: |-
459459+ ServiceAccountName is the name of the Kubernetes ServiceAccount used to authenticate
460460+ the bucket. This field is only supported for the 'gcp' and 'aws' providers.
461461+ For more information about workload identity:
462462+ https://fluxcd.io/flux/components/source/buckets/#workload-identity
463463+ type: string
464464+ sts:
465465+ description: |-
466466+ STS specifies the required configuration to use a Security Token
467467+ Service for fetching temporary credentials to authenticate in a
468468+ Bucket provider.
469469+470470+ This field is only supported for the `aws` and `generic` providers.
471471+ properties:
472472+ certSecretRef:
473473+ description: |-
474474+ CertSecretRef can be given the name of a Secret containing
475475+ either or both of
476476+477477+ - a PEM-encoded client certificate (`tls.crt`) and private
478478+ key (`tls.key`);
479479+ - a PEM-encoded CA certificate (`ca.crt`)
480480+481481+ and whichever are supplied, will be used for connecting to the
482482+ STS endpoint. The client cert and key are useful if you are
483483+ authenticating with a certificate; the CA cert is useful if
484484+ you are using a self-signed server certificate. The Secret must
485485+ be of type `Opaque` or `kubernetes.io/tls`.
486486+487487+ This field is only supported for the `ldap` provider.
488488+ properties:
489489+ name:
490490+ description: Name of the referent.
491491+ type: string
492492+ required:
493493+ - name
494494+ type: object
495495+ endpoint:
496496+ description: |-
497497+ Endpoint is the HTTP/S endpoint of the Security Token Service from
498498+ where temporary credentials will be fetched.
499499+ pattern: ^(http|https)://.*$
500500+ type: string
501501+ provider:
502502+ description: Provider of the Security Token Service.
503503+ enum:
504504+ - aws
505505+ - ldap
506506+ type: string
507507+ secretRef:
508508+ description: |-
509509+ SecretRef specifies the Secret containing authentication credentials
510510+ for the STS endpoint. This Secret must contain the fields `username`
511511+ and `password` and is supported only for the `ldap` provider.
512512+ properties:
513513+ name:
514514+ description: Name of the referent.
515515+ type: string
516516+ required:
517517+ - name
518518+ type: object
519519+ required:
520520+ - endpoint
521521+ - provider
522522+ type: object
523523+ suspend:
524524+ description: |-
525525+ Suspend tells the controller to suspend the reconciliation of this
526526+ Bucket.
527527+ type: boolean
528528+ timeout:
529529+ default: 60s
530530+ description: Timeout for fetch operations, defaults to 60s.
531531+ pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$
532532+ type: string
533533+ required:
534534+ - bucketName
535535+ - endpoint
536536+ - interval
537537+ type: object
538538+ x-kubernetes-validations:
539539+ - message: STS configuration is only supported for the 'aws' and 'generic'
540540+ Bucket providers
541541+ rule: self.provider == 'aws' || self.provider == 'generic' || !has(self.sts)
542542+ - message: '''aws'' is the only supported STS provider for the ''aws''
543543+ Bucket provider'
544544+ rule: self.provider != 'aws' || !has(self.sts) || self.sts.provider
545545+ == 'aws'
546546+ - message: '''ldap'' is the only supported STS provider for the ''generic''
547547+ Bucket provider'
548548+ rule: self.provider != 'generic' || !has(self.sts) || self.sts.provider
549549+ == 'ldap'
550550+ - message: spec.sts.secretRef is not required for the 'aws' STS provider
551551+ rule: '!has(self.sts) || self.sts.provider != ''aws'' || !has(self.sts.secretRef)'
552552+ - message: spec.sts.certSecretRef is not required for the 'aws' STS provider
553553+ rule: '!has(self.sts) || self.sts.provider != ''aws'' || !has(self.sts.certSecretRef)'
554554+ - message: ServiceAccountName is not supported for the 'generic' Bucket
555555+ provider
556556+ rule: self.provider != 'generic' || !has(self.serviceAccountName)
557557+ - message: cannot set both .spec.secretRef and .spec.serviceAccountName
558558+ rule: '!has(self.secretRef) || !has(self.serviceAccountName)'
559559+ status:
560560+ default:
561561+ observedGeneration: -1
562562+ description: BucketStatus records the observed state of a Bucket.
563563+ properties:
564564+ artifact:
565565+ description: Artifact represents the last successful Bucket reconciliation.
566566+ properties:
567567+ digest:
568568+ description: Digest is the digest of the file in the form of '<algorithm>:<checksum>'.
569569+ pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$
570570+ type: string
571571+ lastUpdateTime:
572572+ description: |-
573573+ LastUpdateTime is the timestamp corresponding to the last update of the
574574+ Artifact.
575575+ format: date-time
576576+ type: string
577577+ metadata:
578578+ additionalProperties:
579579+ type: string
580580+ description: Metadata holds upstream information such as OCI annotations.
581581+ type: object
582582+ path:
583583+ description: |-
584584+ Path is the relative file path of the Artifact. It can be used to locate
585585+ the file in the root of the Artifact storage on the local file system of
586586+ the controller managing the Source.
587587+ type: string
588588+ revision:
589589+ description: |-
590590+ Revision is a human-readable identifier traceable in the origin source
591591+ system. It can be a Git commit SHA, Git tag, a Helm chart version, etc.
592592+ type: string
593593+ size:
594594+ description: Size is the number of bytes in the file.
595595+ format: int64
596596+ type: integer
597597+ url:
598598+ description: |-
599599+ URL is the HTTP address of the Artifact as exposed by the controller
600600+ managing the Source. It can be used to retrieve the Artifact for
601601+ consumption, e.g. by another controller applying the Artifact contents.
602602+ type: string
603603+ required:
604604+ - digest
605605+ - lastUpdateTime
606606+ - path
607607+ - revision
608608+ - url
609609+ type: object
610610+ conditions:
611611+ description: Conditions holds the conditions for the Bucket.
612612+ items:
613613+ description: Condition contains details for one aspect of the current
614614+ state of this API Resource.
615615+ properties:
616616+ lastTransitionTime:
617617+ description: |-
618618+ lastTransitionTime is the last time the condition transitioned from one status to another.
619619+ This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
620620+ format: date-time
621621+ type: string
622622+ message:
623623+ description: |-
624624+ message is a human readable message indicating details about the transition.
625625+ This may be an empty string.
626626+ maxLength: 32768
627627+ type: string
628628+ observedGeneration:
629629+ description: |-
630630+ observedGeneration represents the .metadata.generation that the condition was set based upon.
631631+ For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
632632+ with respect to the current state of the instance.
633633+ format: int64
634634+ minimum: 0
635635+ type: integer
636636+ reason:
637637+ description: |-
638638+ reason contains a programmatic identifier indicating the reason for the condition's last transition.
639639+ Producers of specific condition types may define expected values and meanings for this field,
640640+ and whether the values are considered a guaranteed API.
641641+ The value should be a CamelCase string.
642642+ This field may not be empty.
643643+ maxLength: 1024
644644+ minLength: 1
645645+ pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
646646+ type: string
647647+ status:
648648+ description: status of the condition, one of True, False, Unknown.
649649+ enum:
650650+ - "True"
651651+ - "False"
652652+ - Unknown
653653+ type: string
654654+ type:
655655+ description: type of condition in CamelCase or in foo.example.com/CamelCase.
656656+ maxLength: 316
657657+ 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])$
658658+ type: string
659659+ required:
660660+ - lastTransitionTime
661661+ - message
662662+ - reason
663663+ - status
664664+ - type
665665+ type: object
666666+ type: array
667667+ lastHandledReconcileAt:
668668+ description: |-
669669+ LastHandledReconcileAt holds the value of the most recent
670670+ reconcile request value, so a change of the annotation value
671671+ can be detected.
672672+ type: string
673673+ observedGeneration:
674674+ description: ObservedGeneration is the last observed generation of
675675+ the Bucket object.
676676+ format: int64
677677+ type: integer
678678+ observedIgnore:
679679+ description: |-
680680+ ObservedIgnore is the observed exclusion patterns used for constructing
681681+ the source artifact.
682682+ type: string
683683+ url:
684684+ description: |-
685685+ URL is the dynamic fetch link for the latest Artifact.
686686+ It is provided on a "best effort" basis, and using the precise
687687+ BucketStatus.Artifact data is recommended.
688688+ type: string
689689+ type: object
690690+ type: object
691691+ served: true
692692+ storage: true
693693+ subresources:
694694+ status: {}
695695+---
696696+apiVersion: apiextensions.k8s.io/v1
697697+kind: CustomResourceDefinition
698698+metadata:
699699+ annotations:
700700+ controller-gen.kubebuilder.io/version: v0.19.0
701701+ labels:
702702+ app.kubernetes.io/component: source-controller
703703+ app.kubernetes.io/instance: flux-system
704704+ app.kubernetes.io/part-of: flux
705705+ app.kubernetes.io/version: v2.8.8
706706+ name: externalartifacts.source.toolkit.fluxcd.io
707707+spec:
708708+ group: source.toolkit.fluxcd.io
709709+ names:
710710+ kind: ExternalArtifact
711711+ listKind: ExternalArtifactList
712712+ plural: externalartifacts
713713+ singular: externalartifact
714714+ scope: Namespaced
715715+ versions:
716716+ - additionalPrinterColumns:
717717+ - jsonPath: .metadata.creationTimestamp
718718+ name: Age
719719+ type: date
720720+ - jsonPath: .status.conditions[?(@.type=="Ready")].status
721721+ name: Ready
722722+ type: string
723723+ - jsonPath: .status.conditions[?(@.type=="Ready")].message
724724+ name: Status
725725+ type: string
726726+ - jsonPath: .spec.sourceRef.name
727727+ name: Source
728728+ type: string
729729+ name: v1
730730+ schema:
731731+ openAPIV3Schema:
732732+ description: ExternalArtifact is the Schema for the external artifacts API
733733+ properties:
734734+ apiVersion:
735735+ description: |-
736736+ APIVersion defines the versioned schema of this representation of an object.
737737+ Servers should convert recognized schemas to the latest internal value, and
738738+ may reject unrecognized values.
739739+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
740740+ type: string
741741+ kind:
742742+ description: |-
743743+ Kind is a string value representing the REST resource this object represents.
744744+ Servers may infer this from the endpoint the client submits requests to.
745745+ Cannot be updated.
746746+ In CamelCase.
747747+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
748748+ type: string
749749+ metadata:
750750+ type: object
751751+ spec:
752752+ description: ExternalArtifactSpec defines the desired state of ExternalArtifact
753753+ properties:
754754+ sourceRef:
755755+ description: |-
756756+ SourceRef points to the Kubernetes custom resource for
757757+ which the artifact is generated.
758758+ properties:
759759+ apiVersion:
760760+ description: API version of the referent, if not specified the
761761+ Kubernetes preferred version will be used.
762762+ type: string
763763+ kind:
764764+ description: Kind of the referent.
765765+ type: string
766766+ name:
767767+ description: Name of the referent.
768768+ type: string
769769+ namespace:
770770+ description: Namespace of the referent, when not specified it
771771+ acts as LocalObjectReference.
772772+ type: string
773773+ required:
774774+ - kind
775775+ - name
776776+ type: object
777777+ type: object
778778+ status:
779779+ description: ExternalArtifactStatus defines the observed state of ExternalArtifact
780780+ properties:
781781+ artifact:
782782+ description: Artifact represents the output of an ExternalArtifact
783783+ reconciliation.
784784+ properties:
785785+ digest:
786786+ description: Digest is the digest of the file in the form of '<algorithm>:<checksum>'.
787787+ pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$
788788+ type: string
789789+ lastUpdateTime:
790790+ description: |-
791791+ LastUpdateTime is the timestamp corresponding to the last update of the
792792+ Artifact.
793793+ format: date-time
794794+ type: string
795795+ metadata:
796796+ additionalProperties:
797797+ type: string
798798+ description: Metadata holds upstream information such as OCI annotations.
799799+ type: object
800800+ path:
801801+ description: |-
802802+ Path is the relative file path of the Artifact. It can be used to locate
803803+ the file in the root of the Artifact storage on the local file system of
804804+ the controller managing the Source.
805805+ type: string
806806+ revision:
807807+ description: |-
808808+ Revision is a human-readable identifier traceable in the origin source
809809+ system. It can be a Git commit SHA, Git tag, a Helm chart version, etc.
810810+ type: string
811811+ size:
812812+ description: Size is the number of bytes in the file.
813813+ format: int64
814814+ type: integer
815815+ url:
816816+ description: |-
817817+ URL is the HTTP address of the Artifact as exposed by the controller
818818+ managing the Source. It can be used to retrieve the Artifact for
819819+ consumption, e.g. by another controller applying the Artifact contents.
820820+ type: string
821821+ required:
822822+ - digest
823823+ - lastUpdateTime
824824+ - path
825825+ - revision
826826+ - url
827827+ type: object
828828+ conditions:
829829+ description: Conditions holds the conditions for the ExternalArtifact.
830830+ items:
831831+ description: Condition contains details for one aspect of the current
832832+ state of this API Resource.
833833+ properties:
834834+ lastTransitionTime:
835835+ description: |-
836836+ lastTransitionTime is the last time the condition transitioned from one status to another.
837837+ This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
838838+ format: date-time
839839+ type: string
840840+ message:
841841+ description: |-
842842+ message is a human readable message indicating details about the transition.
843843+ This may be an empty string.
844844+ maxLength: 32768
845845+ type: string
846846+ observedGeneration:
847847+ description: |-
848848+ observedGeneration represents the .metadata.generation that the condition was set based upon.
849849+ For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
850850+ with respect to the current state of the instance.
851851+ format: int64
852852+ minimum: 0
853853+ type: integer
854854+ reason:
855855+ description: |-
856856+ reason contains a programmatic identifier indicating the reason for the condition's last transition.
857857+ Producers of specific condition types may define expected values and meanings for this field,
858858+ and whether the values are considered a guaranteed API.
859859+ The value should be a CamelCase string.
860860+ This field may not be empty.
861861+ maxLength: 1024
862862+ minLength: 1
863863+ pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
864864+ type: string
865865+ status:
866866+ description: status of the condition, one of True, False, Unknown.
867867+ enum:
868868+ - "True"
869869+ - "False"
870870+ - Unknown
871871+ type: string
872872+ type:
873873+ description: type of condition in CamelCase or in foo.example.com/CamelCase.
874874+ maxLength: 316
875875+ 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])$
876876+ type: string
877877+ required:
878878+ - lastTransitionTime
879879+ - message
880880+ - reason
881881+ - status
882882+ - type
883883+ type: object
884884+ type: array
885885+ type: object
886886+ type: object
887887+ served: true
888888+ storage: true
889889+ subresources:
890890+ status: {}
891891+---
892892+apiVersion: apiextensions.k8s.io/v1
893893+kind: CustomResourceDefinition
894894+metadata:
895895+ annotations:
896896+ controller-gen.kubebuilder.io/version: v0.19.0
897897+ labels:
898898+ app.kubernetes.io/component: source-controller
899899+ app.kubernetes.io/instance: flux-system
900900+ app.kubernetes.io/part-of: flux
901901+ app.kubernetes.io/version: v2.8.8
902902+ name: gitrepositories.source.toolkit.fluxcd.io
903903+spec:
904904+ group: source.toolkit.fluxcd.io
905905+ names:
906906+ kind: GitRepository
907907+ listKind: GitRepositoryList
908908+ plural: gitrepositories
909909+ shortNames:
910910+ - gitrepo
911911+ singular: gitrepository
912912+ scope: Namespaced
913913+ versions:
914914+ - additionalPrinterColumns:
915915+ - jsonPath: .spec.url
916916+ name: URL
917917+ type: string
918918+ - jsonPath: .metadata.creationTimestamp
919919+ name: Age
920920+ type: date
921921+ - jsonPath: .status.conditions[?(@.type=="Ready")].status
922922+ name: Ready
923923+ type: string
924924+ - jsonPath: .status.conditions[?(@.type=="Ready")].message
925925+ name: Status
926926+ type: string
927927+ name: v1
928928+ schema:
929929+ openAPIV3Schema:
930930+ description: GitRepository is the Schema for the gitrepositories API.
931931+ properties:
932932+ apiVersion:
933933+ description: |-
934934+ APIVersion defines the versioned schema of this representation of an object.
935935+ Servers should convert recognized schemas to the latest internal value, and
936936+ may reject unrecognized values.
937937+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
938938+ type: string
939939+ kind:
940940+ description: |-
941941+ Kind is a string value representing the REST resource this object represents.
942942+ Servers may infer this from the endpoint the client submits requests to.
943943+ Cannot be updated.
944944+ In CamelCase.
945945+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
946946+ type: string
947947+ metadata:
948948+ type: object
949949+ spec:
950950+ description: |-
951951+ GitRepositorySpec specifies the required configuration to produce an
952952+ Artifact for a Git repository.
953953+ properties:
954954+ ignore:
955955+ description: |-
956956+ Ignore overrides the set of excluded patterns in the .sourceignore format
957957+ (which is the same as .gitignore). If not provided, a default will be used,
958958+ consult the documentation for your version to find out what those are.
959959+ type: string
960960+ include:
961961+ description: |-
962962+ Include specifies a list of GitRepository resources which Artifacts
963963+ should be included in the Artifact produced for this GitRepository.
964964+ items:
965965+ description: |-
966966+ GitRepositoryInclude specifies a local reference to a GitRepository which
967967+ Artifact (sub-)contents must be included, and where they should be placed.
968968+ properties:
969969+ fromPath:
970970+ description: |-
971971+ FromPath specifies the path to copy contents from, defaults to the root
972972+ of the Artifact.
973973+ type: string
974974+ repository:
975975+ description: |-
976976+ GitRepositoryRef specifies the GitRepository which Artifact contents
977977+ must be included.
978978+ properties:
979979+ name:
980980+ description: Name of the referent.
981981+ type: string
982982+ required:
983983+ - name
984984+ type: object
985985+ toPath:
986986+ description: |-
987987+ ToPath specifies the path to copy contents to, defaults to the name of
988988+ the GitRepositoryRef.
989989+ type: string
990990+ required:
991991+ - repository
992992+ type: object
993993+ type: array
994994+ interval:
995995+ description: |-
996996+ Interval at which the GitRepository URL is checked for updates.
997997+ This interval is approximate and may be subject to jitter to ensure
998998+ efficient use of resources.
999999+ pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
10001000+ type: string
10011001+ provider:
10021002+ description: |-
10031003+ Provider used for authentication, can be 'azure', 'github', 'generic'.
10041004+ When not specified, defaults to 'generic'.
10051005+ enum:
10061006+ - generic
10071007+ - azure
10081008+ - github
10091009+ type: string
10101010+ proxySecretRef:
10111011+ description: |-
10121012+ ProxySecretRef specifies the Secret containing the proxy configuration
10131013+ to use while communicating with the Git server.
10141014+ properties:
10151015+ name:
10161016+ description: Name of the referent.
10171017+ type: string
10181018+ required:
10191019+ - name
10201020+ type: object
10211021+ recurseSubmodules:
10221022+ description: |-
10231023+ RecurseSubmodules enables the initialization of all submodules within
10241024+ the GitRepository as cloned from the URL, using their default settings.
10251025+ type: boolean
10261026+ ref:
10271027+ description: |-
10281028+ Reference specifies the Git reference to resolve and monitor for
10291029+ changes, defaults to the 'master' branch.
10301030+ properties:
10311031+ branch:
10321032+ description: Branch to check out, defaults to 'master' if no other
10331033+ field is defined.
10341034+ type: string
10351035+ commit:
10361036+ description: |-
10371037+ Commit SHA to check out, takes precedence over all reference fields.
10381038+10391039+ This can be combined with Branch to shallow clone the branch, in which
10401040+ the commit is expected to exist.
10411041+ type: string
10421042+ name:
10431043+ description: |-
10441044+ Name of the reference to check out; takes precedence over Branch, Tag and SemVer.
10451045+10461046+ It must be a valid Git reference: https://git-scm.com/docs/git-check-ref-format#_description
10471047+ Examples: "refs/heads/main", "refs/tags/v0.1.0", "refs/pull/420/head", "refs/merge-requests/1/head"
10481048+ type: string
10491049+ semver:
10501050+ description: SemVer tag expression to check out, takes precedence
10511051+ over Tag.
10521052+ type: string
10531053+ tag:
10541054+ description: Tag to check out, takes precedence over Branch.
10551055+ type: string
10561056+ type: object
10571057+ secretRef:
10581058+ description: |-
10591059+ SecretRef specifies the Secret containing authentication credentials for
10601060+ the GitRepository.
10611061+ For HTTPS repositories the Secret must contain 'username' and 'password'
10621062+ fields for basic auth or 'bearerToken' field for token auth.
10631063+ For SSH repositories the Secret must contain 'identity'
10641064+ and 'known_hosts' fields.
10651065+ properties:
10661066+ name:
10671067+ description: Name of the referent.
10681068+ type: string
10691069+ required:
10701070+ - name
10711071+ type: object
10721072+ serviceAccountName:
10731073+ description: |-
10741074+ ServiceAccountName is the name of the Kubernetes ServiceAccount used to
10751075+ authenticate to the GitRepository. This field is only supported for 'azure' provider.
10761076+ type: string
10771077+ sparseCheckout:
10781078+ description: |-
10791079+ SparseCheckout specifies a list of directories to checkout when cloning
10801080+ the repository. If specified, only these directories are included in the
10811081+ Artifact produced for this GitRepository.
10821082+ items:
10831083+ type: string
10841084+ type: array
10851085+ suspend:
10861086+ description: |-
10871087+ Suspend tells the controller to suspend the reconciliation of this
10881088+ GitRepository.
10891089+ type: boolean
10901090+ timeout:
10911091+ default: 60s
10921092+ description: Timeout for Git operations like cloning, defaults to
10931093+ 60s.
10941094+ pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$
10951095+ type: string
10961096+ url:
10971097+ description: URL specifies the Git repository URL, it can be an HTTP/S
10981098+ or SSH address.
10991099+ pattern: ^(http|https|ssh)://.*$
11001100+ type: string
11011101+ verify:
11021102+ description: |-
11031103+ Verification specifies the configuration to verify the Git commit
11041104+ signature(s).
11051105+ properties:
11061106+ mode:
11071107+ default: HEAD
11081108+ description: |-
11091109+ Mode specifies which Git object(s) should be verified.
11101110+11111111+ The variants "head" and "HEAD" both imply the same thing, i.e. verify
11121112+ the commit that the HEAD of the Git repository points to. The variant
11131113+ "head" solely exists to ensure backwards compatibility.
11141114+ enum:
11151115+ - head
11161116+ - HEAD
11171117+ - Tag
11181118+ - TagAndHEAD
11191119+ type: string
11201120+ secretRef:
11211121+ description: |-
11221122+ SecretRef specifies the Secret containing the public keys of trusted Git
11231123+ authors.
11241124+ properties:
11251125+ name:
11261126+ description: Name of the referent.
11271127+ type: string
11281128+ required:
11291129+ - name
11301130+ type: object
11311131+ required:
11321132+ - secretRef
11331133+ type: object
11341134+ required:
11351135+ - interval
11361136+ - url
11371137+ type: object
11381138+ x-kubernetes-validations:
11391139+ - message: serviceAccountName can only be set when provider is 'azure'
11401140+ rule: '!has(self.serviceAccountName) || (has(self.provider) && self.provider
11411141+ == ''azure'')'
11421142+ status:
11431143+ default:
11441144+ observedGeneration: -1
11451145+ description: GitRepositoryStatus records the observed state of a Git repository.
11461146+ properties:
11471147+ artifact:
11481148+ description: Artifact represents the last successful GitRepository
11491149+ reconciliation.
11501150+ properties:
11511151+ digest:
11521152+ description: Digest is the digest of the file in the form of '<algorithm>:<checksum>'.
11531153+ pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$
11541154+ type: string
11551155+ lastUpdateTime:
11561156+ description: |-
11571157+ LastUpdateTime is the timestamp corresponding to the last update of the
11581158+ Artifact.
11591159+ format: date-time
11601160+ type: string
11611161+ metadata:
11621162+ additionalProperties:
11631163+ type: string
11641164+ description: Metadata holds upstream information such as OCI annotations.
11651165+ type: object
11661166+ path:
11671167+ description: |-
11681168+ Path is the relative file path of the Artifact. It can be used to locate
11691169+ the file in the root of the Artifact storage on the local file system of
11701170+ the controller managing the Source.
11711171+ type: string
11721172+ revision:
11731173+ description: |-
11741174+ Revision is a human-readable identifier traceable in the origin source
11751175+ system. It can be a Git commit SHA, Git tag, a Helm chart version, etc.
11761176+ type: string
11771177+ size:
11781178+ description: Size is the number of bytes in the file.
11791179+ format: int64
11801180+ type: integer
11811181+ url:
11821182+ description: |-
11831183+ URL is the HTTP address of the Artifact as exposed by the controller
11841184+ managing the Source. It can be used to retrieve the Artifact for
11851185+ consumption, e.g. by another controller applying the Artifact contents.
11861186+ type: string
11871187+ required:
11881188+ - digest
11891189+ - lastUpdateTime
11901190+ - path
11911191+ - revision
11921192+ - url
11931193+ type: object
11941194+ conditions:
11951195+ description: Conditions holds the conditions for the GitRepository.
11961196+ items:
11971197+ description: Condition contains details for one aspect of the current
11981198+ state of this API Resource.
11991199+ properties:
12001200+ lastTransitionTime:
12011201+ description: |-
12021202+ lastTransitionTime is the last time the condition transitioned from one status to another.
12031203+ This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
12041204+ format: date-time
12051205+ type: string
12061206+ message:
12071207+ description: |-
12081208+ message is a human readable message indicating details about the transition.
12091209+ This may be an empty string.
12101210+ maxLength: 32768
12111211+ type: string
12121212+ observedGeneration:
12131213+ description: |-
12141214+ observedGeneration represents the .metadata.generation that the condition was set based upon.
12151215+ For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
12161216+ with respect to the current state of the instance.
12171217+ format: int64
12181218+ minimum: 0
12191219+ type: integer
12201220+ reason:
12211221+ description: |-
12221222+ reason contains a programmatic identifier indicating the reason for the condition's last transition.
12231223+ Producers of specific condition types may define expected values and meanings for this field,
12241224+ and whether the values are considered a guaranteed API.
12251225+ The value should be a CamelCase string.
12261226+ This field may not be empty.
12271227+ maxLength: 1024
12281228+ minLength: 1
12291229+ pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
12301230+ type: string
12311231+ status:
12321232+ description: status of the condition, one of True, False, Unknown.
12331233+ enum:
12341234+ - "True"
12351235+ - "False"
12361236+ - Unknown
12371237+ type: string
12381238+ type:
12391239+ description: type of condition in CamelCase or in foo.example.com/CamelCase.
12401240+ maxLength: 316
12411241+ 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])$
12421242+ type: string
12431243+ required:
12441244+ - lastTransitionTime
12451245+ - message
12461246+ - reason
12471247+ - status
12481248+ - type
12491249+ type: object
12501250+ type: array
12511251+ includedArtifacts:
12521252+ description: |-
12531253+ IncludedArtifacts contains a list of the last successfully included
12541254+ Artifacts as instructed by GitRepositorySpec.Include.
12551255+ items:
12561256+ description: Artifact represents the output of a Source reconciliation.
12571257+ properties:
12581258+ digest:
12591259+ description: Digest is the digest of the file in the form of
12601260+ '<algorithm>:<checksum>'.
12611261+ pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$
12621262+ type: string
12631263+ lastUpdateTime:
12641264+ description: |-
12651265+ LastUpdateTime is the timestamp corresponding to the last update of the
12661266+ Artifact.
12671267+ format: date-time
12681268+ type: string
12691269+ metadata:
12701270+ additionalProperties:
12711271+ type: string
12721272+ description: Metadata holds upstream information such as OCI
12731273+ annotations.
12741274+ type: object
12751275+ path:
12761276+ description: |-
12771277+ Path is the relative file path of the Artifact. It can be used to locate
12781278+ the file in the root of the Artifact storage on the local file system of
12791279+ the controller managing the Source.
12801280+ type: string
12811281+ revision:
12821282+ description: |-
12831283+ Revision is a human-readable identifier traceable in the origin source
12841284+ system. It can be a Git commit SHA, Git tag, a Helm chart version, etc.
12851285+ type: string
12861286+ size:
12871287+ description: Size is the number of bytes in the file.
12881288+ format: int64
12891289+ type: integer
12901290+ url:
12911291+ description: |-
12921292+ URL is the HTTP address of the Artifact as exposed by the controller
12931293+ managing the Source. It can be used to retrieve the Artifact for
12941294+ consumption, e.g. by another controller applying the Artifact contents.
12951295+ type: string
12961296+ required:
12971297+ - digest
12981298+ - lastUpdateTime
12991299+ - path
13001300+ - revision
13011301+ - url
13021302+ type: object
13031303+ type: array
13041304+ lastHandledReconcileAt:
13051305+ description: |-
13061306+ LastHandledReconcileAt holds the value of the most recent
13071307+ reconcile request value, so a change of the annotation value
13081308+ can be detected.
13091309+ type: string
13101310+ observedGeneration:
13111311+ description: |-
13121312+ ObservedGeneration is the last observed generation of the GitRepository
13131313+ object.
13141314+ format: int64
13151315+ type: integer
13161316+ observedIgnore:
13171317+ description: |-
13181318+ ObservedIgnore is the observed exclusion patterns used for constructing
13191319+ the source artifact.
13201320+ type: string
13211321+ observedInclude:
13221322+ description: |-
13231323+ ObservedInclude is the observed list of GitRepository resources used to
13241324+ produce the current Artifact.
13251325+ items:
13261326+ description: |-
13271327+ GitRepositoryInclude specifies a local reference to a GitRepository which
13281328+ Artifact (sub-)contents must be included, and where they should be placed.
13291329+ properties:
13301330+ fromPath:
13311331+ description: |-
13321332+ FromPath specifies the path to copy contents from, defaults to the root
13331333+ of the Artifact.
13341334+ type: string
13351335+ repository:
13361336+ description: |-
13371337+ GitRepositoryRef specifies the GitRepository which Artifact contents
13381338+ must be included.
13391339+ properties:
13401340+ name:
13411341+ description: Name of the referent.
13421342+ type: string
13431343+ required:
13441344+ - name
13451345+ type: object
13461346+ toPath:
13471347+ description: |-
13481348+ ToPath specifies the path to copy contents to, defaults to the name of
13491349+ the GitRepositoryRef.
13501350+ type: string
13511351+ required:
13521352+ - repository
13531353+ type: object
13541354+ type: array
13551355+ observedRecurseSubmodules:
13561356+ description: |-
13571357+ ObservedRecurseSubmodules is the observed resource submodules
13581358+ configuration used to produce the current Artifact.
13591359+ type: boolean
13601360+ observedSparseCheckout:
13611361+ description: |-
13621362+ ObservedSparseCheckout is the observed list of directories used to
13631363+ produce the current Artifact.
13641364+ items:
13651365+ type: string
13661366+ type: array
13671367+ sourceVerificationMode:
13681368+ description: |-
13691369+ SourceVerificationMode is the last used verification mode indicating
13701370+ which Git object(s) have been verified.
13711371+ type: string
13721372+ type: object
13731373+ type: object
13741374+ served: true
13751375+ storage: true
13761376+ subresources:
13771377+ status: {}
13781378+---
13791379+apiVersion: apiextensions.k8s.io/v1
13801380+kind: CustomResourceDefinition
13811381+metadata:
13821382+ annotations:
13831383+ controller-gen.kubebuilder.io/version: v0.19.0
13841384+ labels:
13851385+ app.kubernetes.io/component: source-controller
13861386+ app.kubernetes.io/instance: flux-system
13871387+ app.kubernetes.io/part-of: flux
13881388+ app.kubernetes.io/version: v2.8.8
13891389+ name: helmcharts.source.toolkit.fluxcd.io
13901390+spec:
13911391+ group: source.toolkit.fluxcd.io
13921392+ names:
13931393+ kind: HelmChart
13941394+ listKind: HelmChartList
13951395+ plural: helmcharts
13961396+ shortNames:
13971397+ - hc
13981398+ singular: helmchart
13991399+ scope: Namespaced
14001400+ versions:
14011401+ - additionalPrinterColumns:
14021402+ - jsonPath: .spec.chart
14031403+ name: Chart
14041404+ type: string
14051405+ - jsonPath: .spec.version
14061406+ name: Version
14071407+ type: string
14081408+ - jsonPath: .spec.sourceRef.kind
14091409+ name: Source Kind
14101410+ type: string
14111411+ - jsonPath: .spec.sourceRef.name
14121412+ name: Source Name
14131413+ type: string
14141414+ - jsonPath: .metadata.creationTimestamp
14151415+ name: Age
14161416+ type: date
14171417+ - jsonPath: .status.conditions[?(@.type=="Ready")].status
14181418+ name: Ready
14191419+ type: string
14201420+ - jsonPath: .status.conditions[?(@.type=="Ready")].message
14211421+ name: Status
14221422+ type: string
14231423+ name: v1
14241424+ schema:
14251425+ openAPIV3Schema:
14261426+ description: HelmChart is the Schema for the helmcharts API.
14271427+ properties:
14281428+ apiVersion:
14291429+ description: |-
14301430+ APIVersion defines the versioned schema of this representation of an object.
14311431+ Servers should convert recognized schemas to the latest internal value, and
14321432+ may reject unrecognized values.
14331433+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
14341434+ type: string
14351435+ kind:
14361436+ description: |-
14371437+ Kind is a string value representing the REST resource this object represents.
14381438+ Servers may infer this from the endpoint the client submits requests to.
14391439+ Cannot be updated.
14401440+ In CamelCase.
14411441+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
14421442+ type: string
14431443+ metadata:
14441444+ type: object
14451445+ spec:
14461446+ description: HelmChartSpec specifies the desired state of a Helm chart.
14471447+ properties:
14481448+ chart:
14491449+ description: |-
14501450+ Chart is the name or path the Helm chart is available at in the
14511451+ SourceRef.
14521452+ type: string
14531453+ ignoreMissingValuesFiles:
14541454+ description: |-
14551455+ IgnoreMissingValuesFiles controls whether to silently ignore missing values
14561456+ files rather than failing.
14571457+ type: boolean
14581458+ interval:
14591459+ description: |-
14601460+ Interval at which the HelmChart SourceRef is checked for updates.
14611461+ This interval is approximate and may be subject to jitter to ensure
14621462+ efficient use of resources.
14631463+ pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
14641464+ type: string
14651465+ reconcileStrategy:
14661466+ default: ChartVersion
14671467+ description: |-
14681468+ ReconcileStrategy determines what enables the creation of a new artifact.
14691469+ Valid values are ('ChartVersion', 'Revision').
14701470+ See the documentation of the values for an explanation on their behavior.
14711471+ Defaults to ChartVersion when omitted.
14721472+ enum:
14731473+ - ChartVersion
14741474+ - Revision
14751475+ type: string
14761476+ sourceRef:
14771477+ description: SourceRef is the reference to the Source the chart is
14781478+ available at.
14791479+ properties:
14801480+ apiVersion:
14811481+ description: APIVersion of the referent.
14821482+ type: string
14831483+ kind:
14841484+ description: |-
14851485+ Kind of the referent, valid values are ('HelmRepository', 'GitRepository',
14861486+ 'Bucket').
14871487+ enum:
14881488+ - HelmRepository
14891489+ - GitRepository
14901490+ - Bucket
14911491+ type: string
14921492+ name:
14931493+ description: Name of the referent.
14941494+ type: string
14951495+ required:
14961496+ - kind
14971497+ - name
14981498+ type: object
14991499+ suspend:
15001500+ description: |-
15011501+ Suspend tells the controller to suspend the reconciliation of this
15021502+ source.
15031503+ type: boolean
15041504+ valuesFiles:
15051505+ description: |-
15061506+ ValuesFiles is an alternative list of values files to use as the chart
15071507+ values (values.yaml is not included by default), expected to be a
15081508+ relative path in the SourceRef.
15091509+ Values files are merged in the order of this list with the last file
15101510+ overriding the first. Ignored when omitted.
15111511+ items:
15121512+ type: string
15131513+ type: array
15141514+ verify:
15151515+ description: |-
15161516+ Verify contains the secret name containing the trusted public keys
15171517+ used to verify the signature and specifies which provider to use to check
15181518+ whether OCI image is authentic.
15191519+ This field is only supported when using HelmRepository source with spec.type 'oci'.
15201520+ Chart dependencies, which are not bundled in the umbrella chart artifact, are not verified.
15211521+ properties:
15221522+ matchOIDCIdentity:
15231523+ description: |-
15241524+ MatchOIDCIdentity specifies the identity matching criteria to use
15251525+ while verifying an OCI artifact which was signed using Cosign keyless
15261526+ signing. The artifact's identity is deemed to be verified if any of the
15271527+ specified matchers match against the identity.
15281528+ items:
15291529+ description: |-
15301530+ OIDCIdentityMatch specifies options for verifying the certificate identity,
15311531+ i.e. the issuer and the subject of the certificate.
15321532+ properties:
15331533+ issuer:
15341534+ description: |-
15351535+ Issuer specifies the regex pattern to match against to verify
15361536+ the OIDC issuer in the Fulcio certificate. The pattern must be a
15371537+ valid Go regular expression.
15381538+ type: string
15391539+ subject:
15401540+ description: |-
15411541+ Subject specifies the regex pattern to match against to verify
15421542+ the identity subject in the Fulcio certificate. The pattern must
15431543+ be a valid Go regular expression.
15441544+ type: string
15451545+ required:
15461546+ - issuer
15471547+ - subject
15481548+ type: object
15491549+ type: array
15501550+ provider:
15511551+ default: cosign
15521552+ description: Provider specifies the technology used to sign the
15531553+ OCI Artifact.
15541554+ enum:
15551555+ - cosign
15561556+ - notation
15571557+ type: string
15581558+ secretRef:
15591559+ description: |-
15601560+ SecretRef specifies the Kubernetes Secret containing the
15611561+ trusted public keys.
15621562+ properties:
15631563+ name:
15641564+ description: Name of the referent.
15651565+ type: string
15661566+ required:
15671567+ - name
15681568+ type: object
15691569+ required:
15701570+ - provider
15711571+ type: object
15721572+ version:
15731573+ default: '*'
15741574+ description: |-
15751575+ Version is the chart version semver expression, ignored for charts from
15761576+ GitRepository and Bucket sources. Defaults to latest when omitted.
15771577+ type: string
15781578+ required:
15791579+ - chart
15801580+ - interval
15811581+ - sourceRef
15821582+ type: object
15831583+ x-kubernetes-validations:
15841584+ - message: spec.verify is only supported when spec.sourceRef.kind is 'HelmRepository'
15851585+ rule: '!has(self.verify) || self.sourceRef.kind == ''HelmRepository'''
15861586+ status:
15871587+ default:
15881588+ observedGeneration: -1
15891589+ description: HelmChartStatus records the observed state of the HelmChart.
15901590+ properties:
15911591+ artifact:
15921592+ description: Artifact represents the output of the last successful
15931593+ reconciliation.
15941594+ properties:
15951595+ digest:
15961596+ description: Digest is the digest of the file in the form of '<algorithm>:<checksum>'.
15971597+ pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$
15981598+ type: string
15991599+ lastUpdateTime:
16001600+ description: |-
16011601+ LastUpdateTime is the timestamp corresponding to the last update of the
16021602+ Artifact.
16031603+ format: date-time
16041604+ type: string
16051605+ metadata:
16061606+ additionalProperties:
16071607+ type: string
16081608+ description: Metadata holds upstream information such as OCI annotations.
16091609+ type: object
16101610+ path:
16111611+ description: |-
16121612+ Path is the relative file path of the Artifact. It can be used to locate
16131613+ the file in the root of the Artifact storage on the local file system of
16141614+ the controller managing the Source.
16151615+ type: string
16161616+ revision:
16171617+ description: |-
16181618+ Revision is a human-readable identifier traceable in the origin source
16191619+ system. It can be a Git commit SHA, Git tag, a Helm chart version, etc.
16201620+ type: string
16211621+ size:
16221622+ description: Size is the number of bytes in the file.
16231623+ format: int64
16241624+ type: integer
16251625+ url:
16261626+ description: |-
16271627+ URL is the HTTP address of the Artifact as exposed by the controller
16281628+ managing the Source. It can be used to retrieve the Artifact for
16291629+ consumption, e.g. by another controller applying the Artifact contents.
16301630+ type: string
16311631+ required:
16321632+ - digest
16331633+ - lastUpdateTime
16341634+ - path
16351635+ - revision
16361636+ - url
16371637+ type: object
16381638+ conditions:
16391639+ description: Conditions holds the conditions for the HelmChart.
16401640+ items:
16411641+ description: Condition contains details for one aspect of the current
16421642+ state of this API Resource.
16431643+ properties:
16441644+ lastTransitionTime:
16451645+ description: |-
16461646+ lastTransitionTime is the last time the condition transitioned from one status to another.
16471647+ This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
16481648+ format: date-time
16491649+ type: string
16501650+ message:
16511651+ description: |-
16521652+ message is a human readable message indicating details about the transition.
16531653+ This may be an empty string.
16541654+ maxLength: 32768
16551655+ type: string
16561656+ observedGeneration:
16571657+ description: |-
16581658+ observedGeneration represents the .metadata.generation that the condition was set based upon.
16591659+ For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
16601660+ with respect to the current state of the instance.
16611661+ format: int64
16621662+ minimum: 0
16631663+ type: integer
16641664+ reason:
16651665+ description: |-
16661666+ reason contains a programmatic identifier indicating the reason for the condition's last transition.
16671667+ Producers of specific condition types may define expected values and meanings for this field,
16681668+ and whether the values are considered a guaranteed API.
16691669+ The value should be a CamelCase string.
16701670+ This field may not be empty.
16711671+ maxLength: 1024
16721672+ minLength: 1
16731673+ pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
16741674+ type: string
16751675+ status:
16761676+ description: status of the condition, one of True, False, Unknown.
16771677+ enum:
16781678+ - "True"
16791679+ - "False"
16801680+ - Unknown
16811681+ type: string
16821682+ type:
16831683+ description: type of condition in CamelCase or in foo.example.com/CamelCase.
16841684+ maxLength: 316
16851685+ 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])$
16861686+ type: string
16871687+ required:
16881688+ - lastTransitionTime
16891689+ - message
16901690+ - reason
16911691+ - status
16921692+ - type
16931693+ type: object
16941694+ type: array
16951695+ lastHandledReconcileAt:
16961696+ description: |-
16971697+ LastHandledReconcileAt holds the value of the most recent
16981698+ reconcile request value, so a change of the annotation value
16991699+ can be detected.
17001700+ type: string
17011701+ observedChartName:
17021702+ description: |-
17031703+ ObservedChartName is the last observed chart name as specified by the
17041704+ resolved chart reference.
17051705+ type: string
17061706+ observedGeneration:
17071707+ description: |-
17081708+ ObservedGeneration is the last observed generation of the HelmChart
17091709+ object.
17101710+ format: int64
17111711+ type: integer
17121712+ observedSourceArtifactRevision:
17131713+ description: |-
17141714+ ObservedSourceArtifactRevision is the last observed Artifact.Revision
17151715+ of the HelmChartSpec.SourceRef.
17161716+ type: string
17171717+ observedValuesFiles:
17181718+ description: |-
17191719+ ObservedValuesFiles are the observed value files of the last successful
17201720+ reconciliation.
17211721+ It matches the chart in the last successfully reconciled artifact.
17221722+ items:
17231723+ type: string
17241724+ type: array
17251725+ url:
17261726+ description: |-
17271727+ URL is the dynamic fetch link for the latest Artifact.
17281728+ It is provided on a "best effort" basis, and using the precise
17291729+ BucketStatus.Artifact data is recommended.
17301730+ type: string
17311731+ type: object
17321732+ type: object
17331733+ served: true
17341734+ storage: true
17351735+ subresources:
17361736+ status: {}
17371737+---
17381738+apiVersion: apiextensions.k8s.io/v1
17391739+kind: CustomResourceDefinition
17401740+metadata:
17411741+ annotations:
17421742+ controller-gen.kubebuilder.io/version: v0.19.0
17431743+ labels:
17441744+ app.kubernetes.io/component: source-controller
17451745+ app.kubernetes.io/instance: flux-system
17461746+ app.kubernetes.io/part-of: flux
17471747+ app.kubernetes.io/version: v2.8.8
17481748+ name: helmrepositories.source.toolkit.fluxcd.io
17491749+spec:
17501750+ group: source.toolkit.fluxcd.io
17511751+ names:
17521752+ kind: HelmRepository
17531753+ listKind: HelmRepositoryList
17541754+ plural: helmrepositories
17551755+ shortNames:
17561756+ - helmrepo
17571757+ singular: helmrepository
17581758+ scope: Namespaced
17591759+ versions:
17601760+ - additionalPrinterColumns:
17611761+ - jsonPath: .spec.url
17621762+ name: URL
17631763+ type: string
17641764+ - jsonPath: .metadata.creationTimestamp
17651765+ name: Age
17661766+ type: date
17671767+ - jsonPath: .status.conditions[?(@.type=="Ready")].status
17681768+ name: Ready
17691769+ type: string
17701770+ - jsonPath: .status.conditions[?(@.type=="Ready")].message
17711771+ name: Status
17721772+ type: string
17731773+ name: v1
17741774+ schema:
17751775+ openAPIV3Schema:
17761776+ description: HelmRepository is the Schema for the helmrepositories API.
17771777+ properties:
17781778+ apiVersion:
17791779+ description: |-
17801780+ APIVersion defines the versioned schema of this representation of an object.
17811781+ Servers should convert recognized schemas to the latest internal value, and
17821782+ may reject unrecognized values.
17831783+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
17841784+ type: string
17851785+ kind:
17861786+ description: |-
17871787+ Kind is a string value representing the REST resource this object represents.
17881788+ Servers may infer this from the endpoint the client submits requests to.
17891789+ Cannot be updated.
17901790+ In CamelCase.
17911791+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
17921792+ type: string
17931793+ metadata:
17941794+ type: object
17951795+ spec:
17961796+ description: |-
17971797+ HelmRepositorySpec specifies the required configuration to produce an
17981798+ Artifact for a Helm repository index YAML.
17991799+ properties:
18001800+ accessFrom:
18011801+ description: |-
18021802+ AccessFrom specifies an Access Control List for allowing cross-namespace
18031803+ references to this object.
18041804+ NOTE: Not implemented, provisional as of https://github.com/fluxcd/flux2/pull/2092
18051805+ properties:
18061806+ namespaceSelectors:
18071807+ description: |-
18081808+ NamespaceSelectors is the list of namespace selectors to which this ACL applies.
18091809+ Items in this list are evaluated using a logical OR operation.
18101810+ items:
18111811+ description: |-
18121812+ NamespaceSelector selects the namespaces to which this ACL applies.
18131813+ An empty map of MatchLabels matches all namespaces in a cluster.
18141814+ properties:
18151815+ matchLabels:
18161816+ additionalProperties:
18171817+ type: string
18181818+ description: |-
18191819+ MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
18201820+ map is equivalent to an element of matchExpressions, whose key field is "key", the
18211821+ operator is "In", and the values array contains only "value". The requirements are ANDed.
18221822+ type: object
18231823+ type: object
18241824+ type: array
18251825+ required:
18261826+ - namespaceSelectors
18271827+ type: object
18281828+ certSecretRef:
18291829+ description: |-
18301830+ CertSecretRef can be given the name of a Secret containing
18311831+ either or both of
18321832+18331833+ - a PEM-encoded client certificate (`tls.crt`) and private
18341834+ key (`tls.key`);
18351835+ - a PEM-encoded CA certificate (`ca.crt`)
18361836+18371837+ and whichever are supplied, will be used for connecting to the
18381838+ registry. The client cert and key are useful if you are
18391839+ authenticating with a certificate; the CA cert is useful if
18401840+ you are using a self-signed server certificate. The Secret must
18411841+ be of type `Opaque` or `kubernetes.io/tls`.
18421842+18431843+ It takes precedence over the values specified in the Secret referred
18441844+ to by `.spec.secretRef`.
18451845+ properties:
18461846+ name:
18471847+ description: Name of the referent.
18481848+ type: string
18491849+ required:
18501850+ - name
18511851+ type: object
18521852+ insecure:
18531853+ description: |-
18541854+ Insecure allows connecting to a non-TLS HTTP container registry.
18551855+ This field is only taken into account if the .spec.type field is set to 'oci'.
18561856+ type: boolean
18571857+ interval:
18581858+ description: |-
18591859+ Interval at which the HelmRepository URL is checked for updates.
18601860+ This interval is approximate and may be subject to jitter to ensure
18611861+ efficient use of resources.
18621862+ pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
18631863+ type: string
18641864+ passCredentials:
18651865+ description: |-
18661866+ PassCredentials allows the credentials from the SecretRef to be passed
18671867+ on to a host that does not match the host as defined in URL.
18681868+ This may be required if the host of the advertised chart URLs in the
18691869+ index differ from the defined URL.
18701870+ Enabling this should be done with caution, as it can potentially result
18711871+ in credentials getting stolen in a MITM-attack.
18721872+ type: boolean
18731873+ provider:
18741874+ default: generic
18751875+ description: |-
18761876+ Provider used for authentication, can be 'aws', 'azure', 'gcp' or 'generic'.
18771877+ This field is optional, and only taken into account if the .spec.type field is set to 'oci'.
18781878+ When not specified, defaults to 'generic'.
18791879+ enum:
18801880+ - generic
18811881+ - aws
18821882+ - azure
18831883+ - gcp
18841884+ type: string
18851885+ secretRef:
18861886+ description: |-
18871887+ SecretRef specifies the Secret containing authentication credentials
18881888+ for the HelmRepository.
18891889+ For HTTP/S basic auth the secret must contain 'username' and 'password'
18901890+ fields.
18911891+ Support for TLS auth using the 'certFile' and 'keyFile', and/or 'caFile'
18921892+ keys is deprecated. Please use `.spec.certSecretRef` instead.
18931893+ properties:
18941894+ name:
18951895+ description: Name of the referent.
18961896+ type: string
18971897+ required:
18981898+ - name
18991899+ type: object
19001900+ suspend:
19011901+ description: |-
19021902+ Suspend tells the controller to suspend the reconciliation of this
19031903+ HelmRepository.
19041904+ type: boolean
19051905+ timeout:
19061906+ description: |-
19071907+ Timeout is used for the index fetch operation for an HTTPS helm repository,
19081908+ and for remote OCI Repository operations like pulling for an OCI helm
19091909+ chart by the associated HelmChart.
19101910+ Its default value is 60s.
19111911+ pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$
19121912+ type: string
19131913+ type:
19141914+ description: |-
19151915+ Type of the HelmRepository.
19161916+ When this field is set to "oci", the URL field value must be prefixed with "oci://".
19171917+ enum:
19181918+ - default
19191919+ - oci
19201920+ type: string
19211921+ url:
19221922+ description: |-
19231923+ URL of the Helm repository, a valid URL contains at least a protocol and
19241924+ host.
19251925+ pattern: ^(http|https|oci)://.*$
19261926+ type: string
19271927+ required:
19281928+ - url
19291929+ type: object
19301930+ status:
19311931+ default:
19321932+ observedGeneration: -1
19331933+ description: HelmRepositoryStatus records the observed state of the HelmRepository.
19341934+ properties:
19351935+ artifact:
19361936+ description: Artifact represents the last successful HelmRepository
19371937+ reconciliation.
19381938+ properties:
19391939+ digest:
19401940+ description: Digest is the digest of the file in the form of '<algorithm>:<checksum>'.
19411941+ pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$
19421942+ type: string
19431943+ lastUpdateTime:
19441944+ description: |-
19451945+ LastUpdateTime is the timestamp corresponding to the last update of the
19461946+ Artifact.
19471947+ format: date-time
19481948+ type: string
19491949+ metadata:
19501950+ additionalProperties:
19511951+ type: string
19521952+ description: Metadata holds upstream information such as OCI annotations.
19531953+ type: object
19541954+ path:
19551955+ description: |-
19561956+ Path is the relative file path of the Artifact. It can be used to locate
19571957+ the file in the root of the Artifact storage on the local file system of
19581958+ the controller managing the Source.
19591959+ type: string
19601960+ revision:
19611961+ description: |-
19621962+ Revision is a human-readable identifier traceable in the origin source
19631963+ system. It can be a Git commit SHA, Git tag, a Helm chart version, etc.
19641964+ type: string
19651965+ size:
19661966+ description: Size is the number of bytes in the file.
19671967+ format: int64
19681968+ type: integer
19691969+ url:
19701970+ description: |-
19711971+ URL is the HTTP address of the Artifact as exposed by the controller
19721972+ managing the Source. It can be used to retrieve the Artifact for
19731973+ consumption, e.g. by another controller applying the Artifact contents.
19741974+ type: string
19751975+ required:
19761976+ - digest
19771977+ - lastUpdateTime
19781978+ - path
19791979+ - revision
19801980+ - url
19811981+ type: object
19821982+ conditions:
19831983+ description: Conditions holds the conditions for the HelmRepository.
19841984+ items:
19851985+ description: Condition contains details for one aspect of the current
19861986+ state of this API Resource.
19871987+ properties:
19881988+ lastTransitionTime:
19891989+ description: |-
19901990+ lastTransitionTime is the last time the condition transitioned from one status to another.
19911991+ This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
19921992+ format: date-time
19931993+ type: string
19941994+ message:
19951995+ description: |-
19961996+ message is a human readable message indicating details about the transition.
19971997+ This may be an empty string.
19981998+ maxLength: 32768
19991999+ type: string
20002000+ observedGeneration:
20012001+ description: |-
20022002+ observedGeneration represents the .metadata.generation that the condition was set based upon.
20032003+ For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
20042004+ with respect to the current state of the instance.
20052005+ format: int64
20062006+ minimum: 0
20072007+ type: integer
20082008+ reason:
20092009+ description: |-
20102010+ reason contains a programmatic identifier indicating the reason for the condition's last transition.
20112011+ Producers of specific condition types may define expected values and meanings for this field,
20122012+ and whether the values are considered a guaranteed API.
20132013+ The value should be a CamelCase string.
20142014+ This field may not be empty.
20152015+ maxLength: 1024
20162016+ minLength: 1
20172017+ pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
20182018+ type: string
20192019+ status:
20202020+ description: status of the condition, one of True, False, Unknown.
20212021+ enum:
20222022+ - "True"
20232023+ - "False"
20242024+ - Unknown
20252025+ type: string
20262026+ type:
20272027+ description: type of condition in CamelCase or in foo.example.com/CamelCase.
20282028+ maxLength: 316
20292029+ 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])$
20302030+ type: string
20312031+ required:
20322032+ - lastTransitionTime
20332033+ - message
20342034+ - reason
20352035+ - status
20362036+ - type
20372037+ type: object
20382038+ type: array
20392039+ lastHandledReconcileAt:
20402040+ description: |-
20412041+ LastHandledReconcileAt holds the value of the most recent
20422042+ reconcile request value, so a change of the annotation value
20432043+ can be detected.
20442044+ type: string
20452045+ observedGeneration:
20462046+ description: |-
20472047+ ObservedGeneration is the last observed generation of the HelmRepository
20482048+ object.
20492049+ format: int64
20502050+ type: integer
20512051+ url:
20522052+ description: |-
20532053+ URL is the dynamic fetch link for the latest Artifact.
20542054+ It is provided on a "best effort" basis, and using the precise
20552055+ HelmRepositoryStatus.Artifact data is recommended.
20562056+ type: string
20572057+ type: object
20582058+ type: object
20592059+ served: true
20602060+ storage: true
20612061+ subresources:
20622062+ status: {}
20632063+---
20642064+apiVersion: apiextensions.k8s.io/v1
20652065+kind: CustomResourceDefinition
20662066+metadata:
20672067+ annotations:
20682068+ controller-gen.kubebuilder.io/version: v0.19.0
20692069+ labels:
20702070+ app.kubernetes.io/component: source-controller
20712071+ app.kubernetes.io/instance: flux-system
20722072+ app.kubernetes.io/part-of: flux
20732073+ app.kubernetes.io/version: v2.8.8
20742074+ name: ocirepositories.source.toolkit.fluxcd.io
20752075+spec:
20762076+ group: source.toolkit.fluxcd.io
20772077+ names:
20782078+ kind: OCIRepository
20792079+ listKind: OCIRepositoryList
20802080+ plural: ocirepositories
20812081+ shortNames:
20822082+ - ocirepo
20832083+ singular: ocirepository
20842084+ scope: Namespaced
20852085+ versions:
20862086+ - additionalPrinterColumns:
20872087+ - jsonPath: .spec.url
20882088+ name: URL
20892089+ type: string
20902090+ - jsonPath: .status.conditions[?(@.type=="Ready")].status
20912091+ name: Ready
20922092+ type: string
20932093+ - jsonPath: .status.conditions[?(@.type=="Ready")].message
20942094+ name: Status
20952095+ type: string
20962096+ - jsonPath: .metadata.creationTimestamp
20972097+ name: Age
20982098+ type: date
20992099+ name: v1
21002100+ schema:
21012101+ openAPIV3Schema:
21022102+ description: OCIRepository is the Schema for the ocirepositories API
21032103+ properties:
21042104+ apiVersion:
21052105+ description: |-
21062106+ APIVersion defines the versioned schema of this representation of an object.
21072107+ Servers should convert recognized schemas to the latest internal value, and
21082108+ may reject unrecognized values.
21092109+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
21102110+ type: string
21112111+ kind:
21122112+ description: |-
21132113+ Kind is a string value representing the REST resource this object represents.
21142114+ Servers may infer this from the endpoint the client submits requests to.
21152115+ Cannot be updated.
21162116+ In CamelCase.
21172117+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
21182118+ type: string
21192119+ metadata:
21202120+ type: object
21212121+ spec:
21222122+ description: OCIRepositorySpec defines the desired state of OCIRepository
21232123+ properties:
21242124+ certSecretRef:
21252125+ description: |-
21262126+ CertSecretRef can be given the name of a Secret containing
21272127+ either or both of
21282128+21292129+ - a PEM-encoded client certificate (`tls.crt`) and private
21302130+ key (`tls.key`);
21312131+ - a PEM-encoded CA certificate (`ca.crt`)
21322132+21332133+ and whichever are supplied, will be used for connecting to the
21342134+ registry. The client cert and key are useful if you are
21352135+ authenticating with a certificate; the CA cert is useful if
21362136+ you are using a self-signed server certificate. The Secret must
21372137+ be of type `Opaque` or `kubernetes.io/tls`.
21382138+ properties:
21392139+ name:
21402140+ description: Name of the referent.
21412141+ type: string
21422142+ required:
21432143+ - name
21442144+ type: object
21452145+ ignore:
21462146+ description: |-
21472147+ Ignore overrides the set of excluded patterns in the .sourceignore format
21482148+ (which is the same as .gitignore). If not provided, a default will be used,
21492149+ consult the documentation for your version to find out what those are.
21502150+ type: string
21512151+ insecure:
21522152+ description: Insecure allows connecting to a non-TLS HTTP container
21532153+ registry.
21542154+ type: boolean
21552155+ interval:
21562156+ description: |-
21572157+ Interval at which the OCIRepository URL is checked for updates.
21582158+ This interval is approximate and may be subject to jitter to ensure
21592159+ efficient use of resources.
21602160+ pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
21612161+ type: string
21622162+ layerSelector:
21632163+ description: |-
21642164+ LayerSelector specifies which layer should be extracted from the OCI artifact.
21652165+ When not specified, the first layer found in the artifact is selected.
21662166+ properties:
21672167+ mediaType:
21682168+ description: |-
21692169+ MediaType specifies the OCI media type of the layer
21702170+ which should be extracted from the OCI Artifact. The
21712171+ first layer matching this type is selected.
21722172+ type: string
21732173+ operation:
21742174+ description: |-
21752175+ Operation specifies how the selected layer should be processed.
21762176+ By default, the layer compressed content is extracted to storage.
21772177+ When the operation is set to 'copy', the layer compressed content
21782178+ is persisted to storage as it is.
21792179+ enum:
21802180+ - extract
21812181+ - copy
21822182+ type: string
21832183+ type: object
21842184+ provider:
21852185+ default: generic
21862186+ description: |-
21872187+ The provider used for authentication, can be 'aws', 'azure', 'gcp' or 'generic'.
21882188+ When not specified, defaults to 'generic'.
21892189+ enum:
21902190+ - generic
21912191+ - aws
21922192+ - azure
21932193+ - gcp
21942194+ type: string
21952195+ proxySecretRef:
21962196+ description: |-
21972197+ ProxySecretRef specifies the Secret containing the proxy configuration
21982198+ to use while communicating with the container registry.
21992199+ properties:
22002200+ name:
22012201+ description: Name of the referent.
22022202+ type: string
22032203+ required:
22042204+ - name
22052205+ type: object
22062206+ ref:
22072207+ description: |-
22082208+ The OCI reference to pull and monitor for changes,
22092209+ defaults to the latest tag.
22102210+ properties:
22112211+ digest:
22122212+ description: |-
22132213+ Digest is the image digest to pull, takes precedence over SemVer.
22142214+ The value should be in the format 'sha256:<HASH>'.
22152215+ type: string
22162216+ semver:
22172217+ description: |-
22182218+ SemVer is the range of tags to pull selecting the latest within
22192219+ the range, takes precedence over Tag.
22202220+ type: string
22212221+ semverFilter:
22222222+ description: SemverFilter is a regex pattern to filter the tags
22232223+ within the SemVer range.
22242224+ type: string
22252225+ tag:
22262226+ description: Tag is the image tag to pull, defaults to latest.
22272227+ type: string
22282228+ type: object
22292229+ secretRef:
22302230+ description: |-
22312231+ SecretRef contains the secret name containing the registry login
22322232+ credentials to resolve image metadata.
22332233+ The secret must be of type kubernetes.io/dockerconfigjson.
22342234+ properties:
22352235+ name:
22362236+ description: Name of the referent.
22372237+ type: string
22382238+ required:
22392239+ - name
22402240+ type: object
22412241+ serviceAccountName:
22422242+ description: |-
22432243+ ServiceAccountName is the name of the Kubernetes ServiceAccount used to authenticate
22442244+ the image pull if the service account has attached pull secrets. For more information:
22452245+ https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#add-imagepullsecrets-to-a-service-account
22462246+ type: string
22472247+ suspend:
22482248+ description: This flag tells the controller to suspend the reconciliation
22492249+ of this source.
22502250+ type: boolean
22512251+ timeout:
22522252+ default: 60s
22532253+ description: The timeout for remote OCI Repository operations like
22542254+ pulling, defaults to 60s.
22552255+ pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$
22562256+ type: string
22572257+ url:
22582258+ description: |-
22592259+ URL is a reference to an OCI artifact repository hosted
22602260+ on a remote container registry.
22612261+ pattern: ^oci://.*$
22622262+ type: string
22632263+ verify:
22642264+ description: |-
22652265+ Verify contains the secret name containing the trusted public keys
22662266+ used to verify the signature and specifies which provider to use to check
22672267+ whether OCI image is authentic.
22682268+ properties:
22692269+ matchOIDCIdentity:
22702270+ description: |-
22712271+ MatchOIDCIdentity specifies the identity matching criteria to use
22722272+ while verifying an OCI artifact which was signed using Cosign keyless
22732273+ signing. The artifact's identity is deemed to be verified if any of the
22742274+ specified matchers match against the identity.
22752275+ items:
22762276+ description: |-
22772277+ OIDCIdentityMatch specifies options for verifying the certificate identity,
22782278+ i.e. the issuer and the subject of the certificate.
22792279+ properties:
22802280+ issuer:
22812281+ description: |-
22822282+ Issuer specifies the regex pattern to match against to verify
22832283+ the OIDC issuer in the Fulcio certificate. The pattern must be a
22842284+ valid Go regular expression.
22852285+ type: string
22862286+ subject:
22872287+ description: |-
22882288+ Subject specifies the regex pattern to match against to verify
22892289+ the identity subject in the Fulcio certificate. The pattern must
22902290+ be a valid Go regular expression.
22912291+ type: string
22922292+ required:
22932293+ - issuer
22942294+ - subject
22952295+ type: object
22962296+ type: array
22972297+ provider:
22982298+ default: cosign
22992299+ description: Provider specifies the technology used to sign the
23002300+ OCI Artifact.
23012301+ enum:
23022302+ - cosign
23032303+ - notation
23042304+ type: string
23052305+ secretRef:
23062306+ description: |-
23072307+ SecretRef specifies the Kubernetes Secret containing the
23082308+ trusted public keys.
23092309+ properties:
23102310+ name:
23112311+ description: Name of the referent.
23122312+ type: string
23132313+ required:
23142314+ - name
23152315+ type: object
23162316+ required:
23172317+ - provider
23182318+ type: object
23192319+ required:
23202320+ - interval
23212321+ - url
23222322+ type: object
23232323+ status:
23242324+ default:
23252325+ observedGeneration: -1
23262326+ description: OCIRepositoryStatus defines the observed state of OCIRepository
23272327+ properties:
23282328+ artifact:
23292329+ description: Artifact represents the output of the last successful
23302330+ OCI Repository sync.
23312331+ properties:
23322332+ digest:
23332333+ description: Digest is the digest of the file in the form of '<algorithm>:<checksum>'.
23342334+ pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$
23352335+ type: string
23362336+ lastUpdateTime:
23372337+ description: |-
23382338+ LastUpdateTime is the timestamp corresponding to the last update of the
23392339+ Artifact.
23402340+ format: date-time
23412341+ type: string
23422342+ metadata:
23432343+ additionalProperties:
23442344+ type: string
23452345+ description: Metadata holds upstream information such as OCI annotations.
23462346+ type: object
23472347+ path:
23482348+ description: |-
23492349+ Path is the relative file path of the Artifact. It can be used to locate
23502350+ the file in the root of the Artifact storage on the local file system of
23512351+ the controller managing the Source.
23522352+ type: string
23532353+ revision:
23542354+ description: |-
23552355+ Revision is a human-readable identifier traceable in the origin source
23562356+ system. It can be a Git commit SHA, Git tag, a Helm chart version, etc.
23572357+ type: string
23582358+ size:
23592359+ description: Size is the number of bytes in the file.
23602360+ format: int64
23612361+ type: integer
23622362+ url:
23632363+ description: |-
23642364+ URL is the HTTP address of the Artifact as exposed by the controller
23652365+ managing the Source. It can be used to retrieve the Artifact for
23662366+ consumption, e.g. by another controller applying the Artifact contents.
23672367+ type: string
23682368+ required:
23692369+ - digest
23702370+ - lastUpdateTime
23712371+ - path
23722372+ - revision
23732373+ - url
23742374+ type: object
23752375+ conditions:
23762376+ description: Conditions holds the conditions for the OCIRepository.
23772377+ items:
23782378+ description: Condition contains details for one aspect of the current
23792379+ state of this API Resource.
23802380+ properties:
23812381+ lastTransitionTime:
23822382+ description: |-
23832383+ lastTransitionTime is the last time the condition transitioned from one status to another.
23842384+ This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
23852385+ format: date-time
23862386+ type: string
23872387+ message:
23882388+ description: |-
23892389+ message is a human readable message indicating details about the transition.
23902390+ This may be an empty string.
23912391+ maxLength: 32768
23922392+ type: string
23932393+ observedGeneration:
23942394+ description: |-
23952395+ observedGeneration represents the .metadata.generation that the condition was set based upon.
23962396+ For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
23972397+ with respect to the current state of the instance.
23982398+ format: int64
23992399+ minimum: 0
24002400+ type: integer
24012401+ reason:
24022402+ description: |-
24032403+ reason contains a programmatic identifier indicating the reason for the condition's last transition.
24042404+ Producers of specific condition types may define expected values and meanings for this field,
24052405+ and whether the values are considered a guaranteed API.
24062406+ The value should be a CamelCase string.
24072407+ This field may not be empty.
24082408+ maxLength: 1024
24092409+ minLength: 1
24102410+ pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
24112411+ type: string
24122412+ status:
24132413+ description: status of the condition, one of True, False, Unknown.
24142414+ enum:
24152415+ - "True"
24162416+ - "False"
24172417+ - Unknown
24182418+ type: string
24192419+ type:
24202420+ description: type of condition in CamelCase or in foo.example.com/CamelCase.
24212421+ maxLength: 316
24222422+ 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])$
24232423+ type: string
24242424+ required:
24252425+ - lastTransitionTime
24262426+ - message
24272427+ - reason
24282428+ - status
24292429+ - type
24302430+ type: object
24312431+ type: array
24322432+ lastHandledReconcileAt:
24332433+ description: |-
24342434+ LastHandledReconcileAt holds the value of the most recent
24352435+ reconcile request value, so a change of the annotation value
24362436+ can be detected.
24372437+ type: string
24382438+ observedGeneration:
24392439+ description: ObservedGeneration is the last observed generation.
24402440+ format: int64
24412441+ type: integer
24422442+ observedIgnore:
24432443+ description: |-
24442444+ ObservedIgnore is the observed exclusion patterns used for constructing
24452445+ the source artifact.
24462446+ type: string
24472447+ observedLayerSelector:
24482448+ description: |-
24492449+ ObservedLayerSelector is the observed layer selector used for constructing
24502450+ the source artifact.
24512451+ properties:
24522452+ mediaType:
24532453+ description: |-
24542454+ MediaType specifies the OCI media type of the layer
24552455+ which should be extracted from the OCI Artifact. The
24562456+ first layer matching this type is selected.
24572457+ type: string
24582458+ operation:
24592459+ description: |-
24602460+ Operation specifies how the selected layer should be processed.
24612461+ By default, the layer compressed content is extracted to storage.
24622462+ When the operation is set to 'copy', the layer compressed content
24632463+ is persisted to storage as it is.
24642464+ enum:
24652465+ - extract
24662466+ - copy
24672467+ type: string
24682468+ type: object
24692469+ url:
24702470+ description: URL is the download link for the artifact output of the
24712471+ last OCI Repository sync.
24722472+ type: string
24732473+ type: object
24742474+ type: object
24752475+ served: true
24762476+ storage: true
24772477+ subresources:
24782478+ status: {}
24792479+---
24802480+apiVersion: v1
24812481+kind: ServiceAccount
24822482+metadata:
24832483+ labels:
24842484+ app.kubernetes.io/component: source-controller
24852485+ app.kubernetes.io/instance: flux-system
24862486+ app.kubernetes.io/part-of: flux
24872487+ app.kubernetes.io/version: v2.8.8
24882488+ name: source-controller
24892489+ namespace: flux-system
24902490+---
24912491+apiVersion: v1
24922492+kind: Service
24932493+metadata:
24942494+ labels:
24952495+ app.kubernetes.io/component: source-controller
24962496+ app.kubernetes.io/instance: flux-system
24972497+ app.kubernetes.io/part-of: flux
24982498+ app.kubernetes.io/version: v2.8.8
24992499+ control-plane: controller
25002500+ name: source-controller
25012501+ namespace: flux-system
25022502+spec:
25032503+ ports:
25042504+ - name: http
25052505+ port: 80
25062506+ protocol: TCP
25072507+ targetPort: http
25082508+ selector:
25092509+ app: source-controller
25102510+ type: ClusterIP
25112511+---
25122512+apiVersion: apps/v1
25132513+kind: Deployment
25142514+metadata:
25152515+ labels:
25162516+ app.kubernetes.io/component: source-controller
25172517+ app.kubernetes.io/instance: flux-system
25182518+ app.kubernetes.io/part-of: flux
25192519+ app.kubernetes.io/version: v2.8.8
25202520+ control-plane: controller
25212521+ name: source-controller
25222522+ namespace: flux-system
25232523+spec:
25242524+ replicas: 1
25252525+ selector:
25262526+ matchLabels:
25272527+ app: source-controller
25282528+ strategy:
25292529+ type: Recreate
25302530+ template:
25312531+ metadata:
25322532+ annotations:
25332533+ prometheus.io/port: "8080"
25342534+ prometheus.io/scrape: "true"
25352535+ labels:
25362536+ app: source-controller
25372537+ app.kubernetes.io/component: source-controller
25382538+ app.kubernetes.io/instance: flux-system
25392539+ app.kubernetes.io/part-of: flux
25402540+ app.kubernetes.io/version: v2.8.8
25412541+ spec:
25422542+ containers:
25432543+ - args:
25442544+ - --events-addr=http://notification-controller.$(RUNTIME_NAMESPACE).svc.cluster.local./
25452545+ - --watch-all-namespaces=true
25462546+ - --log-level=info
25472547+ - --log-encoding=json
25482548+ - --enable-leader-election
25492549+ - --storage-path=/data
25502550+ - --storage-adv-addr=source-controller.$(RUNTIME_NAMESPACE).svc.cluster.local.
25512551+ env:
25522552+ - name: RUNTIME_NAMESPACE
25532553+ valueFrom:
25542554+ fieldRef:
25552555+ fieldPath: metadata.namespace
25562556+ - name: TUF_ROOT
25572557+ value: /tmp/.sigstore
25582558+ - name: GOMEMLIMIT
25592559+ valueFrom:
25602560+ resourceFieldRef:
25612561+ containerName: manager
25622562+ resource: limits.memory
25632563+ image: ghcr.io/fluxcd/source-controller:v1.8.5
25642564+ imagePullPolicy: IfNotPresent
25652565+ livenessProbe:
25662566+ httpGet:
25672567+ path: /healthz
25682568+ port: healthz
25692569+ name: manager
25702570+ ports:
25712571+ - containerPort: 9090
25722572+ name: http
25732573+ protocol: TCP
25742574+ - containerPort: 8080
25752575+ name: http-prom
25762576+ protocol: TCP
25772577+ - containerPort: 9440
25782578+ name: healthz
25792579+ protocol: TCP
25802580+ readinessProbe:
25812581+ httpGet:
25822582+ path: /
25832583+ port: http
25842584+ resources:
25852585+ limits:
25862586+ cpu: 1000m
25872587+ memory: 1Gi
25882588+ requests:
25892589+ cpu: 50m
25902590+ memory: 64Mi
25912591+ securityContext:
25922592+ allowPrivilegeEscalation: false
25932593+ capabilities:
25942594+ drop:
25952595+ - ALL
25962596+ readOnlyRootFilesystem: true
25972597+ runAsNonRoot: true
25982598+ seccompProfile:
25992599+ type: RuntimeDefault
26002600+ volumeMounts:
26012601+ - mountPath: /data
26022602+ name: data
26032603+ - mountPath: /tmp
26042604+ name: tmp
26052605+ nodeSelector:
26062606+ kubernetes.io/os: linux
26072607+ priorityClassName: system-cluster-critical
26082608+ securityContext:
26092609+ fsGroup: 1337
26102610+ serviceAccountName: source-controller
26112611+ terminationGracePeriodSeconds: 10
26122612+ volumes:
26132613+ - emptyDir: {}
26142614+ name: data
26152615+ - emptyDir: {}
26162616+ name: tmp
26172617+---
26182618+apiVersion: apiextensions.k8s.io/v1
26192619+kind: CustomResourceDefinition
26202620+metadata:
26212621+ annotations:
26222622+ controller-gen.kubebuilder.io/version: v0.19.0
26232623+ labels:
26242624+ app.kubernetes.io/component: kustomize-controller
26252625+ app.kubernetes.io/instance: flux-system
26262626+ app.kubernetes.io/part-of: flux
26272627+ app.kubernetes.io/version: v2.8.8
26282628+ name: kustomizations.kustomize.toolkit.fluxcd.io
26292629+spec:
26302630+ group: kustomize.toolkit.fluxcd.io
26312631+ names:
26322632+ kind: Kustomization
26332633+ listKind: KustomizationList
26342634+ plural: kustomizations
26352635+ shortNames:
26362636+ - ks
26372637+ singular: kustomization
26382638+ scope: Namespaced
26392639+ versions:
26402640+ - additionalPrinterColumns:
26412641+ - jsonPath: .metadata.creationTimestamp
26422642+ name: Age
26432643+ type: date
26442644+ - jsonPath: .status.conditions[?(@.type=="Ready")].status
26452645+ name: Ready
26462646+ type: string
26472647+ - jsonPath: .status.conditions[?(@.type=="Ready")].message
26482648+ name: Status
26492649+ type: string
26502650+ name: v1
26512651+ schema:
26522652+ openAPIV3Schema:
26532653+ description: Kustomization is the Schema for the kustomizations API.
26542654+ properties:
26552655+ apiVersion:
26562656+ description: |-
26572657+ APIVersion defines the versioned schema of this representation of an object.
26582658+ Servers should convert recognized schemas to the latest internal value, and
26592659+ may reject unrecognized values.
26602660+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
26612661+ type: string
26622662+ kind:
26632663+ description: |-
26642664+ Kind is a string value representing the REST resource this object represents.
26652665+ Servers may infer this from the endpoint the client submits requests to.
26662666+ Cannot be updated.
26672667+ In CamelCase.
26682668+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
26692669+ type: string
26702670+ metadata:
26712671+ type: object
26722672+ spec:
26732673+ description: |-
26742674+ KustomizationSpec defines the configuration to calculate the desired state
26752675+ from a Source using Kustomize.
26762676+ properties:
26772677+ commonMetadata:
26782678+ description: |-
26792679+ CommonMetadata specifies the common labels and annotations that are
26802680+ applied to all resources. Any existing label or annotation will be
26812681+ overridden if its key matches a common one.
26822682+ properties:
26832683+ annotations:
26842684+ additionalProperties:
26852685+ type: string
26862686+ description: Annotations to be added to the object's metadata.
26872687+ type: object
26882688+ labels:
26892689+ additionalProperties:
26902690+ type: string
26912691+ description: Labels to be added to the object's metadata.
26922692+ type: object
26932693+ type: object
26942694+ components:
26952695+ description: Components specifies relative paths to kustomize Components.
26962696+ items:
26972697+ type: string
26982698+ type: array
26992699+ decryption:
27002700+ description: Decrypt Kubernetes secrets before applying them on the
27012701+ cluster.
27022702+ properties:
27032703+ provider:
27042704+ description: Provider is the name of the decryption engine.
27052705+ enum:
27062706+ - sops
27072707+ type: string
27082708+ secretRef:
27092709+ description: |-
27102710+ The secret name containing the private OpenPGP keys used for decryption.
27112711+ A static credential for a cloud provider defined inside the Secret
27122712+ takes priority to secret-less authentication with the ServiceAccountName
27132713+ field.
27142714+ properties:
27152715+ name:
27162716+ description: Name of the referent.
27172717+ type: string
27182718+ required:
27192719+ - name
27202720+ type: object
27212721+ serviceAccountName:
27222722+ description: |-
27232723+ ServiceAccountName is the name of the service account used to
27242724+ authenticate with KMS services from cloud providers. If a
27252725+ static credential for a given cloud provider is defined
27262726+ inside the Secret referenced by SecretRef, that static
27272727+ credential takes priority.
27282728+ type: string
27292729+ required:
27302730+ - provider
27312731+ type: object
27322732+ deletionPolicy:
27332733+ description: |-
27342734+ DeletionPolicy can be used to control garbage collection when this
27352735+ Kustomization is deleted. Valid values are ('MirrorPrune', 'Delete',
27362736+ 'WaitForTermination', 'Orphan'). 'MirrorPrune' mirrors the Prune field
27372737+ (orphan if false, delete if true). Defaults to 'MirrorPrune'.
27382738+ enum:
27392739+ - MirrorPrune
27402740+ - Delete
27412741+ - WaitForTermination
27422742+ - Orphan
27432743+ type: string
27442744+ dependsOn:
27452745+ description: |-
27462746+ DependsOn may contain a DependencyReference slice
27472747+ with references to Kustomization resources that must be ready before this
27482748+ Kustomization can be reconciled.
27492749+ items:
27502750+ description: DependencyReference defines a Kustomization dependency
27512751+ on another Kustomization resource.
27522752+ properties:
27532753+ name:
27542754+ description: Name of the referent.
27552755+ type: string
27562756+ namespace:
27572757+ description: |-
27582758+ Namespace of the referent, defaults to the namespace of the Kustomization
27592759+ resource object that contains the reference.
27602760+ type: string
27612761+ readyExpr:
27622762+ description: |-
27632763+ ReadyExpr is a CEL expression that can be used to assess the readiness
27642764+ of a dependency. When specified, the built-in readiness check
27652765+ is replaced by the logic defined in the CEL expression.
27662766+ To make the CEL expression additive to the built-in readiness check,
27672767+ the feature gate `AdditiveCELDependencyCheck` must be set to `true`.
27682768+ type: string
27692769+ required:
27702770+ - name
27712771+ type: object
27722772+ type: array
27732773+ force:
27742774+ default: false
27752775+ description: |-
27762776+ Force instructs the controller to recreate resources
27772777+ when patching fails due to an immutable field change.
27782778+ type: boolean
27792779+ healthCheckExprs:
27802780+ description: |-
27812781+ HealthCheckExprs is a list of healthcheck expressions for evaluating the
27822782+ health of custom resources using Common Expression Language (CEL).
27832783+ The expressions are evaluated only when Wait or HealthChecks are specified.
27842784+ items:
27852785+ description: CustomHealthCheck defines the health check for custom
27862786+ resources.
27872787+ properties:
27882788+ apiVersion:
27892789+ description: APIVersion of the custom resource under evaluation.
27902790+ type: string
27912791+ current:
27922792+ description: |-
27932793+ Current is the CEL expression that determines if the status
27942794+ of the custom resource has reached the desired state.
27952795+ type: string
27962796+ failed:
27972797+ description: |-
27982798+ Failed is the CEL expression that determines if the status
27992799+ of the custom resource has failed to reach the desired state.
28002800+ type: string
28012801+ inProgress:
28022802+ description: |-
28032803+ InProgress is the CEL expression that determines if the status
28042804+ of the custom resource has not yet reached the desired state.
28052805+ type: string
28062806+ kind:
28072807+ description: Kind of the custom resource under evaluation.
28082808+ type: string
28092809+ required:
28102810+ - apiVersion
28112811+ - current
28122812+ - kind
28132813+ type: object
28142814+ type: array
28152815+ healthChecks:
28162816+ description: A list of resources to be included in the health assessment.
28172817+ items:
28182818+ description: |-
28192819+ NamespacedObjectKindReference contains enough information to locate the typed referenced Kubernetes resource object
28202820+ in any namespace.
28212821+ properties:
28222822+ apiVersion:
28232823+ description: API version of the referent, if not specified the
28242824+ Kubernetes preferred version will be used.
28252825+ type: string
28262826+ kind:
28272827+ description: Kind of the referent.
28282828+ type: string
28292829+ name:
28302830+ description: Name of the referent.
28312831+ type: string
28322832+ namespace:
28332833+ description: Namespace of the referent, when not specified it
28342834+ acts as LocalObjectReference.
28352835+ type: string
28362836+ required:
28372837+ - kind
28382838+ - name
28392839+ type: object
28402840+ type: array
28412841+ ignoreMissingComponents:
28422842+ description: |-
28432843+ IgnoreMissingComponents instructs the controller to ignore Components paths
28442844+ not found in source by removing them from the generated kustomization.yaml
28452845+ before running kustomize build.
28462846+ type: boolean
28472847+ images:
28482848+ description: |-
28492849+ Images is a list of (image name, new name, new tag or digest)
28502850+ for changing image names, tags or digests. This can also be achieved with a
28512851+ patch, but this operator is simpler to specify.
28522852+ items:
28532853+ description: Image contains an image name, a new name, a new tag
28542854+ or digest, which will replace the original name and tag.
28552855+ properties:
28562856+ digest:
28572857+ description: |-
28582858+ Digest is the value used to replace the original image tag.
28592859+ If digest is present NewTag value is ignored.
28602860+ type: string
28612861+ name:
28622862+ description: Name is a tag-less image name.
28632863+ type: string
28642864+ newName:
28652865+ description: NewName is the value used to replace the original
28662866+ name.
28672867+ type: string
28682868+ newTag:
28692869+ description: NewTag is the value used to replace the original
28702870+ tag.
28712871+ type: string
28722872+ required:
28732873+ - name
28742874+ type: object
28752875+ type: array
28762876+ interval:
28772877+ description: |-
28782878+ The interval at which to reconcile the Kustomization.
28792879+ This interval is approximate and may be subject to jitter to ensure
28802880+ efficient use of resources.
28812881+ pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
28822882+ type: string
28832883+ kubeConfig:
28842884+ description: |-
28852885+ The KubeConfig for reconciling the Kustomization on a remote cluster.
28862886+ When used in combination with KustomizationSpec.ServiceAccountName,
28872887+ forces the controller to act on behalf of that Service Account at the
28882888+ target cluster.
28892889+ If the --default-service-account flag is set, its value will be used as
28902890+ a controller level fallback for when KustomizationSpec.ServiceAccountName
28912891+ is empty.
28922892+ properties:
28932893+ configMapRef:
28942894+ description: |-
28952895+ ConfigMapRef holds an optional name of a ConfigMap that contains
28962896+ the following keys:
28972897+28982898+ - `provider`: the provider to use. One of `aws`, `azure`, `gcp`, or
28992899+ `generic`. Required.
29002900+ - `cluster`: the fully qualified resource name of the Kubernetes
29012901+ cluster in the cloud provider API. Not used by the `generic`
29022902+ provider. Required when one of `address` or `ca.crt` is not set.
29032903+ - `address`: the address of the Kubernetes API server. Required
29042904+ for `generic`. For the other providers, if not specified, the
29052905+ first address in the cluster resource will be used, and if
29062906+ specified, it must match one of the addresses in the cluster
29072907+ resource.
29082908+ If audiences is not set, will be used as the audience for the
29092909+ `generic` provider.
29102910+ - `ca.crt`: the optional PEM-encoded CA certificate for the
29112911+ Kubernetes API server. If not set, the controller will use the
29122912+ CA certificate from the cluster resource.
29132913+ - `audiences`: the optional audiences as a list of
29142914+ line-break-separated strings for the Kubernetes ServiceAccount
29152915+ token. Defaults to the `address` for the `generic` provider, or
29162916+ to specific values for the other providers depending on the
29172917+ provider.
29182918+ - `serviceAccountName`: the optional name of the Kubernetes
29192919+ ServiceAccount in the same namespace that should be used
29202920+ for authentication. If not specified, the controller
29212921+ ServiceAccount will be used.
29222922+29232923+ Mutually exclusive with SecretRef.
29242924+ properties:
29252925+ name:
29262926+ description: Name of the referent.
29272927+ type: string
29282928+ required:
29292929+ - name
29302930+ type: object
29312931+ secretRef:
29322932+ description: |-
29332933+ SecretRef holds an optional name of a secret that contains a key with
29342934+ the kubeconfig file as the value. If no key is set, the key will default
29352935+ to 'value'. Mutually exclusive with ConfigMapRef.
29362936+ It is recommended that the kubeconfig is self-contained, and the secret
29372937+ is regularly updated if credentials such as a cloud-access-token expire.
29382938+ Cloud specific `cmd-path` auth helpers will not function without adding
29392939+ binaries and credentials to the Pod that is responsible for reconciling
29402940+ Kubernetes resources. Supported only for the generic provider.
29412941+ properties:
29422942+ key:
29432943+ description: Key in the Secret, when not specified an implementation-specific
29442944+ default key is used.
29452945+ type: string
29462946+ name:
29472947+ description: Name of the Secret.
29482948+ type: string
29492949+ required:
29502950+ - name
29512951+ type: object
29522952+ type: object
29532953+ x-kubernetes-validations:
29542954+ - message: exactly one of spec.kubeConfig.configMapRef or spec.kubeConfig.secretRef
29552955+ must be specified
29562956+ rule: has(self.configMapRef) || has(self.secretRef)
29572957+ - message: exactly one of spec.kubeConfig.configMapRef or spec.kubeConfig.secretRef
29582958+ must be specified
29592959+ rule: '!has(self.configMapRef) || !has(self.secretRef)'
29602960+ namePrefix:
29612961+ description: NamePrefix will prefix the names of all managed resources.
29622962+ maxLength: 200
29632963+ minLength: 1
29642964+ type: string
29652965+ nameSuffix:
29662966+ description: NameSuffix will suffix the names of all managed resources.
29672967+ maxLength: 200
29682968+ minLength: 1
29692969+ type: string
29702970+ patches:
29712971+ description: |-
29722972+ Strategic merge and JSON patches, defined as inline YAML objects,
29732973+ capable of targeting objects based on kind, label and annotation selectors.
29742974+ items:
29752975+ description: |-
29762976+ Patch contains an inline StrategicMerge or JSON6902 patch, and the target the patch should
29772977+ be applied to.
29782978+ properties:
29792979+ patch:
29802980+ description: |-
29812981+ Patch contains an inline StrategicMerge patch or an inline JSON6902 patch with
29822982+ an array of operation objects.
29832983+ type: string
29842984+ target:
29852985+ description: Target points to the resources that the patch document
29862986+ should be applied to.
29872987+ properties:
29882988+ annotationSelector:
29892989+ description: |-
29902990+ AnnotationSelector is a string that follows the label selection expression
29912991+ https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
29922992+ It matches with the resource annotations.
29932993+ type: string
29942994+ group:
29952995+ description: |-
29962996+ Group is the API group to select resources from.
29972997+ Together with Version and Kind it is capable of unambiguously identifying and/or selecting resources.
29982998+ https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
29992999+ type: string
30003000+ kind:
30013001+ description: |-
30023002+ Kind of the API Group to select resources from.
30033003+ Together with Group and Version it is capable of unambiguously
30043004+ identifying and/or selecting resources.
30053005+ https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
30063006+ type: string
30073007+ labelSelector:
30083008+ description: |-
30093009+ LabelSelector is a string that follows the label selection expression
30103010+ https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
30113011+ It matches with the resource labels.
30123012+ type: string
30133013+ name:
30143014+ description: Name to match resources with.
30153015+ type: string
30163016+ namespace:
30173017+ description: Namespace to select resources from.
30183018+ type: string
30193019+ version:
30203020+ description: |-
30213021+ Version of the API Group to select resources from.
30223022+ Together with Group and Kind it is capable of unambiguously identifying and/or selecting resources.
30233023+ https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
30243024+ type: string
30253025+ type: object
30263026+ required:
30273027+ - patch
30283028+ type: object
30293029+ type: array
30303030+ path:
30313031+ description: |-
30323032+ Path to the directory containing the kustomization.yaml file, or the
30333033+ set of plain YAMLs a kustomization.yaml should be generated for.
30343034+ Defaults to 'None', which translates to the root path of the SourceRef.
30353035+ type: string
30363036+ postBuild:
30373037+ description: |-
30383038+ PostBuild describes which actions to perform on the YAML manifest
30393039+ generated by building the kustomize overlay.
30403040+ properties:
30413041+ substitute:
30423042+ additionalProperties:
30433043+ type: string
30443044+ description: |-
30453045+ Substitute holds a map of key/value pairs.
30463046+ The variables defined in your YAML manifests that match any of the keys
30473047+ defined in the map will be substituted with the set value.
30483048+ Includes support for bash string replacement functions
30493049+ e.g. ${var:=default}, ${var:position} and ${var/substring/replacement}.
30503050+ type: object
30513051+ substituteFrom:
30523052+ description: |-
30533053+ SubstituteFrom holds references to ConfigMaps and Secrets containing
30543054+ the variables and their values to be substituted in the YAML manifests.
30553055+ The ConfigMap and the Secret data keys represent the var names, and they
30563056+ must match the vars declared in the manifests for the substitution to
30573057+ happen.
30583058+ items:
30593059+ description: |-
30603060+ SubstituteReference contains a reference to a resource containing
30613061+ the variables name and value.
30623062+ properties:
30633063+ kind:
30643064+ description: Kind of the values referent, valid values are
30653065+ ('Secret', 'ConfigMap').
30663066+ enum:
30673067+ - Secret
30683068+ - ConfigMap
30693069+ type: string
30703070+ name:
30713071+ description: |-
30723072+ Name of the values referent. Should reside in the same namespace as the
30733073+ referring resource.
30743074+ maxLength: 253
30753075+ minLength: 1
30763076+ type: string
30773077+ optional:
30783078+ default: false
30793079+ description: |-
30803080+ Optional indicates whether the referenced resource must exist, or whether to
30813081+ tolerate its absence. If true and the referenced resource is absent, proceed
30823082+ as if the resource was present but empty, without any variables defined.
30833083+ type: boolean
30843084+ required:
30853085+ - kind
30863086+ - name
30873087+ type: object
30883088+ type: array
30893089+ type: object
30903090+ prune:
30913091+ description: Prune enables garbage collection.
30923092+ type: boolean
30933093+ retryInterval:
30943094+ description: |-
30953095+ The interval at which to retry a previously failed reconciliation.
30963096+ When not specified, the controller uses the KustomizationSpec.Interval
30973097+ value to retry failures.
30983098+ pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
30993099+ type: string
31003100+ serviceAccountName:
31013101+ description: |-
31023102+ The name of the Kubernetes service account to impersonate
31033103+ when reconciling this Kustomization.
31043104+ type: string
31053105+ sourceRef:
31063106+ description: Reference of the source where the kustomization file
31073107+ is.
31083108+ properties:
31093109+ apiVersion:
31103110+ description: API version of the referent.
31113111+ type: string
31123112+ kind:
31133113+ description: Kind of the referent.
31143114+ enum:
31153115+ - OCIRepository
31163116+ - GitRepository
31173117+ - Bucket
31183118+ - ExternalArtifact
31193119+ type: string
31203120+ name:
31213121+ description: Name of the referent.
31223122+ type: string
31233123+ namespace:
31243124+ description: |-
31253125+ Namespace of the referent, defaults to the namespace of the Kubernetes
31263126+ resource object that contains the reference.
31273127+ type: string
31283128+ required:
31293129+ - kind
31303130+ - name
31313131+ type: object
31323132+ suspend:
31333133+ description: |-
31343134+ This flag tells the controller to suspend subsequent kustomize executions,
31353135+ it does not apply to already started executions. Defaults to false.
31363136+ type: boolean
31373137+ targetNamespace:
31383138+ description: |-
31393139+ TargetNamespace sets or overrides the namespace in the
31403140+ kustomization.yaml file.
31413141+ maxLength: 63
31423142+ minLength: 1
31433143+ type: string
31443144+ timeout:
31453145+ description: |-
31463146+ Timeout for validation, apply and health checking operations.
31473147+ Defaults to 'Interval' duration.
31483148+ pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
31493149+ type: string
31503150+ wait:
31513151+ description: |-
31523152+ Wait instructs the controller to check the health of all the reconciled
31533153+ resources. When enabled, the HealthChecks are ignored. Defaults to false.
31543154+ type: boolean
31553155+ required:
31563156+ - interval
31573157+ - prune
31583158+ - sourceRef
31593159+ type: object
31603160+ status:
31613161+ default:
31623162+ observedGeneration: -1
31633163+ description: KustomizationStatus defines the observed state of a kustomization.
31643164+ properties:
31653165+ conditions:
31663166+ items:
31673167+ description: Condition contains details for one aspect of the current
31683168+ state of this API Resource.
31693169+ properties:
31703170+ lastTransitionTime:
31713171+ description: |-
31723172+ lastTransitionTime is the last time the condition transitioned from one status to another.
31733173+ This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
31743174+ format: date-time
31753175+ type: string
31763176+ message:
31773177+ description: |-
31783178+ message is a human readable message indicating details about the transition.
31793179+ This may be an empty string.
31803180+ maxLength: 32768
31813181+ type: string
31823182+ observedGeneration:
31833183+ description: |-
31843184+ observedGeneration represents the .metadata.generation that the condition was set based upon.
31853185+ For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
31863186+ with respect to the current state of the instance.
31873187+ format: int64
31883188+ minimum: 0
31893189+ type: integer
31903190+ reason:
31913191+ description: |-
31923192+ reason contains a programmatic identifier indicating the reason for the condition's last transition.
31933193+ Producers of specific condition types may define expected values and meanings for this field,
31943194+ and whether the values are considered a guaranteed API.
31953195+ The value should be a CamelCase string.
31963196+ This field may not be empty.
31973197+ maxLength: 1024
31983198+ minLength: 1
31993199+ pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
32003200+ type: string
32013201+ status:
32023202+ description: status of the condition, one of True, False, Unknown.
32033203+ enum:
32043204+ - "True"
32053205+ - "False"
32063206+ - Unknown
32073207+ type: string
32083208+ type:
32093209+ description: type of condition in CamelCase or in foo.example.com/CamelCase.
32103210+ maxLength: 316
32113211+ 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])$
32123212+ type: string
32133213+ required:
32143214+ - lastTransitionTime
32153215+ - message
32163216+ - reason
32173217+ - status
32183218+ - type
32193219+ type: object
32203220+ type: array
32213221+ history:
32223222+ description: |-
32233223+ History contains a set of snapshots of the last reconciliation attempts
32243224+ tracking the revision, the state and the duration of each attempt.
32253225+ items:
32263226+ description: |-
32273227+ Snapshot represents a point-in-time record of a group of resources reconciliation,
32283228+ including timing information, status, and a unique digest identifier.
32293229+ properties:
32303230+ digest:
32313231+ description: Digest is the checksum in the format `<algo>:<hex>`
32323232+ of the resources in this snapshot.
32333233+ type: string
32343234+ firstReconciled:
32353235+ description: FirstReconciled is the time when this revision
32363236+ was first reconciled to the cluster.
32373237+ format: date-time
32383238+ type: string
32393239+ lastReconciled:
32403240+ description: LastReconciled is the time when this revision was
32413241+ last reconciled to the cluster.
32423242+ format: date-time
32433243+ type: string
32443244+ lastReconciledDuration:
32453245+ description: LastReconciledDuration is time it took to reconcile
32463246+ the resources in this revision.
32473247+ type: string
32483248+ lastReconciledStatus:
32493249+ description: LastReconciledStatus is the status of the last
32503250+ reconciliation.
32513251+ type: string
32523252+ metadata:
32533253+ additionalProperties:
32543254+ type: string
32553255+ description: Metadata contains additional information about
32563256+ the snapshot.
32573257+ type: object
32583258+ totalReconciliations:
32593259+ description: TotalReconciliations is the total number of reconciliations
32603260+ that have occurred for this snapshot.
32613261+ format: int64
32623262+ type: integer
32633263+ required:
32643264+ - digest
32653265+ - firstReconciled
32663266+ - lastReconciled
32673267+ - lastReconciledDuration
32683268+ - lastReconciledStatus
32693269+ - totalReconciliations
32703270+ type: object
32713271+ type: array
32723272+ inventory:
32733273+ description: |-
32743274+ Inventory contains the list of Kubernetes resource object references that
32753275+ have been successfully applied.
32763276+ properties:
32773277+ entries:
32783278+ description: Entries of Kubernetes resource object references.
32793279+ items:
32803280+ description: ResourceRef contains the information necessary
32813281+ to locate a resource within a cluster.
32823282+ properties:
32833283+ id:
32843284+ description: |-
32853285+ ID is the string representation of the Kubernetes resource object's metadata,
32863286+ in the format '<namespace>_<name>_<group>_<kind>'.
32873287+ type: string
32883288+ v:
32893289+ description: Version is the API version of the Kubernetes
32903290+ resource object's kind.
32913291+ type: string
32923292+ required:
32933293+ - id
32943294+ - v
32953295+ type: object
32963296+ type: array
32973297+ required:
32983298+ - entries
32993299+ type: object
33003300+ lastAppliedOriginRevision:
33013301+ description: |-
33023302+ The last successfully applied origin revision.
33033303+ Equals the origin revision of the applied Artifact from the referenced Source.
33043304+ Usually present on the Metadata of the applied Artifact and depends on the
33053305+ Source type, e.g. for OCI it's the value associated with the key
33063306+ "org.opencontainers.image.revision".
33073307+ type: string
33083308+ lastAppliedRevision:
33093309+ description: |-
33103310+ The last successfully applied revision.
33113311+ Equals the Revision of the applied Artifact from the referenced Source.
33123312+ type: string
33133313+ lastAttemptedRevision:
33143314+ description: LastAttemptedRevision is the revision of the last reconciliation
33153315+ attempt.
33163316+ type: string
33173317+ lastHandledReconcileAt:
33183318+ description: |-
33193319+ LastHandledReconcileAt holds the value of the most recent
33203320+ reconcile request value, so a change of the annotation value
33213321+ can be detected.
33223322+ type: string
33233323+ observedGeneration:
33243324+ description: ObservedGeneration is the last reconciled generation.
33253325+ format: int64
33263326+ type: integer
33273327+ type: object
33283328+ type: object
33293329+ served: true
33303330+ storage: true
33313331+ subresources:
33323332+ status: {}
33333333+---
33343334+apiVersion: v1
33353335+kind: ServiceAccount
33363336+metadata:
33373337+ labels:
33383338+ app.kubernetes.io/component: kustomize-controller
33393339+ app.kubernetes.io/instance: flux-system
33403340+ app.kubernetes.io/part-of: flux
33413341+ app.kubernetes.io/version: v2.8.8
33423342+ name: kustomize-controller
33433343+ namespace: flux-system
33443344+---
33453345+apiVersion: apps/v1
33463346+kind: Deployment
33473347+metadata:
33483348+ labels:
33493349+ app.kubernetes.io/component: kustomize-controller
33503350+ app.kubernetes.io/instance: flux-system
33513351+ app.kubernetes.io/part-of: flux
33523352+ app.kubernetes.io/version: v2.8.8
33533353+ control-plane: controller
33543354+ name: kustomize-controller
33553355+ namespace: flux-system
33563356+spec:
33573357+ replicas: 1
33583358+ selector:
33593359+ matchLabels:
33603360+ app: kustomize-controller
33613361+ template:
33623362+ metadata:
33633363+ annotations:
33643364+ prometheus.io/port: "8080"
33653365+ prometheus.io/scrape: "true"
33663366+ labels:
33673367+ app: kustomize-controller
33683368+ app.kubernetes.io/component: kustomize-controller
33693369+ app.kubernetes.io/instance: flux-system
33703370+ app.kubernetes.io/part-of: flux
33713371+ app.kubernetes.io/version: v2.8.8
33723372+ spec:
33733373+ containers:
33743374+ - args:
33753375+ - --events-addr=http://notification-controller.$(RUNTIME_NAMESPACE).svc.cluster.local./
33763376+ - --watch-all-namespaces=true
33773377+ - --log-level=info
33783378+ - --log-encoding=json
33793379+ - --enable-leader-election
33803380+ env:
33813381+ - name: RUNTIME_NAMESPACE
33823382+ valueFrom:
33833383+ fieldRef:
33843384+ fieldPath: metadata.namespace
33853385+ - name: GOMEMLIMIT
33863386+ valueFrom:
33873387+ resourceFieldRef:
33883388+ containerName: manager
33893389+ resource: limits.memory
33903390+ image: ghcr.io/fluxcd/kustomize-controller:v1.8.5
33913391+ imagePullPolicy: IfNotPresent
33923392+ livenessProbe:
33933393+ httpGet:
33943394+ path: /healthz
33953395+ port: healthz
33963396+ name: manager
33973397+ ports:
33983398+ - containerPort: 8080
33993399+ name: http-prom
34003400+ protocol: TCP
34013401+ - containerPort: 9440
34023402+ name: healthz
34033403+ protocol: TCP
34043404+ readinessProbe:
34053405+ httpGet:
34063406+ path: /readyz
34073407+ port: healthz
34083408+ resources:
34093409+ limits:
34103410+ cpu: 1000m
34113411+ memory: 1Gi
34123412+ requests:
34133413+ cpu: 100m
34143414+ memory: 64Mi
34153415+ securityContext:
34163416+ allowPrivilegeEscalation: false
34173417+ capabilities:
34183418+ drop:
34193419+ - ALL
34203420+ readOnlyRootFilesystem: true
34213421+ runAsNonRoot: true
34223422+ seccompProfile:
34233423+ type: RuntimeDefault
34243424+ volumeMounts:
34253425+ - mountPath: /tmp
34263426+ name: temp
34273427+ nodeSelector:
34283428+ kubernetes.io/os: linux
34293429+ priorityClassName: system-cluster-critical
34303430+ securityContext:
34313431+ fsGroup: 1337
34323432+ serviceAccountName: kustomize-controller
34333433+ terminationGracePeriodSeconds: 60
34343434+ volumes:
34353435+ - emptyDir: {}
34363436+ name: temp
34373437+---
34383438+apiVersion: apiextensions.k8s.io/v1
34393439+kind: CustomResourceDefinition
34403440+metadata:
34413441+ annotations:
34423442+ controller-gen.kubebuilder.io/version: v0.19.0
34433443+ labels:
34443444+ app.kubernetes.io/component: helm-controller
34453445+ app.kubernetes.io/instance: flux-system
34463446+ app.kubernetes.io/part-of: flux
34473447+ app.kubernetes.io/version: v2.8.8
34483448+ name: helmreleases.helm.toolkit.fluxcd.io
34493449+spec:
34503450+ group: helm.toolkit.fluxcd.io
34513451+ names:
34523452+ kind: HelmRelease
34533453+ listKind: HelmReleaseList
34543454+ plural: helmreleases
34553455+ shortNames:
34563456+ - hr
34573457+ singular: helmrelease
34583458+ scope: Namespaced
34593459+ versions:
34603460+ - additionalPrinterColumns:
34613461+ - jsonPath: .metadata.creationTimestamp
34623462+ name: Age
34633463+ type: date
34643464+ - jsonPath: .status.conditions[?(@.type=="Ready")].status
34653465+ name: Ready
34663466+ type: string
34673467+ - jsonPath: .status.conditions[?(@.type=="Ready")].message
34683468+ name: Status
34693469+ type: string
34703470+ name: v2
34713471+ schema:
34723472+ openAPIV3Schema:
34733473+ description: HelmRelease is the Schema for the helmreleases API
34743474+ properties:
34753475+ apiVersion:
34763476+ description: |-
34773477+ APIVersion defines the versioned schema of this representation of an object.
34783478+ Servers should convert recognized schemas to the latest internal value, and
34793479+ may reject unrecognized values.
34803480+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
34813481+ type: string
34823482+ kind:
34833483+ description: |-
34843484+ Kind is a string value representing the REST resource this object represents.
34853485+ Servers may infer this from the endpoint the client submits requests to.
34863486+ Cannot be updated.
34873487+ In CamelCase.
34883488+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
34893489+ type: string
34903490+ metadata:
34913491+ type: object
34923492+ spec:
34933493+ description: HelmReleaseSpec defines the desired state of a Helm release.
34943494+ properties:
34953495+ chart:
34963496+ description: |-
34973497+ Chart defines the template of the v1.HelmChart that should be created
34983498+ for this HelmRelease.
34993499+ properties:
35003500+ metadata:
35013501+ description: ObjectMeta holds the template for metadata like labels
35023502+ and annotations.
35033503+ properties:
35043504+ annotations:
35053505+ additionalProperties:
35063506+ type: string
35073507+ description: |-
35083508+ Annotations is an unstructured key value map stored with a resource that may be
35093509+ set by external tools to store and retrieve arbitrary metadata. They are not
35103510+ queryable and should be preserved when modifying objects.
35113511+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
35123512+ type: object
35133513+ labels:
35143514+ additionalProperties:
35153515+ type: string
35163516+ description: |-
35173517+ Map of string keys and values that can be used to organize and categorize
35183518+ (scope and select) objects.
35193519+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
35203520+ type: object
35213521+ type: object
35223522+ spec:
35233523+ description: Spec holds the template for the v1.HelmChartSpec
35243524+ for this HelmRelease.
35253525+ properties:
35263526+ chart:
35273527+ description: The name or path the Helm chart is available
35283528+ at in the SourceRef.
35293529+ maxLength: 2048
35303530+ minLength: 1
35313531+ type: string
35323532+ ignoreMissingValuesFiles:
35333533+ description: IgnoreMissingValuesFiles controls whether to
35343534+ silently ignore missing values files rather than failing.
35353535+ type: boolean
35363536+ interval:
35373537+ description: |-
35383538+ Interval at which to check the v1.Source for updates. Defaults to
35393539+ 'HelmReleaseSpec.Interval'.
35403540+ pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
35413541+ type: string
35423542+ reconcileStrategy:
35433543+ default: ChartVersion
35443544+ description: |-
35453545+ Determines what enables the creation of a new artifact. Valid values are
35463546+ ('ChartVersion', 'Revision').
35473547+ See the documentation of the values for an explanation on their behavior.
35483548+ Defaults to ChartVersion when omitted.
35493549+ enum:
35503550+ - ChartVersion
35513551+ - Revision
35523552+ type: string
35533553+ sourceRef:
35543554+ description: The name and namespace of the v1.Source the chart
35553555+ is available at.
35563556+ properties:
35573557+ apiVersion:
35583558+ description: APIVersion of the referent.
35593559+ type: string
35603560+ kind:
35613561+ description: Kind of the referent.
35623562+ enum:
35633563+ - HelmRepository
35643564+ - GitRepository
35653565+ - Bucket
35663566+ type: string
35673567+ name:
35683568+ description: Name of the referent.
35693569+ maxLength: 253
35703570+ minLength: 1
35713571+ type: string
35723572+ namespace:
35733573+ description: Namespace of the referent.
35743574+ maxLength: 63
35753575+ minLength: 1
35763576+ type: string
35773577+ required:
35783578+ - kind
35793579+ - name
35803580+ type: object
35813581+ valuesFiles:
35823582+ description: |-
35833583+ Alternative list of values files to use as the chart values (values.yaml
35843584+ is not included by default), expected to be a relative path in the SourceRef.
35853585+ Values files are merged in the order of this list with the last file overriding
35863586+ the first. Ignored when omitted.
35873587+ items:
35883588+ type: string
35893589+ type: array
35903590+ verify:
35913591+ description: |-
35923592+ Verify contains the secret name containing the trusted public keys
35933593+ used to verify the signature and specifies which provider to use to check
35943594+ whether OCI image is authentic.
35953595+ This field is only supported for OCI sources.
35963596+ Chart dependencies, which are not bundled in the umbrella chart artifact,
35973597+ are not verified.
35983598+ properties:
35993599+ provider:
36003600+ default: cosign
36013601+ description: Provider specifies the technology used to
36023602+ sign the OCI Helm chart.
36033603+ enum:
36043604+ - cosign
36053605+ - notation
36063606+ type: string
36073607+ secretRef:
36083608+ description: |-
36093609+ SecretRef specifies the Kubernetes Secret containing the
36103610+ trusted public keys.
36113611+ properties:
36123612+ name:
36133613+ description: Name of the referent.
36143614+ type: string
36153615+ required:
36163616+ - name
36173617+ type: object
36183618+ required:
36193619+ - provider
36203620+ type: object
36213621+ version:
36223622+ default: '*'
36233623+ description: |-
36243624+ Version semver expression, ignored for charts from v1.GitRepository and
36253625+ v1beta2.Bucket sources. Defaults to latest when omitted.
36263626+ type: string
36273627+ required:
36283628+ - chart
36293629+ - sourceRef
36303630+ type: object
36313631+ required:
36323632+ - spec
36333633+ type: object
36343634+ chartRef:
36353635+ description: |-
36363636+ ChartRef holds a reference to a source controller resource containing the
36373637+ Helm chart artifact.
36383638+ properties:
36393639+ apiVersion:
36403640+ description: APIVersion of the referent.
36413641+ type: string
36423642+ kind:
36433643+ description: Kind of the referent.
36443644+ enum:
36453645+ - OCIRepository
36463646+ - HelmChart
36473647+ - ExternalArtifact
36483648+ type: string
36493649+ name:
36503650+ description: Name of the referent.
36513651+ maxLength: 253
36523652+ minLength: 1
36533653+ type: string
36543654+ namespace:
36553655+ description: |-
36563656+ Namespace of the referent, defaults to the namespace of the Kubernetes
36573657+ resource object that contains the reference.
36583658+ maxLength: 63
36593659+ minLength: 1
36603660+ type: string
36613661+ required:
36623662+ - kind
36633663+ - name
36643664+ type: object
36653665+ commonMetadata:
36663666+ description: |-
36673667+ CommonMetadata specifies the common labels and annotations that are
36683668+ applied to all resources. Any existing label or annotation will be
36693669+ overridden if its key matches a common one.
36703670+ properties:
36713671+ annotations:
36723672+ additionalProperties:
36733673+ type: string
36743674+ description: Annotations to be added to the object's metadata.
36753675+ type: object
36763676+ labels:
36773677+ additionalProperties:
36783678+ type: string
36793679+ description: Labels to be added to the object's metadata.
36803680+ type: object
36813681+ type: object
36823682+ dependsOn:
36833683+ description: |-
36843684+ DependsOn may contain a DependencyReference slice with
36853685+ references to HelmRelease resources that must be ready before this HelmRelease
36863686+ can be reconciled.
36873687+ items:
36883688+ description: DependencyReference defines a HelmRelease dependency
36893689+ on another HelmRelease resource.
36903690+ properties:
36913691+ name:
36923692+ description: Name of the referent.
36933693+ type: string
36943694+ namespace:
36953695+ description: |-
36963696+ Namespace of the referent, defaults to the namespace of the HelmRelease
36973697+ resource object that contains the reference.
36983698+ type: string
36993699+ readyExpr:
37003700+ description: |-
37013701+ ReadyExpr is a CEL expression that can be used to assess the readiness
37023702+ of a dependency. When specified, the built-in readiness check
37033703+ is replaced by the logic defined in the CEL expression.
37043704+ To make the CEL expression additive to the built-in readiness check,
37053705+ the feature gate `AdditiveCELDependencyCheck` must be set to `true`.
37063706+ type: string
37073707+ required:
37083708+ - name
37093709+ type: object
37103710+ type: array
37113711+ driftDetection:
37123712+ description: |-
37133713+ DriftDetection holds the configuration for detecting and handling
37143714+ differences between the manifest in the Helm storage and the resources
37153715+ currently existing in the cluster.
37163716+ properties:
37173717+ ignore:
37183718+ description: |-
37193719+ Ignore contains a list of rules for specifying which changes to ignore
37203720+ during diffing.
37213721+ items:
37223722+ description: |-
37233723+ IgnoreRule defines a rule to selectively disregard specific changes during
37243724+ the drift detection process.
37253725+ properties:
37263726+ paths:
37273727+ description: |-
37283728+ Paths is a list of JSON Pointer (RFC 6901) paths to be excluded from
37293729+ consideration in a Kubernetes object.
37303730+ items:
37313731+ type: string
37323732+ type: array
37333733+ target:
37343734+ description: |-
37353735+ Target is a selector for specifying Kubernetes objects to which this
37363736+ rule applies.
37373737+ If Target is not set, the Paths will be ignored for all Kubernetes
37383738+ objects within the manifest of the Helm release.
37393739+ properties:
37403740+ annotationSelector:
37413741+ description: |-
37423742+ AnnotationSelector is a string that follows the label selection expression
37433743+ https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
37443744+ It matches with the resource annotations.
37453745+ type: string
37463746+ group:
37473747+ description: |-
37483748+ Group is the API group to select resources from.
37493749+ Together with Version and Kind it is capable of unambiguously identifying and/or selecting resources.
37503750+ https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
37513751+ type: string
37523752+ kind:
37533753+ description: |-
37543754+ Kind of the API Group to select resources from.
37553755+ Together with Group and Version it is capable of unambiguously
37563756+ identifying and/or selecting resources.
37573757+ https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
37583758+ type: string
37593759+ labelSelector:
37603760+ description: |-
37613761+ LabelSelector is a string that follows the label selection expression
37623762+ https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
37633763+ It matches with the resource labels.
37643764+ type: string
37653765+ name:
37663766+ description: Name to match resources with.
37673767+ type: string
37683768+ namespace:
37693769+ description: Namespace to select resources from.
37703770+ type: string
37713771+ version:
37723772+ description: |-
37733773+ Version of the API Group to select resources from.
37743774+ Together with Group and Kind it is capable of unambiguously identifying and/or selecting resources.
37753775+ https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
37763776+ type: string
37773777+ type: object
37783778+ required:
37793779+ - paths
37803780+ type: object
37813781+ type: array
37823782+ mode:
37833783+ description: |-
37843784+ Mode defines how differences should be handled between the Helm manifest
37853785+ and the manifest currently applied to the cluster.
37863786+ If not explicitly set, it defaults to DiffModeDisabled.
37873787+ enum:
37883788+ - enabled
37893789+ - warn
37903790+ - disabled
37913791+ type: string
37923792+ type: object
37933793+ healthCheckExprs:
37943794+ description: |-
37953795+ HealthCheckExprs is a list of healthcheck expressions for evaluating the
37963796+ health of custom resources using Common Expression Language (CEL).
37973797+ The expressions are evaluated only when the specific Helm action
37983798+ taking place has wait enabled, i.e. DisableWait is false, and the
37993799+ 'poller' WaitStrategy is used.
38003800+ items:
38013801+ description: CustomHealthCheck defines the health check for custom
38023802+ resources.
38033803+ properties:
38043804+ apiVersion:
38053805+ description: APIVersion of the custom resource under evaluation.
38063806+ type: string
38073807+ current:
38083808+ description: |-
38093809+ Current is the CEL expression that determines if the status
38103810+ of the custom resource has reached the desired state.
38113811+ type: string
38123812+ failed:
38133813+ description: |-
38143814+ Failed is the CEL expression that determines if the status
38153815+ of the custom resource has failed to reach the desired state.
38163816+ type: string
38173817+ inProgress:
38183818+ description: |-
38193819+ InProgress is the CEL expression that determines if the status
38203820+ of the custom resource has not yet reached the desired state.
38213821+ type: string
38223822+ kind:
38233823+ description: Kind of the custom resource under evaluation.
38243824+ type: string
38253825+ required:
38263826+ - apiVersion
38273827+ - current
38283828+ - kind
38293829+ type: object
38303830+ type: array
38313831+ install:
38323832+ description: Install holds the configuration for Helm install actions
38333833+ for this HelmRelease.
38343834+ properties:
38353835+ crds:
38363836+ description: |-
38373837+ CRDs upgrade CRDs from the Helm Chart's crds directory according
38383838+ to the CRD upgrade policy provided here. Valid values are `Skip`,
38393839+ `Create` or `CreateReplace`. Default is `Create` and if omitted
38403840+ CRDs are installed but not updated.
38413841+38423842+ Skip: do neither install nor replace (update) any CRDs.
38433843+38443844+ Create: new CRDs are created, existing CRDs are neither updated nor deleted.
38453845+38463846+ CreateReplace: new CRDs are created, existing CRDs are updated (replaced)
38473847+ but not deleted.
38483848+38493849+ By default, CRDs are applied (installed) during Helm install action.
38503850+ With this option users can opt in to CRD replace existing CRDs on Helm
38513851+ install actions, which is not (yet) natively supported by Helm.
38523852+ https://helm.sh/docs/chart_best_practices/custom_resource_definitions.
38533853+ enum:
38543854+ - Skip
38553855+ - Create
38563856+ - CreateReplace
38573857+ type: string
38583858+ createNamespace:
38593859+ description: |-
38603860+ CreateNamespace tells the Helm install action to create the
38613861+ HelmReleaseSpec.TargetNamespace if it does not exist yet.
38623862+ On uninstall, the namespace will not be garbage collected.
38633863+ type: boolean
38643864+ disableHooks:
38653865+ description: DisableHooks prevents hooks from running during the
38663866+ Helm install action.
38673867+ type: boolean
38683868+ disableOpenAPIValidation:
38693869+ description: |-
38703870+ DisableOpenAPIValidation prevents the Helm install action from validating
38713871+ rendered templates against the Kubernetes OpenAPI Schema.
38723872+ type: boolean
38733873+ disableSchemaValidation:
38743874+ description: |-
38753875+ DisableSchemaValidation prevents the Helm install action from validating
38763876+ the values against the JSON Schema.
38773877+ type: boolean
38783878+ disableTakeOwnership:
38793879+ description: |-
38803880+ DisableTakeOwnership disables taking ownership of existing resources
38813881+ during the Helm install action. Defaults to false.
38823882+ type: boolean
38833883+ disableWait:
38843884+ description: |-
38853885+ DisableWait disables the waiting for resources to be ready after a Helm
38863886+ install has been performed.
38873887+ type: boolean
38883888+ disableWaitForJobs:
38893889+ description: |-
38903890+ DisableWaitForJobs disables waiting for jobs to complete after a Helm
38913891+ install has been performed.
38923892+ type: boolean
38933893+ remediation:
38943894+ description: |-
38953895+ Remediation holds the remediation configuration for when the Helm install
38963896+ action for the HelmRelease fails. The default is to not perform any action.
38973897+ properties:
38983898+ ignoreTestFailures:
38993899+ description: |-
39003900+ IgnoreTestFailures tells the controller to skip remediation when the Helm
39013901+ tests are run after an install action but fail. Defaults to
39023902+ 'Test.IgnoreFailures'.
39033903+ type: boolean
39043904+ remediateLastFailure:
39053905+ description: |-
39063906+ RemediateLastFailure tells the controller to remediate the last failure, when
39073907+ no retries remain. Defaults to 'false'.
39083908+ type: boolean
39093909+ retries:
39103910+ description: |-
39113911+ Retries is the number of retries that should be attempted on failures before
39123912+ bailing. Remediation, using an uninstall, is performed between each attempt.
39133913+ Defaults to '0', a negative integer equals to unlimited retries.
39143914+ type: integer
39153915+ type: object
39163916+ replace:
39173917+ description: |-
39183918+ Replace tells the Helm install action to re-use the 'ReleaseName', but only
39193919+ if that name is a deleted release which remains in the history.
39203920+ type: boolean
39213921+ serverSideApply:
39223922+ description: |-
39233923+ ServerSideApply enables server-side apply for resources during install.
39243924+ Defaults to true (or false when UseHelm3Defaults feature gate is enabled).
39253925+ type: boolean
39263926+ skipCRDs:
39273927+ description: |-
39283928+ SkipCRDs tells the Helm install action to not install any CRDs. By default,
39293929+ CRDs are installed if not already present.
39303930+39313931+ Deprecated use CRD policy (`crds`) attribute with value `Skip` instead.
39323932+ type: boolean
39333933+ strategy:
39343934+ description: |-
39353935+ Strategy defines the install strategy to use for this HelmRelease.
39363936+ Defaults to 'RemediateOnFailure', or 'RetryOnFailure' when the
39373937+ DefaultToRetryOnFailure feature gate is enabled.
39383938+ properties:
39393939+ name:
39403940+ description: Name of the install strategy.
39413941+ enum:
39423942+ - RemediateOnFailure
39433943+ - RetryOnFailure
39443944+ type: string
39453945+ retryInterval:
39463946+ description: |-
39473947+ RetryInterval is the interval at which to retry a failed install.
39483948+ Can be used only when Name is set to RetryOnFailure.
39493949+ Defaults to '5m'.
39503950+ pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
39513951+ type: string
39523952+ required:
39533953+ - name
39543954+ type: object
39553955+ x-kubernetes-validations:
39563956+ - message: .retryInterval cannot be set when .name is 'RemediateOnFailure'
39573957+ rule: '!has(self.retryInterval) || self.name != ''RemediateOnFailure'''
39583958+ timeout:
39593959+ description: |-
39603960+ Timeout is the time to wait for any individual Kubernetes operation (like
39613961+ Jobs for hooks) during the performance of a Helm install action. Defaults to
39623962+ 'HelmReleaseSpec.Timeout'.
39633963+ pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
39643964+ type: string
39653965+ type: object
39663966+ interval:
39673967+ description: Interval at which to reconcile the Helm release.
39683968+ pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
39693969+ type: string
39703970+ kubeConfig:
39713971+ description: |-
39723972+ KubeConfig for reconciling the HelmRelease on a remote cluster.
39733973+ When used in combination with HelmReleaseSpec.ServiceAccountName,
39743974+ forces the controller to act on behalf of that Service Account at the
39753975+ target cluster.
39763976+ If the --default-service-account flag is set, its value will be used as
39773977+ a controller level fallback for when HelmReleaseSpec.ServiceAccountName
39783978+ is empty.
39793979+ properties:
39803980+ configMapRef:
39813981+ description: |-
39823982+ ConfigMapRef holds an optional name of a ConfigMap that contains
39833983+ the following keys:
39843984+39853985+ - `provider`: the provider to use. One of `aws`, `azure`, `gcp`, or
39863986+ `generic`. Required.
39873987+ - `cluster`: the fully qualified resource name of the Kubernetes
39883988+ cluster in the cloud provider API. Not used by the `generic`
39893989+ provider. Required when one of `address` or `ca.crt` is not set.
39903990+ - `address`: the address of the Kubernetes API server. Required
39913991+ for `generic`. For the other providers, if not specified, the
39923992+ first address in the cluster resource will be used, and if
39933993+ specified, it must match one of the addresses in the cluster
39943994+ resource.
39953995+ If audiences is not set, will be used as the audience for the
39963996+ `generic` provider.
39973997+ - `ca.crt`: the optional PEM-encoded CA certificate for the
39983998+ Kubernetes API server. If not set, the controller will use the
39993999+ CA certificate from the cluster resource.
40004000+ - `audiences`: the optional audiences as a list of
40014001+ line-break-separated strings for the Kubernetes ServiceAccount
40024002+ token. Defaults to the `address` for the `generic` provider, or
40034003+ to specific values for the other providers depending on the
40044004+ provider.
40054005+ - `serviceAccountName`: the optional name of the Kubernetes
40064006+ ServiceAccount in the same namespace that should be used
40074007+ for authentication. If not specified, the controller
40084008+ ServiceAccount will be used.
40094009+40104010+ Mutually exclusive with SecretRef.
40114011+ properties:
40124012+ name:
40134013+ description: Name of the referent.
40144014+ type: string
40154015+ required:
40164016+ - name
40174017+ type: object
40184018+ secretRef:
40194019+ description: |-
40204020+ SecretRef holds an optional name of a secret that contains a key with
40214021+ the kubeconfig file as the value. If no key is set, the key will default
40224022+ to 'value'. Mutually exclusive with ConfigMapRef.
40234023+ It is recommended that the kubeconfig is self-contained, and the secret
40244024+ is regularly updated if credentials such as a cloud-access-token expire.
40254025+ Cloud specific `cmd-path` auth helpers will not function without adding
40264026+ binaries and credentials to the Pod that is responsible for reconciling
40274027+ Kubernetes resources. Supported only for the generic provider.
40284028+ properties:
40294029+ key:
40304030+ description: Key in the Secret, when not specified an implementation-specific
40314031+ default key is used.
40324032+ type: string
40334033+ name:
40344034+ description: Name of the Secret.
40354035+ type: string
40364036+ required:
40374037+ - name
40384038+ type: object
40394039+ type: object
40404040+ x-kubernetes-validations:
40414041+ - message: exactly one of spec.kubeConfig.configMapRef or spec.kubeConfig.secretRef
40424042+ must be specified
40434043+ rule: has(self.configMapRef) || has(self.secretRef)
40444044+ - message: exactly one of spec.kubeConfig.configMapRef or spec.kubeConfig.secretRef
40454045+ must be specified
40464046+ rule: '!has(self.configMapRef) || !has(self.secretRef)'
40474047+ maxHistory:
40484048+ description: |-
40494049+ MaxHistory is the number of revisions saved by Helm for this HelmRelease.
40504050+ Use '0' for an unlimited number of revisions; defaults to '5'.
40514051+ type: integer
40524052+ persistentClient:
40534053+ description: |-
40544054+ PersistentClient tells the controller to use a persistent Kubernetes
40554055+ client for this release. When enabled, the client will be reused for the
40564056+ duration of the reconciliation, instead of being created and destroyed
40574057+ for each (step of a) Helm action.
40584058+40594059+ This can improve performance, but may cause issues with some Helm charts
40604060+ that for example do create Custom Resource Definitions during installation
40614061+ outside Helm's CRD lifecycle hooks, which are then not observed to be
40624062+ available by e.g. post-install hooks.
40634063+40644064+ If not set, it defaults to true.
40654065+ type: boolean
40664066+ postRenderers:
40674067+ description: |-
40684068+ PostRenderers holds an array of Helm PostRenderers, which will be applied in order
40694069+ of their definition.
40704070+ items:
40714071+ description: PostRenderer contains a Helm PostRenderer specification.
40724072+ properties:
40734073+ kustomize:
40744074+ description: Kustomization to apply as PostRenderer.
40754075+ properties:
40764076+ images:
40774077+ description: |-
40784078+ Images is a list of (image name, new name, new tag or digest)
40794079+ for changing image names, tags or digests. This can also be achieved with a
40804080+ patch, but this operator is simpler to specify.
40814081+ items:
40824082+ description: Image contains an image name, a new name,
40834083+ a new tag or digest, which will replace the original
40844084+ name and tag.
40854085+ properties:
40864086+ digest:
40874087+ description: |-
40884088+ Digest is the value used to replace the original image tag.
40894089+ If digest is present NewTag value is ignored.
40904090+ type: string
40914091+ name:
40924092+ description: Name is a tag-less image name.
40934093+ type: string
40944094+ newName:
40954095+ description: NewName is the value used to replace
40964096+ the original name.
40974097+ type: string
40984098+ newTag:
40994099+ description: NewTag is the value used to replace the
41004100+ original tag.
41014101+ type: string
41024102+ required:
41034103+ - name
41044104+ type: object
41054105+ type: array
41064106+ patches:
41074107+ description: |-
41084108+ Strategic merge and JSON patches, defined as inline YAML objects,
41094109+ capable of targeting objects based on kind, label and annotation selectors.
41104110+ items:
41114111+ description: |-
41124112+ Patch contains an inline StrategicMerge or JSON6902 patch, and the target the patch should
41134113+ be applied to.
41144114+ properties:
41154115+ patch:
41164116+ description: |-
41174117+ Patch contains an inline StrategicMerge patch or an inline JSON6902 patch with
41184118+ an array of operation objects.
41194119+ type: string
41204120+ target:
41214121+ description: Target points to the resources that the
41224122+ patch document should be applied to.
41234123+ properties:
41244124+ annotationSelector:
41254125+ description: |-
41264126+ AnnotationSelector is a string that follows the label selection expression
41274127+ https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
41284128+ It matches with the resource annotations.
41294129+ type: string
41304130+ group:
41314131+ description: |-
41324132+ Group is the API group to select resources from.
41334133+ Together with Version and Kind it is capable of unambiguously identifying and/or selecting resources.
41344134+ https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
41354135+ type: string
41364136+ kind:
41374137+ description: |-
41384138+ Kind of the API Group to select resources from.
41394139+ Together with Group and Version it is capable of unambiguously
41404140+ identifying and/or selecting resources.
41414141+ https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
41424142+ type: string
41434143+ labelSelector:
41444144+ description: |-
41454145+ LabelSelector is a string that follows the label selection expression
41464146+ https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
41474147+ It matches with the resource labels.
41484148+ type: string
41494149+ name:
41504150+ description: Name to match resources with.
41514151+ type: string
41524152+ namespace:
41534153+ description: Namespace to select resources from.
41544154+ type: string
41554155+ version:
41564156+ description: |-
41574157+ Version of the API Group to select resources from.
41584158+ Together with Group and Kind it is capable of unambiguously identifying and/or selecting resources.
41594159+ https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
41604160+ type: string
41614161+ type: object
41624162+ required:
41634163+ - patch
41644164+ type: object
41654165+ type: array
41664166+ type: object
41674167+ type: object
41684168+ type: array
41694169+ releaseName:
41704170+ description: |-
41714171+ ReleaseName used for the Helm release. Defaults to a composition of
41724172+ '[TargetNamespace-]Name'.
41734173+ maxLength: 53
41744174+ minLength: 1
41754175+ type: string
41764176+ rollback:
41774177+ description: Rollback holds the configuration for Helm rollback actions
41784178+ for this HelmRelease.
41794179+ properties:
41804180+ cleanupOnFail:
41814181+ description: |-
41824182+ CleanupOnFail allows deletion of new resources created during the Helm
41834183+ rollback action when it fails.
41844184+ type: boolean
41854185+ disableHooks:
41864186+ description: DisableHooks prevents hooks from running during the
41874187+ Helm rollback action.
41884188+ type: boolean
41894189+ disableWait:
41904190+ description: |-
41914191+ DisableWait disables the waiting for resources to be ready after a Helm
41924192+ rollback has been performed.
41934193+ type: boolean
41944194+ disableWaitForJobs:
41954195+ description: |-
41964196+ DisableWaitForJobs disables waiting for jobs to complete after a Helm
41974197+ rollback has been performed.
41984198+ type: boolean
41994199+ force:
42004200+ description: |-
42014201+ Force forces resource updates through a replacement strategy
42024202+ that avoids 3-way merge conflicts on client-side apply.
42034203+ This field is ignored for server-side apply (which always
42044204+ forces conflicts with other field managers).
42054205+ type: boolean
42064206+ recreate:
42074207+ description: |-
42084208+ Recreate performs pod restarts for any managed workloads.
42094209+42104210+ Deprecated: This behavior was deprecated in Helm 3:
42114211+ - Deprecation: https://github.com/helm/helm/pull/6463
42124212+ - Removal: https://github.com/helm/helm/pull/31023
42134213+ After helm-controller was upgraded to the Helm 4 SDK,
42144214+ this field is no longer functional and will print a
42154215+ warning if set to true. It will also be removed in a
42164216+ future release.
42174217+ type: boolean
42184218+ serverSideApply:
42194219+ description: |-
42204220+ ServerSideApply enables server-side apply for resources during rollback.
42214221+ Can be "enabled", "disabled", or "auto".
42224222+ When "auto", server-side apply usage will be based on the release's previous usage.
42234223+ Defaults to "auto".
42244224+ enum:
42254225+ - enabled
42264226+ - disabled
42274227+ - auto
42284228+ type: string
42294229+ timeout:
42304230+ description: |-
42314231+ Timeout is the time to wait for any individual Kubernetes operation (like
42324232+ Jobs for hooks) during the performance of a Helm rollback action. Defaults to
42334233+ 'HelmReleaseSpec.Timeout'.
42344234+ pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
42354235+ type: string
42364236+ type: object
42374237+ serviceAccountName:
42384238+ description: |-
42394239+ The name of the Kubernetes service account to impersonate
42404240+ when reconciling this HelmRelease.
42414241+ maxLength: 253
42424242+ minLength: 1
42434243+ type: string
42444244+ storageNamespace:
42454245+ description: |-
42464246+ StorageNamespace used for the Helm storage.
42474247+ Defaults to the namespace of the HelmRelease.
42484248+ maxLength: 63
42494249+ minLength: 1
42504250+ type: string
42514251+ suspend:
42524252+ description: |-
42534253+ Suspend tells the controller to suspend reconciliation for this HelmRelease,
42544254+ it does not apply to already started reconciliations. Defaults to false.
42554255+ type: boolean
42564256+ targetNamespace:
42574257+ description: |-
42584258+ TargetNamespace to target when performing operations for the HelmRelease.
42594259+ Defaults to the namespace of the HelmRelease.
42604260+ maxLength: 63
42614261+ minLength: 1
42624262+ type: string
42634263+ test:
42644264+ description: Test holds the configuration for Helm test actions for
42654265+ this HelmRelease.
42664266+ properties:
42674267+ enable:
42684268+ description: |-
42694269+ Enable enables Helm test actions for this HelmRelease after an Helm install
42704270+ or upgrade action has been performed.
42714271+ type: boolean
42724272+ filters:
42734273+ description: Filters is a list of tests to run or exclude from
42744274+ running.
42754275+ items:
42764276+ description: Filter holds the configuration for individual Helm
42774277+ test filters.
42784278+ properties:
42794279+ exclude:
42804280+ description: Exclude specifies whether the named test should
42814281+ be excluded.
42824282+ type: boolean
42834283+ name:
42844284+ description: Name is the name of the test.
42854285+ maxLength: 253
42864286+ minLength: 1
42874287+ type: string
42884288+ required:
42894289+ - name
42904290+ type: object
42914291+ type: array
42924292+ ignoreFailures:
42934293+ description: |-
42944294+ IgnoreFailures tells the controller to skip remediation when the Helm tests
42954295+ are run but fail. Can be overwritten for tests run after install or upgrade
42964296+ actions in 'Install.IgnoreTestFailures' and 'Upgrade.IgnoreTestFailures'.
42974297+ type: boolean
42984298+ timeout:
42994299+ description: |-
43004300+ Timeout is the time to wait for any individual Kubernetes operation during
43014301+ the performance of a Helm test action. Defaults to 'HelmReleaseSpec.Timeout'.
43024302+ pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
43034303+ type: string
43044304+ type: object
43054305+ timeout:
43064306+ description: |-
43074307+ Timeout is the time to wait for any individual Kubernetes operation (like Jobs
43084308+ for hooks) during the performance of a Helm action. Defaults to '5m0s'.
43094309+ pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
43104310+ type: string
43114311+ uninstall:
43124312+ description: Uninstall holds the configuration for Helm uninstall
43134313+ actions for this HelmRelease.
43144314+ properties:
43154315+ deletionPropagation:
43164316+ default: background
43174317+ description: |-
43184318+ DeletionPropagation specifies the deletion propagation policy when
43194319+ a Helm uninstall is performed.
43204320+ enum:
43214321+ - background
43224322+ - foreground
43234323+ - orphan
43244324+ type: string
43254325+ disableHooks:
43264326+ description: DisableHooks prevents hooks from running during the
43274327+ Helm rollback action.
43284328+ type: boolean
43294329+ disableWait:
43304330+ description: |-
43314331+ DisableWait disables waiting for all the resources to be deleted after
43324332+ a Helm uninstall is performed.
43334333+ type: boolean
43344334+ keepHistory:
43354335+ description: |-
43364336+ KeepHistory tells Helm to remove all associated resources and mark the
43374337+ release as deleted, but retain the release history.
43384338+ type: boolean
43394339+ timeout:
43404340+ description: |-
43414341+ Timeout is the time to wait for any individual Kubernetes operation (like
43424342+ Jobs for hooks) during the performance of a Helm uninstall action. Defaults
43434343+ to 'HelmReleaseSpec.Timeout'.
43444344+ pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
43454345+ type: string
43464346+ type: object
43474347+ upgrade:
43484348+ description: Upgrade holds the configuration for Helm upgrade actions
43494349+ for this HelmRelease.
43504350+ properties:
43514351+ cleanupOnFail:
43524352+ description: |-
43534353+ CleanupOnFail allows deletion of new resources created during the Helm
43544354+ upgrade action when it fails.
43554355+ type: boolean
43564356+ crds:
43574357+ description: |-
43584358+ CRDs upgrade CRDs from the Helm Chart's crds directory according
43594359+ to the CRD upgrade policy provided here. Valid values are `Skip`,
43604360+ `Create` or `CreateReplace`. Default is `Skip` and if omitted
43614361+ CRDs are neither installed nor upgraded.
43624362+43634363+ Skip: do neither install nor replace (update) any CRDs.
43644364+43654365+ Create: new CRDs are created, existing CRDs are neither updated nor deleted.
43664366+43674367+ CreateReplace: new CRDs are created, existing CRDs are updated (replaced)
43684368+ but not deleted.
43694369+43704370+ By default, CRDs are not applied during Helm upgrade action. With this
43714371+ option users can opt-in to CRD upgrade, which is not (yet) natively supported by Helm.
43724372+ https://helm.sh/docs/chart_best_practices/custom_resource_definitions.
43734373+ enum:
43744374+ - Skip
43754375+ - Create
43764376+ - CreateReplace
43774377+ type: string
43784378+ disableHooks:
43794379+ description: DisableHooks prevents hooks from running during the
43804380+ Helm upgrade action.
43814381+ type: boolean
43824382+ disableOpenAPIValidation:
43834383+ description: |-
43844384+ DisableOpenAPIValidation prevents the Helm upgrade action from validating
43854385+ rendered templates against the Kubernetes OpenAPI Schema.
43864386+ type: boolean
43874387+ disableSchemaValidation:
43884388+ description: |-
43894389+ DisableSchemaValidation prevents the Helm upgrade action from validating
43904390+ the values against the JSON Schema.
43914391+ type: boolean
43924392+ disableTakeOwnership:
43934393+ description: |-
43944394+ DisableTakeOwnership disables taking ownership of existing resources
43954395+ during the Helm upgrade action. Defaults to false.
43964396+ type: boolean
43974397+ disableWait:
43984398+ description: |-
43994399+ DisableWait disables the waiting for resources to be ready after a Helm
44004400+ upgrade has been performed.
44014401+ type: boolean
44024402+ disableWaitForJobs:
44034403+ description: |-
44044404+ DisableWaitForJobs disables waiting for jobs to complete after a Helm
44054405+ upgrade has been performed.
44064406+ type: boolean
44074407+ force:
44084408+ description: |-
44094409+ Force forces resource updates through a replacement strategy
44104410+ that avoids 3-way merge conflicts on client-side apply.
44114411+ This field is ignored for server-side apply (which always
44124412+ forces conflicts with other field managers).
44134413+ type: boolean
44144414+ preserveValues:
44154415+ description: |-
44164416+ PreserveValues will make Helm reuse the last release's values and merge in
44174417+ overrides from 'Values'. Setting this flag makes the HelmRelease
44184418+ non-declarative.
44194419+ type: boolean
44204420+ remediation:
44214421+ description: |-
44224422+ Remediation holds the remediation configuration for when the Helm upgrade
44234423+ action for the HelmRelease fails. The default is to not perform any action.
44244424+ properties:
44254425+ ignoreTestFailures:
44264426+ description: |-
44274427+ IgnoreTestFailures tells the controller to skip remediation when the Helm
44284428+ tests are run after an upgrade action but fail.
44294429+ Defaults to 'Test.IgnoreFailures'.
44304430+ type: boolean
44314431+ remediateLastFailure:
44324432+ description: |-
44334433+ RemediateLastFailure tells the controller to remediate the last failure, when
44344434+ no retries remain. Defaults to 'false' unless 'Retries' is greater than 0.
44354435+ type: boolean
44364436+ retries:
44374437+ description: |-
44384438+ Retries is the number of retries that should be attempted on failures before
44394439+ bailing. Remediation, using 'Strategy', is performed between each attempt.
44404440+ Defaults to '0', a negative integer equals to unlimited retries.
44414441+ type: integer
44424442+ strategy:
44434443+ description: Strategy to use for failure remediation. Defaults
44444444+ to 'rollback'.
44454445+ enum:
44464446+ - rollback
44474447+ - uninstall
44484448+ type: string
44494449+ type: object
44504450+ serverSideApply:
44514451+ description: |-
44524452+ ServerSideApply enables server-side apply for resources during upgrade.
44534453+ Can be "enabled", "disabled", or "auto".
44544454+ When "auto", server-side apply usage will be based on the release's previous usage.
44554455+ Defaults to "auto".
44564456+ enum:
44574457+ - enabled
44584458+ - disabled
44594459+ - auto
44604460+ type: string
44614461+ strategy:
44624462+ description: |-
44634463+ Strategy defines the upgrade strategy to use for this HelmRelease.
44644464+ Defaults to 'RemediateOnFailure', or 'RetryOnFailure' when the
44654465+ DefaultToRetryOnFailure feature gate is enabled.
44664466+ properties:
44674467+ name:
44684468+ description: Name of the upgrade strategy.
44694469+ enum:
44704470+ - RemediateOnFailure
44714471+ - RetryOnFailure
44724472+ type: string
44734473+ retryInterval:
44744474+ description: |-
44754475+ RetryInterval is the interval at which to retry a failed upgrade.
44764476+ Can be used only when Name is set to RetryOnFailure.
44774477+ Defaults to '5m'.
44784478+ pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
44794479+ type: string
44804480+ required:
44814481+ - name
44824482+ type: object
44834483+ x-kubernetes-validations:
44844484+ - message: .retryInterval can only be set when .name is 'RetryOnFailure'
44854485+ rule: '!has(self.retryInterval) || self.name == ''RetryOnFailure'''
44864486+ timeout:
44874487+ description: |-
44884488+ Timeout is the time to wait for any individual Kubernetes operation (like
44894489+ Jobs for hooks) during the performance of a Helm upgrade action. Defaults to
44904490+ 'HelmReleaseSpec.Timeout'.
44914491+ pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
44924492+ type: string
44934493+ type: object
44944494+ values:
44954495+ description: Values holds the values for this Helm release.
44964496+ x-kubernetes-preserve-unknown-fields: true
44974497+ valuesFrom:
44984498+ description: |-
44994499+ ValuesFrom holds references to resources containing Helm values for this HelmRelease,
45004500+ and information about how they should be merged.
45014501+ items:
45024502+ description: |-
45034503+ ValuesReference contains a reference to a resource containing Helm values,
45044504+ and optionally the key they can be found at.
45054505+ properties:
45064506+ kind:
45074507+ description: Kind of the values referent, valid values are ('Secret',
45084508+ 'ConfigMap').
45094509+ enum:
45104510+ - Secret
45114511+ - ConfigMap
45124512+ type: string
45134513+ name:
45144514+ description: |-
45154515+ Name of the values referent. Should reside in the same namespace as the
45164516+ referring resource.
45174517+ maxLength: 253
45184518+ minLength: 1
45194519+ type: string
45204520+ optional:
45214521+ description: |-
45224522+ Optional marks this ValuesReference as optional. When set, a not found error
45234523+ for the values reference is ignored, but any ValuesKey, TargetPath or
45244524+ transient error will still result in a reconciliation failure.
45254525+ type: boolean
45264526+ targetPath:
45274527+ description: |-
45284528+ TargetPath is the YAML dot notation path the value should be merged at. When
45294529+ set, the ValuesKey is expected to be a single flat value. Defaults to 'None',
45304530+ which results in the values getting merged at the root.
45314531+ maxLength: 250
45324532+ pattern: ^([a-zA-Z0-9_\-.\\\/]|\[[0-9]{1,5}\])+$
45334533+ type: string
45344534+ valuesKey:
45354535+ description: |-
45364536+ ValuesKey is the data key where the values.yaml or a specific value can be
45374537+ found at. Defaults to 'values.yaml'.
45384538+ maxLength: 253
45394539+ pattern: ^[\-._a-zA-Z0-9]+$
45404540+ type: string
45414541+ required:
45424542+ - kind
45434543+ - name
45444544+ type: object
45454545+ type: array
45464546+ waitStrategy:
45474547+ description: |-
45484548+ WaitStrategy defines Helm's wait strategy for waiting for applied
45494549+ resources to become ready.
45504550+ properties:
45514551+ name:
45524552+ description: |-
45534553+ Name is Helm's wait strategy for waiting for applied resources to
45544554+ become ready. One of 'poller' or 'legacy'. The 'poller' strategy uses
45554555+ kstatus to poll resource statuses, while the 'legacy' strategy uses
45564556+ Helm v3's waiting logic.
45574557+ Defaults to 'poller', or to 'legacy' when UseHelm3Defaults feature
45584558+ gate is enabled.
45594559+ enum:
45604560+ - poller
45614561+ - legacy
45624562+ type: string
45634563+ required:
45644564+ - name
45654565+ type: object
45664566+ required:
45674567+ - interval
45684568+ type: object
45694569+ x-kubernetes-validations:
45704570+ - message: either chart or chartRef must be set
45714571+ rule: (has(self.chart) && !has(self.chartRef)) || (!has(self.chart)
45724572+ && has(self.chartRef))
45734573+ status:
45744574+ default:
45754575+ observedGeneration: -1
45764576+ description: HelmReleaseStatus defines the observed state of a HelmRelease.
45774577+ properties:
45784578+ conditions:
45794579+ description: Conditions holds the conditions for the HelmRelease.
45804580+ items:
45814581+ description: Condition contains details for one aspect of the current
45824582+ state of this API Resource.
45834583+ properties:
45844584+ lastTransitionTime:
45854585+ description: |-
45864586+ lastTransitionTime is the last time the condition transitioned from one status to another.
45874587+ This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
45884588+ format: date-time
45894589+ type: string
45904590+ message:
45914591+ description: |-
45924592+ message is a human readable message indicating details about the transition.
45934593+ This may be an empty string.
45944594+ maxLength: 32768
45954595+ type: string
45964596+ observedGeneration:
45974597+ description: |-
45984598+ observedGeneration represents the .metadata.generation that the condition was set based upon.
45994599+ For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
46004600+ with respect to the current state of the instance.
46014601+ format: int64
46024602+ minimum: 0
46034603+ type: integer
46044604+ reason:
46054605+ description: |-
46064606+ reason contains a programmatic identifier indicating the reason for the condition's last transition.
46074607+ Producers of specific condition types may define expected values and meanings for this field,
46084608+ and whether the values are considered a guaranteed API.
46094609+ The value should be a CamelCase string.
46104610+ This field may not be empty.
46114611+ maxLength: 1024
46124612+ minLength: 1
46134613+ pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
46144614+ type: string
46154615+ status:
46164616+ description: status of the condition, one of True, False, Unknown.
46174617+ enum:
46184618+ - "True"
46194619+ - "False"
46204620+ - Unknown
46214621+ type: string
46224622+ type:
46234623+ description: type of condition in CamelCase or in foo.example.com/CamelCase.
46244624+ maxLength: 316
46254625+ 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])$
46264626+ type: string
46274627+ required:
46284628+ - lastTransitionTime
46294629+ - message
46304630+ - reason
46314631+ - status
46324632+ - type
46334633+ type: object
46344634+ type: array
46354635+ failures:
46364636+ description: |-
46374637+ Failures is the reconciliation failure count against the latest desired
46384638+ state. It is reset after a successful reconciliation.
46394639+ format: int64
46404640+ type: integer
46414641+ helmChart:
46424642+ description: |-
46434643+ HelmChart is the namespaced name of the HelmChart resource created by
46444644+ the controller for the HelmRelease.
46454645+ type: string
46464646+ history:
46474647+ description: |-
46484648+ History holds the history of Helm releases performed for this HelmRelease
46494649+ up to the last successfully completed release.
46504650+ items:
46514651+ description: |-
46524652+ Snapshot captures a point-in-time copy of the status information for a Helm release,
46534653+ as managed by the controller.
46544654+ properties:
46554655+ action:
46564656+ description: Action is the action that resulted in this snapshot
46574657+ being created.
46584658+ type: string
46594659+ apiVersion:
46604660+ description: |-
46614661+ APIVersion is the API version of the Snapshot.
46624662+ When the calculation method of the Digest field is changed, this
46634663+ field will be used to distinguish between the old and new methods.
46644664+ type: string
46654665+ appVersion:
46664666+ description: AppVersion is the chart app version of the release
46674667+ object in storage.
46684668+ type: string
46694669+ chartName:
46704670+ description: ChartName is the chart name of the release object
46714671+ in storage.
46724672+ type: string
46734673+ chartVersion:
46744674+ description: |-
46754675+ ChartVersion is the chart version of the release object in
46764676+ storage.
46774677+ type: string
46784678+ configDigest:
46794679+ description: |-
46804680+ ConfigDigest is the checksum of the config (better known as
46814681+ "values") of the release object in storage.
46824682+ It has the format of `<algo>:<checksum>`.
46834683+ type: string
46844684+ deleted:
46854685+ description: Deleted is when the release was deleted.
46864686+ format: date-time
46874687+ type: string
46884688+ digest:
46894689+ description: |-
46904690+ Digest is the checksum of the release object in storage.
46914691+ It has the format of `<algo>:<checksum>`.
46924692+ type: string
46934693+ firstDeployed:
46944694+ description: FirstDeployed is when the release was first deployed.
46954695+ format: date-time
46964696+ type: string
46974697+ lastDeployed:
46984698+ description: LastDeployed is when the release was last deployed.
46994699+ format: date-time
47004700+ type: string
47014701+ name:
47024702+ description: Name is the name of the release.
47034703+ type: string
47044704+ namespace:
47054705+ description: Namespace is the namespace the release is deployed
47064706+ to.
47074707+ type: string
47084708+ ociDigest:
47094709+ description: OCIDigest is the digest of the OCI artifact associated
47104710+ with the release.
47114711+ type: string
47124712+ status:
47134713+ description: Status is the current state of the release.
47144714+ type: string
47154715+ testHooks:
47164716+ additionalProperties:
47174717+ description: |-
47184718+ TestHookStatus holds the status information for a test hook as observed
47194719+ to be run by the controller.
47204720+ properties:
47214721+ lastCompleted:
47224722+ description: LastCompleted is the time the test hook last
47234723+ completed.
47244724+ format: date-time
47254725+ type: string
47264726+ lastStarted:
47274727+ description: LastStarted is the time the test hook was
47284728+ last started.
47294729+ format: date-time
47304730+ type: string
47314731+ phase:
47324732+ description: Phase the test hook was observed to be in.
47334733+ type: string
47344734+ type: object
47354735+ description: |-
47364736+ TestHooks is the list of test hooks for the release as observed to be
47374737+ run by the controller.
47384738+ type: object
47394739+ version:
47404740+ description: Version is the version of the release object in
47414741+ storage.
47424742+ type: integer
47434743+ required:
47444744+ - chartName
47454745+ - chartVersion
47464746+ - configDigest
47474747+ - digest
47484748+ - firstDeployed
47494749+ - lastDeployed
47504750+ - name
47514751+ - namespace
47524752+ - status
47534753+ - version
47544754+ type: object
47554755+ type: array
47564756+ installFailures:
47574757+ description: |-
47584758+ InstallFailures is the install failure count against the latest desired
47594759+ state. It is reset after a successful reconciliation.
47604760+ format: int64
47614761+ type: integer
47624762+ inventory:
47634763+ description: |-
47644764+ Inventory contains the list of Kubernetes resource object references
47654765+ that have been applied for this release.
47664766+ properties:
47674767+ entries:
47684768+ description: Entries of Kubernetes resource object references.
47694769+ items:
47704770+ description: ResourceRef contains the information necessary
47714771+ to locate a resource within a cluster.
47724772+ properties:
47734773+ id:
47744774+ description: |-
47754775+ ID is the string representation of the Kubernetes resource object's metadata,
47764776+ in the format '<namespace>_<name>_<group>_<kind>'.
47774777+ type: string
47784778+ v:
47794779+ description: Version is the API version of the Kubernetes
47804780+ resource object's kind.
47814781+ type: string
47824782+ required:
47834783+ - id
47844784+ - v
47854785+ type: object
47864786+ type: array
47874787+ required:
47884788+ - entries
47894789+ type: object
47904790+ lastAttemptedConfigDigest:
47914791+ description: |-
47924792+ LastAttemptedConfigDigest is the digest for the config (better known as
47934793+ "values") of the last reconciliation attempt.
47944794+ type: string
47954795+ lastAttemptedGeneration:
47964796+ description: |-
47974797+ LastAttemptedGeneration is the last generation the controller attempted
47984798+ to reconcile.
47994799+ format: int64
48004800+ type: integer
48014801+ lastAttemptedReleaseAction:
48024802+ description: |-
48034803+ LastAttemptedReleaseAction is the last release action performed for this
48044804+ HelmRelease. It is used to determine the active retry or remediation
48054805+ strategy.
48064806+ enum:
48074807+ - install
48084808+ - upgrade
48094809+ type: string
48104810+ lastAttemptedReleaseActionDuration:
48114811+ description: |-
48124812+ LastAttemptedReleaseActionDuration is the duration of the last
48134813+ release action performed for this HelmRelease.
48144814+ type: string
48154815+ lastAttemptedRevision:
48164816+ description: |-
48174817+ LastAttemptedRevision is the Source revision of the last reconciliation
48184818+ attempt. For OCIRepository sources, the 12 first characters of the digest are
48194819+ appended to the chart version e.g. "1.2.3+1234567890ab".
48204820+ type: string
48214821+ lastAttemptedRevisionDigest:
48224822+ description: |-
48234823+ LastAttemptedRevisionDigest is the digest of the last reconciliation attempt.
48244824+ This is only set for OCIRepository sources.
48254825+ type: string
48264826+ lastAttemptedValuesChecksum:
48274827+ description: |-
48284828+ LastAttemptedValuesChecksum is the SHA1 checksum for the values of the last
48294829+ reconciliation attempt.
48304830+48314831+ Deprecated: Use LastAttemptedConfigDigest instead.
48324832+ type: string
48334833+ lastHandledForceAt:
48344834+ description: |-
48354835+ LastHandledForceAt holds the value of the most recent
48364836+ force request value, so a change of the annotation value
48374837+ can be detected.
48384838+ type: string
48394839+ lastHandledReconcileAt:
48404840+ description: |-
48414841+ LastHandledReconcileAt holds the value of the most recent
48424842+ reconcile request value, so a change of the annotation value
48434843+ can be detected.
48444844+ type: string
48454845+ lastHandledResetAt:
48464846+ description: |-
48474847+ LastHandledResetAt holds the value of the most recent reset request
48484848+ value, so a change of the annotation value can be detected.
48494849+ type: string
48504850+ lastReleaseRevision:
48514851+ description: |-
48524852+ LastReleaseRevision is the revision of the last successful Helm release.
48534853+48544854+ Deprecated: Use History instead.
48554855+ type: integer
48564856+ observedCommonMetadataDigest:
48574857+ description: |-
48584858+ ObservedCommonMetadataDigest is the digest for the common metadata of
48594859+ the last successful reconciliation attempt.
48604860+ type: string
48614861+ observedGeneration:
48624862+ description: ObservedGeneration is the last observed generation.
48634863+ format: int64
48644864+ type: integer
48654865+ observedPostRenderersDigest:
48664866+ description: |-
48674867+ ObservedPostRenderersDigest is the digest for the post-renderers of
48684868+ the last successful reconciliation attempt.
48694869+ type: string
48704870+ storageNamespace:
48714871+ description: |-
48724872+ StorageNamespace is the namespace of the Helm release storage for the
48734873+ current release.
48744874+ maxLength: 63
48754875+ minLength: 1
48764876+ type: string
48774877+ upgradeFailures:
48784878+ description: |-
48794879+ UpgradeFailures is the upgrade failure count against the latest desired
48804880+ state. It is reset after a successful reconciliation.
48814881+ format: int64
48824882+ type: integer
48834883+ type: object
48844884+ type: object
48854885+ served: true
48864886+ storage: true
48874887+ subresources:
48884888+ status: {}
48894889+---
48904890+apiVersion: v1
48914891+kind: ServiceAccount
48924892+metadata:
48934893+ labels:
48944894+ app.kubernetes.io/component: helm-controller
48954895+ app.kubernetes.io/instance: flux-system
48964896+ app.kubernetes.io/part-of: flux
48974897+ app.kubernetes.io/version: v2.8.8
48984898+ name: helm-controller
48994899+ namespace: flux-system
49004900+---
49014901+apiVersion: apps/v1
49024902+kind: Deployment
49034903+metadata:
49044904+ labels:
49054905+ app.kubernetes.io/component: helm-controller
49064906+ app.kubernetes.io/instance: flux-system
49074907+ app.kubernetes.io/part-of: flux
49084908+ app.kubernetes.io/version: v2.8.8
49094909+ control-plane: controller
49104910+ name: helm-controller
49114911+ namespace: flux-system
49124912+spec:
49134913+ replicas: 1
49144914+ selector:
49154915+ matchLabels:
49164916+ app: helm-controller
49174917+ template:
49184918+ metadata:
49194919+ annotations:
49204920+ prometheus.io/port: "8080"
49214921+ prometheus.io/scrape: "true"
49224922+ labels:
49234923+ app: helm-controller
49244924+ app.kubernetes.io/component: helm-controller
49254925+ app.kubernetes.io/instance: flux-system
49264926+ app.kubernetes.io/part-of: flux
49274927+ app.kubernetes.io/version: v2.8.8
49284928+ spec:
49294929+ containers:
49304930+ - args:
49314931+ - --events-addr=http://notification-controller.$(RUNTIME_NAMESPACE).svc.cluster.local./
49324932+ - --watch-all-namespaces=true
49334933+ - --log-level=info
49344934+ - --log-encoding=json
49354935+ - --enable-leader-election
49364936+ env:
49374937+ - name: RUNTIME_NAMESPACE
49384938+ valueFrom:
49394939+ fieldRef:
49404940+ fieldPath: metadata.namespace
49414941+ - name: GOMEMLIMIT
49424942+ valueFrom:
49434943+ resourceFieldRef:
49444944+ containerName: manager
49454945+ resource: limits.memory
49464946+ image: ghcr.io/fluxcd/helm-controller:v1.5.5
49474947+ imagePullPolicy: IfNotPresent
49484948+ livenessProbe:
49494949+ httpGet:
49504950+ path: /healthz
49514951+ port: healthz
49524952+ name: manager
49534953+ ports:
49544954+ - containerPort: 8080
49554955+ name: http-prom
49564956+ protocol: TCP
49574957+ - containerPort: 9440
49584958+ name: healthz
49594959+ protocol: TCP
49604960+ readinessProbe:
49614961+ httpGet:
49624962+ path: /readyz
49634963+ port: healthz
49644964+ resources:
49654965+ limits:
49664966+ cpu: 1000m
49674967+ memory: 1Gi
49684968+ requests:
49694969+ cpu: 100m
49704970+ memory: 64Mi
49714971+ securityContext:
49724972+ allowPrivilegeEscalation: false
49734973+ capabilities:
49744974+ drop:
49754975+ - ALL
49764976+ readOnlyRootFilesystem: true
49774977+ runAsNonRoot: true
49784978+ seccompProfile:
49794979+ type: RuntimeDefault
49804980+ volumeMounts:
49814981+ - mountPath: /tmp
49824982+ name: temp
49834983+ nodeSelector:
49844984+ kubernetes.io/os: linux
49854985+ priorityClassName: system-cluster-critical
49864986+ securityContext:
49874987+ fsGroup: 1337
49884988+ serviceAccountName: helm-controller
49894989+ terminationGracePeriodSeconds: 600
49904990+ volumes:
49914991+ - emptyDir: {}
49924992+ name: temp
49934993+---
49944994+apiVersion: apiextensions.k8s.io/v1
49954995+kind: CustomResourceDefinition
49964996+metadata:
49974997+ annotations:
49984998+ controller-gen.kubebuilder.io/version: v0.19.0
49994999+ labels:
50005000+ app.kubernetes.io/component: notification-controller
50015001+ app.kubernetes.io/instance: flux-system
50025002+ app.kubernetes.io/part-of: flux
50035003+ app.kubernetes.io/version: v2.8.8
50045004+ name: alerts.notification.toolkit.fluxcd.io
50055005+spec:
50065006+ group: notification.toolkit.fluxcd.io
50075007+ names:
50085008+ kind: Alert
50095009+ listKind: AlertList
50105010+ plural: alerts
50115011+ singular: alert
50125012+ scope: Namespaced
50135013+ versions:
50145014+ - additionalPrinterColumns:
50155015+ - jsonPath: .metadata.creationTimestamp
50165016+ name: Age
50175017+ type: date
50185018+ - jsonPath: .status.conditions[?(@.type=="Ready")].status
50195019+ name: Ready
50205020+ type: string
50215021+ - jsonPath: .status.conditions[?(@.type=="Ready")].message
50225022+ name: Status
50235023+ type: string
50245024+ deprecated: true
50255025+ deprecationWarning: v1beta2 Alert is deprecated, upgrade to v1beta3
50265026+ name: v1beta2
50275027+ schema:
50285028+ openAPIV3Schema:
50295029+ description: Alert is the Schema for the alerts API
50305030+ properties:
50315031+ apiVersion:
50325032+ description: |-
50335033+ APIVersion defines the versioned schema of this representation of an object.
50345034+ Servers should convert recognized schemas to the latest internal value, and
50355035+ may reject unrecognized values.
50365036+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
50375037+ type: string
50385038+ kind:
50395039+ description: |-
50405040+ Kind is a string value representing the REST resource this object represents.
50415041+ Servers may infer this from the endpoint the client submits requests to.
50425042+ Cannot be updated.
50435043+ In CamelCase.
50445044+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
50455045+ type: string
50465046+ metadata:
50475047+ type: object
50485048+ spec:
50495049+ description: AlertSpec defines an alerting rule for events involving a
50505050+ list of objects.
50515051+ properties:
50525052+ eventMetadata:
50535053+ additionalProperties:
50545054+ type: string
50555055+ description: |-
50565056+ EventMetadata is an optional field for adding metadata to events dispatched by the
50575057+ controller. This can be used for enhancing the context of the event. If a field
50585058+ would override one already present on the original event as generated by the emitter,
50595059+ then the override doesn't happen, i.e. the original value is preserved, and an info
50605060+ log is printed.
50615061+ type: object
50625062+ eventSeverity:
50635063+ default: info
50645064+ description: |-
50655065+ EventSeverity specifies how to filter events based on severity.
50665066+ If set to 'info' no events will be filtered.
50675067+ enum:
50685068+ - info
50695069+ - error
50705070+ type: string
50715071+ eventSources:
50725072+ description: |-
50735073+ EventSources specifies how to filter events based
50745074+ on the involved object kind, name and namespace.
50755075+ items:
50765076+ description: |-
50775077+ CrossNamespaceObjectReference contains enough information to let you locate the
50785078+ typed referenced object at cluster level
50795079+ properties:
50805080+ apiVersion:
50815081+ description: API version of the referent
50825082+ type: string
50835083+ kind:
50845084+ description: Kind of the referent
50855085+ enum:
50865086+ - Bucket
50875087+ - GitRepository
50885088+ - Kustomization
50895089+ - HelmRelease
50905090+ - HelmChart
50915091+ - HelmRepository
50925092+ - ImageRepository
50935093+ - ImagePolicy
50945094+ - ImageUpdateAutomation
50955095+ - OCIRepository
50965096+ - ArtifactGenerator
50975097+ - ExternalArtifact
50985098+ type: string
50995099+ matchLabels:
51005100+ additionalProperties:
51015101+ type: string
51025102+ description: |-
51035103+ MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
51045104+ map is equivalent to an element of matchExpressions, whose key field is "key", the
51055105+ operator is "In", and the values array contains only "value". The requirements are ANDed.
51065106+ MatchLabels requires the name to be set to `*`.
51075107+ type: object
51085108+ name:
51095109+ description: |-
51105110+ Name of the referent
51115111+ If multiple resources are targeted `*` may be set.
51125112+ maxLength: 253
51135113+ minLength: 1
51145114+ type: string
51155115+ namespace:
51165116+ description: Namespace of the referent
51175117+ maxLength: 253
51185118+ minLength: 1
51195119+ type: string
51205120+ required:
51215121+ - kind
51225122+ - name
51235123+ type: object
51245124+ type: array
51255125+ exclusionList:
51265126+ description: |-
51275127+ ExclusionList specifies a list of Golang regular expressions
51285128+ to be used for excluding messages.
51295129+ items:
51305130+ type: string
51315131+ type: array
51325132+ inclusionList:
51335133+ description: |-
51345134+ InclusionList specifies a list of Golang regular expressions
51355135+ to be used for including messages.
51365136+ items:
51375137+ type: string
51385138+ type: array
51395139+ providerRef:
51405140+ description: ProviderRef specifies which Provider this Alert should
51415141+ use.
51425142+ properties:
51435143+ name:
51445144+ description: Name of the referent.
51455145+ type: string
51465146+ required:
51475147+ - name
51485148+ type: object
51495149+ summary:
51505150+ description: Summary holds a short description of the impact and affected
51515151+ cluster.
51525152+ maxLength: 255
51535153+ type: string
51545154+ suspend:
51555155+ description: |-
51565156+ Suspend tells the controller to suspend subsequent
51575157+ events handling for this Alert.
51585158+ type: boolean
51595159+ required:
51605160+ - eventSources
51615161+ - providerRef
51625162+ type: object
51635163+ status:
51645164+ default:
51655165+ observedGeneration: -1
51665166+ description: AlertStatus defines the observed state of the Alert.
51675167+ properties:
51685168+ conditions:
51695169+ description: Conditions holds the conditions for the Alert.
51705170+ items:
51715171+ description: Condition contains details for one aspect of the current
51725172+ state of this API Resource.
51735173+ properties:
51745174+ lastTransitionTime:
51755175+ description: |-
51765176+ lastTransitionTime is the last time the condition transitioned from one status to another.
51775177+ This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
51785178+ format: date-time
51795179+ type: string
51805180+ message:
51815181+ description: |-
51825182+ message is a human readable message indicating details about the transition.
51835183+ This may be an empty string.
51845184+ maxLength: 32768
51855185+ type: string
51865186+ observedGeneration:
51875187+ description: |-
51885188+ observedGeneration represents the .metadata.generation that the condition was set based upon.
51895189+ For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
51905190+ with respect to the current state of the instance.
51915191+ format: int64
51925192+ minimum: 0
51935193+ type: integer
51945194+ reason:
51955195+ description: |-
51965196+ reason contains a programmatic identifier indicating the reason for the condition's last transition.
51975197+ Producers of specific condition types may define expected values and meanings for this field,
51985198+ and whether the values are considered a guaranteed API.
51995199+ The value should be a CamelCase string.
52005200+ This field may not be empty.
52015201+ maxLength: 1024
52025202+ minLength: 1
52035203+ pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
52045204+ type: string
52055205+ status:
52065206+ description: status of the condition, one of True, False, Unknown.
52075207+ enum:
52085208+ - "True"
52095209+ - "False"
52105210+ - Unknown
52115211+ type: string
52125212+ type:
52135213+ description: type of condition in CamelCase or in foo.example.com/CamelCase.
52145214+ maxLength: 316
52155215+ 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])$
52165216+ type: string
52175217+ required:
52185218+ - lastTransitionTime
52195219+ - message
52205220+ - reason
52215221+ - status
52225222+ - type
52235223+ type: object
52245224+ type: array
52255225+ lastHandledReconcileAt:
52265226+ description: |-
52275227+ LastHandledReconcileAt holds the value of the most recent
52285228+ reconcile request value, so a change of the annotation value
52295229+ can be detected.
52305230+ type: string
52315231+ observedGeneration:
52325232+ description: ObservedGeneration is the last observed generation.
52335233+ format: int64
52345234+ type: integer
52355235+ type: object
52365236+ type: object
52375237+ served: true
52385238+ storage: false
52395239+ subresources:
52405240+ status: {}
52415241+ - additionalPrinterColumns:
52425242+ - jsonPath: .metadata.creationTimestamp
52435243+ name: Age
52445244+ type: date
52455245+ name: v1beta3
52465246+ schema:
52475247+ openAPIV3Schema:
52485248+ description: Alert is the Schema for the alerts API
52495249+ properties:
52505250+ apiVersion:
52515251+ description: |-
52525252+ APIVersion defines the versioned schema of this representation of an object.
52535253+ Servers should convert recognized schemas to the latest internal value, and
52545254+ may reject unrecognized values.
52555255+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
52565256+ type: string
52575257+ kind:
52585258+ description: |-
52595259+ Kind is a string value representing the REST resource this object represents.
52605260+ Servers may infer this from the endpoint the client submits requests to.
52615261+ Cannot be updated.
52625262+ In CamelCase.
52635263+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
52645264+ type: string
52655265+ metadata:
52665266+ type: object
52675267+ spec:
52685268+ description: AlertSpec defines an alerting rule for events involving a
52695269+ list of objects.
52705270+ properties:
52715271+ eventMetadata:
52725272+ additionalProperties:
52735273+ type: string
52745274+ description: |-
52755275+ EventMetadata is an optional field for adding metadata to events dispatched by the
52765276+ controller. This can be used for enhancing the context of the event. If a field
52775277+ would override one already present on the original event as generated by the emitter,
52785278+ then the override doesn't happen, i.e. the original value is preserved, and an info
52795279+ log is printed.
52805280+ type: object
52815281+ eventSeverity:
52825282+ default: info
52835283+ description: |-
52845284+ EventSeverity specifies how to filter events based on severity.
52855285+ If set to 'info' no events will be filtered.
52865286+ enum:
52875287+ - info
52885288+ - error
52895289+ type: string
52905290+ eventSources:
52915291+ description: |-
52925292+ EventSources specifies how to filter events based
52935293+ on the involved object kind, name and namespace.
52945294+ items:
52955295+ description: |-
52965296+ CrossNamespaceObjectReference contains enough information to let you locate the
52975297+ typed referenced object at cluster level
52985298+ properties:
52995299+ apiVersion:
53005300+ description: API version of the referent
53015301+ type: string
53025302+ kind:
53035303+ description: Kind of the referent
53045304+ enum:
53055305+ - Bucket
53065306+ - GitRepository
53075307+ - Kustomization
53085308+ - HelmRelease
53095309+ - HelmChart
53105310+ - HelmRepository
53115311+ - ImageRepository
53125312+ - ImagePolicy
53135313+ - ImageUpdateAutomation
53145314+ - OCIRepository
53155315+ - ArtifactGenerator
53165316+ - ExternalArtifact
53175317+ type: string
53185318+ matchLabels:
53195319+ additionalProperties:
53205320+ type: string
53215321+ description: |-
53225322+ MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
53235323+ map is equivalent to an element of matchExpressions, whose key field is "key", the
53245324+ operator is "In", and the values array contains only "value". The requirements are ANDed.
53255325+ MatchLabels requires the name to be set to `*`.
53265326+ type: object
53275327+ name:
53285328+ description: |-
53295329+ Name of the referent
53305330+ If multiple resources are targeted `*` may be set.
53315331+ maxLength: 253
53325332+ minLength: 1
53335333+ type: string
53345334+ namespace:
53355335+ description: Namespace of the referent
53365336+ maxLength: 253
53375337+ minLength: 1
53385338+ type: string
53395339+ required:
53405340+ - kind
53415341+ - name
53425342+ type: object
53435343+ type: array
53445344+ exclusionList:
53455345+ description: |-
53465346+ ExclusionList specifies a list of Golang regular expressions
53475347+ to be used for excluding messages.
53485348+ items:
53495349+ type: string
53505350+ type: array
53515351+ inclusionList:
53525352+ description: |-
53535353+ InclusionList specifies a list of Golang regular expressions
53545354+ to be used for including messages.
53555355+ items:
53565356+ type: string
53575357+ type: array
53585358+ providerRef:
53595359+ description: ProviderRef specifies which Provider this Alert should
53605360+ use.
53615361+ properties:
53625362+ name:
53635363+ description: Name of the referent.
53645364+ type: string
53655365+ required:
53665366+ - name
53675367+ type: object
53685368+ summary:
53695369+ description: |-
53705370+ Summary holds a short description of the impact and affected cluster.
53715371+ Deprecated: Use EventMetadata instead.
53725372+ maxLength: 255
53735373+ type: string
53745374+ suspend:
53755375+ description: |-
53765376+ Suspend tells the controller to suspend subsequent
53775377+ events handling for this Alert.
53785378+ type: boolean
53795379+ required:
53805380+ - eventSources
53815381+ - providerRef
53825382+ type: object
53835383+ type: object
53845384+ served: true
53855385+ storage: true
53865386+ subresources: {}
53875387+---
53885388+apiVersion: apiextensions.k8s.io/v1
53895389+kind: CustomResourceDefinition
53905390+metadata:
53915391+ annotations:
53925392+ controller-gen.kubebuilder.io/version: v0.19.0
53935393+ labels:
53945394+ app.kubernetes.io/component: notification-controller
53955395+ app.kubernetes.io/instance: flux-system
53965396+ app.kubernetes.io/part-of: flux
53975397+ app.kubernetes.io/version: v2.8.8
53985398+ name: providers.notification.toolkit.fluxcd.io
53995399+spec:
54005400+ group: notification.toolkit.fluxcd.io
54015401+ names:
54025402+ kind: Provider
54035403+ listKind: ProviderList
54045404+ plural: providers
54055405+ singular: provider
54065406+ scope: Namespaced
54075407+ versions:
54085408+ - additionalPrinterColumns:
54095409+ - jsonPath: .metadata.creationTimestamp
54105410+ name: Age
54115411+ type: date
54125412+ - jsonPath: .status.conditions[?(@.type=="Ready")].status
54135413+ name: Ready
54145414+ type: string
54155415+ - jsonPath: .status.conditions[?(@.type=="Ready")].message
54165416+ name: Status
54175417+ type: string
54185418+ deprecated: true
54195419+ deprecationWarning: v1beta2 Provider is deprecated, upgrade to v1beta3
54205420+ name: v1beta2
54215421+ schema:
54225422+ openAPIV3Schema:
54235423+ description: Provider is the Schema for the providers API.
54245424+ properties:
54255425+ apiVersion:
54265426+ description: |-
54275427+ APIVersion defines the versioned schema of this representation of an object.
54285428+ Servers should convert recognized schemas to the latest internal value, and
54295429+ may reject unrecognized values.
54305430+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
54315431+ type: string
54325432+ kind:
54335433+ description: |-
54345434+ Kind is a string value representing the REST resource this object represents.
54355435+ Servers may infer this from the endpoint the client submits requests to.
54365436+ Cannot be updated.
54375437+ In CamelCase.
54385438+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
54395439+ type: string
54405440+ metadata:
54415441+ type: object
54425442+ spec:
54435443+ description: ProviderSpec defines the desired state of the Provider.
54445444+ properties:
54455445+ address:
54465446+ description: |-
54475447+ Address specifies the endpoint, in a generic sense, to where alerts are sent.
54485448+ What kind of endpoint depends on the specific Provider type being used.
54495449+ For the generic Provider, for example, this is an HTTP/S address.
54505450+ For other Provider types this could be a project ID or a namespace.
54515451+ maxLength: 2048
54525452+ type: string
54535453+ certSecretRef:
54545454+ description: |-
54555455+ CertSecretRef specifies the Secret containing
54565456+ a PEM-encoded CA certificate (in the `ca.crt` key).
54575457+54585458+ Note: Support for the `caFile` key has
54595459+ been deprecated.
54605460+ properties:
54615461+ name:
54625462+ description: Name of the referent.
54635463+ type: string
54645464+ required:
54655465+ - name
54665466+ type: object
54675467+ channel:
54685468+ description: Channel specifies the destination channel where events
54695469+ should be posted.
54705470+ maxLength: 2048
54715471+ type: string
54725472+ interval:
54735473+ description: Interval at which to reconcile the Provider with its
54745474+ Secret references.
54755475+ pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
54765476+ type: string
54775477+ proxy:
54785478+ description: Proxy the HTTP/S address of the proxy server.
54795479+ maxLength: 2048
54805480+ pattern: ^(http|https)://.*$
54815481+ type: string
54825482+ secretRef:
54835483+ description: |-
54845484+ SecretRef specifies the Secret containing the authentication
54855485+ credentials for this Provider.
54865486+ properties:
54875487+ name:
54885488+ description: Name of the referent.
54895489+ type: string
54905490+ required:
54915491+ - name
54925492+ type: object
54935493+ suspend:
54945494+ description: |-
54955495+ Suspend tells the controller to suspend subsequent
54965496+ events handling for this Provider.
54975497+ type: boolean
54985498+ timeout:
54995499+ description: Timeout for sending alerts to the Provider.
55005500+ pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$
55015501+ type: string
55025502+ type:
55035503+ description: Type specifies which Provider implementation to use.
55045504+ enum:
55055505+ - slack
55065506+ - discord
55075507+ - msteams
55085508+ - rocket
55095509+ - generic
55105510+ - generic-hmac
55115511+ - github
55125512+ - gitlab
55135513+ - gitea
55145514+ - bitbucketserver
55155515+ - bitbucket
55165516+ - azuredevops
55175517+ - googlechat
55185518+ - googlepubsub
55195519+ - webex
55205520+ - sentry
55215521+ - azureeventhub
55225522+ - telegram
55235523+ - lark
55245524+ - matrix
55255525+ - opsgenie
55265526+ - alertmanager
55275527+ - grafana
55285528+ - githubdispatch
55295529+ - pagerduty
55305530+ - datadog
55315531+ type: string
55325532+ username:
55335533+ description: Username specifies the name under which events are posted.
55345534+ maxLength: 2048
55355535+ type: string
55365536+ required:
55375537+ - type
55385538+ type: object
55395539+ status:
55405540+ default:
55415541+ observedGeneration: -1
55425542+ description: ProviderStatus defines the observed state of the Provider.
55435543+ properties:
55445544+ conditions:
55455545+ description: Conditions holds the conditions for the Provider.
55465546+ items:
55475547+ description: Condition contains details for one aspect of the current
55485548+ state of this API Resource.
55495549+ properties:
55505550+ lastTransitionTime:
55515551+ description: |-
55525552+ lastTransitionTime is the last time the condition transitioned from one status to another.
55535553+ This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
55545554+ format: date-time
55555555+ type: string
55565556+ message:
55575557+ description: |-
55585558+ message is a human readable message indicating details about the transition.
55595559+ This may be an empty string.
55605560+ maxLength: 32768
55615561+ type: string
55625562+ observedGeneration:
55635563+ description: |-
55645564+ observedGeneration represents the .metadata.generation that the condition was set based upon.
55655565+ For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
55665566+ with respect to the current state of the instance.
55675567+ format: int64
55685568+ minimum: 0
55695569+ type: integer
55705570+ reason:
55715571+ description: |-
55725572+ reason contains a programmatic identifier indicating the reason for the condition's last transition.
55735573+ Producers of specific condition types may define expected values and meanings for this field,
55745574+ and whether the values are considered a guaranteed API.
55755575+ The value should be a CamelCase string.
55765576+ This field may not be empty.
55775577+ maxLength: 1024
55785578+ minLength: 1
55795579+ pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
55805580+ type: string
55815581+ status:
55825582+ description: status of the condition, one of True, False, Unknown.
55835583+ enum:
55845584+ - "True"
55855585+ - "False"
55865586+ - Unknown
55875587+ type: string
55885588+ type:
55895589+ description: type of condition in CamelCase or in foo.example.com/CamelCase.
55905590+ maxLength: 316
55915591+ 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])$
55925592+ type: string
55935593+ required:
55945594+ - lastTransitionTime
55955595+ - message
55965596+ - reason
55975597+ - status
55985598+ - type
55995599+ type: object
56005600+ type: array
56015601+ lastHandledReconcileAt:
56025602+ description: |-
56035603+ LastHandledReconcileAt holds the value of the most recent
56045604+ reconcile request value, so a change of the annotation value
56055605+ can be detected.
56065606+ type: string
56075607+ observedGeneration:
56085608+ description: ObservedGeneration is the last reconciled generation.
56095609+ format: int64
56105610+ type: integer
56115611+ type: object
56125612+ type: object
56135613+ served: true
56145614+ storage: false
56155615+ subresources:
56165616+ status: {}
56175617+ - additionalPrinterColumns:
56185618+ - jsonPath: .metadata.creationTimestamp
56195619+ name: Age
56205620+ type: date
56215621+ name: v1beta3
56225622+ schema:
56235623+ openAPIV3Schema:
56245624+ description: Provider is the Schema for the providers API
56255625+ properties:
56265626+ apiVersion:
56275627+ description: |-
56285628+ APIVersion defines the versioned schema of this representation of an object.
56295629+ Servers should convert recognized schemas to the latest internal value, and
56305630+ may reject unrecognized values.
56315631+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
56325632+ type: string
56335633+ kind:
56345634+ description: |-
56355635+ Kind is a string value representing the REST resource this object represents.
56365636+ Servers may infer this from the endpoint the client submits requests to.
56375637+ Cannot be updated.
56385638+ In CamelCase.
56395639+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
56405640+ type: string
56415641+ metadata:
56425642+ type: object
56435643+ spec:
56445644+ description: ProviderSpec defines the desired state of the Provider.
56455645+ properties:
56465646+ address:
56475647+ description: |-
56485648+ Address specifies the endpoint, in a generic sense, to where alerts are sent.
56495649+ What kind of endpoint depends on the specific Provider type being used.
56505650+ For the generic Provider, for example, this is an HTTP/S address.
56515651+ For other Provider types this could be a project ID or a namespace.
56525652+ maxLength: 2048
56535653+ type: string
56545654+ certSecretRef:
56555655+ description: |-
56565656+ CertSecretRef specifies the Secret containing TLS certificates
56575657+ for secure communication.
56585658+56595659+ Supported configurations:
56605660+ - CA-only: Server authentication (provide ca.crt only)
56615661+ - mTLS: Mutual authentication (provide ca.crt + tls.crt + tls.key)
56625662+ - Client-only: Client authentication with system CA (provide tls.crt + tls.key only)
56635663+56645664+ Legacy keys "caFile", "certFile", "keyFile" are supported but deprecated. Use "ca.crt", "tls.crt", "tls.key" instead.
56655665+ properties:
56665666+ name:
56675667+ description: Name of the referent.
56685668+ type: string
56695669+ required:
56705670+ - name
56715671+ type: object
56725672+ channel:
56735673+ description: Channel specifies the destination channel where events
56745674+ should be posted.
56755675+ maxLength: 2048
56765676+ type: string
56775677+ commitStatusExpr:
56785678+ description: |-
56795679+ CommitStatusExpr is a CEL expression that evaluates to a string value
56805680+ that can be used to generate a custom commit status message for use
56815681+ with eligible Provider types (github, gitlab, gitea, bitbucketserver,
56825682+ bitbucket, azuredevops). Supported variables are: event, provider,
56835683+ and alert.
56845684+ type: string
56855685+ interval:
56865686+ description: |-
56875687+ Interval at which to reconcile the Provider with its Secret references.
56885688+ Deprecated and not used in v1beta3.
56895689+ pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
56905690+ type: string
56915691+ proxy:
56925692+ description: |-
56935693+ Proxy the HTTP/S address of the proxy server.
56945694+ Deprecated: Use ProxySecretRef instead. Will be removed in v1.
56955695+ maxLength: 2048
56965696+ pattern: ^(http|https)://.*$
56975697+ type: string
56985698+ proxySecretRef:
56995699+ description: |-
57005700+ ProxySecretRef specifies the Secret containing the proxy configuration
57015701+ for this Provider. The Secret should contain an 'address' key with the
57025702+ HTTP/S address of the proxy server. Optional 'username' and 'password'
57035703+ keys can be provided for proxy authentication.
57045704+ properties:
57055705+ name:
57065706+ description: Name of the referent.
57075707+ type: string
57085708+ required:
57095709+ - name
57105710+ type: object
57115711+ secretRef:
57125712+ description: |-
57135713+ SecretRef specifies the Secret containing the authentication
57145714+ credentials for this Provider.
57155715+ properties:
57165716+ name:
57175717+ description: Name of the referent.
57185718+ type: string
57195719+ required:
57205720+ - name
57215721+ type: object
57225722+ serviceAccountName:
57235723+ description: |-
57245724+ ServiceAccountName is the name of the Kubernetes ServiceAccount used to
57255725+ authenticate with cloud provider services through workload identity.
57265726+ This enables multi-tenant authentication without storing static credentials.
57275727+57285728+ Supported provider types: azureeventhub, azuredevops, googlepubsub
57295729+57305730+ When specified, the controller will:
57315731+ 1. Create an OIDC token for the specified ServiceAccount
57325732+ 2. Exchange it for cloud provider credentials via STS
57335733+ 3. Use the obtained credentials for API authentication
57345734+57355735+ When unspecified, controller-level authentication is used (single-tenant).
57365736+57375737+ An error is thrown if static credentials are also defined in SecretRef.
57385738+ This field requires the ObjectLevelWorkloadIdentity feature gate to be enabled.
57395739+ type: string
57405740+ suspend:
57415741+ description: |-
57425742+ Suspend tells the controller to suspend subsequent
57435743+ events handling for this Provider.
57445744+ type: boolean
57455745+ timeout:
57465746+ description: Timeout for sending alerts to the Provider.
57475747+ pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$
57485748+ type: string
57495749+ type:
57505750+ description: Type specifies which Provider implementation to use.
57515751+ enum:
57525752+ - slack
57535753+ - discord
57545754+ - msteams
57555755+ - rocket
57565756+ - generic
57575757+ - generic-hmac
57585758+ - github
57595759+ - gitlab
57605760+ - gitea
57615761+ - giteapullrequestcomment
57625762+ - bitbucketserver
57635763+ - bitbucket
57645764+ - azuredevops
57655765+ - googlechat
57665766+ - googlepubsub
57675767+ - webex
57685768+ - sentry
57695769+ - azureeventhub
57705770+ - telegram
57715771+ - lark
57725772+ - matrix
57735773+ - opsgenie
57745774+ - alertmanager
57755775+ - grafana
57765776+ - githubdispatch
57775777+ - githubpullrequestcomment
57785778+ - gitlabmergerequestcomment
57795779+ - pagerduty
57805780+ - datadog
57815781+ - nats
57825782+ - zulip
57835783+ - otel
57845784+ type: string
57855785+ username:
57865786+ description: Username specifies the name under which events are posted.
57875787+ maxLength: 2048
57885788+ type: string
57895789+ required:
57905790+ - type
57915791+ type: object
57925792+ x-kubernetes-validations:
57935793+ - message: spec.commitStatusExpr is only supported for the 'github', 'gitlab',
57945794+ 'gitea', 'bitbucketserver', 'bitbucket', 'azuredevops' provider types
57955795+ rule: self.type == 'github' || self.type == 'gitlab' || self.type ==
57965796+ 'gitea' || self.type == 'bitbucketserver' || self.type == 'bitbucket'
57975797+ || self.type == 'azuredevops' || !has(self.commitStatusExpr)
57985798+ type: object
57995799+ served: true
58005800+ storage: true
58015801+ subresources: {}
58025802+---
58035803+apiVersion: apiextensions.k8s.io/v1
58045804+kind: CustomResourceDefinition
58055805+metadata:
58065806+ annotations:
58075807+ controller-gen.kubebuilder.io/version: v0.19.0
58085808+ labels:
58095809+ app.kubernetes.io/component: notification-controller
58105810+ app.kubernetes.io/instance: flux-system
58115811+ app.kubernetes.io/part-of: flux
58125812+ app.kubernetes.io/version: v2.8.8
58135813+ name: receivers.notification.toolkit.fluxcd.io
58145814+spec:
58155815+ group: notification.toolkit.fluxcd.io
58165816+ names:
58175817+ kind: Receiver
58185818+ listKind: ReceiverList
58195819+ plural: receivers
58205820+ singular: receiver
58215821+ scope: Namespaced
58225822+ versions:
58235823+ - additionalPrinterColumns:
58245824+ - jsonPath: .metadata.creationTimestamp
58255825+ name: Age
58265826+ type: date
58275827+ - jsonPath: .status.conditions[?(@.type=="Ready")].status
58285828+ name: Ready
58295829+ type: string
58305830+ - jsonPath: .status.conditions[?(@.type=="Ready")].message
58315831+ name: Status
58325832+ type: string
58335833+ name: v1
58345834+ schema:
58355835+ openAPIV3Schema:
58365836+ description: Receiver is the Schema for the receivers API.
58375837+ properties:
58385838+ apiVersion:
58395839+ description: |-
58405840+ APIVersion defines the versioned schema of this representation of an object.
58415841+ Servers should convert recognized schemas to the latest internal value, and
58425842+ may reject unrecognized values.
58435843+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
58445844+ type: string
58455845+ kind:
58465846+ description: |-
58475847+ Kind is a string value representing the REST resource this object represents.
58485848+ Servers may infer this from the endpoint the client submits requests to.
58495849+ Cannot be updated.
58505850+ In CamelCase.
58515851+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
58525852+ type: string
58535853+ metadata:
58545854+ type: object
58555855+ spec:
58565856+ description: ReceiverSpec defines the desired state of the Receiver.
58575857+ properties:
58585858+ events:
58595859+ description: |-
58605860+ Events specifies the list of event types to handle,
58615861+ e.g. 'push' for GitHub or 'Push Hook' for GitLab.
58625862+ items:
58635863+ type: string
58645864+ type: array
58655865+ interval:
58665866+ default: 10m
58675867+ description: Interval at which to reconcile the Receiver with its
58685868+ Secret references.
58695869+ pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
58705870+ type: string
58715871+ resourceFilter:
58725872+ description: |-
58735873+ ResourceFilter is a CEL expression expected to return a boolean that is
58745874+ evaluated for each resource referenced in the Resources field when a
58755875+ webhook is received. If the expression returns false then the controller
58765876+ will not request a reconciliation for the resource.
58775877+ When the expression is specified the controller will parse it and mark
58785878+ the object as terminally failed if the expression is invalid or does not
58795879+ return a boolean.
58805880+ type: string
58815881+ resources:
58825882+ description: A list of resources to be notified about changes.
58835883+ items:
58845884+ description: |-
58855885+ CrossNamespaceObjectReference contains enough information to let you locate the
58865886+ typed referenced object at cluster level
58875887+ properties:
58885888+ apiVersion:
58895889+ description: API version of the referent
58905890+ type: string
58915891+ kind:
58925892+ description: Kind of the referent
58935893+ enum:
58945894+ - Bucket
58955895+ - GitRepository
58965896+ - Kustomization
58975897+ - HelmRelease
58985898+ - HelmChart
58995899+ - HelmRepository
59005900+ - ImageRepository
59015901+ - ImagePolicy
59025902+ - ImageUpdateAutomation
59035903+ - OCIRepository
59045904+ - ArtifactGenerator
59055905+ - ExternalArtifact
59065906+ type: string
59075907+ matchLabels:
59085908+ additionalProperties:
59095909+ type: string
59105910+ description: |-
59115911+ MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
59125912+ map is equivalent to an element of matchExpressions, whose key field is "key", the
59135913+ operator is "In", and the values array contains only "value". The requirements are ANDed.
59145914+ MatchLabels requires the name to be set to `*`.
59155915+ type: object
59165916+ name:
59175917+ description: |-
59185918+ Name of the referent
59195919+ If multiple resources are targeted `*` may be set.
59205920+ maxLength: 253
59215921+ minLength: 1
59225922+ type: string
59235923+ namespace:
59245924+ description: Namespace of the referent
59255925+ maxLength: 253
59265926+ minLength: 1
59275927+ type: string
59285928+ required:
59295929+ - kind
59305930+ - name
59315931+ type: object
59325932+ type: array
59335933+ secretRef:
59345934+ description: |-
59355935+ SecretRef specifies the Secret containing the token used
59365936+ to validate the payload authenticity. The Secret must contain a 'token'
59375937+ key. For GCR receivers, the Secret must also contain an 'email' key
59385938+ with the IAM service account email configured on the Pub/Sub push
59395939+ subscription, and an 'audience' key with the expected OIDC token audience.
59405940+ properties:
59415941+ name:
59425942+ description: Name of the referent.
59435943+ type: string
59445944+ required:
59455945+ - name
59465946+ type: object
59475947+ suspend:
59485948+ description: |-
59495949+ Suspend tells the controller to suspend subsequent
59505950+ events handling for this receiver.
59515951+ type: boolean
59525952+ type:
59535953+ description: |-
59545954+ Type of webhook sender, used to determine
59555955+ the validation procedure and payload deserialization.
59565956+ enum:
59575957+ - generic
59585958+ - generic-hmac
59595959+ - github
59605960+ - gitlab
59615961+ - bitbucket
59625962+ - harbor
59635963+ - dockerhub
59645964+ - quay
59655965+ - gcr
59665966+ - nexus
59675967+ - acr
59685968+ - cdevents
59695969+ type: string
59705970+ required:
59715971+ - resources
59725972+ - secretRef
59735973+ - type
59745974+ type: object
59755975+ status:
59765976+ default:
59775977+ observedGeneration: -1
59785978+ description: ReceiverStatus defines the observed state of the Receiver.
59795979+ properties:
59805980+ conditions:
59815981+ description: Conditions holds the conditions for the Receiver.
59825982+ items:
59835983+ description: Condition contains details for one aspect of the current
59845984+ state of this API Resource.
59855985+ properties:
59865986+ lastTransitionTime:
59875987+ description: |-
59885988+ lastTransitionTime is the last time the condition transitioned from one status to another.
59895989+ This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
59905990+ format: date-time
59915991+ type: string
59925992+ message:
59935993+ description: |-
59945994+ message is a human readable message indicating details about the transition.
59955995+ This may be an empty string.
59965996+ maxLength: 32768
59975997+ type: string
59985998+ observedGeneration:
59995999+ description: |-
60006000+ observedGeneration represents the .metadata.generation that the condition was set based upon.
60016001+ For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
60026002+ with respect to the current state of the instance.
60036003+ format: int64
60046004+ minimum: 0
60056005+ type: integer
60066006+ reason:
60076007+ description: |-
60086008+ reason contains a programmatic identifier indicating the reason for the condition's last transition.
60096009+ Producers of specific condition types may define expected values and meanings for this field,
60106010+ and whether the values are considered a guaranteed API.
60116011+ The value should be a CamelCase string.
60126012+ This field may not be empty.
60136013+ maxLength: 1024
60146014+ minLength: 1
60156015+ pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
60166016+ type: string
60176017+ status:
60186018+ description: status of the condition, one of True, False, Unknown.
60196019+ enum:
60206020+ - "True"
60216021+ - "False"
60226022+ - Unknown
60236023+ type: string
60246024+ type:
60256025+ description: type of condition in CamelCase or in foo.example.com/CamelCase.
60266026+ maxLength: 316
60276027+ 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])$
60286028+ type: string
60296029+ required:
60306030+ - lastTransitionTime
60316031+ - message
60326032+ - reason
60336033+ - status
60346034+ - type
60356035+ type: object
60366036+ type: array
60376037+ lastHandledReconcileAt:
60386038+ description: |-
60396039+ LastHandledReconcileAt holds the value of the most recent
60406040+ reconcile request value, so a change of the annotation value
60416041+ can be detected.
60426042+ type: string
60436043+ observedGeneration:
60446044+ description: ObservedGeneration is the last observed generation of
60456045+ the Receiver object.
60466046+ format: int64
60476047+ type: integer
60486048+ webhookPath:
60496049+ description: |-
60506050+ WebhookPath is the generated incoming webhook address in the format
60516051+ of '/hook/sha256sum(token+name+namespace)'.
60526052+ type: string
60536053+ type: object
60546054+ type: object
60556055+ served: true
60566056+ storage: true
60576057+ subresources:
60586058+ status: {}
60596059+ - additionalPrinterColumns:
60606060+ - jsonPath: .metadata.creationTimestamp
60616061+ name: Age
60626062+ type: date
60636063+ - jsonPath: .status.conditions[?(@.type=="Ready")].status
60646064+ name: Ready
60656065+ type: string
60666066+ - jsonPath: .status.conditions[?(@.type=="Ready")].message
60676067+ name: Status
60686068+ type: string
60696069+ deprecated: true
60706070+ deprecationWarning: v1beta2 Receiver is deprecated, upgrade to v1
60716071+ name: v1beta2
60726072+ schema:
60736073+ openAPIV3Schema:
60746074+ description: Receiver is the Schema for the receivers API.
60756075+ properties:
60766076+ apiVersion:
60776077+ description: |-
60786078+ APIVersion defines the versioned schema of this representation of an object.
60796079+ Servers should convert recognized schemas to the latest internal value, and
60806080+ may reject unrecognized values.
60816081+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
60826082+ type: string
60836083+ kind:
60846084+ description: |-
60856085+ Kind is a string value representing the REST resource this object represents.
60866086+ Servers may infer this from the endpoint the client submits requests to.
60876087+ Cannot be updated.
60886088+ In CamelCase.
60896089+ More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
60906090+ type: string
60916091+ metadata:
60926092+ type: object
60936093+ spec:
60946094+ description: ReceiverSpec defines the desired state of the Receiver.
60956095+ properties:
60966096+ events:
60976097+ description: |-
60986098+ Events specifies the list of event types to handle,
60996099+ e.g. 'push' for GitHub or 'Push Hook' for GitLab.
61006100+ items:
61016101+ type: string
61026102+ type: array
61036103+ interval:
61046104+ description: Interval at which to reconcile the Receiver with its
61056105+ Secret references.
61066106+ pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
61076107+ type: string
61086108+ resources:
61096109+ description: A list of resources to be notified about changes.
61106110+ items:
61116111+ description: |-
61126112+ CrossNamespaceObjectReference contains enough information to let you locate the
61136113+ typed referenced object at cluster level
61146114+ properties:
61156115+ apiVersion:
61166116+ description: API version of the referent
61176117+ type: string
61186118+ kind:
61196119+ description: Kind of the referent
61206120+ enum:
61216121+ - Bucket
61226122+ - GitRepository
61236123+ - Kustomization
61246124+ - HelmRelease
61256125+ - HelmChart
61266126+ - HelmRepository
61276127+ - ImageRepository
61286128+ - ImagePolicy
61296129+ - ImageUpdateAutomation
61306130+ - OCIRepository
61316131+ - ArtifactGenerator
61326132+ - ExternalArtifact
61336133+ type: string
61346134+ matchLabels:
61356135+ additionalProperties:
61366136+ type: string
61376137+ description: |-
61386138+ MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
61396139+ map is equivalent to an element of matchExpressions, whose key field is "key", the
61406140+ operator is "In", and the values array contains only "value". The requirements are ANDed.
61416141+ MatchLabels requires the name to be set to `*`.
61426142+ type: object
61436143+ name:
61446144+ description: |-
61456145+ Name of the referent
61466146+ If multiple resources are targeted `*` may be set.
61476147+ maxLength: 253
61486148+ minLength: 1
61496149+ type: string
61506150+ namespace:
61516151+ description: Namespace of the referent
61526152+ maxLength: 253
61536153+ minLength: 1
61546154+ type: string
61556155+ required:
61566156+ - kind
61576157+ - name
61586158+ type: object
61596159+ type: array
61606160+ secretRef:
61616161+ description: |-
61626162+ SecretRef specifies the Secret containing the token used
61636163+ to validate the payload authenticity.
61646164+ properties:
61656165+ name:
61666166+ description: Name of the referent.
61676167+ type: string
61686168+ required:
61696169+ - name
61706170+ type: object
61716171+ suspend:
61726172+ description: |-
61736173+ Suspend tells the controller to suspend subsequent
61746174+ events handling for this receiver.
61756175+ type: boolean
61766176+ type:
61776177+ description: |-
61786178+ Type of webhook sender, used to determine
61796179+ the validation procedure and payload deserialization.
61806180+ enum:
61816181+ - generic
61826182+ - generic-hmac
61836183+ - github
61846184+ - gitlab
61856185+ - bitbucket
61866186+ - harbor
61876187+ - dockerhub
61886188+ - quay
61896189+ - gcr
61906190+ - nexus
61916191+ - acr
61926192+ type: string
61936193+ required:
61946194+ - resources
61956195+ - secretRef
61966196+ - type
61976197+ type: object
61986198+ status:
61996199+ default:
62006200+ observedGeneration: -1
62016201+ description: ReceiverStatus defines the observed state of the Receiver.
62026202+ properties:
62036203+ conditions:
62046204+ description: Conditions holds the conditions for the Receiver.
62056205+ items:
62066206+ description: Condition contains details for one aspect of the current
62076207+ state of this API Resource.
62086208+ properties:
62096209+ lastTransitionTime:
62106210+ description: |-
62116211+ lastTransitionTime is the last time the condition transitioned from one status to another.
62126212+ This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
62136213+ format: date-time
62146214+ type: string
62156215+ message:
62166216+ description: |-
62176217+ message is a human readable message indicating details about the transition.
62186218+ This may be an empty string.
62196219+ maxLength: 32768
62206220+ type: string
62216221+ observedGeneration:
62226222+ description: |-
62236223+ observedGeneration represents the .metadata.generation that the condition was set based upon.
62246224+ For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
62256225+ with respect to the current state of the instance.
62266226+ format: int64
62276227+ minimum: 0
62286228+ type: integer
62296229+ reason:
62306230+ description: |-
62316231+ reason contains a programmatic identifier indicating the reason for the condition's last transition.
62326232+ Producers of specific condition types may define expected values and meanings for this field,
62336233+ and whether the values are considered a guaranteed API.
62346234+ The value should be a CamelCase string.
62356235+ This field may not be empty.
62366236+ maxLength: 1024
62376237+ minLength: 1
62386238+ pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
62396239+ type: string
62406240+ status:
62416241+ description: status of the condition, one of True, False, Unknown.
62426242+ enum:
62436243+ - "True"
62446244+ - "False"
62456245+ - Unknown
62466246+ type: string
62476247+ type:
62486248+ description: type of condition in CamelCase or in foo.example.com/CamelCase.
62496249+ maxLength: 316
62506250+ 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])$
62516251+ type: string
62526252+ required:
62536253+ - lastTransitionTime
62546254+ - message
62556255+ - reason
62566256+ - status
62576257+ - type
62586258+ type: object
62596259+ type: array
62606260+ lastHandledReconcileAt:
62616261+ description: |-
62626262+ LastHandledReconcileAt holds the value of the most recent
62636263+ reconcile request value, so a change of the annotation value
62646264+ can be detected.
62656265+ type: string
62666266+ observedGeneration:
62676267+ description: ObservedGeneration is the last observed generation of
62686268+ the Receiver object.
62696269+ format: int64
62706270+ type: integer
62716271+ url:
62726272+ description: |-
62736273+ URL is the generated incoming webhook address in the format
62746274+ of '/hook/sha256sum(token+name+namespace)'.
62756275+ Deprecated: Replaced by WebhookPath.
62766276+ type: string
62776277+ webhookPath:
62786278+ description: |-
62796279+ WebhookPath is the generated incoming webhook address in the format
62806280+ of '/hook/sha256sum(token+name+namespace)'.
62816281+ type: string
62826282+ type: object
62836283+ type: object
62846284+ served: true
62856285+ storage: false
62866286+ subresources:
62876287+ status: {}
62886288+---
62896289+apiVersion: v1
62906290+kind: ServiceAccount
62916291+metadata:
62926292+ labels:
62936293+ app.kubernetes.io/component: notification-controller
62946294+ app.kubernetes.io/instance: flux-system
62956295+ app.kubernetes.io/part-of: flux
62966296+ app.kubernetes.io/version: v2.8.8
62976297+ name: notification-controller
62986298+ namespace: flux-system
62996299+---
63006300+apiVersion: v1
63016301+kind: Service
63026302+metadata:
63036303+ labels:
63046304+ app.kubernetes.io/component: notification-controller
63056305+ app.kubernetes.io/instance: flux-system
63066306+ app.kubernetes.io/part-of: flux
63076307+ app.kubernetes.io/version: v2.8.8
63086308+ control-plane: controller
63096309+ name: notification-controller
63106310+ namespace: flux-system
63116311+spec:
63126312+ ports:
63136313+ - name: http
63146314+ port: 80
63156315+ protocol: TCP
63166316+ targetPort: http
63176317+ selector:
63186318+ app: notification-controller
63196319+ type: ClusterIP
63206320+---
63216321+apiVersion: v1
63226322+kind: Service
63236323+metadata:
63246324+ labels:
63256325+ app.kubernetes.io/component: notification-controller
63266326+ app.kubernetes.io/instance: flux-system
63276327+ app.kubernetes.io/part-of: flux
63286328+ app.kubernetes.io/version: v2.8.8
63296329+ control-plane: controller
63306330+ name: webhook-receiver
63316331+ namespace: flux-system
63326332+spec:
63336333+ ports:
63346334+ - name: http
63356335+ port: 80
63366336+ protocol: TCP
63376337+ targetPort: http-webhook
63386338+ selector:
63396339+ app: notification-controller
63406340+ type: ClusterIP
63416341+---
63426342+apiVersion: apps/v1
63436343+kind: Deployment
63446344+metadata:
63456345+ labels:
63466346+ app.kubernetes.io/component: notification-controller
63476347+ app.kubernetes.io/instance: flux-system
63486348+ app.kubernetes.io/part-of: flux
63496349+ app.kubernetes.io/version: v2.8.8
63506350+ control-plane: controller
63516351+ name: notification-controller
63526352+ namespace: flux-system
63536353+spec:
63546354+ replicas: 1
63556355+ selector:
63566356+ matchLabels:
63576357+ app: notification-controller
63586358+ template:
63596359+ metadata:
63606360+ annotations:
63616361+ prometheus.io/port: "8080"
63626362+ prometheus.io/scrape: "true"
63636363+ labels:
63646364+ app: notification-controller
63656365+ app.kubernetes.io/component: notification-controller
63666366+ app.kubernetes.io/instance: flux-system
63676367+ app.kubernetes.io/part-of: flux
63686368+ app.kubernetes.io/version: v2.8.8
63696369+ spec:
63706370+ containers:
63716371+ - args:
63726372+ - --watch-all-namespaces=true
63736373+ - --log-level=info
63746374+ - --log-encoding=json
63756375+ - --enable-leader-election
63766376+ env:
63776377+ - name: RUNTIME_NAMESPACE
63786378+ valueFrom:
63796379+ fieldRef:
63806380+ fieldPath: metadata.namespace
63816381+ - name: GOMEMLIMIT
63826382+ valueFrom:
63836383+ resourceFieldRef:
63846384+ containerName: manager
63856385+ resource: limits.memory
63866386+ image: ghcr.io/fluxcd/notification-controller:v1.8.4
63876387+ imagePullPolicy: IfNotPresent
63886388+ livenessProbe:
63896389+ httpGet:
63906390+ path: /healthz
63916391+ port: healthz
63926392+ name: manager
63936393+ ports:
63946394+ - containerPort: 9090
63956395+ name: http
63966396+ protocol: TCP
63976397+ - containerPort: 9292
63986398+ name: http-webhook
63996399+ protocol: TCP
64006400+ - containerPort: 8080
64016401+ name: http-prom
64026402+ protocol: TCP
64036403+ - containerPort: 9440
64046404+ name: healthz
64056405+ protocol: TCP
64066406+ readinessProbe:
64076407+ httpGet:
64086408+ path: /readyz
64096409+ port: healthz
64106410+ resources:
64116411+ limits:
64126412+ cpu: 1000m
64136413+ memory: 1Gi
64146414+ requests:
64156415+ cpu: 100m
64166416+ memory: 64Mi
64176417+ securityContext:
64186418+ allowPrivilegeEscalation: false
64196419+ capabilities:
64206420+ drop:
64216421+ - ALL
64226422+ readOnlyRootFilesystem: true
64236423+ runAsNonRoot: true
64246424+ seccompProfile:
64256425+ type: RuntimeDefault
64266426+ volumeMounts:
64276427+ - mountPath: /tmp
64286428+ name: temp
64296429+ nodeSelector:
64306430+ kubernetes.io/os: linux
64316431+ securityContext:
64326432+ fsGroup: 1337
64336433+ serviceAccountName: notification-controller
64346434+ terminationGracePeriodSeconds: 10
64356435+ volumes:
64366436+ - emptyDir: {}
64376437+ name: temp