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